:root{--color-bg: #f5efe4;--color-surface: #fffdf7;--color-surface-2: #ece3d2;--color-text: #2c2620;--color-text-soft: #6f675c;--color-muted: #9c9284;--color-border: #ddd2bd;--color-accent: #1f4e8c;--color-accent-hover: #1a4278;--color-accent-2: #b8792c;--color-accent-3: #2f7d6b;--color-success: #2f7d6b;--color-danger: #a63d2f;--color-focus: #1f4e8c;--font-display: "Georgia", "Times New Roman", serif;--font-body: "Segoe UI", system-ui, -apple-system, sans-serif;--radius-sm: 6px;--radius: 12px;--radius-lg: 20px;--shadow-sm: 0 1px 3px rgba(44, 38, 32, .08);--shadow-md: 0 4px 14px rgba(44, 38, 32, .1);--shadow-lg: 0 10px 30px rgba(44, 38, 32, .14);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--header-h: 68px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:1rem}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.25;margin:0 0 var(--space-3);color:var(--color-text)}h1{font-size:clamp(2rem,4vw,3rem)}h2{font-size:clamp(1.5rem,3vw,2.25rem)}h3{font-size:1.25rem}p{margin:0 0 var(--space-4)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-5)}.section{padding:var(--space-7) 0}.section-title{text-align:center;margin-bottom:var(--space-6)}.section-title p{color:var(--color-text-soft);max-width:60ch;margin:0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);padding:.65rem 1.4rem;font-size:1rem;font-weight:600;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,transform .1s ease,box-shadow .15s ease}.btn:active{transform:translateY(1px)}.btn-primary{background-color:var(--color-accent);color:#fff}.btn-primary:hover{background-color:var(--color-accent-hover);color:#fff;text-decoration:none}.btn-outline{background-color:transparent;border-color:var(--color-accent);color:var(--color-accent)}.btn-outline:hover{background-color:var(--color-accent);color:#fff;text-decoration:none}.btn-block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.grid-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-6)}.badge{display:inline-block;padding:.2rem .7rem;border-radius:999px;background-color:var(--color-surface-2);color:var(--color-text-soft);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge-accent{background-color:var(--color-accent);color:#fff}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.field label{font-size:.9rem;font-weight:600;color:var(--color-text-soft)}.field input,.field select,.field textarea{padding:.6rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text);width:100%}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus)}.field .error-text{color:var(--color-danger);font-size:.85rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.lang-switch{display:inline-flex;border:1px solid var(--color-border);border-radius:999px;overflow:hidden;background:var(--color-surface)}.lang-switch__btn{border:0;background:transparent;padding:.35rem .85rem;font-size:.85rem;font-weight:700;color:var(--color-text-soft);transition:background-color .15s ease,color .15s ease}.lang-switch__btn:hover{background:var(--color-surface-2);color:var(--color-text)}.lang-switch__btn.active{background:var(--color-accent);color:#fff}.qty{display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface)}.qty__btn{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border:0;background:transparent;font-size:1.15rem;line-height:1;color:var(--color-text);transition:background-color .15s ease}.qty__btn:hover:not(:disabled){background:var(--color-surface-2)}.qty__btn:disabled{opacity:.4;cursor:not-allowed}.qty__value{min-width:2.4rem;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}.card{position:relative;display:flex;flex-direction:column;height:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.card__link{display:flex;flex-direction:column;flex:1;color:inherit;text-decoration:none}.card__link:hover{text-decoration:none;color:inherit}.card__media{aspect-ratio:1 / 1;overflow:hidden;background:var(--color-surface-2)}.card__img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.card:hover .card__img{transform:scale(1.05)}.card__placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--color-surface-2),var(--color-surface))}.card__body{padding:var(--space-4);flex:1}.card__category{margin-bottom:var(--space-2)}.card__title{font-size:1.05rem;margin:0 0 var(--space-1)}.card__desc{margin:0 0 var(--space-3);color:var(--color-text-soft);font-size:.92rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card__price{margin:0;font-weight:700;font-size:1.05rem}.card__actions{padding:0 var(--space-4) var(--space-4)}.card__add{width:100%}.gallery{display:flex;flex-direction:column;gap:var(--space-3)}.gallery__main{aspect-ratio:1 / 1;border-radius:var(--radius);overflow:hidden;background:var(--color-surface-2)}.gallery__img{width:100%;height:100%;object-fit:cover}.gallery__placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-surface-2),var(--color-surface))}.gallery__thumbs{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0;padding:0}.gallery__thumb{width:72px;height:72px;padding:0;border:2px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface-2);transition:border-color .15s ease}.gallery__thumb:hover,.gallery__thumb.active{border-color:var(--color-accent)}.gallery__thumb-img{width:100%;height:100%;object-fit:cover}.header{position:sticky;top:0;z-index:100;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.header__inner{display:flex;align-items:center;gap:var(--space-3);min-height:var(--header-h)}.header__brand{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--color-text);text-decoration:none;margin-right:auto}.header__brand:hover{text-decoration:none;color:var(--color-text)}.header__logo{display:block;flex-shrink:0}.header__burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:11px;margin-left:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent}.header__burger-bar{display:block;width:100%;height:2px;border-radius:1px;background:var(--color-text);transition:transform .2s ease,opacity .2s ease}.header__burger--open .header__burger-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.header__burger--open .header__burger-bar:nth-child(2){opacity:0}.header__burger--open .header__burger-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.header__nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;padding:var(--space-4) var(--space-5) var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md)}.header__nav--open{display:flex}.header__nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.header__nav-link{display:block;padding:var(--space-3) 0;font-weight:600;color:var(--color-text);text-decoration:none;transition:color .15s ease}.header__nav-link:hover{color:var(--color-accent);text-decoration:none}.header__nav-link.active{color:var(--color-accent)}.header__lang{padding-top:var(--space-4);border-top:1px solid var(--color-border);margin-top:var(--space-2)}.header__cart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-sm);color:var(--color-text);text-decoration:none;transition:color .15s ease,background-color .15s ease}.header__cart:hover{background:var(--color-surface-2);color:var(--color-accent);text-decoration:none}.header__cart-count{position:absolute;top:1px;right:1px;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--color-accent-2);color:#fff;font-size:.7rem;font-weight:700;line-height:1}.footer{margin-top:var(--space-8);padding:var(--space-7) 0 var(--space-5);background:var(--color-surface-2);border-top:1px solid var(--color-border)}.footer__inner{display:grid;grid-template-columns:1fr;gap:var(--space-6)}.footer__brand{font-family:var(--font-display);font-size:1.25rem;font-weight:700;margin-bottom:var(--space-2)}.footer__about{color:var(--color-text-soft);max-width:40ch}.footer__heading{font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-3);color:var(--color-text-soft)}.footer__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.footer__link{color:var(--color-text);transition:color .15s ease}.footer__link:hover{color:var(--color-accent)}.footer__pay{color:var(--color-text-soft);margin:0}.footer__copyright{margin:var(--space-6) 0 0;text-align:center;font-size:.9rem;color:var(--color-text-soft)}@media (min-width: 768px){.header__burger{display:none}.header__nav{position:static;display:flex;flex-direction:row;align-items:center;gap:var(--space-6);margin-left:auto;padding:0;background:transparent;border:0;box-shadow:none}.header__nav-list{flex-direction:row;gap:var(--space-6)}.header__nav-link{padding:0}.header__lang{padding:0;border:0;margin:0}.footer__inner{grid-template-columns:1.5fr 1fr 1.2fr}}.app-main{padding-top:var(--header-h);min-height:70vh}.page-loading{min-height:60vh;display:grid;place-items:center}.page-loading__spinner{width:2.5rem;height:2.5rem;border:3px solid var(--color-surface-2);border-top-color:var(--color-accent);border-radius:50%;animation:page-loading-spin .8s linear infinite}@keyframes page-loading-spin{to{transform:rotate(360deg)}}.home-hero{background:radial-gradient(circle at 85% 20%,rgba(184,121,44,.18),transparent 55%),radial-gradient(circle at 10% 90%,rgba(31,78,140,.14),transparent 50%),linear-gradient(180deg,var(--color-surface) 0%,var(--color-bg) 100%);padding:var(--space-8) 0;text-align:center}.home-hero__inner{max-width:720px;margin:0 auto}.home-hero__title{font-size:clamp(2.2rem,5vw,3.4rem)}.home-hero__subtitle{color:var(--color-text-soft);font-size:1.1rem;max-width:52ch;margin:0 auto var(--space-5)}.home-hero__cta{text-transform:uppercase;letter-spacing:.05em}.home-viewall{margin-top:var(--space-6);text-align:center}.home-categories{background-color:var(--color-surface);border-block:1px solid var(--color-border)}.home-categories__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-4)}.home-categories__card{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-5) var(--space-4);background-color:var(--color-surface-2);border-radius:var(--radius);color:var(--color-text);text-align:center;transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease}.home-categories__card:hover{background-color:var(--color-accent);color:#fff;text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow-md)}.home-categories__name{font-family:var(--font-display);font-size:1.05rem;font-weight:600}.home-categories__cta{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;opacity:.8}.home-about{background-color:var(--color-surface);border-radius:var(--radius-lg)}.home-about__inner{max-width:640px;margin:0 auto;text-align:center}.home-about__inner p{color:var(--color-text-soft)}.shop-header{text-align:center;margin-bottom:var(--space-6)}.shop-header p{color:var(--color-text-soft)}.shop-controls{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-5);padding:var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.shop-search input{width:100%;padding:.65rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text)}.shop-search input:focus{outline:2px solid var(--color-focus);border-color:var(--color-focus)}.shop-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}.shop-filters__label{font-weight:600;font-size:.9rem;color:var(--color-text-soft)}.shop-filter{display:inline-flex;align-items:center;gap:var(--space-1);cursor:pointer;font-size:.92rem}.shop-filter input{width:1rem;height:1rem;accent-color:var(--color-accent)}.shop-sort{display:flex;align-items:center;gap:var(--space-2)}.shop-sort label{font-size:.9rem;font-weight:600;color:var(--color-text-soft);white-space:nowrap}.shop-sort select{padding:.5rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text)}.shop-count{color:var(--color-text-soft);margin-bottom:var(--space-4);text-align:right}.shop-empty{text-align:center;padding:var(--space-7) 0}.shop-empty p{color:var(--color-text-soft)}@media (min-width: 768px){.shop-controls{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}.shop-search{flex:1 1 220px}}.detail-breadcrumb ol{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0;margin:0 0 var(--space-5);font-size:.9rem;color:var(--color-muted)}.detail-breadcrumb li{display:inline-flex;align-items:center;gap:var(--space-2)}.detail-breadcrumb li+li:before{content:"/";color:var(--color-muted)}.detail-breadcrumb li[aria-current=page]{color:var(--color-text)}.detail-layout{display:grid;gap:var(--space-6)}.detail-gallery{min-width:0}.detail-price{font-family:var(--font-display);font-size:1.6rem;font-weight:600;color:var(--color-accent-2)}.detail-description{color:var(--color-text-soft)}.detail-stock{margin:var(--space-4) 0 var(--space-5)}.detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}.detail-actions .btn{flex:1 1 auto}.detail-meta{display:grid;gap:var(--space-4);padding:var(--space-4) 0;border-block:1px solid var(--color-border);margin-bottom:var(--space-4)}.detail-meta div{margin:0}.detail-meta dt{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-soft)}.detail-meta dd{margin:0}.detail-cats{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.detail-cats__label{font-size:.9rem;font-weight:600;color:var(--color-text-soft);margin-right:var(--space-1)}@media (min-width: 860px){.detail-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.cart-layout{display:grid;gap:var(--space-6);align-items:start}.cart-items{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4)}.cart-item{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:var(--space-4);align-items:start;padding:var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.cart-item__img{width:76px;height:76px;object-fit:cover;border-radius:var(--radius-sm)}.cart-item__info>a:first-child{font-weight:600}.cart-item__unit{color:var(--color-text-soft);font-size:.9rem;margin:var(--space-1) 0}.cart-item__total{font-family:var(--font-display);font-weight:600;text-align:right;white-space:nowrap}.cart-item__remove{background:none;border:none;padding:0;margin-top:var(--space-2);color:var(--color-danger);font-size:.9rem;text-decoration:underline}.cart-item__remove:hover{opacity:.8}.cart-summary{padding:var(--space-5);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);align-self:start}.cart-summary__row{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;color:var(--color-text-soft)}.cart-summary__total{border-top:1px solid var(--color-border);margin-top:var(--space-2);padding-top:var(--space-3);color:var(--color-text);font-family:var(--font-display);font-size:1.1rem;font-weight:700}.cart-summary__note{font-size:.82rem;color:var(--color-muted);margin:var(--space-1) 0 var(--space-2)}.cart-summary .btn{margin-top:var(--space-2)}.cart-empty{text-align:center;padding-top:var(--space-8)}.cart-empty p{color:var(--color-text-soft);margin-bottom:var(--space-5)}@media (min-width: 900px){.cart-layout{grid-template-columns:minmax(0,1fr) 320px}}.checkout-order{display:grid;gap:var(--space-6);align-items:start}.checkout-fields{display:grid;grid-template-columns:1fr;gap:var(--space-1) var(--space-4)}.checkout-fields .field{margin-bottom:0}.checkout-fields__title{grid-column:1 / -1}.checkout-field textarea{resize:vertical}.checkout-field--wide{grid-column:1 / -1}.checkout-error{padding:var(--space-3) var(--space-4);border:1px solid var(--color-danger);border-radius:var(--radius-sm);background-color:#a63d2f14;color:var(--color-danger);margin-bottom:var(--space-4)}.checkout-summary{padding:var(--space-5);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.checkout-summary__row{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;color:var(--color-text-soft)}.checkout-summary__total{border-top:1px solid var(--color-border);margin-top:var(--space-2);padding-top:var(--space-3);color:var(--color-text);font-family:var(--font-display);font-size:1.1rem;font-weight:700}.checkout-summary .btn{margin-top:var(--space-4)}.checkout-empty{text-align:center;padding-top:var(--space-8)}.checkout-empty p{color:var(--color-text-soft);margin-bottom:var(--space-5)}@media (min-width: 768px){.checkout-fields{grid-template-columns:1fr 1fr}.checkout-order{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}.conf{text-align:center;padding-top:var(--space-8)}.conf-icon{width:72px;height:72px;margin:0 auto var(--space-5)}.conf-icon svg{width:100%;height:100%}.conf-icon--success{color:var(--color-success)}.conf-icon--pending{color:var(--color-accent-2)}.conf-icon--failure{color:var(--color-danger)}.conf-text{color:var(--color-text-soft);max-width:52ch;margin:0 auto var(--space-4)}.conf-order{font-weight:600;margin-bottom:var(--space-5)}.conf .btn{margin-top:var(--space-2)}.about-story{max-width:720px;margin:0 auto var(--space-7)}.about-story h2,.about-technique h2,.about-materials h2{color:var(--color-accent)}.about-technique,.about-materials{max-width:720px;margin:0 auto var(--space-7);padding:var(--space-5);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.contact-layout{display:grid;gap:var(--space-6);align-items:start}.contact-form{padding:var(--space-5);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.contact-form textarea{resize:vertical}.contact-success{padding:var(--space-3) var(--space-4);border:1px solid var(--color-success);border-radius:var(--radius-sm);background-color:#2f7d6b14;color:var(--color-success);margin-bottom:var(--space-4)}.contact-side{padding:var(--space-5);background-color:var(--color-surface-2);border-radius:var(--radius)}.contact-side h3{margin-top:var(--space-5)}.contact-social{list-style:none;padding:0;display:flex;gap:var(--space-3)}.contact-social a{font-weight:600}@media (min-width: 860px){.contact-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}.nf{text-align:center;padding-top:var(--space-8)}.nf-code{font-family:var(--font-display);font-size:clamp(4rem,14vw,8rem);line-height:1;color:var(--color-surface-2);margin:0 0 var(--space-3)}.nf-inner p{color:var(--color-text-soft);margin-bottom:var(--space-5)}
