/* JAEL HUMAN HAIR / FINAL REFINEMENT: precision, restraint, product clarity */
:root { --jh-ink:#29221e; --jh-line:#e7e0d8; --jh-ease:cubic-bezier(.25,.8,.25,1); }
html { scroll-padding-top:105px; }
body { text-rendering:optimizeLegibility; }
.skip-link { position:fixed;top:-60px;left:20px;z-index:300;background:#29221e;color:#fff;padding:12px 18px;border-radius:0 0 9px 9px;font-size:13px; }
.skip-link:focus { top:0; }
.header { border-bottom:1px solid rgba(110,89,72,.11);box-shadow:0 2px 18px rgba(50,36,28,.025); }
.navlinks>a { text-underline-offset:7px; }
.navlinks>a:focus-visible { outline-offset:7px; }
.brand-name { letter-spacing:.12em; }
.bag-btn { border-color:#ded4c9;border-radius:28px;transition:background .22s ease,border-color .22s ease;min-height:44px; }
.bag-btn:hover { background:#f0e9e2;border-color:#cbbba9; }
.bag-count { transition:transform .22s var(--jh-ease); }
.announce { min-height:32px;height:auto;letter-spacing:.14em; }
.hero-photo .slide-arrow, .hero-photo .dot { transition:background .22s ease,color .22s ease; }
.hero-photo .slide-arrow { border-radius:50%;min-width:42px;min-height:42px; }
.hero-photo .slide-arrow:hover { background:rgba(255,255,255,.18); }
.hero-slide { transition:opacity .7s ease-in-out; }
.hero-slide img { filter:saturate(.90) contrast(1.015); }
.product-image-btn { background:#eae4dd; }
.product-image-btn img { object-position:center 38%;filter:saturate(.94) contrast(1.015); }
.product-image-btn:hover img { transform:scale(1.025); }
body[data-page="shop"] .shop-intro { padding-top:clamp(28px,4vw,45px); }
body[data-page="shop"] .shop-intro h1 { letter-spacing:-.045em; }
.catalog-controls { position:relative; }
.catalog-search:focus-within { outline:2px solid #9b7e68;outline-offset:2px; }
.category-row .filter { border-radius:999px;transition:background .18s ease,color .18s ease,border-color .18s ease; }
.category-row .filter:hover:not([aria-pressed="true"]) { border-color:#b9a797;background:#f2ede8; }
.catalog-count-line { margin-top:15px;margin-bottom:18px; }
body[data-page="shop"] .product-grid.catalog-grid { row-gap:38px; }
.shop-tile .tile-photo { border-radius:12px;overflow:hidden; }
.shop-tile .tile-photo img { transition:transform .52s var(--jh-ease),filter .25s ease; }
.shop-tile .tile-photo:hover img { transform:scale(1.024); }
.tile-name { letter-spacing:-.025em; }
.tile-type { line-height:1.6!important; }
.tile-content { padding-top:15px; }
.tile-choose { min-height:30px;display:inline-flex;align-items:center;justify-content:flex-end; }
.tile-choose:hover { color:#865c40;border-color:#99735b; }
.tile-zoom { width:35px;height:35px;border:1px solid #ede2d5;box-shadow:0 2px 9px rgba(0,0,0,.05); }
.sample-tag { backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px); }
.shop-tile .sample-tag { max-width:calc(100% - 57px); }
.catalog-end { padding:23px 26px;border-radius:12px; }
.btn { border-radius:6px;transition:transform .18s ease,background .18s ease,border-color .18s ease; }
.btn:hover { transform:translateY(-1px); }
.btn:active, .bag-btn:active, .photo-tool:active { transform:translateY(0) scale(.99); }
.product-modal { border-radius:16px;box-shadow:0 24px 90px rgba(18,12,8,.16); }
.product-modal .modal-copy { justify-content:flex-start; }
.modal-media { background:#e9e2da; }
.modal-media>img { object-position:center 37%; }
.modal-copy h2 { letter-spacing:-.048em; }
.modal-price { font-size:16px; }
.modal-description { line-height:1.8; }
.modal-specs { gap:15px 24px; }
.modal-specs dt { letter-spacing:.08em; }
.modal-specs dd { color:#42382e; }
.select-light { min-height:47px;border-radius:7px; }
.modal-actions .btn { min-height:52px; }
.modal-footnote { margin-top:12px; }
.drawer { box-shadow:-22px 0 85px rgba(30,19,11,.13); }
.drawer-header { background:#faf8f5; }
.drawer-body { overscroll-behavior:contain; }
.qty-control { border-radius:7px;overflow:hidden; }
.qty-control button { min-width:38px;min-height:38px; }
.bag-line img { aspect-ratio:1/1.1;object-fit:cover; }
.toast { display:flex;gap:18px;align-items:center;justify-content:space-between;min-width:min(340px,calc(100vw - 36px));padding:12px 14px 12px 19px;border-radius:9px;box-shadow:0 12px 35px rgba(30,20,12,.16); }
.toast button { color:#fff;border:1px solid #8c7868;background:transparent;border-radius:6px;padding:7px 10px;font-size:11px;white-space:nowrap;min-height:35px; }
.toast button:hover { background:#5b4b3f; }
.email-link { text-decoration-thickness:1px;text-underline-offset:7px; }
.field input,.field textarea,.field select { border-radius:7px; }
.field input:focus-visible,.field textarea:focus-visible { border-color:#81624c;box-shadow:0 0 0 3px rgba(130,97,76,.11); }
.contact { scroll-margin-top:95px; }
[aria-hidden="true"].drawer,[aria-hidden="true"].product-modal { visibility:hidden; }
[aria-hidden="false"].drawer,[aria-hidden="false"].product-modal { visibility:visible; }
@media(max-width:800px) { .navlinks.open { box-shadow:0 14px 30px rgba(20,10,3,.06); } }
@media(max-width:620px) {
 .catalog-count-line { margin-top:12px; }
 .tile-price { font-size:12px; }
 .tile-type { min-height:2.8em; }
 .tile-choose { min-height:35px; }
 .product-modal { border-radius:0; }
 .modal-media { height:45vh; }
 .modal-copy { padding:24px 22px 38px; }
 .modal-copy h2 { font-size:36px; }
 .modal-actions .btn { width:100%;flex-basis:100%; }
 .toast { bottom:max(14px,env(safe-area-inset-bottom)); }
 .drawer-foot { padding-bottom:max(22px,env(safe-area-inset-bottom)); }
}
@media(hover:none) { .shop-tile .tile-photo:hover img,.product-image-btn:hover img { transform:none; } }
@media(prefers-reduced-motion:reduce) { .hero-slide,.tile-zoom,.shop-tile .tile-photo img,.toast,.btn { transition:none!important;animation:none!important; } }
