:root{
  --egg:#f5f1e8;
  --paper:#fbf8f1;
  --paper-2:#ede5d8;
  --ink:#171311;
  --muted:#7d716a;
  --line:#d8cec2;
  --red:#971f2b;
  --red-dark:#761721;
  --red-deep:#4d0d14;
  --red-mid:#b5444d;
  --red-soft:#e8cdca;
  --red-wash:#f2dfdc;
  --red-faint:#f8ebe7;
  --rail:278px;
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--egg);color:var(--ink);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,a,input{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--red);outline-offset:2px}img{display:block;width:100%;height:100%;object-fit:cover}
.app-shell{min-height:100vh}
.category-rail{position:fixed;inset:0 auto 0 0;width:var(--rail);border-right:1px solid var(--line);background:rgba(245,241,232,.98);backdrop-filter:blur(14px);display:flex;flex-direction:column;z-index:30}
.brand-mark{height:86px;border:0;border-bottom:1px solid var(--red-dark);background:var(--red);color:var(--egg);display:flex;align-items:center;padding:0 24px;cursor:pointer;font:700 20px/1 Manrope;letter-spacing:-.04em;text-align:left}.brand-mark:hover{background:var(--red-dark)}
.rail-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 10px;font:600 9px Manrope;letter-spacing:.18em;color:var(--muted)}
.rail-close{display:none;border:0;background:none;font-size:24px;line-height:1;cursor:pointer}
.category-nav{overflow:auto;padding:2px 12px 22px;scrollbar-width:none;flex:1}.category-nav::-webkit-scrollbar{display:none}
.tree-node{margin:2px 0}.tree-row{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:7px;width:100%;min-height:42px;border-radius:12px;background:transparent;padding:0 9px;transition:.18s ease}.tree-row:hover{background:var(--red-faint)}
.tree-row.active{background:var(--red);color:var(--egg)}.tree-row.pending:not(.active){background:var(--red-wash);color:var(--red-deep);box-shadow:inset 0 0 0 1px var(--red-soft)}
.tree-toggle{width:20px;height:34px;border:0;background:transparent;display:grid;place-items:center;padding:0;cursor:pointer;color:inherit;font-size:13px}.tree-toggle.placeholder{opacity:.22;pointer-events:none}.tree-select{min-width:0;height:100%;border:0;background:transparent;display:flex;align-items:center;text-align:left;padding:0;cursor:pointer;color:inherit}.tree-label{font:600 11px/1.2 Manrope;letter-spacing:.015em;overflow:hidden;text-overflow:ellipsis}.tree-count{min-width:24px;height:20px;padding:0 6px;border:1px solid var(--line);border-radius:999px;display:grid;place-items:center;font:600 8px Manrope;color:var(--muted)}.tree-row.active .tree-count{color:var(--egg);border-color:rgba(255,255,255,.32)}
.tree-children{margin-left:16px;padding-left:9px;border-left:1px solid var(--line)}.tree-node.depth-1 .tree-label{font-weight:500;font-size:10px}.tree-node.depth-2 .tree-label{font-weight:500;font-size:9px;color:inherit}.tree-node.depth-2 .tree-row{min-height:34px}.tree-node.depth-1 .tree-row{min-height:37px}
.mobile-filter-actions{display:none}.rail-foot{margin-top:auto;border-top:1px solid var(--line);padding:15px 22px 17px;display:flex;justify-content:space-between;align-items:end}.rail-foot span{font:700 10px Manrope;letter-spacing:.16em}.rail-foot small{font:600 7px Manrope;color:var(--muted);letter-spacing:.13em}
.stage{margin-left:var(--rail);padding:0 42px 80px;max-width:1760px}
.selector-panel{padding:24px 0 30px;border-bottom:1px solid var(--line);position:relative;background:var(--egg);z-index:1}
.selector-dock{position:fixed;top:0;left:var(--rail);right:0;z-index:22;background:rgba(245,241,232,.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);box-shadow:0 10px 28px rgba(73,35,26,.08);transform:translateY(calc(-100% - 10px));opacity:0;pointer-events:none;transition:transform .3s cubic-bezier(.22,.72,.28,1),opacity .18s ease}
.selector-dock.show{transform:translateY(0);opacity:1;pointer-events:auto}
.selector-dock-inner{height:78px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:9px 42px;max-width:1760px}
.dock-label{font:700 7px/1.25 Manrope;letter-spacing:.14em;color:var(--red);max-width:88px}
.dock-product-strip{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;min-width:0;padding:1px}.dock-product-strip::-webkit-scrollbar{display:none}
.dock-card{flex:0 0 174px;height:58px;display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:1fr auto;column-gap:8px;align-items:center;border:1px solid var(--line);background:var(--paper);border-radius:13px;padding:4px;text-align:left;cursor:pointer;transition:border-color .16s,background .16s,transform .16s}
.dock-card:hover{border-color:var(--red);transform:translateY(-1px)}.dock-card.active{border-color:var(--red);box-shadow:0 0 0 1px var(--red) inset;background:var(--red-faint)}
.dock-thumb{grid-row:1/3;width:48px;height:48px;border-radius:9px;overflow:hidden;background:var(--paper-2)}
.dock-card strong{align-self:end;min-width:0;font:600 8px/1.25 Manrope;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock-card small{align-self:start;font:600 7px/1.2 Manrope;color:var(--red);margin-top:2px}
.dock-change{height:36px;border:1px solid var(--red);background:transparent;color:var(--red);border-radius:999px;padding:0 13px;cursor:pointer;font:700 7px Manrope;letter-spacing:.08em;white-space:nowrap}.dock-change:hover{background:var(--red);color:var(--egg)}
#selectedPanel,#looksSection,#comboPanel{scroll-margin-top:94px}
.selector-topline{display:flex;justify-content:space-between;align-items:center;gap:16px}.section-kicker{font:600 9px Manrope;letter-spacing:.17em;color:var(--red);margin-bottom:13px}.result-count{font:600 8px Manrope;letter-spacing:.14em;color:var(--muted);margin-bottom:13px}
.selector-controls{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:15px}.design-row{display:flex;align-items:center;gap:15px;min-height:34px;min-width:0}.design-label{font:600 8px Manrope;letter-spacing:.15em;color:var(--muted)}.design-filter{display:flex;gap:7px;overflow:auto;scrollbar-width:none}.design-filter::-webkit-scrollbar{display:none}.design-chip{white-space:nowrap;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 13px;font:600 9px Manrope;letter-spacing:.055em;text-transform:uppercase;cursor:pointer;transition:.16s}.design-chip:hover{border-color:var(--red)}.design-chip.active{background:var(--red);border-color:var(--red);color:var(--egg)}.design-chip:disabled{opacity:.32;cursor:not-allowed}
.article-search{width:min(310px,34vw);height:38px;border:1px solid var(--line);border-radius:999px;background:var(--paper);display:grid;grid-template-columns:19px 1fr 24px;align-items:center;gap:5px;padding:0 9px 0 12px;transition:.18s}.article-search:focus-within{border-color:var(--red);box-shadow:0 0 0 2px var(--red-wash)}.article-search svg{width:17px;height:17px;fill:none;stroke:var(--muted);stroke-width:1.7}.article-search input{min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:500 10px Manrope}.article-search input::placeholder{color:#9c9188}.article-search button{border:0;background:transparent;cursor:pointer;color:var(--muted);font-size:17px;line-height:1;padding:0;opacity:0;pointer-events:none}.article-search.has-value button{opacity:1;pointer-events:auto}

.product-strip-wrap{display:grid;grid-template-columns:42px 1fr 42px;gap:12px;align-items:center}.product-strip{display:flex;gap:12px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px;transition:max-height .28s ease}.product-strip::-webkit-scrollbar{display:none}.strip-arrow{height:42px;border:1px solid var(--line);border-radius:50%;background:var(--paper);cursor:pointer;font-size:18px;transition:.16s}.strip-arrow:hover{background:var(--red);color:var(--egg);border-color:var(--red)}
.product-card{flex:0 0 188px;scroll-snap-align:start;border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:8px;text-align:left;cursor:pointer;transition:.23s ease;position:relative}.product-card:hover{transform:translateY(-2px);border-color:var(--red)}.product-card.active{border-color:var(--red);box-shadow:0 0 0 2px var(--red) inset;background:linear-gradient(180deg,var(--paper),var(--red-faint))}.product-thumb{aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--paper-2);margin-bottom:10px}.product-card h3{font:600 11px/1.35 Manrope;margin:0 3px 5px;min-height:30px}.product-card .small-price{font-size:10px;color:var(--muted);margin:0 3px 2px}.product-card .badge{position:absolute;top:14px;left:14px;background:var(--red);color:var(--egg);border-radius:999px;font:600 8px Manrope;padding:5px 7px;letter-spacing:.08em}.product-design{position:absolute;right:14px;top:14px;background:rgba(251,248,241,.93);color:var(--red);border:1px solid rgba(151,31,43,.18);border-radius:999px;font:600 7px Manrope;padding:5px 7px;text-transform:uppercase;letter-spacing:.05em}

.empty-strip{width:100%;min-height:210px;border:1px dashed var(--line);border-radius:18px;display:grid;place-items:center;color:var(--muted);font:600 10px Manrope;letter-spacing:.06em;background:var(--paper)}
.selected-panel{display:grid;grid-template-columns:minmax(260px,400px) minmax(320px,1fr);gap:52px;align-items:center;padding:48px 0 54px;border-bottom:1px solid var(--line)}.hero-frame{aspect-ratio:4/5;background:var(--paper-2);border-radius:var(--radius);overflow:hidden;position:relative;border:1px solid rgba(151,31,43,.1)}.image-index{position:absolute;right:15px;bottom:15px;background:var(--red);color:var(--egg);padding:8px 10px;border-radius:99px;font:600 10px Manrope}.selected-copy h1{font:600 clamp(30px,3.5vw,56px)/1 Manrope;margin:0 0 20px;max-width:760px;letter-spacing:-.045em}.meta-line{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.meta-line span{border:1px solid var(--line);border-radius:999px;padding:7px 10px;font:500 8px Manrope;letter-spacing:.045em;text-transform:uppercase;background:var(--paper)}.price-row{display:flex;gap:12px;align-items:baseline;margin:8px 0 16px}.price-row strong{font:600 25px Manrope;color:var(--red)}.price-row del{color:var(--muted);font-size:13px}.selected-description{max-width:650px;color:#645b54;line-height:1.65;font-size:13px}.action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.btn{border:1px solid var(--red);padding:13px 17px;border-radius:999px;text-decoration:none;cursor:pointer;font:600 9px Manrope;letter-spacing:.07em;text-align:center}.btn-red{background:var(--red);color:var(--egg)}.btn-red:hover{background:var(--red-dark);border-color:var(--red-dark)}.btn-light{background:transparent;color:var(--red)}.btn-light:hover{background:var(--red-wash)}
.looks-section{padding:56px 0 64px;border-bottom:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px}.section-head h2{font:600 clamp(28px,3.5vw,54px)/1.02 Manrope;letter-spacing:-.045em;margin:0;max-width:800px}.legend{font:600 8px Manrope;letter-spacing:.1em;color:var(--muted);white-space:nowrap}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:6px}
.looks-viewport{overflow:visible}.looks-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.look-card{border:1px solid var(--line);border-radius:20px;background:var(--paper);padding:12px;transition:.2s ease;cursor:pointer;min-width:0}.look-card:hover,.look-card.active{border-color:var(--red);transform:translateY(-2px)}.look-card.active{box-shadow:0 0 0 1px var(--red) inset;background:linear-gradient(180deg,var(--paper),var(--red-faint))}
.look-collage{display:grid;gap:6px;aspect-ratio:1;background:var(--red-faint);border-radius:14px;overflow:hidden}.look-collage.count-4{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.look-collage.count-5{grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:repeat(2,1fr)}.look-collage.count-5 .tile:first-child{grid-row:1/3}.look-collage .tile{overflow:hidden;background:var(--paper-2);position:relative}.tile-label{position:absolute;left:7px;bottom:7px;background:rgba(245,241,232,.91);backdrop-filter:blur(5px);padding:5px 7px;border-radius:99px;font:600 6.5px Manrope;letter-spacing:.045em;text-transform:uppercase;max-width:88%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-kind{position:absolute;right:7px;top:7px;background:var(--red);color:var(--egg);padding:4px 6px;border-radius:99px;font:600 5.5px Manrope;letter-spacing:.07em}.tile-kind.reference{background:rgba(23,19,17,.72)}
.look-info{padding:12px 5px 4px}.look-topline{display:flex;justify-content:space-between;gap:10px;align-items:center}.look-topline h3{font:600 15px Manrope;margin:0}.score{font:600 8px Manrope;padding:6px 8px;border:1px solid var(--red-soft);color:var(--red);border-radius:99px;background:var(--red-wash)}.look-items{font-size:10px;color:var(--muted);line-height:1.55;margin-top:7px}.look-reference-copy{font:600 7px/1.5 Manrope;letter-spacing:.055em;color:#8a7770;margin-top:8px;text-transform:uppercase}.look-price{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:10px}.look-price strong{font:600 14px Manrope;color:var(--red)}.mobile-look-nav{display:none}
.combo-panel{padding:62px 0 15px;display:grid;grid-template-columns:1fr 420px;gap:50px;align-items:end}.combo-copy h2{font:600 clamp(38px,5vw,76px)/.95 Manrope;letter-spacing:-.05em;margin:0 0 18px}.combo-copy p{color:var(--muted);font-size:14px;line-height:1.7;max-width:700px}.reference-note{margin-top:24px;padding:14px 16px;border-left:3px solid var(--red);background:var(--red-faint);max-width:700px;display:grid;gap:5px}.reference-note strong{font:700 8px Manrope;letter-spacing:.12em;color:var(--red)}.reference-note span{font-size:11px;color:var(--muted);line-height:1.5}.combo-price{border:1px solid var(--red-soft);border-radius:22px;background:var(--red-wash);padding:22px}.cart-label{font:700 8px Manrope;letter-spacing:.13em;color:var(--red);margin-bottom:7px}.combo-total-line,.combo-discount-line{display:flex;justify-content:space-between;gap:20px;padding:10px 0;color:var(--muted);font-size:12px}.combo-discount-line{border-top:1px solid var(--red-soft)}.combo-discount-line strong{color:var(--red);font:700 10px Manrope;letter-spacing:.04em}.combo-total-line.primary{color:var(--ink);border-top:1px solid var(--red-soft);margin-top:2px;padding-top:17px}.combo-total-line.primary strong{font:600 25px Manrope;color:var(--red)}.saving-pill{display:inline-block;background:var(--red);color:var(--egg);border-radius:999px;padding:8px 10px;font:600 9px Manrope;margin:10px 0 17px}.btn-wide{display:block;width:100%;margin-bottom:12px}.combo-price small{display:block;color:var(--muted);line-height:1.5;font-size:9px}.toast{position:fixed;right:24px;bottom:24px;background:var(--red-deep);color:var(--egg);padding:12px 15px;border-radius:999px;font:500 11px Inter;opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s;z-index:100;max-width:min(520px,calc(100vw - 28px))}.toast.show{opacity:1;transform:none}
.mobile-filter-toggle,.rail-scrim{display:none}
@media (max-width:1120px){:root{--rail:230px}.looks-grid{grid-template-columns:repeat(2,1fr)}.selected-panel{gap:34px}.combo-panel{grid-template-columns:1fr 360px}.stage{padding-left:28px;padding-right:28px}.selector-controls{gap:12px}.article-search{width:250px}}
@media (max-width:780px){
  :root{--rail:min(86vw,320px)}
  .category-rail{transform:translateX(-102%);transition:.25s ease;box-shadow:12px 0 40px rgba(55,20,20,.16)}.category-rail.open{transform:none}.rail-close{display:block}.rail-scrim{display:block;position:fixed;inset:0;background:rgba(30,16,14,.38);backdrop-filter:blur(2px);z-index:25;opacity:0;pointer-events:none;transition:.2s}.rail-scrim.show{opacity:1;pointer-events:auto}
  .mobile-filter-toggle{display:flex;align-items:center;gap:8px;position:fixed;left:12px;bottom:12px;z-index:24;border:1px solid var(--red);background:var(--red);color:var(--egg);border-radius:999px;padding:11px 14px;font:600 8px Manrope;letter-spacing:.08em;box-shadow:0 6px 24px rgba(86,20,24,.22)}.mobile-filter-toggle strong{max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:7px;opacity:.76}
  .mobile-filter-actions{display:grid;grid-template-columns:90px 1fr;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:var(--egg);position:sticky;bottom:49px;z-index:2}.mobile-filter-actions button{height:39px;border-radius:999px;font:700 8px Manrope;letter-spacing:.08em;cursor:pointer}.filter-reset{border:1px solid var(--red);background:transparent;color:var(--red)}.filter-apply{border:1px solid var(--red);background:var(--red);color:var(--egg)}
  .stage{margin-left:0;padding:0 14px 72px}.selector-panel{padding:15px 0 17px}.selector-controls{display:block;margin-bottom:10px}.design-row{display:block;margin-bottom:9px}.design-label{display:block;margin-bottom:7px}.article-search{width:100%;height:38px}.product-strip-wrap{grid-template-columns:1fr}.strip-arrow{display:none}.product-card{flex-basis:148px}
  .selector-dock{left:0}.selector-dock-inner{height:68px;grid-template-columns:minmax(0,1fr) 38px;gap:8px;padding:7px 10px}.dock-label{display:none}.dock-product-strip{gap:6px;scroll-snap-type:x proximity}.dock-card{flex-basis:138px;height:54px;grid-template-columns:44px minmax(0,1fr);column-gap:6px;padding:4px;scroll-snap-align:start}.dock-thumb{width:44px;height:44px;border-radius:8px}.dock-card strong{font-size:7.2px}.dock-card small{font-size:6.5px}.dock-change{width:38px;height:38px;padding:0;border-radius:50%;font-size:0}.dock-change::after{content:'↑';font:700 16px Manrope}.selector-dock.show + .selected-panel{}
  #selectedPanel,#looksSection,#comboPanel{scroll-margin-top:82px}
  .selected-panel{grid-template-columns:104px minmax(0,1fr);gap:14px;padding:24px 0 28px;align-items:start}.hero-frame{border-radius:17px}.selected-copy h1{font-size:26px;margin-bottom:12px}.selected-copy .section-kicker{font-size:7px;margin-bottom:8px}.meta-line{gap:5px;margin-bottom:10px}.meta-line span{font-size:6.5px;padding:5px 7px}.price-row{margin:4px 0 9px}.price-row strong{font-size:20px}.selected-description{font-size:10px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.action-row{grid-column:1/-1;margin-top:14px}.action-row .btn{padding:10px 12px;font-size:7px}.image-index{font-size:7px;padding:6px 7px;right:8px;bottom:8px}
  .looks-section{padding:38px 0 46px}.section-head{display:block;margin-bottom:16px}.section-head h2{font-size:31px}.legend{margin-top:11px}.looks-viewport{overflow:hidden;border-radius:20px}.looks-grid{display:flex;gap:0;transition:transform .34s cubic-bezier(.22,.72,.28,1);will-change:transform}.look-card{flex:0 0 100%;border-radius:20px;margin:0;transform:none!important}.look-card:hover{transform:none}.look-collage{aspect-ratio:1.12/1}.look-info{padding-bottom:8px}.mobile-look-nav{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:10px;margin:0 0 12px}.mobile-look-nav>button{height:36px;border:1px solid var(--line);border-radius:50%;background:var(--paper);cursor:pointer}.look-dots{display:flex;justify-content:center;gap:6px}.look-dot{width:7px;height:7px;border-radius:50%;border:0;background:#cbbeb5;padding:0;cursor:pointer;transition:.2s}.look-dot.active{width:24px;border-radius:999px;background:var(--red)}
  .combo-panel{grid-template-columns:1fr;gap:24px;padding-top:42px}.combo-price{padding:18px}.toast{right:14px;bottom:66px;left:14px;text-align:center}
}
@media (max-width:430px){.selected-panel{grid-template-columns:90px minmax(0,1fr)}.selected-copy h1{font-size:23px}.section-head h2{font-size:28px}.look-collage.count-5{grid-template-columns:1.2fr 1fr 1fr}.tile-label{font-size:5.8px}}

/* V5 live-catalog states */
.product-card .product-design{max-width:74px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.result-count{white-space:nowrap}
@media (max-width:780px){.result-count{font-size:7px}}


/* V7 — live sizes, variable 4–7 piece collages, secure cart bridge */
.base-size-block{margin:4px 0 18px;max-width:650px}.size-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:8px}.size-heading span{font:700 8px Manrope;letter-spacing:.12em;color:var(--ink)}.size-heading small{font:600 7px Manrope;letter-spacing:.09em;color:var(--red)}.size-options{display:flex;flex-wrap:wrap;gap:7px}.size-chip{min-width:52px;min-height:38px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:var(--paper);cursor:pointer;display:grid;place-items:center;gap:1px;transition:.16s}.size-chip strong{font:700 9px Manrope}.size-chip small{font:600 6px Manrope;color:var(--red);text-transform:uppercase}.size-chip:hover:not(:disabled){border-color:var(--red);background:var(--red-faint)}.size-chip.active{background:var(--red);border-color:var(--red);color:var(--egg)}.size-chip.active small{color:var(--egg);opacity:.78}.size-chip:disabled{opacity:.32;cursor:not-allowed;text-decoration:line-through}

.look-collage.count-6{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}
.look-collage.count-7{grid-template-columns:1.2fr repeat(3,1fr);grid-template-rows:repeat(2,1fr)}
.look-collage.count-7 .tile:first-child{grid-row:1/3}

.combo-items{display:grid;gap:8px;margin:8px 0 18px}.combo-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:9px;align-items:center;background:rgba(251,248,241,.72);border:1px solid var(--red-soft);border-radius:13px;padding:7px}.combo-item-thumb{width:48px;height:54px;border-radius:9px;overflow:hidden;background:var(--paper-2)}.combo-item-copy{min-width:0;display:grid;gap:3px}.combo-item-copy strong{font:600 8px/1.25 Manrope;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combo-item-copy small{font:600 7px Manrope;color:var(--muted)}.combo-size{display:grid;gap:3px;justify-items:end}.combo-size>span{font:700 6px Manrope;letter-spacing:.1em;color:var(--red)}.combo-size select{max-width:118px;height:31px;border:1px solid var(--line);border-radius:999px;background:var(--paper);padding:0 26px 0 10px;color:var(--ink);font:700 8px Manrope;cursor:pointer}.combo-size.missing{font:600 6px/1.25 Manrope;color:var(--red);max-width:95px;text-align:right}.cart-value-label{padding-top:12px;border-top:1px solid var(--red-soft)}

@media (max-width:780px){
  .base-size-block{grid-column:1/-1;margin:4px 0 8px}.size-heading{margin-bottom:6px}.size-options{gap:5px}.size-chip{min-width:45px;min-height:34px;padding:5px 8px}.size-chip strong{font-size:8px}.size-chip small{font-size:5.5px}
  .look-collage.count-6{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}
  .look-collage.count-7{grid-template-columns:1.15fr repeat(3,1fr);grid-template-rows:repeat(2,1fr)}
  .combo-item{grid-template-columns:42px minmax(0,1fr) auto;padding:6px;gap:7px}.combo-item-thumb{width:42px;height:48px}.combo-size select{max-width:108px;height:29px;font-size:7px}.combo-item-copy strong{font-size:7.5px}
}
@media (max-width:430px){
  .look-collage.count-6,.look-collage.count-7{gap:4px}.tile-kind{font-size:4.8px}.tile-label{font-size:5px;padding:4px 5px}
  .combo-item{grid-template-columns:38px minmax(0,1fr) 92px}.combo-item-thumb{width:38px;height:44px}.combo-size select{width:92px;max-width:92px}
}

/* V8 — editorial outfit collage */
.look-card{
  padding:10px;
  border-radius:24px;
  background:rgba(251,248,241,.92);
  box-shadow:0 12px 34px rgba(74,32,28,.045);
}
.look-card.active{
  box-shadow:0 0 0 1px var(--red) inset,0 18px 44px rgba(103,26,34,.10);
}
.look-collage{
  position:relative;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:repeat(10,minmax(0,1fr));
  gap:7px;
  aspect-ratio:1.22/1;
  padding:7px;
  background:linear-gradient(145deg,#efe6da 0%,#f7efe5 52%,#eadbd5 100%);
  border:1px solid rgba(151,31,43,.10);
  border-radius:18px;
  overflow:hidden;
}
.look-collage::before{
  content:'';
  position:absolute;
  width:42%;
  aspect-ratio:1;
  right:-11%;
  top:-22%;
  border-radius:50%;
  background:rgba(151,31,43,.055);
  filter:blur(2px);
  pointer-events:none;
}
.look-collage .tile{
  position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
  border-radius:12px;
  background:#eee5d8;
  isolation:isolate;
  box-shadow:0 2px 10px rgba(58,29,24,.055);
}
.look-collage .tile-dili{
  background:#f1e8da;
  box-shadow:0 5px 18px rgba(76,28,27,.085);
}
.tile-image-wrap{position:absolute;inset:0;background:#eee6da}
.look-collage .tile img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.22,.72,.28,1)}
.look-card:hover .tile img{transform:scale(1.018)}
.tile-vignette{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(28,17,14,.15) 100%);pointer-events:none}
.look-collage .tile-dili::after{
  content:'';
  position:absolute;
  inset:0;
  border:1px solid rgba(151,31,43,.22);
  border-radius:inherit;
  pointer-events:none;
  z-index:3;
}
.tile-label{
  z-index:4;
  left:8px;
  right:8px;
  bottom:8px;
  max-width:calc(100% - 16px);
  width:max-content;
  padding:6px 8px;
  background:rgba(250,246,238,.90);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 3px 12px rgba(28,17,14,.06);
  backdrop-filter:blur(9px);
  font-size:6.7px;
}
.tile-kind{z-index:4;right:8px;top:8px;box-shadow:0 3px 12px rgba(74,24,27,.10)}

/* 4-piece editorial composition */
.look-collage.count-4 .tile-pos-1{grid-column:1/8;grid-row:1/11}
.look-collage.count-4 .tile-pos-2{grid-column:8/13;grid-row:1/6}
.look-collage.count-4 .tile-pos-3{grid-column:8/10;grid-row:6/11}
.look-collage.count-4 .tile-pos-4{grid-column:10/13;grid-row:6/11}

/* 5-piece editorial composition */
.look-collage.count-5 .tile-pos-1{grid-column:1/8;grid-row:1/11}
.look-collage.count-5 .tile-pos-2{grid-column:8/13;grid-row:1/6}
.look-collage.count-5 .tile-pos-3{grid-column:8/10;grid-row:6/11}
.look-collage.count-5 .tile-pos-4{grid-column:10/13;grid-row:6/9}
.look-collage.count-5 .tile-pos-5{grid-column:10/13;grid-row:9/11}

/* 6-piece editorial composition */
.look-collage.count-6 .tile-pos-1{grid-column:1/7;grid-row:1/11}
.look-collage.count-6 .tile-pos-2{grid-column:7/13;grid-row:1/5}
.look-collage.count-6 .tile-pos-3{grid-column:7/10;grid-row:5/8}
.look-collage.count-6 .tile-pos-4{grid-column:10/13;grid-row:5/8}
.look-collage.count-6 .tile-pos-5{grid-column:7/10;grid-row:8/11}
.look-collage.count-6 .tile-pos-6{grid-column:10/13;grid-row:8/11}

/* 7-piece editorial composition */
.look-collage.count-7 .tile-pos-1{grid-column:1/7;grid-row:1/11}
.look-collage.count-7 .tile-pos-2{grid-column:7/13;grid-row:1/5}
.look-collage.count-7 .tile-pos-3{grid-column:7/9;grid-row:5/8}
.look-collage.count-7 .tile-pos-4{grid-column:9/11;grid-row:5/8}
.look-collage.count-7 .tile-pos-5{grid-column:11/13;grid-row:5/8}
.look-collage.count-7 .tile-pos-6{grid-column:7/10;grid-row:8/11}
.look-collage.count-7 .tile-pos-7{grid-column:10/13;grid-row:8/11}

/* Two or more real DILi articles get premium visual priority. */
.look-collage.dili-count-2.count-4 .tile-pos-1{grid-column:1/7;grid-row:1/11}
.look-collage.dili-count-2.count-4 .tile-pos-2{grid-column:7/13;grid-row:1/6}
.look-collage.dili-count-2.count-4 .tile-pos-3{grid-column:7/10;grid-row:6/11}
.look-collage.dili-count-2.count-4 .tile-pos-4{grid-column:10/13;grid-row:6/11}

.look-collage.dili-count-2.count-5 .tile-pos-1{grid-column:1/7;grid-row:1/11}
.look-collage.dili-count-2.count-5 .tile-pos-2{grid-column:7/13;grid-row:1/6}
.look-collage.dili-count-2.count-5 .tile-pos-3{grid-column:7/9;grid-row:6/11}
.look-collage.dili-count-2.count-5 .tile-pos-4{grid-column:9/11;grid-row:6/11}
.look-collage.dili-count-2.count-5 .tile-pos-5{grid-column:11/13;grid-row:6/11}

/* Outerwear looks can contain three real DILi articles. Keep all three prominent
   while distributing reference accessories beneath them without overlap. */
.look-collage.dili-count-3.count-4 .tile-pos-1{grid-column:1/7;grid-row:1/11}
.look-collage.dili-count-3.count-4 .tile-pos-2{grid-column:7/13;grid-row:1/5}
.look-collage.dili-count-3.count-4 .tile-pos-3{grid-column:7/13;grid-row:5/8}
.look-collage.dili-count-3.count-4 .tile-pos-4{grid-column:7/13;grid-row:8/11}

.look-collage.dili-count-3.count-5 .tile-pos-1{grid-column:1/7;grid-row:1/11}
.look-collage.dili-count-3.count-5 .tile-pos-2{grid-column:7/13;grid-row:1/5}
.look-collage.dili-count-3.count-5 .tile-pos-3{grid-column:7/13;grid-row:5/8}
.look-collage.dili-count-3.count-5 .tile-pos-4{grid-column:7/10;grid-row:8/11}
.look-collage.dili-count-3.count-5 .tile-pos-5{grid-column:10/13;grid-row:8/11}

.look-collage.dili-count-3.count-6 .tile-pos-1{grid-column:1/7;grid-row:1/11}
.look-collage.dili-count-3.count-6 .tile-pos-2{grid-column:7/13;grid-row:1/4}
.look-collage.dili-count-3.count-6 .tile-pos-3{grid-column:7/13;grid-row:4/7}
.look-collage.dili-count-3.count-6 .tile-pos-4{grid-column:7/9;grid-row:7/11}
.look-collage.dili-count-3.count-6 .tile-pos-5{grid-column:9/11;grid-row:7/11}
.look-collage.dili-count-3.count-6 .tile-pos-6{grid-column:11/13;grid-row:7/11}

.look-collage.dili-count-3.count-7 .tile-pos-1{grid-column:1/7;grid-row:1/11}
.look-collage.dili-count-3.count-7 .tile-pos-2{grid-column:7/13;grid-row:1/4}
.look-collage.dili-count-3.count-7 .tile-pos-3{grid-column:7/13;grid-row:4/7}
.look-collage.dili-count-3.count-7 .tile-pos-4{grid-column:7/10;grid-row:7/9}
.look-collage.dili-count-3.count-7 .tile-pos-5{grid-column:10/13;grid-row:7/9}
.look-collage.dili-count-3.count-7 .tile-pos-6{grid-column:7/10;grid-row:9/11}
.look-collage.dili-count-3.count-7 .tile-pos-7{grid-column:10/13;grid-row:9/11}

@media (max-width:780px){
  .look-card{padding:8px;border-radius:21px}
  .look-collage{
    aspect-ratio:.94/1;
    gap:5px;
    padding:5px;
    border-radius:16px;
  }
  .look-collage .tile{border-radius:10px}
  .tile-label{left:6px;right:6px;bottom:6px;max-width:calc(100% - 12px);font-size:5.7px;padding:5px 6px}
  .tile-kind{right:6px;top:6px;font-size:5px;padding:4px 5px}
}

/* V10 — adaptive editorial collage: exact piece count, no blank cells */
.look-card{
  overflow:hidden;
  border:1px solid rgba(127,22,34,.16);
  background:linear-gradient(180deg,#fbf7ef 0%,#f8efe8 100%);
  box-shadow:0 16px 40px rgba(80,26,28,.06);
}
.look-card:hover{
  box-shadow:0 20px 48px rgba(80,26,28,.11);
}
.look-collage{
  grid-template-columns:repeat(16,minmax(0,1fr));
  grid-template-rows:repeat(12,minmax(0,1fr));
  aspect-ratio:1.34/1;
  gap:8px;
  padding:9px;
  background:
    radial-gradient(circle at 89% 5%,rgba(164,33,45,.13),transparent 22%),
    linear-gradient(138deg,#efe5d8 0%,#fbf6ed 46%,#ead8d2 100%);
  border:1px solid rgba(151,31,43,.14);
  border-radius:20px;
}
.look-collage::after{
  content:'THE OUTFIT EDIT';
  position:absolute;
  left:14px;
  top:14px;
  z-index:7;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(127,22,34,.92);
  color:#fff8ef;
  font:700 5.6px Manrope,sans-serif;
  letter-spacing:.14em;
  pointer-events:none;
}
.look-collage .tile{
  border-radius:14px;
  background:#f4ede2;
  box-shadow:0 5px 18px rgba(62,24,22,.08);
  transition:transform .28s ease,box-shadow .28s ease;
}
.look-card:hover .tile{box-shadow:0 8px 24px rgba(62,24,22,.11)}
.look-collage .tile-pos-1{
  box-shadow:0 10px 28px rgba(75,22,25,.13);
}
.tile-image-wrap{
  background:linear-gradient(150deg,#f7f2e9,#eadfd2);
}
.look-collage .tile img{
  display:block;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center center;
}
/* Items whose silhouette matters must stay fully visible. */
.look-collage .tile-role-bottom img,
.look-collage .tile-role-footwear img,
.look-collage .tile-role-headwear img,
.look-collage .tile-role-jewelry img,
.look-collage .tile-role-accessory img,
.look-collage .tile-role-bag img{
  object-fit:contain;
  padding:5%;
}
.look-collage .tile-role-bottom .tile-image-wrap,
.look-collage .tile-role-footwear .tile-image-wrap,
.look-collage .tile-role-headwear .tile-image-wrap,
.look-collage .tile-role-jewelry .tile-image-wrap,
.look-collage .tile-role-accessory .tile-image-wrap,
.look-collage .tile-role-bag .tile-image-wrap{
  background:linear-gradient(145deg,#faf5ec 0%,#eee3d5 100%);
}
.tile-vignette{
  background:linear-gradient(180deg,rgba(36,17,16,0) 56%,rgba(36,17,16,.22) 100%);
}
.tile-seq{
  position:absolute;
  z-index:5;
  top:8px;
  left:8px;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(252,247,238,.92);
  border:1px solid rgba(127,22,34,.15);
  color:var(--red);
  font:800 6px Manrope,sans-serif;
  letter-spacing:.06em;
  backdrop-filter:blur(8px);
}
.tile-kind{
  right:8px;top:8px;
  font-size:5.2px;
  padding:5px 7px;
  letter-spacing:.09em;
}
.tile-label{
  left:9px;bottom:9px;
  padding:6px 9px;
  font-size:6px;
  max-width:calc(100% - 18px);
  border:1px solid rgba(127,22,34,.08);
}

/* 3 pieces — hero + two substantial supporting choices. */
.look-collage.count-3 .tile-pos-1{grid-column:1/10 !important;grid-row:1/13 !important}
.look-collage.count-3 .tile-pos-2{grid-column:10/17 !important;grid-row:1/7 !important}
.look-collage.count-3 .tile-pos-3{grid-column:10/17 !important;grid-row:7/13 !important}

/* 4 pieces — no slivers; every support tile stays useful. */
.look-collage.count-4 .tile-pos-1{grid-column:1/10 !important;grid-row:1/13 !important}
.look-collage.count-4 .tile-pos-2{grid-column:10/17 !important;grid-row:1/7 !important}
.look-collage.count-4 .tile-pos-3{grid-column:10/13 !important;grid-row:7/13 !important}
.look-collage.count-4 .tile-pos-4{grid-column:13/17 !important;grid-row:7/13 !important}

/* 5 pieces — second garment remains large, accessories form a lower rhythm. */
.look-collage.count-5 .tile-pos-1{grid-column:1/9 !important;grid-row:1/13 !important}
.look-collage.count-5 .tile-pos-2{grid-column:9/17 !important;grid-row:1/7 !important}
.look-collage.count-5 .tile-pos-3{grid-column:9/13 !important;grid-row:7/13 !important}
.look-collage.count-5 .tile-pos-4{grid-column:13/17 !important;grid-row:7/10 !important}
.look-collage.count-5 .tile-pos-5{grid-column:13/17 !important;grid-row:10/13 !important}

/* 6 pieces */
.look-collage.count-6 .tile-pos-1{grid-column:1/9 !important;grid-row:1/13 !important}
.look-collage.count-6 .tile-pos-2{grid-column:9/17 !important;grid-row:1/6 !important}
.look-collage.count-6 .tile-pos-3{grid-column:9/13 !important;grid-row:6/10 !important}
.look-collage.count-6 .tile-pos-4{grid-column:13/17 !important;grid-row:6/10 !important}
.look-collage.count-6 .tile-pos-5{grid-column:9/13 !important;grid-row:10/13 !important}
.look-collage.count-6 .tile-pos-6{grid-column:13/17 !important;grid-row:10/13 !important}

/* 7 pieces — small areas are reserved for genuine accessories only. */
.look-collage.count-7 .tile-pos-1{grid-column:1/9 !important;grid-row:1/13 !important}
.look-collage.count-7 .tile-pos-2{grid-column:9/17 !important;grid-row:1/5 !important}
.look-collage.count-7 .tile-pos-3{grid-column:9/13 !important;grid-row:5/9 !important}
.look-collage.count-7 .tile-pos-4{grid-column:13/17 !important;grid-row:5/9 !important}
.look-collage.count-7 .tile-pos-5{grid-column:9/12 !important;grid-row:9/13 !important}
.look-collage.count-7 .tile-pos-6{grid-column:12/14 !important;grid-row:9/13 !important}
.look-collage.count-7 .tile-pos-7{grid-column:14/17 !important;grid-row:9/13 !important}

/* If a second/third saleable garment exists, the order created in app.js puts
   it before references, so it automatically receives the larger tile slots. */
.look-collage.dili-count-2 .tile-pos-2,
.look-collage.dili-count-3 .tile-pos-2,
.look-collage.dili-count-3 .tile-pos-3{box-shadow:0 8px 24px rgba(75,22,25,.11)}

@media (max-width:780px){
  .look-collage{
    aspect-ratio:.88/1;
    grid-template-columns:repeat(12,minmax(0,1fr));
    grid-template-rows:repeat(14,minmax(0,1fr));
    gap:5px;
    padding:6px;
  }
  .look-collage::after{left:10px;top:10px;font-size:5px;padding:4px 7px}
  .tile-seq{width:20px;height:20px;top:6px;left:6px;font-size:5.2px}
  .tile-kind{right:6px;top:6px;font-size:4.5px;padding:4px 5px}
  .tile-label{left:6px;bottom:6px;padding:5px 6px;font-size:5.2px;max-width:calc(100% - 12px)}

  .look-collage.count-3 .tile-pos-1{grid-column:1/13 !important;grid-row:1/9 !important}
  .look-collage.count-3 .tile-pos-2{grid-column:1/7 !important;grid-row:9/15 !important}
  .look-collage.count-3 .tile-pos-3{grid-column:7/13 !important;grid-row:9/15 !important}

  .look-collage.count-4 .tile-pos-1{grid-column:1/13 !important;grid-row:1/8 !important}
  .look-collage.count-4 .tile-pos-2{grid-column:1/7 !important;grid-row:8/12 !important}
  .look-collage.count-4 .tile-pos-3{grid-column:7/13 !important;grid-row:8/12 !important}
  .look-collage.count-4 .tile-pos-4{grid-column:1/13 !important;grid-row:12/15 !important}

  .look-collage.count-5 .tile-pos-1{grid-column:1/13 !important;grid-row:1/7 !important}
  .look-collage.count-5 .tile-pos-2{grid-column:1/7 !important;grid-row:7/11 !important}
  .look-collage.count-5 .tile-pos-3{grid-column:7/13 !important;grid-row:7/11 !important}
  .look-collage.count-5 .tile-pos-4{grid-column:1/7 !important;grid-row:11/15 !important}
  .look-collage.count-5 .tile-pos-5{grid-column:7/13 !important;grid-row:11/15 !important}

  .look-collage.count-6 .tile-pos-1{grid-column:1/13 !important;grid-row:1/7 !important}
  .look-collage.count-6 .tile-pos-2{grid-column:1/7 !important;grid-row:7/11 !important}
  .look-collage.count-6 .tile-pos-3{grid-column:7/13 !important;grid-row:7/11 !important}
  .look-collage.count-6 .tile-pos-4{grid-column:1/5 !important;grid-row:11/15 !important}
  .look-collage.count-6 .tile-pos-5{grid-column:5/9 !important;grid-row:11/15 !important}
  .look-collage.count-6 .tile-pos-6{grid-column:9/13 !important;grid-row:11/15 !important}

  .look-collage.count-7 .tile-pos-1{grid-column:1/13 !important;grid-row:1/7 !important}
  .look-collage.count-7 .tile-pos-2{grid-column:1/7 !important;grid-row:7/11 !important}
  .look-collage.count-7 .tile-pos-3{grid-column:7/13 !important;grid-row:7/11 !important}
  .look-collage.count-7 .tile-pos-4{grid-column:1/4 !important;grid-row:11/15 !important}
  .look-collage.count-7 .tile-pos-5{grid-column:4/7 !important;grid-row:11/15 !important}
  .look-collage.count-7 .tile-pos-6{grid-column:7/10 !important;grid-row:11/15 !important}
  .look-collage.count-7 .tile-pos-7{grid-column:10/13 !important;grid-row:11/15 !important}
}

/* V10 STRICT-LIBRARY EMPTY STATE */
.empty-strip{
  min-height:220px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  gap:10px;padding:32px 36px;border:1px solid rgba(158,29,39,.22);border-radius:24px;
  background:linear-gradient(135deg,rgba(158,29,39,.055),rgba(255,255,255,.18));
  color:#1a1715;max-width:760px;box-sizing:border-box
}
.empty-strip strong{font-size:20px;letter-spacing:-.02em;color:#9e1d27}
.empty-strip span{max-width:610px;font-size:13px;line-height:1.65;color:#6d625a}


/* V11 — professional empty state + soft look palettes */
body.no-looks #comboPanel{display:none!important}
.empty-strip{padding:26px 28px;border:1px solid rgba(127,22,34,.12);border-radius:24px;background:linear-gradient(180deg,#fdfaf4 0%,#f7efe8 100%);max-width:480px;display:grid;gap:10px;color:#5a4d46;box-shadow:0 8px 24px rgba(74,32,28,.04)}
.empty-strip strong{font:700 14px/1.3 Manrope,sans-serif;color:#8d2a33;letter-spacing:.01em}
.empty-strip span{font:500 13px/1.65 Manrope,sans-serif}
.look-card.palette-sand{background:linear-gradient(180deg,#fbf7ef 0%,#f4eadf 100%);border-color:rgba(166,123,78,.22)}
.look-card.palette-sage{background:linear-gradient(180deg,#f8f7f0 0%,#edf1e6 100%);border-color:rgba(118,138,114,.24)}
.look-card.palette-sky{background:linear-gradient(180deg,#f8fafc 0%,#edf3f8 100%);border-color:rgba(103,126,150,.24)}
.look-card.palette-slate{background:linear-gradient(180deg,#faf9f8 0%,#eef1f2 100%);border-color:rgba(122,129,136,.24)}
.look-card.palette-cream{background:linear-gradient(180deg,#fffaf1 0%,#f6efdf 100%);border-color:rgba(173,145,100,.22)}
.look-card.palette-mocha{background:linear-gradient(180deg,#fbf8f5 0%,#efe6e0 100%);border-color:rgba(146,118,101,.22)}
.look-card.priority-shop{box-shadow:0 16px 42px rgba(46,58,32,.08)}
.look-card.priority-shop .look-topline h3::after{content:' • SHOP LOOK';color:#65785f;font-weight:700;font-size:10px;letter-spacing:.08em}
.look-card.priority-shop.active{box-shadow:0 0 0 1px rgba(102,121,95,.44) inset,0 18px 46px rgba(69,93,63,.12);border-color:rgba(102,121,95,.44)}
.look-card.priority-shop .look-collage{border-color:rgba(102,121,95,.22)}
.look-card.palette-sage .look-collage{background:radial-gradient(circle at 89% 5%,rgba(92,116,87,.11),transparent 22%),linear-gradient(138deg,#eef0e6 0%,#faf8f1 46%,#e6ebdf 100%)}
.look-card.palette-sky .look-collage{background:radial-gradient(circle at 89% 5%,rgba(111,137,158,.10),transparent 22%),linear-gradient(138deg,#eaf0f5 0%,#faf9f2 46%,#e3ecf4 100%)}
.look-card.palette-slate .look-collage{background:radial-gradient(circle at 89% 5%,rgba(112,121,130,.10),transparent 22%),linear-gradient(138deg,#eceff1 0%,#faf8f3 46%,#e4e8eb 100%)}
.look-card.palette-cream .look-collage{background:radial-gradient(circle at 89% 5%,rgba(185,154,99,.11),transparent 22%),linear-gradient(138deg,#f4eddc 0%,#fbf8f0 46%,#efe4c7 100%)}
.look-card.palette-mocha .look-collage{background:radial-gradient(circle at 89% 5%,rgba(132,107,91,.10),transparent 22%),linear-gradient(138deg,#efe7e1 0%,#fbf8f1 46%,#e6dbd4 100%)}
.look-card.palette-sand .look-collage{background:radial-gradient(circle at 89% 5%,rgba(166,123,78,.10),transparent 22%),linear-gradient(138deg,#efe5d8 0%,#fbf6ed 46%,#ead8d2 100%)}

/* =========================
   V14 FINAL EXPERIENCE
   ========================= */

/* Fast, intentional startup overlay */
.loading-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:rgba(245,241,232,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:opacity .35s ease,visibility .35s ease}
.loading-overlay.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.loading-card{min-width:230px;display:grid;justify-items:center;gap:10px;padding:24px 28px;border:1px solid rgba(23,19,17,.09);border-radius:24px;background:rgba(251,248,241,.88);box-shadow:0 20px 60px rgba(53,42,33,.10)}
.loading-card strong{font:700 12px/1.2 Manrope;letter-spacing:.02em}.loading-card>span{font:500 9px/1.4 Inter;color:var(--muted)}
.outfit-loader{position:relative;width:58px;height:82px;margin:2px 0 5px;filter:drop-shadow(0 8px 12px rgba(49,39,31,.12))}
.loader-head{position:absolute;left:23px;top:1px;width:13px;height:13px;border-radius:50%;background:#d5b59b}
.loader-shirt{position:absolute;left:9px;top:16px;width:41px;height:34px;border-radius:6px 6px 9px 9px;background:#d8c08c;clip-path:polygon(18% 0,35% 0,42% 12%,58% 12%,65% 0,82% 0,100% 24%,82% 36%,78% 100%,22% 100%,18% 36%,0 24%);animation:shirtSwitch 2.4s steps(1,end) infinite}
.loader-trouser{position:absolute;left:16px;top:49px;width:27px;height:27px;background:#303438;clip-path:polygon(0 0,100% 0,88% 100%,55% 100%,50% 38%,45% 100%,12% 100%);animation:trouserSwitch 2.4s steps(1,end) infinite}
.loader-shoe{position:absolute;top:76px;width:16px;height:5px;border-radius:8px 3px 3px 8px;background:#f5f2ea;border:1px solid rgba(30,28,27,.15)}.loader-shoe-left{left:11px}.loader-shoe-right{right:11px;transform:scaleX(-1)}
@keyframes shirtSwitch{0%,24%{background:#d8c08c}25%,49%{background:#1e2328}50%,74%{background:#486d8c}75%,100%{background:#707a58}}
@keyframes trouserSwitch{0%,24%{background:#33383e}25%,49%{background:#c6ad80}50%,74%{background:#314b67}75%,100%{background:#5e544b}}

/* The collage is the recommendation, not a hero image with tiny leftovers. */
.look-card{position:relative;overflow:visible!important;border:1px solid rgba(55,48,42,.12)!important;background:#faf7f0!important;box-shadow:0 14px 38px rgba(59,49,41,.055)!important;isolation:isolate}
.look-card .look-info{position:relative;z-index:3}
.look-collage{position:relative;z-index:2;display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;grid-template-rows:repeat(12,minmax(0,1fr))!important;gap:8px!important;padding:9px!important;aspect-ratio:1.28/1!important;border:0!important;border-radius:18px!important;background:linear-gradient(145deg,#f2ede4,#fbf8f1)!important}
.look-collage::before,.look-collage::after{content:none!important}
.look-collage .tile{min-width:0;min-height:0;border-radius:13px!important;overflow:hidden;background:#f4efe7!important;box-shadow:0 4px 16px rgba(50,42,35,.07)!important}
.look-collage .tile-dili{box-shadow:0 7px 22px rgba(50,42,35,.10)!important}
.look-collage .tile-dili::after{border-color:rgba(58,51,45,.11)!important}
.look-collage .tile img{transform:none!important}
.look-card:hover .tile img{transform:scale(1.01)!important}
.look-collage .tile-reference img{object-fit:contain!important;padding:5%!important}
.look-collage .tile-reference .tile-image-wrap{background:linear-gradient(145deg,#fbf8f1,#eee8de)!important}

/* Exact piece count: no empty cells, no fake minimum. */
.look-collage.count-2 .tile-pos-1{grid-column:1/7!important;grid-row:1/13!important}.look-collage.count-2 .tile-pos-2{grid-column:7/13!important;grid-row:1/13!important}
.look-collage.count-3 .tile-pos-1{grid-column:1/7!important;grid-row:1/13!important}.look-collage.count-3 .tile-pos-2{grid-column:7/13!important;grid-row:1/7!important}.look-collage.count-3 .tile-pos-3{grid-column:7/13!important;grid-row:7/13!important}
.look-collage.count-4 .tile-pos-1{grid-column:1/7!important;grid-row:1/13!important}.look-collage.count-4 .tile-pos-2{grid-column:7/13!important;grid-row:1/7!important}.look-collage.count-4 .tile-pos-3{grid-column:7/10!important;grid-row:7/13!important}.look-collage.count-4 .tile-pos-4{grid-column:10/13!important;grid-row:7/13!important}
.look-collage.count-5 .tile-pos-1{grid-column:1/7!important;grid-row:1/9!important}.look-collage.count-5 .tile-pos-2{grid-column:7/13!important;grid-row:1/7!important}.look-collage.count-5 .tile-pos-3{grid-column:1/4!important;grid-row:9/13!important}.look-collage.count-5 .tile-pos-4{grid-column:4/7!important;grid-row:9/13!important}.look-collage.count-5 .tile-pos-5{grid-column:7/13!important;grid-row:7/13!important}
.look-collage.count-6 .tile-pos-1{grid-column:1/7!important;grid-row:1/9!important}.look-collage.count-6 .tile-pos-2{grid-column:7/13!important;grid-row:1/7!important}.look-collage.count-6 .tile-pos-3{grid-column:1/4!important;grid-row:9/13!important}.look-collage.count-6 .tile-pos-4{grid-column:4/7!important;grid-row:9/13!important}.look-collage.count-6 .tile-pos-5{grid-column:7/10!important;grid-row:7/13!important}.look-collage.count-6 .tile-pos-6{grid-column:10/13!important;grid-row:7/13!important}
.look-collage.count-7 .tile-pos-1{grid-column:1/7!important;grid-row:1/9!important}.look-collage.count-7 .tile-pos-2{grid-column:7/13!important;grid-row:1/7!important}.look-collage.count-7 .tile-pos-3{grid-column:1/3!important;grid-row:9/13!important}.look-collage.count-7 .tile-pos-4{grid-column:3/5!important;grid-row:9/13!important}.look-collage.count-7 .tile-pos-5{grid-column:5/7!important;grid-row:9/13!important}.look-collage.count-7 .tile-pos-6{grid-column:7/10!important;grid-row:7/13!important}.look-collage.count-7 .tile-pos-7{grid-column:10/13!important;grid-row:7/13!important}

/* When three DILi products form the core outfit, all three get premium area. */
.look-collage.dili-count-3.count-4 .tile-pos-1{grid-column:1/7!important;grid-row:1/9!important}.look-collage.dili-count-3.count-4 .tile-pos-2{grid-column:7/10!important;grid-row:1/9!important}.look-collage.dili-count-3.count-4 .tile-pos-3{grid-column:10/13!important;grid-row:1/9!important}.look-collage.dili-count-3.count-4 .tile-pos-4{grid-column:1/13!important;grid-row:9/13!important}
.look-collage.dili-count-3.count-5 .tile-pos-1{grid-column:1/7!important;grid-row:1/9!important}.look-collage.dili-count-3.count-5 .tile-pos-2{grid-column:7/10!important;grid-row:1/9!important}.look-collage.dili-count-3.count-5 .tile-pos-3{grid-column:10/13!important;grid-row:1/9!important}.look-collage.dili-count-3.count-5 .tile-pos-4{grid-column:1/7!important;grid-row:9/13!important}.look-collage.dili-count-3.count-5 .tile-pos-5{grid-column:7/13!important;grid-row:9/13!important}
.look-collage.dili-count-3.count-6 .tile-pos-1{grid-column:1/7!important;grid-row:1/9!important}.look-collage.dili-count-3.count-6 .tile-pos-2{grid-column:7/10!important;grid-row:1/9!important}.look-collage.dili-count-3.count-6 .tile-pos-3{grid-column:10/13!important;grid-row:1/9!important}.look-collage.dili-count-3.count-6 .tile-pos-4{grid-column:1/5!important;grid-row:9/13!important}.look-collage.dili-count-3.count-6 .tile-pos-5{grid-column:5/9!important;grid-row:9/13!important}.look-collage.dili-count-3.count-6 .tile-pos-6{grid-column:9/13!important;grid-row:9/13!important}

/* Rank is communicated only through premium colour and moving light — no labels. */
.look-card::before{content:'';position:absolute;inset:-2px;border-radius:25px;padding:2px;pointer-events:none;z-index:0;opacity:.95;background-size:300% 100%!important;animation:tosShine 4.5s linear infinite;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.look-card.rank-1::before{background:linear-gradient(105deg,#8b6a12,#f9eaa0,#c99a26,#fff4bd,#8b6a12)}
.look-card.rank-2::before{background:linear-gradient(105deg,#7c848b,#f8fbff,#aeb7bf,#ffffff,#7c848b)}
.look-card.rank-3::before{background:linear-gradient(105deg,#875a38,#e8c19d,#b77d4f,#f4d8b7,#875a38)}
.look-card.rank-4::before{background:linear-gradient(105deg,#76826f,#dce6d4,#9ca992,#eef3e8,#76826f);opacity:.65}
.look-card.rank-5::before{background:linear-gradient(105deg,#758796,#dbe7ee,#9cafbd,#eff6f9,#758796);opacity:.6}
.look-card.rank-6::before{background:linear-gradient(105deg,#b3a58c,#f7f0df,#d0c1a6,#fffaf0,#b3a58c);opacity:.55}
@keyframes tosShine{0%{background-position:0% 50%}100%{background-position:300% 50%}}
.look-card.priority-shop .look-topline h3::after{content:none!important}
.look-card.active{transform:translateY(-2px)!important}
.look-card.rank-1{background:linear-gradient(180deg,#fffaf0,#f6edd8)!important}.look-card.rank-2{background:linear-gradient(180deg,#fbfcfd,#edf1f4)!important}.look-card.rank-3{background:linear-gradient(180deg,#fff9f4,#f2e5d9)!important}.look-card.rank-4{background:linear-gradient(180deg,#fbfcf8,#edf1e8)!important}.look-card.rank-5{background:linear-gradient(180deg,#fbfcfd,#edf3f6)!important}.look-card.rank-6{background:linear-gradient(180deg,#fffdf8,#f4efe3)!important}

@media (max-width:780px){
  .loading-card{min-width:205px;padding:21px 23px}.look-card::before{border-radius:22px}
  .look-collage{aspect-ratio:1/1!important;gap:5px!important;padding:6px!important}
  .look-collage.count-5 .tile-pos-1,.look-collage.count-6 .tile-pos-1,.look-collage.count-7 .tile-pos-1{grid-column:1/7!important;grid-row:1/8!important}
  .look-collage.count-5 .tile-pos-2,.look-collage.count-6 .tile-pos-2,.look-collage.count-7 .tile-pos-2{grid-column:7/13!important;grid-row:1/7!important}
}


/* V15 — DILi-only cart card + live offer modal */
.discount-popup-btn{width:100%;margin:4px 0 13px;border:1px solid rgba(143,31,39,.28);background:#fffaf1;color:#8f1f27;border-radius:999px;padding:10px 14px;font:700 8px Manrope,sans-serif;letter-spacing:.09em;cursor:pointer;transition:.2s ease}.discount-popup-btn:hover{background:#f5eadf;border-color:#8f1f27}.modal-open{overflow:hidden}.discount-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:18px;opacity:0;transition:opacity .18s ease}.discount-modal.show{opacity:1}.discount-modal[hidden]{display:none}.discount-modal-scrim{position:absolute;inset:0;background:rgba(28,20,18,.42);backdrop-filter:blur(8px)}.discount-modal-card{position:relative;z-index:1;width:min(520px,100%);max-height:min(720px,86vh);overflow:auto;background:#f8f3ea;border:1px solid rgba(143,31,39,.18);border-radius:26px;padding:26px;box-shadow:0 28px 80px rgba(39,22,19,.24)}.discount-modal-card h2{font:600 34px/1 Manrope,sans-serif;letter-spacing:-.035em;margin:7px 0 10px}.discount-modal-card>p{font:500 12px/1.6 Manrope,sans-serif;color:#6a5c54;margin:0 0 18px}.discount-modal-close{position:absolute;right:16px;top:14px;width:34px;height:34px;border:1px solid rgba(143,31,39,.18);border-radius:50%;background:#fffaf2;color:#8f1f27;font-size:20px;cursor:pointer}.discount-offer-list{display:grid;gap:9px}.discount-offer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:13px 14px;border:1px solid #ddcec3;border-radius:15px;background:#fffaf2}.discount-offer>div:first-child{display:grid;gap:3px}.discount-offer strong{font:800 10px Manrope,sans-serif;letter-spacing:.08em;color:#8f1f27}.discount-offer span{font:500 9px/1.35 Manrope,sans-serif;color:#665850}.discount-offer-meta{display:grid;justify-items:end;gap:3px}.discount-offer-meta b{font:700 9px Manrope,sans-serif}.discount-offer-meta small{font:700 6.5px Manrope,sans-serif;letter-spacing:.08em;color:#8b7e76}.discount-offer.eligible{border-color:rgba(84,115,78,.34);background:#f3f6ed}.discount-offer.applied{box-shadow:0 0 0 1px rgba(84,115,78,.28) inset}.discount-offer.applied .discount-offer-meta small{color:#526f4d}.discount-offer.locked{opacity:.72}.discount-empty{padding:18px;border:1px dashed #d8c7bb;border-radius:14px;text-align:center;color:#7a6d65;font:600 10px/1.5 Manrope,sans-serif}.combo-items:empty::after{content:'No live DILi item is available in this look.';display:block;padding:14px;border:1px dashed #d8c7bb;border-radius:13px;color:#756860;font:600 9px/1.4 Manrope,sans-serif}.reference-note[hidden]{display:none!important}
@media(max-width:780px){.discount-modal-card{padding:22px 16px;border-radius:22px}.discount-modal-card h2{font-size:28px}.discount-offer{grid-template-columns:1fr}.discount-offer-meta{justify-items:start}}

/* V16 — compact 24-frame loader + replaceable branding */
.brand-mark{justify-content:flex-start;overflow:hidden}
.brand-logo{display:block;max-width:132px;max-height:44px;width:auto;height:auto;object-fit:contain}
.brand-fallback{font:700 20px/1 Manrope,sans-serif;letter-spacing:-.04em;color:var(--egg)}

.loading-overlay{
  position:fixed;inset:0;z-index:9999;display:grid;place-items:center;
  background:rgba(245,241,232,.52);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  transition:opacity .20s ease,visibility .20s ease;
}
.loading-overlay.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.loading-mini{
  width:142px;min-height:126px;padding:12px 12px 13px;
  display:grid;justify-items:center;align-content:center;gap:7px;
  border:1px solid rgba(23,19,17,.08);border-radius:18px;
  background:rgba(251,248,241,.92);box-shadow:0 14px 34px rgba(53,42,33,.10)
}
.loading-mini strong{font:700 9px/1.2 Manrope,sans-serif;letter-spacing:.02em;color:#3f3732}
.loading-frame-wrap{position:relative;width:82px;height:82px;display:grid;place-items:center}
.loading-frame{display:block;width:82px;height:82px;object-fit:contain;image-rendering:auto}
.loading-frame.missing{opacity:0}
.loading-fallback{position:absolute;width:24px;height:24px;border-radius:50%;border:2px solid rgba(151,31,43,.18);border-top-color:var(--red);animation:tosSpin .7s linear infinite;z-index:-1}
.loading-frame.missing + .loading-fallback{z-index:1}
@keyframes tosSpin{to{transform:rotate(360deg)}}

@media(max-width:780px){
  .brand-logo{max-width:108px;max-height:34px}
  .loading-mini{width:112px;min-height:100px;padding:9px;border-radius:15px;gap:5px}
  .loading-frame-wrap,.loading-frame{width:62px;height:62px}
  .loading-mini strong{font-size:7.5px}
}

/* V17 — selectable live coupons */
.discount-apply{
  min-width:78px;height:28px;padding:0 11px;border:1px solid #8f1f27;border-radius:999px;
  background:#8f1f27;color:#fff8ef;font:700 7px Manrope,sans-serif;letter-spacing:.08em;cursor:pointer
}
.discount-apply:hover{background:#741821;border-color:#741821}
.discount-apply:disabled{cursor:not-allowed;opacity:.38;background:transparent;color:#8b7e76;border-color:#cfc0b7}
.discount-offer.applied .discount-apply{background:#5f7659;border-color:#5f7659}


/* V21 — critical-path loader copy */
.loading-mini{width:min(205px,calc(100vw - 32px));min-height:138px;padding:14px 15px 15px;gap:6px}
.loading-copy{display:grid;gap:5px;text-align:center;max-width:180px}
.loading-copy strong{font:700 11px/1.25 Manrope,sans-serif;letter-spacing:.01em;color:#352e2a}
.loading-copy span{font:500 8px/1.45 Inter,sans-serif;color:#786c64;min-height:24px}
@media(max-width:780px){
  .loading-mini{width:158px;min-height:118px;padding:10px 11px 12px;gap:5px}
  .loading-copy{max-width:138px;gap:4px}
  .loading-copy strong{font-size:9px}
  .loading-copy span{font-size:7px;min-height:20px}
}


/* V22 — reusable micro-loading transitions for outfit recalculation */
.loading-overlay.is-transition{
  background:rgba(245,241,232,.58);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:opacity .24s cubic-bezier(.22,.72,.28,1),visibility .24s ease;
}
.loading-overlay.is-transition .loading-mini{
  transform:translateY(0) scale(.94);
  min-height:122px;
  box-shadow:0 18px 48px rgba(46,35,29,.10);
}
.loading-overlay:not(.is-hidden) .loading-mini{animation:tosLoaderIn .24s cubic-bezier(.22,.72,.28,1) both}
@keyframes tosLoaderIn{from{opacity:0;transform:translateY(7px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:780px){
  .loading-overlay.is-transition .loading-mini{min-height:108px}
}
