@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&display=swap";:root{--bg-primary: #faf8f5;--bg-secondary: #f5f2ed;--bg-card: #ffffff;--bg-hover: #f0ede6;--bg-elevated: #ffffff;--bg-overlay: rgba(45, 42, 38, .4);--text-primary: #2d2a26;--text-secondary: #6b665e;--text-muted: #9c968d;--text-inverse: #ffffff;--accent: #c45c3e;--accent-hover: #d4704f;--accent-muted: #a44d33;--accent-light: rgba(196, 92, 62, .12);--accent-lighter: rgba(196, 92, 62, .06);--sage: #6b7f62;--sage-light: rgba(107, 127, 98, .12);--success: #6b7f62;--success-bg: rgba(107, 127, 98, .12);--warning: #d4924f;--warning-bg: rgba(212, 146, 79, .12);--error: #c45c3e;--error-bg: rgba(196, 92, 62, .12);--border: #e8e4dd;--border-hover: #d4cfc5;--border-focus: var(--accent);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-2xl: 28px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(45, 42, 38, .04), 0 1px 2px rgba(45, 42, 38, .06);--shadow-md: 0 4px 12px rgba(45, 42, 38, .06), 0 2px 6px rgba(45, 42, 38, .04);--shadow-lg: 0 12px 32px rgba(45, 42, 38, .08), 0 4px 12px rgba(45, 42, 38, .04);--shadow-xl: 0 20px 48px rgba(45, 42, 38, .1), 0 8px 20px rgba(45, 42, 38, .06);--shadow-card-hover: 0 16px 40px rgba(45, 42, 38, .12), 0 6px 16px rgba(45, 42, 38, .06);--shadow-accent: 0 8px 24px rgba(196, 92, 62, .2);--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--container-max: 1400px;--container-narrow: 720px;--page-padding: 48px;--section-gap: 64px;--font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.65;font-size:15px;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:.01em}a{color:inherit;text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--accent)}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit}::selection{background:var(--accent-light);color:var(--text-primary)}.page-title{font-family:var(--font-serif);font-size:clamp(36px,5vw,56px);font-weight:500;letter-spacing:-.02em;line-height:1.1;color:var(--text-primary)}.page-subtitle{font-size:17px;font-weight:400;color:var(--text-secondary);line-height:1.6;max-width:520px}.section-title{font-family:var(--font-serif);font-size:26px;font-weight:500;color:var(--text-primary);letter-spacing:-.01em}.label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em}.brand-text{font-size:11px;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.15em}.container{max-width:var(--container-max);margin:0 auto;padding:48px var(--page-padding)}.container-narrow{max-width:var(--container-narrow);margin:0 auto}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition-slow);box-shadow:var(--shadow-sm)}.card:hover{border-color:var(--border-hover);transform:translateY(-6px);box-shadow:var(--shadow-card-hover)}.card-elevated{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;border-radius:var(--radius-md);font-size:14px;font-weight:500;letter-spacing:.02em;border:none;cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-accent)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:transparent;border:1.5px solid var(--text-primary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--text-primary);color:var(--text-inverse);transform:translateY(-2px)}.btn-ghost{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.btn-sm{padding:10px 18px;font-size:13px}.btn-lg{padding:18px 36px;font-size:15px;font-weight:600;letter-spacing:.05em}.btn-block{width:100%}.input{padding:14px 18px;background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:15px;transition:all var(--transition-base)}.input::placeholder{color:var(--text-muted)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-light)}.input-lg{padding:18px 22px;font-size:16px}.select{padding:14px 44px 14px 18px;background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B665E' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;transition:all var(--transition-base)}.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-light)}.checkbox{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;border-radius:var(--radius-xs)}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.badge-accent{background:var(--accent);color:var(--text-inverse)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-error{background:var(--error-bg);color:var(--error)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-neutral{background:var(--bg-hover);color:var(--text-secondary)}.ribbon{position:absolute;top:16px;left:16px;z-index:2}.stock-badge{padding:8px 14px;border-radius:var(--radius-sm)}.product-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition-slow);position:relative}.product-card:hover{border-color:transparent;transform:translateY(-8px);box-shadow:var(--shadow-card-hover)}.product-card-image{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--bg-secondary)}.product-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}.product-card:hover .product-card-image img{transform:scale(1.06)}.product-card .stock-badge{position:absolute;top:16px;right:16px;z-index:2}.quick-options-area{position:relative}.quick-options-area .select-option-hint{display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;color:var(--text-muted);padding:14px;border:1.5px dashed var(--border);border-radius:var(--radius-md);background:var(--bg-secondary)}.quick-options-area .quick-options-buttons{display:none;flex-wrap:wrap;gap:8px;justify-content:center}.product-card:hover .quick-options-area .select-option-hint{display:none!important}.product-card:hover .quick-options-area .quick-options-buttons{display:flex!important}.quick-option-btn{min-width:52px;padding:10px 16px;border:1.5px solid var(--border);background:var(--bg-card);border-radius:var(--radius-md);font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.quick-option-btn:hover:not(:disabled){background:var(--text-primary);color:var(--text-inverse);border-color:var(--text-primary);transform:translateY(-2px)}.quick-option-btn.out-of-stock,.quick-option-btn:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}.product-card.is-adding .quick-options-buttons{pointer-events:none}.product-card.is-adding .quick-option-btn{opacity:.5}.product-card-content{padding:24px}.product-card-brand{font-size:10px;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.15em;margin-bottom:6px}.product-card-name{font-family:var(--font-serif);font-size:20px;font-weight:500;color:var(--text-primary);margin-bottom:10px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card-name a:hover{color:var(--accent)}.product-card-price{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}.product-card-price .current-price{font-size:20px;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.product-card-price .original-price{font-size:15px;color:var(--text-muted);text-decoration:line-through}.product-page-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:start}.product-gallery{position:sticky;top:40px}.product-main-image{aspect-ratio:4/5;border-radius:var(--radius-2xl);overflow:hidden;background:var(--bg-secondary);margin-bottom:20px;box-shadow:var(--shadow-lg)}.product-main-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1)}.product-main-image:hover img{transform:scale(1.02)}.product-thumbnails{display:flex;gap:12px;overflow-x:auto;padding:8px 4px}.product-thumbnail{width:72px;height:90px;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all var(--transition-base);flex-shrink:0;background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.product-thumbnail:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow-md)}.product-thumbnail.selected{border-color:var(--text-primary)}.product-thumbnail img{width:100%;height:100%;object-fit:cover}.product-details{padding-top:24px}.product-name{font-family:var(--font-serif);font-size:clamp(32px,4vw,48px);font-weight:500;line-height:1.15;margin-bottom:16px;color:var(--text-primary);letter-spacing:-.02em}.product-sku{font-size:12px;color:var(--text-muted);margin-bottom:28px;letter-spacing:.05em}.product-price{display:flex;align-items:baseline;gap:16px;margin-bottom:8px}.product-price .price{font-size:32px;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.product-price .strikethrough-price{font-size:20px;color:var(--text-muted);text-decoration:line-through}.product-price-per-unit{font-size:13px;color:var(--text-secondary);margin-bottom:28px}.product-description{font-size:16px;line-height:1.75;color:var(--text-secondary);margin-bottom:36px;padding:28px;background:var(--bg-secondary);border-radius:var(--radius-lg);border-left:3px solid var(--accent)}.product-options{margin-bottom:36px}.option-group{margin-bottom:28px}.option-label{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:14px;text-transform:uppercase;letter-spacing:.1em}.option-choices{display:flex;flex-wrap:wrap;gap:10px}.choice-btn{padding:12px 24px;border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-base);color:var(--text-primary)}.choice-btn:hover{border-color:var(--text-primary);background:var(--bg-hover)}.choice-btn.selected{border-color:var(--text-primary);background:var(--text-primary);color:var(--text-inverse)}.choice-btn.out-of-stock{opacity:.4;text-decoration:line-through}.color-swatch{width:44px;height:44px;padding:0;border-radius:50%;position:relative;border-width:2px}.color-swatch.selected:after{content:"\2713";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;text-shadow:0 1px 3px rgba(0,0,0,.4)}.quantity-section{margin-bottom:36px}.quantity-controls{display:inline-flex;align-items:center;border:1.5px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-card)}.quantity-btn{width:52px;height:52px;border:none;background:transparent;font-size:20px;cursor:pointer;transition:background var(--transition-base);color:var(--text-primary)}.quantity-btn:hover{background:var(--bg-hover)}.quantity-btn:active{background:var(--bg-secondary)}.quantity-input{width:64px;height:52px;border:none;background:transparent;text-align:center;font-size:17px;font-weight:600;border-left:1px solid var(--border);border-right:1px solid var(--border);color:var(--text-primary)}.quantity-input:focus{outline:none}.product-actions{display:flex;gap:16px;margin-bottom:48px}.info-sections{border-top:1px solid var(--border);padding-top:36px}.info-section{margin-bottom:28px}.info-section-title{font-family:var(--font-serif);font-size:18px;font-weight:500;color:var(--text-primary);margin-bottom:12px;display:flex;align-items:center;gap:10px}.info-section-title:before{content:"";width:3px;height:20px;background:var(--accent);border-radius:2px}.info-section-content{font-size:15px;line-height:1.75;color:var(--text-secondary);padding-left:13px}.product-type-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:20px}.product-type-badge.physical{background:var(--sage-light);color:var(--sage)}.product-type-badge.digital{background:var(--accent-light);color:var(--accent)}.search-box{display:flex;gap:12px;background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-xl);padding:8px;box-shadow:var(--shadow-sm);transition:all var(--transition-slow)}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-light)}.search-box .input{flex:1;background:transparent;border:none;padding:16px 20px}.search-box .input:focus{box-shadow:none}.filters-sidebar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:28px;height:fit-content;position:sticky;top:32px;box-shadow:var(--shadow-sm)}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--border)}.filter-group{margin-bottom:28px}.filter-group:last-child{margin-bottom:0}.price-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkbox-group{display:flex;flex-direction:column;gap:14px}.checkbox-item{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:14px;color:var(--text-secondary);transition:color var(--transition-fast)}.checkbox-item:hover{color:var(--text-primary)}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:56px}.pagination-info{font-size:14px;color:var(--text-secondary)}.empty-state{text-align:center;padding:100px 48px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl)}.empty-state-icon{font-size:72px;margin-bottom:28px;opacity:.4}.empty-state-title{font-family:var(--font-serif);font-size:28px;font-weight:500;margin-bottom:14px}.empty-state-message{color:var(--text-secondary);font-size:16px}.suggestions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;justify-content:center}.suggestion-btn{padding:10px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all var(--transition-base)}.suggestion-btn:hover{background:var(--text-primary);border-color:var(--text-primary);color:var(--text-inverse)}.loading-overlay{position:fixed;inset:0;background:#faf8f5e6;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(8px)}.loading-spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.site-header{display:flex;justify-content:space-between;align-items:center;padding:20px var(--page-padding);background:var(--bg-card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;backdrop-filter:blur(12px);background:#ffffffeb}.site-logo{font-family:var(--font-serif);font-size:26px;font-weight:500;color:var(--text-primary);letter-spacing:-.02em}.site-logo span{color:var(--accent)}.site-nav{display:flex;align-items:center;gap:32px}.site-nav a{color:var(--text-secondary);font-size:14px;font-weight:500;transition:color var(--transition-fast);letter-spacing:.02em}.site-nav a:hover{color:var(--text-primary)}.cart-indicator{display:flex;align-items:center;gap:10px;padding:12px 20px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-primary);font-size:14px;font-weight:500;transition:all var(--transition-fast);text-decoration:none}.cart-indicator:hover{border-color:var(--accent);color:var(--text-primary);background:var(--bg-card)}.cart-indicator-icon{font-size:18px}.cart-indicator-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;background:var(--accent);border-radius:var(--radius-full);font-size:11px;font-weight:700;color:var(--text-inverse)}.cart-indicator.just-added{animation:cart-bounce .5s cubic-bezier(.34,1.56,.64,1)}@keyframes cart-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.08);border-color:var(--accent)}}.cart-indicator.is-loading .cart-indicator-count{opacity:.5}.cart-indicator-active{border-color:var(--accent);background:var(--accent-lighter)}@media (max-width: 1024px){:root{--page-padding: 32px}.product-page-layout{grid-template-columns:1fr;gap:48px}.product-gallery{position:static}.product-name{font-size:32px}.product-price .price{font-size:28px}}@media (max-width: 768px){.main-content-grid{grid-template-columns:1fr}.filters-sidebar{position:static}.products-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}}@media (max-width: 600px){:root{--page-padding: 20px}.page-title{font-size:28px}.search-box{flex-direction:column}.products-grid{grid-template-columns:1fr}.product-actions{flex-direction:column}.product-thumbnails{justify-content:flex-start}.site-header{padding:16px var(--page-padding)}.site-nav{gap:16px}}.cart-page{min-height:100vh;background:var(--bg-primary)}.cart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px}.cart-layout{display:grid;grid-template-columns:1fr 400px;gap:40px;align-items:start}@media (max-width: 1024px){.cart-layout{grid-template-columns:1fr}}.cart-items{display:flex;flex-direction:column;gap:18px}.cart-item{display:grid;grid-template-columns:110px 1fr auto;gap:28px;padding:28px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);align-items:center;box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.cart-item:hover{box-shadow:var(--shadow-md)}.cart-item.removing{opacity:.5;pointer-events:none}.cart-item-image{width:110px;height:130px;object-fit:cover;border-radius:var(--radius-lg);background:var(--bg-secondary)}.cart-item-details{display:flex;flex-direction:column;gap:8px}.cart-item-name{font-family:var(--font-serif);font-size:18px;font-weight:500;color:var(--text-primary)}.cart-item-name:hover{color:var(--accent)}.cart-item-variant{font-size:14px;color:var(--text-secondary)}.cart-item-sku{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.cart-item-actions{display:flex;flex-direction:column;align-items:flex-end;gap:16px}.cart-item-price{font-size:18px;font-weight:600;color:var(--text-primary)}.cart-item-discount{font-size:13px;color:var(--success)}.remove-btn{color:var(--text-muted);font-size:13px;background:none;border:none;cursor:pointer;transition:color var(--transition-fast);font-weight:500}.remove-btn:hover{color:var(--error)}.cart-summary{position:sticky;top:100px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:36px;box-shadow:var(--shadow-md)}.cart-summary-title{font-family:var(--font-serif);font-size:22px;font-weight:500;margin-bottom:28px;color:var(--text-primary)}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0}.summary-row-label{color:var(--text-secondary);font-size:15px}.summary-row-value{color:var(--text-primary);font-size:15px;font-weight:500}.summary-row.total{border-top:1px solid var(--border);margin-top:18px;padding-top:22px}.summary-row.total .summary-row-label{font-size:18px;font-weight:600;color:var(--text-primary)}.summary-row.total .summary-row-value{font-size:26px;font-weight:700;color:var(--accent)}.summary-discount{color:var(--success)}.coupon-section{margin-top:28px;padding-top:28px;border-top:1px solid var(--border)}.coupon-form{display:flex;gap:10px}.coupon-input{flex:1;padding:14px 18px}.coupon-applied{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--success-bg);border-radius:var(--radius-md)}.coupon-applied-code{color:var(--success);font-weight:600}.coupon-error{margin-top:10px;color:var(--error);font-size:13px}.checkout-btn{width:100%;margin-top:28px}.empty-cart{text-align:center;padding:100px 48px}.empty-cart-icon{font-size:88px;margin-bottom:28px;opacity:.25}.empty-cart-title{font-family:var(--font-serif);font-size:32px;font-weight:500;margin-bottom:18px;color:var(--text-primary)}.empty-cart-message{font-size:16px;color:var(--text-secondary);margin-bottom:36px}.cart-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 48px;gap:28px}.spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.cart-item.updating .quantity-controls{opacity:.5;pointer-events:none}.hero{text-align:center;padding:80px 20px;background:#f8f7f5}.hero h1{font-size:2.5rem;margin-bottom:16px}.hero p{font-size:1.1rem;color:#666;margin-bottom:32px}.hero a{display:inline-block;padding:12px 32px;background:#1a1a1a;color:#fff;text-decoration:none;font-size:1rem}
