.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.product-gallery>.placeholder{min-height:560px;background:#e8dfd3;border-radius:14px}
.product-assurances{margin-top:26px;border-top:1px solid rgba(41,35,31,.18)}
.product-assurances details{border-bottom:1px solid rgba(41,35,31,.18);padding:14px 0}
.product-assurances summary{font-weight:700;cursor:pointer}
.product-assurances p{margin:10px 0 2px}
.add-to-cart:disabled{opacity:.45;cursor:not-allowed}
.policy-page{max-width:850px}
.policy-page>header{margin-bottom:36px}
.policy-page h1{font-size:clamp(42px,6vw,64px);line-height:1.04;margin:10px 0}
.policy-page .rte{background:var(--surface);padding:clamp(26px,5vw,58px);border-radius:20px}
.search-form{display:flex;gap:10px;margin:25px 0 45px;max-width:680px}
.search-form input{flex:1;min-width:0;padding:14px;border:1px solid #bdb3aa;border-radius:999px;background:#fff}
.cart-page{max-width:1040px}
.cart-list{background:var(--surface);padding:0 26px;border-radius:18px}
.cart-item input{width:76px;padding:10px;border:1px solid #bdb3aa;border-radius:8px}
.cart-summary{margin:28px 0 0 auto;max-width:460px}
.cart-summary .button{margin:6px 0 0 8px}
.pagination{margin-top:38px;text-align:center}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px}
.contact-layout>.rte,.contact-form-wrap{background:var(--surface);padding:32px;border-radius:18px}
.contact-form-wrap label{display:block;font-weight:700;margin:14px 0 6px}
.contact-form-wrap input,.contact-form-wrap textarea{width:100%;padding:13px;border:1px solid #bdb3aa;border-radius:8px;background:#fff}
.contact-form-wrap .button{margin-top:16px}
@media(max-width:900px){.header-actions{font-size:13px}.mobile-nav:not([hidden]){display:block}.policy-page .rte{padding:26px}}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr}}
@media(max-width:560px){.gift-grid,.product-grid{grid-template-columns:1fr}.header-actions .icon-link:not(:last-child){display:none}.search-form{display:block}.search-form input,.search-form .button{width:100%;margin:5px 0}.cart-summary .button{width:100%;margin:7px 0}}
.about-hero{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}.about-hero h1,.faq-header h1,.tracking-header h1{font-size:clamp(44px,6vw,72px);line-height:1.02;margin:12px 0 20px}.about-hero__media{aspect-ratio:5/4;background:#e8dfd3;border-radius:24px;overflow:hidden}.about-hero__media img{width:100%;height:100%;object-fit:cover}.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:70px 0}.about-value{background:var(--surface);padding:32px;border-radius:18px}.about-value>span{color:var(--accent);font-weight:700}.about-value h2{font-size:26px}.about-note{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;border-top:1px solid #d8cfc7;padding-top:50px}.faq-header,.tracking-header{max-width:760px;margin-bottom:40px}.faq-list{max-width:900px}.faq-item{border-top:1px solid #cfc4bb;padding:0}.faq-item:last-child{border-bottom:1px solid #cfc4bb}.faq-item summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;padding:20px 0;font-weight:700;font-size:18px}.faq-item .rte{padding:0 30px 18px 0}.faq-help{margin-top:48px;background:var(--surface);padding:30px;border-radius:18px}.tracking-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.tracking-steps,.tracking-help{background:var(--surface);padding:clamp(26px,4vw,44px);border-radius:20px}.tracking-steps li{margin-bottom:24px}.tracking-help label{display:block;font-weight:700;margin:13px 0 5px}.tracking-help input,.tracking-help textarea{width:100%;padding:12px;border:1px solid #bdb3aa;border-radius:8px;background:#fff}.tracking-help .button{margin-top:14px}@media(max-width:850px){.about-hero,.about-note,.tracking-grid{grid-template-columns:1fr}.about-values{grid-template-columns:1fr}.about-hero{gap:30px}.about-note{gap:20px}}
