/* Labellissimo Catalogue */
.lbk{
  --maroon:#5A0F1F; --maroon-deep:#3F0A16; --navy:#0E1A3A; --soft:#4B5573; --line:#E8E1D2; --mat:#F6F1E7;
  background:#fff;color:var(--navy);width:100%;box-sizing:border-box;font-size:16px;
  font-family:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;
  padding-bottom:clamp(56px,7vw,100px);
}
.lbk *{box-sizing:border-box}
:where(.lbk a){color:inherit;text-decoration:none}
:where(.lbk button){font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}
.lbk-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lbk-wrap{max-width:1380px;margin:0 auto;padding:0 clamp(18px,4vw,56px)}
.lbk [hidden]{display:none !important}

/* ================= banner ================= */
.lbk-banner{position:relative;overflow:hidden;min-height:clamp(250px,27vw,390px);display:flex;align-items:flex-end;background:linear-gradient(120deg,#3F0A16 0%,#5A0F1F 45%,#14224D 100%);color:#fff}
.lbk-bimg{position:absolute;inset:-4% 0;transform:scale(1.12);animation:lbkZoom 2.8s cubic-bezier(.2,.7,.2,1) forwards}
.lbk-bimg img{width:100%;height:100%;object-fit:cover;display:block}
.lbk-bshade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,26,58,.86) 0%,rgba(14,26,58,.58) 42%,rgba(63,10,22,.18) 100%),linear-gradient(0deg,rgba(14,26,58,.5),rgba(14,26,58,0) 55%)}
.lbk-bin{position:relative;z-index:2;width:100%;padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(30px,4vw,56px)}
.lbk-crumbs{display:flex;align-items:center;gap:10px;font-size:14px;color:rgba(255,255,255,.82);margin-bottom:clamp(14px,2vw,24px);opacity:0;animation:lbkFade .9s ease .2s forwards}
.lbk-crumbs a:hover{color:#fff;text-decoration:underline}
.lbk-crumbs i{font-style:normal;opacity:.6}
.lbk-title{margin:0;font-weight:300;letter-spacing:-.04em;line-height:1;font-size:clamp(40px,6.4vw,92px);color:#fff;overflow:hidden;padding-bottom:.1em}
.lbk-title span{display:block}
.lbk-sub{margin:clamp(12px,1.6vw,20px) 0 0;max-width:58ch;font-size:clamp(15px,1.25vw,18px);line-height:1.65;color:rgba(255,255,255,.9);opacity:0;transform:translateY(14px);animation:lbkUp 1s cubic-bezier(.2,.7,.2,1) .7s forwards}
.lbk-bin::after{content:"";display:block;height:2px;width:0;margin-top:clamp(18px,2.2vw,28px);background:#fff;animation:lbkLine 1.2s cubic-bezier(.2,.7,.2,1) 1s forwards}
@keyframes lbkZoom{to{transform:scale(1)}}
@keyframes lbkFade{to{opacity:1}}
@keyframes lbkUp{to{opacity:1;transform:none}}
@keyframes lbkLine{to{width:72px}}
@keyframes lbkRise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes lbkTitle{from{transform:translateY(110%)}to{transform:none}}
.lbk-title span{animation:lbkTitle 1.1s cubic-bezier(.2,.7,.2,1) .3s both}

/* ================= toolbar ================= */
.lbk-body{padding-top:clamp(22px,3vw,36px)}
.lbk-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.lbk-count{margin:0;font-size:15px;color:var(--soft)}
.lbk-tools{display:flex;align-items:center;gap:12px}
.lbk-filterbtn{display:none;align-items:center;gap:10px;min-height:44px;padding:0 18px;border:1px solid var(--maroon-deep);font-weight:500;font-size:15px;color:var(--maroon-deep)}
.lbk-filterbtn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.lbk-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:10px;background:var(--maroon);color:#fff;font-size:12px;font-weight:600;padding:0 6px}
.lbk-sort select{appearance:none;-webkit-appearance:none;min-height:44px;padding:0 44px 0 16px;border:1px solid var(--line);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%233F0A16' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center;font:inherit;font-size:15px;color:var(--navy);cursor:pointer;transition:border-color .25s}
.lbk-sort select:hover,.lbk-sort select:focus{border-color:var(--maroon-deep);outline:0}

.lbk-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px 0 0;min-height:14px}
.lbk-chips:empty{padding:0}
.lbk-chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border:1px solid var(--maroon);color:var(--maroon-deep);font-size:14px;font-weight:500;background:#fff;transition:background .25s,color .25s}
.lbk-chip:hover{background:var(--maroon);color:#fff}
.lbk-chip svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.lbk-clear{font-size:14px;font-weight:500;color:var(--maroon-deep);border-bottom:1px solid currentColor;margin-left:6px;padding-bottom:1px}
.lbk-clear:hover{color:var(--maroon)}

/* ================= layout ================= */
.lbk-layout{display:block;margin-top:clamp(20px,2.6vw,32px)}
.lbk-layout.has-side{display:grid;grid-template-columns:272px minmax(0,1fr);gap:clamp(24px,3.4vw,56px);align-items:start}
.lbk-side{position:sticky;top:110px;max-height:calc(100vh - 130px);overflow-y:auto;scrollbar-width:thin;padding-right:6px}
.lbk-fhead{display:none}
.lbk-search{position:relative;margin-bottom:6px}
.lbk-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;fill:none;stroke:var(--soft);stroke-width:1.6;stroke-linecap:round;pointer-events:none}
.lbk-search input{width:100%;min-height:46px;padding:0 14px 0 42px;border:1px solid var(--line);background:#fff;font:inherit;font-size:15px;color:var(--navy);transition:border-color .25s}
.lbk-search input:focus{outline:0;border-color:var(--maroon-deep)}
.lbk-group{border-bottom:1px solid var(--line);padding:6px 0}
.lbk-group summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:48px;font-weight:500;font-size:15px;color:var(--maroon-deep)}
.lbk-group summary::-webkit-details-marker{display:none}
.lbk-group summary::after{content:"";width:9px;height:9px;border-right:1.5px solid var(--maroon-deep);border-bottom:1.5px solid var(--maroon-deep);transform:rotate(45deg) translateY(-2px);transition:transform .3s}
.lbk-group[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.lbk-opts{padding:2px 0 14px;display:grid;gap:2px}
.lbk-check{position:relative;display:flex;align-items:center;gap:12px;min-height:38px;cursor:pointer;font-size:15px}
.lbk-check input{position:absolute;opacity:0;width:1px;height:1px}
.lbk-check i{flex:0 0 auto;width:18px;height:18px;border:1px solid #9AA2B8;background:#fff;display:flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s}
.lbk-check.radio i{border-radius:50%}
.lbk-check i::after{content:"";width:9px;height:5px;border-left:1.6px solid #fff;border-bottom:1.6px solid #fff;transform:rotate(-45deg) translate(1px,-1px);opacity:0;transition:opacity .2s}
.lbk-check.radio i::after{width:8px;height:8px;border:0;border-radius:50%;background:#fff;transform:none}
.lbk-check input:checked+i{background:var(--maroon);border-color:var(--maroon)}
.lbk-check input:checked+i::after{opacity:1}
.lbk-check input:focus-visible+i{outline:2px solid var(--navy);outline-offset:2px}
.lbk-check:hover span{color:var(--maroon)}

/* price slider */
.lbk-price{padding:6px 4px 16px}
.lbk-rng{position:relative;height:30px}
.lbk-rtrack,.lbk-rfill{position:absolute;top:13px;height:3px;border-radius:2px}
.lbk-rtrack{left:0;right:0;background:var(--line)}
.lbk-rfill{background:var(--maroon)}
.lbk-rng input[type=range]{position:absolute;left:0;top:0;width:100%;height:30px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.lbk-rng input[type=range]::-webkit-slider-runnable-track{background:none;height:30px}
.lbk-rng input[type=range]::-moz-range-track{background:none}
.lbk-rng input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:22px;height:22px;margin-top:4px;border-radius:50%;background:#fff;border:2px solid var(--maroon);cursor:grab;box-shadow:0 2px 8px rgba(14,26,58,.18)}
.lbk-rng input[type=range]::-moz-range-thumb{pointer-events:auto;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--maroon);cursor:grab}
.lbk-rng input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--navy);outline-offset:2px}
.lbk-pv{display:flex;justify-content:space-between;margin-top:6px;font-size:14px;font-weight:500;color:var(--maroon-deep)}
.lbk-ffoot{display:none}

/* ================= pieces ================= */
.lbk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(26px,3vw,40px) clamp(12px,1.5vw,20px);transition:opacity .3s ease}
.lbk-grid.is-loading{opacity:.35;pointer-events:none}
.lbk-card{animation:lbkRise .85s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--n,0) * 55ms)}
.lbk-media{position:relative;overflow:hidden;aspect-ratio:4/5;background:var(--mat)}
.lbk-img{position:absolute;inset:0;display:block}
.lbk-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),opacity .6s ease}
.lbk-alt{opacity:0}
.lbk-card:hover .lbk-alt{opacity:1}
.lbk-card:hover .lbk-main{transform:scale(1.04)}
.lbk-card:hover .lbk-alt{transform:scale(1.04)}
.lbk-card:not(:has(.lbk-alt)):hover .lbk-main{transform:scale(1.07)}
.lbk-badges{position:absolute;left:10px;top:10px;z-index:2;display:flex;flex-wrap:wrap;gap:6px;pointer-events:none}
.lbk-badges b{background:#fff;color:var(--maroon-deep);font-size:12px;font-weight:500;padding:3px 10px;line-height:1.4}
.lbk-badges b.maroon{background:var(--maroon);color:#fff}
.lbk-badges b.dark{background:var(--navy);color:#fff}
.lbk-add{position:absolute;left:0;right:0;bottom:0;z-index:3;min-height:46px;display:flex;align-items:center;justify-content:center;background:var(--maroon);color:#fff !important;font-size:14px;font-weight:500;transform:translateY(101%);transition:transform .45s cubic-bezier(.2,.7,.2,1),background .25s}
.lbk-add:hover{background:var(--maroon-deep)}
.lbk-card:hover .lbk-add,.lbk-card:focus-within .lbk-add{transform:none}
.lbk-add.is-done{background:var(--navy)}
.lbk-card.is-sold .lbk-img img{filter:grayscale(.7);opacity:.7}
.lbk-name{margin:14px 0 0;font-size:16px;font-weight:500;line-height:1.35;letter-spacing:-.005em}
.lbk-name a:hover{color:var(--maroon)}
.lbk-cat{margin:2px 0 0;font-size:14px;color:var(--soft)}
.lbk-price{margin:6px 0 0;font-size:16px;font-weight:500;color:var(--maroon-deep)}
.lbk-price del{opacity:.5;font-weight:400;margin-right:6px}
.lbk-price ins{text-decoration:none}

.lbk-more{margin-top:clamp(36px,5vw,60px);text-align:center}
.lbk-prog{margin:0 0 12px;font-size:14px;color:var(--soft)}
.lbk-bar2{width:min(260px,70%);height:2px;background:var(--line);margin:0 auto 22px;overflow:hidden}
.lbk-bar2 i{display:block;height:100%;background:var(--maroon);transition:width .6s cubic-bezier(.2,.7,.2,1)}
.lbk-morebtn{min-height:52px;padding:0 44px;border:1px solid var(--maroon-deep);color:var(--maroon-deep);font-size:15px;font-weight:500;transition:background .3s,color .3s}
.lbk-morebtn:hover{background:var(--maroon-deep);color:#fff}
.lbk-morebtn.is-loading{opacity:.5;pointer-events:none}
.lbk-empty{text-align:center;padding:clamp(40px,7vw,90px) 0}
.lbk-empty h2{margin:0 0 8px;font-weight:300;font-size:clamp(26px,3vw,40px);letter-spacing:-.03em;color:var(--maroon-deep)}
.lbk-empty p{margin:0 0 22px;color:var(--soft)}
.lbk-clear2{min-height:46px;padding:0 26px;border:1px solid var(--maroon-deep);color:var(--maroon-deep);font-size:14px;font-weight:500;transition:background .3s,color .3s}
.lbk-clear2:hover{background:var(--maroon-deep);color:#fff}

.lbk-toast{position:fixed;left:50%;bottom:24px;z-index:9996;transform:translateX(-50%);background:#fff;border:1px solid var(--maroon);box-shadow:0 18px 44px rgba(14,26,58,.18);padding:14px 20px;font-size:15px;display:flex;gap:18px;align-items:center;animation:lbkRise .5s cubic-bezier(.2,.7,.2,1)}
.lbk-toast a{color:var(--maroon-deep);font-weight:500;border-bottom:1px solid currentColor}
.lbk-scrim{display:none}

/* ================= tablet and phone ================= */
@media (max-width:1280px){.lbk-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){
  .lbk-layout.has-side{grid-template-columns:1fr}
  .lbk-filterbtn{display:inline-flex}
  .lbk-side{position:fixed;top:0;left:0;bottom:0;z-index:9995;width:min(400px,92vw);max-height:none;background:#fff;transform:translateX(-102%);transition:transform .6s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;padding:0;overflow:hidden;visibility:hidden}
  .lbk-open .lbk-side{transform:none;visibility:visible}
  .lbk-form{display:flex;flex-direction:column;height:100%}
  .lbk-fhead{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 12px 22px;border-bottom:1px solid var(--line)}
  .lbk-fhead h2{margin:0;font-weight:300;font-size:26px;letter-spacing:-.02em;color:var(--maroon-deep)}
  .lbk-fclose{width:44px;height:44px;display:flex;align-items:center;justify-content:center}
  .lbk-fclose svg{width:18px;height:18px;stroke:var(--maroon-deep);stroke-width:1.6;fill:none;stroke-linecap:round}
  .lbk-fbody{flex:1;overflow-y:auto;padding:16px 22px}
  .lbk-ffoot{display:flex;gap:10px;padding:14px 22px;border-top:1px solid var(--line);background:#fff}
  .lbk-ffoot .lbk-clear2{flex:0 0 auto}
  .lbk-show{flex:1;min-height:46px;background:var(--maroon);color:#fff;font-weight:500;font-size:15px}
  .lbk-scrim{display:block;position:fixed;inset:0;z-index:9994;background:rgba(14,26,58,.5);opacity:0;visibility:hidden;transition:opacity .45s ease,visibility 0s linear .45s}
  .lbk-open .lbk-scrim{opacity:1;visibility:visible;transition-delay:0s}
  html.lbk-lock{overflow:hidden}
  .lbk-add{display:none}
}
@media (max-width:640px){
  .lbk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lbk-name{font-size:15px}
  .lbk-sort select{padding-left:12px}
  .lbk-toast{width:calc(100% - 28px);justify-content:space-between}
}
@media (prefers-reduced-motion:reduce){
  .lbk *,.lbk *::before,.lbk *::after{animation:none !important;transition:none !important}
  .lbk-crumbs,.lbk-sub{opacity:1;transform:none}
  .lbk-bimg{transform:none}
  .lbk-bin::after{width:72px}
}

.lbk .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.lbk-rng input[type=range]{outline:0}
.lbk :focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.lbk-fclose:focus-visible{outline-offset:-2px}

/* ---------- all sizes: finger-sized controls, contained helper text, touch tablets can add to bag ---------- */
.lbk,.lbk-card{position:relative}
.lbk-check{min-height:44px}
.lbk-chip{min-height:40px}
.lbk-clear,.lbk-clear2{min-height:44px;display:inline-flex;align-items:center}
.lbk-clear{padding:0 4px}
.lbk-crumbs a{display:inline-flex;align-items:center;min-height:32px}
@media (hover:none) and (min-width:901px){.lbk-add{transform:none;min-height:44px}}
@media (pointer:coarse){.lbk-chip{min-height:44px}.lbk-group summary{min-height:52px}}
@media (max-width:380px){
  .lbk-wrap{padding:0 14px}
  .lbk-grid{gap:22px 10px}
  .lbk-name{font-size:14.5px}
  .lbk-bar{flex-wrap:wrap}
  .lbk-title{font-size:38px}
  .lbk-sort select{padding:0 36px 0 10px;font-size:14px}
  .lbk-filterbtn{padding:0 12px}
}
@media (max-height:500px) and (orientation:landscape){.lbk-banner{min-height:200px}.lbk-side{width:min(360px,60vw)}}

.lbk-count{white-space:nowrap}
@media (min-width:1900px){.lbk-wrap{max-width:1720px}.lbk-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.lbk-banner{min-height:440px}}
@media (min-width:2400px){.lbk-wrap{max-width:2060px}.lbk-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.lbk-layout.has-side{grid-template-columns:320px minmax(0,1fr)}}

/* ---------- theme shield ---------- */
.lbk button,.lbk select,.lbk input{text-transform:none !important;letter-spacing:normal !important;font-family:inherit !important}
.lbk .lbk-chip{background:#fff !important;border:1px solid var(--maroon) !important;border-radius:0 !important;color:var(--maroon-deep) !important}
.lbk .lbk-chip:hover{background:var(--maroon) !important;color:#fff !important}
.lbk .lbk-filterbtn{background:#fff !important;border:1px solid var(--maroon-deep) !important;border-radius:0 !important;color:var(--maroon-deep) !important}
.lbk .lbk-morebtn,.lbk .lbk-clear2{background:#fff !important;border:1px solid var(--maroon-deep) !important;border-radius:0 !important;color:var(--maroon-deep) !important}
.lbk .lbk-morebtn:hover,.lbk .lbk-clear2:hover{background:var(--maroon-deep) !important;color:#fff !important}
.lbk .lbk-show{background:var(--maroon) !important;border:0 !important;border-radius:0 !important;color:#fff !important}
.lbk .lbk-clear{background:none !important;border:0 !important;color:var(--maroon-deep) !important}
.lbk a.lbk-add{text-transform:none !important;letter-spacing:normal !important;border-radius:0 !important}
.lbk .lbk-sort select{border-radius:0 !important}

/* ---------- banner: a bigger title, breadcrumbs now sit below the banner ---------- */
.lbk-banner{min-height:clamp(300px,32vw,560px)}
.lbk-bin{padding-top:clamp(48px,6vw,96px);padding-bottom:clamp(32px,4.4vw,72px)}
.lbk-title{font-size:clamp(64px,12.8vw,184px);line-height:1.02;padding-bottom:.14em;letter-spacing:-.045em;overflow-wrap:anywhere;text-wrap:balance}
.lbk-sub{font-size:clamp(16px,1.35vw,20px)}
.lbk-body .lbk-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0;padding:18px 0 0;font-size:14px;color:var(--soft);opacity:1;animation:none}
.lbk-body .lbk-crumbs a{color:var(--soft) !important;text-decoration:none}
.lbk-body .lbk-crumbs a:hover{color:var(--maroon) !important;text-decoration:underline}
.lbk-body .lbk-crumbs i{opacity:.55}
.lbk-body .lbk-crumbs span{color:var(--navy)}
.lbk-body{padding-top:0}
.lbk-body .lbk-bar{margin-top:6px}
@media (max-width:600px){.lbk-title{font-size:clamp(52px,16vw,84px)}.lbk-banner{min-height:300px}}
@media (max-width:380px){.lbk-title{font-size:clamp(46px,15.5vw,60px)}}

.lbk .lbk-showall{justify-self:start;min-height:44px;padding:0 2px;color:var(--maroon-deep) !important;background:none !important;border:0 !important;font-size:14px;font-weight:500;box-shadow:inset 0 -1px 0 currentColor;text-transform:none !important;letter-spacing:normal !important;width:auto}
.lbk-check[hidden]{display:none !important}
