/* Design tokens. Colours and fonts are set to match imanhair.co.uk as closely as possible
   from its rendered pages; swap these values once the original theme file is supplied. */
:root{--bg:#ffffff;--fg:#121212;--muted:#5e5e5e;--line:#e5e2de;--soft:#f6f2ee;--dark:#121212;--on-dark:#ffffff;--head:"Didot","Bodoni 72","Playfair Display",Georgia,"Times New Roman",serif;--body:"Helvetica Neue",Helvetica,Arial,sans-serif;--page:1240px;--gut:clamp(16px,4vw,50px)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 var(--body);letter-spacing:.02em}
img{max-width:100%;display:block}a{color:inherit}button,input,select{font:inherit;color:inherit}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;z-index:99;background:#fff;padding:8px}
.wrap{max-width:var(--page);margin:0 auto;padding:0 var(--gut)}
h1,h2,h3{font-family:var(--head);font-weight:400;line-height:1.15;letter-spacing:.01em;margin:0 0 .5em}
h1{font-size:clamp(40px,6vw,72px)}h2{font-size:clamp(30px,3.6vw,44px)}h3{font-size:20px}
.kicker{font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin:0 0 14px;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 30px;border:1px solid var(--dark);background:var(--dark);color:var(--on-dark);text-decoration:none;font-size:14px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:transparent;color:var(--dark)}
.btn-outline{background:transparent;color:var(--dark)}.btn-outline:hover{background:var(--dark);color:var(--on-dark)}
.btn-light{border-color:#fff;background:#fff;color:var(--dark)}.btn-light:hover{background:transparent;color:#fff}
.btn-ghost-light{border-color:#fff;background:transparent;color:#fff}.btn-ghost-light:hover{background:#fff;color:var(--dark)}
.btn-block{width:100%}.btn:disabled{opacity:.45;cursor:default}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.link{text-decoration:underline;text-underline-offset:4px}
/* header */
.hdr{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--line)}
.hdr-in{max-width:var(--page);margin:0 auto;padding:0 var(--gut);height:84px;display:flex;align-items:center;gap:28px}
.logo img{width:140px;max-height:56px;height:auto;object-fit:contain}
.hnav{display:flex;gap:26px;align-items:center;flex:1}
.hnav>a,.dd>button{background:none;border:0;padding:8px 0;text-decoration:none;font-size:15px;cursor:pointer}
.hnav>a:hover,.dd>button:hover{text-decoration:underline;text-underline-offset:4px}
.dd{position:relative}.dd>button svg{width:10px;margin-left:6px;vertical-align:middle}
.dd ul{display:none;position:absolute;top:100%;left:-20px;min-width:200px;list-style:none;margin:0;padding:14px 0;background:var(--bg);border:1px solid var(--line);box-shadow:0 8px 24px #0000000f}
.dd ul a{display:block;padding:8px 20px;text-decoration:none;font-size:15px}.dd ul a:hover{text-decoration:underline}
.dd:hover ul,.dd.open ul{display:block}
.hicons{display:flex;gap:10px;align-items:center;margin-left:auto}
.icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:0;cursor:pointer;position:relative;text-decoration:none}
.icon svg{width:20px;height:20px}
#bagcount{position:absolute;bottom:6px;right:4px;min-width:18px;height:18px;border-radius:9px;background:var(--dark);color:#fff;font-size:10px;line-height:18px;text-align:center}
#bagcount:empty{display:none}
.burger{display:none}
.mdrawer{position:fixed;inset:0;z-index:50;background:#00000066}
.mdrawer[hidden]{display:none}
.mdrawer-in{background:var(--bg);width:min(380px,88vw);height:100%;overflow:auto;padding:24px var(--gut)}
.mdrawer ul{list-style:none;margin:20px 0;padding:0}.mdrawer li>a,.mdrawer summary{display:block;padding:14px 0;font-size:18px;text-decoration:none;cursor:pointer;border-bottom:1px solid var(--line)}
.mdrawer details ul{margin:0 0 0 16px}.mdrawer details li>a{font-size:16px}
/* sections */
.section{padding:clamp(56px,8vw,96px) 0}.soft{background:var(--soft)}
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}
.lead{max-width:640px;color:var(--muted)}
.hero{position:relative;min-height:min(78vh,760px);display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero picture,.hero picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000000a0,#00000030 60%,transparent)}
.hero .wrap{position:relative;z-index:1;width:100%;padding-bottom:clamp(48px,8vw,96px)}
.hero .kicker{color:#ffffffd9}.hero p.lead{color:#fffffff0;max-width:520px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.split.rev>:first-child{order:2}
.split img{width:100%;aspect-ratio:4/5;object-fit:cover}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.tile{position:relative;display:block;text-decoration:none;color:#fff;overflow:hidden}
.tile img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .6s}.tile:hover img{transform:scale(1.04)}
.tile .cap{position:absolute;inset:auto 0 0 0;padding:28px;background:linear-gradient(transparent,#000000b0)}
.tile .cap h3{font-size:28px;margin:0 0 4px}.tile .cap p{margin:0 0 14px;font-size:14px}
.tile .cap span{font-size:13px;letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px}
.texture{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.tcard{display:block;padding:34px 28px;border:1px solid var(--line);background:var(--bg);text-decoration:none;transition:border-color .2s}
.tcard:hover{border-color:var(--dark)}.tcard small{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.tcard h3{font-size:26px;margin:10px 0}.tcard p{margin:0;color:var(--muted);font-size:15px}
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.shades{list-style:none;padding:0;margin:22px 0 0}.shades a{display:block;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none}.shades a:hover{padding-left:6px}
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 28px;margin-top:44px}
.why b{display:block;font-family:var(--head);font-size:30px;font-weight:400;margin-bottom:10px}.why h3{font-size:20px}.why p{margin:0;color:var(--muted);font-size:15px}
/* product cards + slider */
.grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px 20px}
.card{display:flex;flex-direction:column}
.card-media{position:relative;display:block;aspect-ratio:2/3;overflow:hidden;background:var(--soft)}
.card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .4s,transform .6s}
.card-media img.alt{opacity:0}.card:hover .card-media img.alt{opacity:1}.card:hover .card-media img{transform:scale(1.03)}
.badge{position:absolute;left:12px;bottom:12px;background:var(--dark);color:#fff;font-size:12px;padding:4px 12px;border-radius:20px}
.card-title{font-family:var(--body);font-size:15px;letter-spacing:.04em;margin:14px 0 4px}.card-title a{text-decoration:none}.card-title a:hover{text-decoration:underline}
.card-price{font-size:15px;margin-bottom:0}.card .btn{margin-top:auto;min-height:44px;font-size:13px}
.slider{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 60px)/4);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.slider::-webkit-scrollbar{display:none}.slider>li{scroll-snap-align:start}
.sbar{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:28px}
.sbar button{width:40px;height:40px;border:0;background:none;cursor:pointer;font-size:18px}
/* collection */
.cbanner{position:relative;color:#fff;min-height:340px;display:flex;align-items:flex-end}
.cbanner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cbanner::after{content:"";position:absolute;inset:0;background:#00000059}
.cbanner .wrap{position:relative;z-index:1;width:100%;padding-bottom:40px}
.ctitle{padding-top:48px;margin-bottom:8px}
.fbar{display:flex;flex-direction:column;gap:18px;margin:28px 0 36px;padding-bottom:22px;border-bottom:1px solid var(--line);font-size:14px}
.chips{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.chip{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 18px;border:1px solid var(--line);border-radius:999px;text-decoration:none;letter-spacing:.12em;text-transform:uppercase;font-size:11px;color:var(--muted);background:transparent;transition:border-color .2s,color .2s,background .2s}
.chip:hover{border-color:var(--dark);color:var(--dark)}
.chip.is-active{border-color:var(--dark);background:var(--dark);color:var(--on-dark)}
.fbar-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px}
.fctrl{position:relative}
.fctrl>summary,.fsort{cursor:pointer;list-style:none;letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--dark)}
.fctrl>summary::after{content:" ▾";font-size:10px;letter-spacing:0}
.fctrl>summary::-webkit-details-marker{display:none}
.fctrl[open]>summary{text-decoration:underline;text-underline-offset:4px}
.fsort{display:inline-flex;align-items:center;gap:8px}
.fsort select{border:0;background:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:4px;letter-spacing:.02em;text-transform:none;font-size:14px;max-width:min(220px,52vw)}
.fbar .count{margin-left:auto;color:var(--muted);font-size:13px;letter-spacing:.04em}
.fpanel{position:absolute;z-index:5;top:calc(100% + 12px);left:0;min-width:260px;background:var(--bg);border:1px solid var(--line);padding:18px;box-shadow:0 12px 32px #00000014}
.fpanel-lux{min-width:min(320px,92vw);padding:22px}
.fpanel label{display:flex;gap:10px;align-items:center;padding:6px 0;cursor:pointer;font-size:14px;letter-spacing:.02em;text-transform:none}
.fpanel input[type=number]{width:96px;padding:8px 10px;border:1px solid var(--line);background:var(--bg)}
.fsec{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.fsec:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}
.fsec h4,.fsec-details>summary{margin:0 0 10px;font-family:var(--body);font-size:11px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.fprice{display:flex;flex-wrap:wrap;gap:12px}
.ffacets{display:flex;flex-direction:column;gap:4px}
.fsec-details{border:0;padding:0;margin:0 0 12px}
.fsec-details>summary{cursor:pointer;list-style:none;position:relative;padding-right:16px}
.fsec-details>summary::-webkit-details-marker{display:none}
.fsec-details>summary::after{content:"▾";position:absolute;right:0;top:0;font-size:10px;color:var(--muted)}
.fsec-body{padding:0 0 4px}
.fbar .rm{margin-top:8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.fsearch{width:100%;max-width:420px;padding:12px 14px;border:0;border-bottom:1px solid var(--line);background:transparent;font-size:15px;letter-spacing:.04em}
.fsearch:focus{outline:none;border-bottom-color:var(--dark)}
.fsearch[hidden]{display:none!important}
/* product */
.pdp{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(28px,5vw,64px);padding-top:40px;padding-bottom:60px}
.pmain{aspect-ratio:2/3;background:var(--soft);overflow:hidden}.pmain img{width:100%;height:100%;object-fit:cover}
.thumbs{display:flex;gap:10px;margin-top:10px;overflow-x:auto}
.thumbs button{flex:0 0 76px;padding:0;border:1px solid transparent;background:var(--soft);cursor:pointer;aspect-ratio:2/3}
.thumbs button[aria-current=true]{border-color:var(--dark)}.thumbs img{width:100%;height:100%;object-fit:cover}
.pinfo{position:sticky;top:110px;align-self:start}
.pinfo h1{font-size:clamp(30px,3.4vw,42px)}
.price{font-size:20px;margin:0 0 24px}
.opt{border:0;padding:0;margin:0 0 20px}.opt legend{font-size:14px;margin-bottom:10px}
.pill{min-width:56px;padding:9px 18px;margin:0 8px 8px 0;border:1px solid var(--dark);border-radius:40px;background:var(--bg);cursor:pointer;font-size:14px}
.pill[aria-pressed=true]{background:var(--dark);color:#fff}.pill:disabled{opacity:.35;text-decoration:line-through;cursor:default}
.qty{display:inline-flex;align-items:center;border:1px solid var(--dark);margin:6px 0 20px}
.qty button{width:44px;height:44px;border:0;background:none;cursor:pointer;font-size:18px}.qty span{min-width:36px;text-align:center}
.note{font-size:14px;color:var(--muted);margin:10px 0}
.desc{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.desc details{border-bottom:1px solid var(--line);padding:14px 0}.desc summary{cursor:pointer}
.error{color:#b3261e}
/* footer */
.ftr{background:var(--dark);color:#fff;padding:64px 0 28px;margin-top:0}
.ftr a{text-decoration:none}.ftr a:hover{text-decoration:underline}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}
.fgrid img{height:46px;width:auto;margin-bottom:18px}
.ftr h2{font-size:24px;margin-bottom:8px}.ftr h3{font-family:var(--body);font-size:13px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px}
.ftr ul{list-style:none;padding:0;margin:0}.ftr li{margin:0 0 10px;font-size:14px}
.ftr p{font-size:14px;margin:0 0 10px;color:#ffffffcc}
.fbottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid #ffffff2e;margin-top:48px;padding-top:22px;font-size:12px;color:#ffffffb3}
.fbottom ul{display:flex;flex-wrap:wrap;gap:16px}
/* cart drawer */
#cart{margin:0 0 0 auto;height:100%;max-height:100%;width:min(440px,100vw);max-width:100vw;border:0;padding:0;background:var(--bg)}
#cart::backdrop{background:#00000066}
.cin{display:flex;flex-direction:column;height:100%;padding:24px}
.chead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px}
.chead h2{font-size:26px;margin:0}
#cartlines{flex:1;overflow:auto}
.line{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);font-size:14px}
.line img{width:90px;aspect-ratio:2/3;object-fit:cover;background:var(--soft)}
.line b{font-weight:400;font-size:15px}.line p{margin:4px 0;color:var(--muted)}
.lqty{display:flex;align-items:center;gap:14px;margin-top:10px}.lqty .qty{margin:0}.lqty .qty button{width:36px;height:36px}
.rm{background:none;border:0;text-decoration:underline;cursor:pointer;font-size:13px;color:var(--muted)}
.cempty{text-align:center;padding:60px 0}.cempty h2{font-size:28px}
.cfoot{border-top:1px solid var(--line);padding-top:16px}
.ctotal{display:flex;justify-content:space-between;font-size:17px}
/* responsive */
@media(max-width:989px){.hnav{display:none}.burger{display:inline-flex}.hdr-in{height:68px;gap:6px}.logo{margin:0 auto}.logo img{width:110px;max-height:44px}.hicons{margin-left:0}
.grid{grid-template-columns:repeat(2,1fr)}.slider{grid-auto-columns:calc((100% - 20px)/2.2)}.why{grid-template-columns:repeat(2,1fr)}.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:749px){.hero{flex-direction:column;align-items:stretch;min-height:0;color:var(--fg)}.hero picture{position:relative;display:block;aspect-ratio:4/5}.hero::after{display:none}
.hero .wrap{padding-top:32px;padding-bottom:40px}.hero .kicker{color:var(--muted)}.hero p.lead{color:var(--muted)}.hero .btn-light{background:var(--dark);border-color:var(--dark);color:#fff}.hero .btn-ghost-light{border-color:var(--dark);color:var(--dark)}
.split,.pdp{grid-template-columns:1fr}.split.rev>:first-child{order:0}.tiles,.texture{grid-template-columns:1fr}.slider{grid-auto-columns:82%}
.why{grid-template-columns:1fr;gap:28px}.fgrid{grid-template-columns:1fr}.pinfo{position:static}.fbar-tools{width:100%}.fbar .count{margin-left:auto}}
