/* ============================================================
   Remodelación · Recámara 4.60 × 3.00 m
   Propuesta self-contained · Bootstrap 5.3 + tokens propios
   Paleta: cabaña moderna (verde bosque · nogal · latón)
   ============================================================ */

/* ---------- Tokens (light) ---------- */
:root,
[data-bs-theme="light"]{
  --paper:#EFEAE0; --surface:#F7F3EA; --surface-2:#EDE7DA;
  --ink:#211E18; --muted:#6C6555; --faint:#918A78;
  --line:#D8D0BF; --line-strong:#C4BAA3;
  --green:#6E5F45; --green-soft:#897A5C; --walnut:#6E4A2E; --brass:#A98A54;
  --hi:#C0483A; --mid:#B9862F;
  --plan-floor:#F1ECE1; --plan-wall:#211E18; --plan-dim:#A79E8B;
  --z-bed:#897A5C; --z-closet:#6E4A2E; --z-soft:#C9BFA9; --z-tv:#211E18;
  --badge-bg:#6E5F45; --badge-ink:#F7F3EA;
  --shadow-sm:0 1px 2px rgba(33,30,24,.06);
  --shadow:0 1px 2px rgba(33,30,24,.06), 0 8px 26px -14px rgba(33,30,24,.22);
  --sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --serif:"Fraunces","Iowan Old Style",Palatino,Georgia,"Times New Roman",serif;

  /* Puentes hacia Bootstrap */
  --bs-body-bg:var(--paper);
  --bs-body-color:var(--ink);
  --bs-body-font-family:var(--serif);
  --bs-emphasis-color:var(--ink);
  --bs-border-color:var(--line);
  --bs-secondary-color:var(--muted);
  --bs-link-color:var(--green-soft);
  --bs-link-hover-color:var(--green);
}

/* ---------- Tokens (dark) ---------- */
[data-bs-theme="dark"]{
  --paper:#15130F; --surface:#1D1A15; --surface-2:#232019;
  --ink:#ECE5D6; --muted:#A79E8B; --faint:#7E7666;
  --line:#332F27; --line-strong:#413B31;
  --green:#C6B48A; --green-soft:#AB9B77; --walnut:#C0925F; --brass:#CBA96B;
  --hi:#E0715F; --mid:#D5A24E;
  --plan-floor:#211D17; --plan-wall:#ECE5D6; --plan-dim:#7E7666;
  --z-bed:#C6B48A; --z-closet:#C0925F; --z-soft:#5B5340; --z-tv:#ECE5D6;
  --badge-bg:#C6B48A; --badge-ink:#15130F;
  --shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 10px 30px -16px rgba(0,0,0,.7);

  --bs-body-bg:var(--paper);
  --bs-body-color:var(--ink);
  --bs-emphasis-color:var(--ink);
  --bs-border-color:var(--line);
  --bs-secondary-color:var(--muted);
  --bs-link-color:var(--green);
  --bs-link-hover-color:var(--green-soft);
}

/* ---------- Base ---------- */
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }
body{
  background:var(--paper); color:var(--ink);
  font-family:var(--serif); line-height:1.62;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
::selection{background:var(--green); color:#fff;}
.wrap{max-width:1020px;}

h1,h2,h3,h4,.font-sans,.eyebrow,.k,.pill,.tag,.num,.legend b,.navbar-brand,
.zone h3,.phase h3,.sw .nm,.decis .q,.btn,.chip-txt{font-family:var(--sans);}

.eyebrow{
  font-size:.72rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--green-soft); font-weight:700; margin:0 0 .5rem;
}
h1{
  font-family:var(--sans); font-weight:800; letter-spacing:-.02em; line-height:1.04;
  font-size:clamp(2.05rem,5.4vw,3.25rem); text-wrap:balance; margin:0 0 .55rem;
}
h2{
  font-family:var(--sans); font-weight:700; letter-spacing:-.01em;
  font-size:clamp(1.35rem,3vw,1.85rem); text-wrap:balance; margin:0 0 .25rem;
}
.lede{font-size:clamp(1.05rem,2.3vw,1.28rem); color:var(--muted); max-width:60ch;}
.sec-intro{color:var(--muted); max-width:66ch; margin:.4rem 0 1.6rem;}
.section-mt{margin-top:clamp(48px,7vw,84px);}

/* ---------- Navbar ---------- */
.navbar{
  background:color-mix(in srgb, var(--paper) 86%, transparent);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);
}
.navbar-brand{font-weight:800; letter-spacing:-.01em; color:var(--ink); display:flex; gap:.55rem; align-items:center;}
.navbar-brand .dot{width:12px; height:12px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 22%, transparent);}
.navbar .nav-link{color:var(--muted); font-family:var(--sans); font-weight:600; font-size:.9rem;}
.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--ink);}
.theme-btn{
  border:1px solid var(--line-strong); background:var(--surface); color:var(--ink);
  width:40px; height:40px; border-radius:10px; display:inline-grid; place-items:center; font-size:1.05rem;
  transition:transform .15s ease, background .2s ease;
}
.theme-btn:hover{transform:translateY(-1px); background:var(--surface-2);}
.theme-btn .bi-sun-fill{display:none;}
[data-bs-theme="dark"] .theme-btn .bi-sun-fill{display:inline;}
[data-bs-theme="dark"] .theme-btn .bi-moon-stars-fill{display:none;}

/* ---------- Hero / title block ---------- */
.titleblock{border:1px solid var(--line-strong); border-radius:16px; overflow:hidden; background:var(--surface); box-shadow:var(--shadow);}
.tb-top{padding:clamp(24px,4vw,40px);}
.tb-meta{display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); border-top:1px solid var(--line);}
.tb-meta > div{padding:15px clamp(16px,3vw,24px); border-right:1px solid var(--line);}
.tb-meta > div:last-child{border-right:none;}
.tb-meta .k{font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--faint); margin-bottom:5px; font-weight:700;}
.tb-meta .v{font-family:var(--sans); font-weight:700; font-size:1.14rem; font-variant-numeric:tabular-nums;}
@media (max-width:540px){ .tb-meta > div{border-right:none; border-bottom:1px solid var(--line);} }

/* ---------- Pills ---------- */
.pill{display:inline-flex; align-items:center; gap:.4em; font-family:var(--sans); font-size:.68rem; font-weight:700;
  letter-spacing:.05em; text-transform:uppercase; padding:.3em .72em; border-radius:999px; border:1px solid transparent; line-height:1;}
.pill.alta{color:#fff; background:var(--hi);}
.pill.media{color:#3a2a05; background:var(--mid);}
[data-bs-theme="dark"] .pill.media{color:#1c1a12;}
.pill.ghost{background:transparent; border-color:var(--line-strong); color:var(--muted);}
.pill.ok{color:#fff; background:#4f7a55;}

/* ---------- Cards genéricas ---------- */
.card-soft{background:var(--surface); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow);}

/* ---------- Diagnóstico ---------- */
.diag .item{background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--hi);
  border-radius:12px; padding:16px 18px; height:100%;}
.diag .item.med{border-left-color:var(--mid);}
.diag .item.ok{border-left-color:var(--green-soft);}
.diag .t{font-family:var(--sans); font-weight:700; font-size:1rem; margin-bottom:5px; display:flex; justify-content:space-between; gap:8px; align-items:center;}
.diag .d{font-size:.93rem; color:var(--muted); line-height:1.5;}

/* ---------- Galería estado actual ---------- */
.gal{border-radius:12px; overflow:hidden; border:1px solid var(--line); background:var(--surface); cursor:zoom-in; position:relative; display:block;}
.gal img{width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; display:block; transition:transform .4s ease; filter:saturate(.92);}
.gal:hover img{transform:scale(1.04);}
.gal .cap{position:absolute; left:0; right:0; bottom:0; padding:22px 12px 9px;
  font-family:var(--sans); font-size:.78rem; font-weight:600; color:#fff;
  background:linear-gradient(0deg, rgba(15,13,10,.82), transparent);}
.gal .zoom{position:absolute; top:9px; right:9px; width:28px; height:28px; border-radius:8px;
  background:rgba(15,13,10,.55); color:#fff; display:grid; place-items:center; font-size:.85rem;}

/* ---------- Plano ---------- */
.planwrap{background:var(--surface); border:1px solid var(--line-strong); border-radius:16px; padding:clamp(14px,3vw,28px); box-shadow:var(--shadow);}
.planscroll{overflow-x:auto;}
svg.plan{display:block; width:100%; min-width:560px; height:auto;}
.plan text{font-family:var(--sans);}
.legend{margin:20px 0 0; display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:10px 24px; list-style:none; padding:0;}
.legend li{display:flex; gap:11px; align-items:flex-start; font-size:.9rem; color:var(--muted);}
.legend b{color:var(--ink); font-weight:700; font-family:var(--sans);}
.num{flex:0 0 auto; width:21px; height:21px; border-radius:50%; background:var(--badge-bg); color:var(--badge-ink);
  font-weight:700; font-size:.72rem; display:grid; place-items:center; margin-top:1px;}

/* ---------- Zonas ---------- */
.zone{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:22px; box-shadow:var(--shadow); height:100%;}
.zone .ic{width:42px; height:42px; border-radius:11px; display:grid; place-items:center; font-size:1.2rem;
  background:color-mix(in srgb,var(--green) 15%, transparent); color:var(--green-soft); margin-bottom:12px;}
.zone .k{font-family:var(--sans); font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--green-soft); font-weight:700;}
.zone h3{font-weight:700; font-size:1.14rem; margin:.25rem 0 .5rem;}
.zone p{font-size:.94rem; color:var(--muted); margin:0;}

/* ---------- Fases ---------- */
.phase{display:grid; grid-template-columns:auto 1fr; gap:20px; padding:22px 4px; border-top:1px solid var(--line);}
.phase:first-child{border-top:none;}
.phase .n{font-family:var(--sans); font-weight:800; font-size:1.6rem; color:var(--green-soft); font-variant-numeric:tabular-nums; line-height:1;}
.phase h3{font-family:var(--sans); font-weight:700; font-size:1.12rem; margin:0 0 .35rem; display:flex; gap:11px; align-items:baseline; flex-wrap:wrap;}
.phase p{font-size:.95rem; color:var(--muted); margin:0;}
.tag{font-family:var(--sans); font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--brass); border:1px solid color-mix(in srgb,var(--brass) 45%, transparent); padding:.18em .55em; border-radius:6px;}
@media (max-width:540px){ .phase{grid-template-columns:1fr; gap:8px;} }

/* ---------- Paleta ---------- */
.sw{border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--surface); box-shadow:var(--shadow-sm); height:100%;}
.sw .chip{height:78px; position:relative;}
.sw .chip-txt{position:absolute; bottom:7px; right:9px; font-size:.62rem; font-weight:700; letter-spacing:.05em;
  color:rgba(255,255,255,.85); font-variant-numeric:tabular-nums; text-shadow:0 1px 3px rgba(0,0,0,.4);}
.sw .info{padding:11px 13px;}
.sw .nm{font-weight:700; font-size:.92rem;}
.sw .use{font-size:.82rem; color:var(--muted); margin-top:2px;}

/* ---------- Callout ---------- */
.callout{background:linear-gradient(180deg,var(--surface),var(--surface-2)); border:1px solid var(--line-strong); border-radius:16px; padding:clamp(22px,4vw,34px); box-shadow:var(--shadow);}
.tactics{list-style:none; padding:0; margin:.7rem 0 0; display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:11px 26px;}
.tactics li{position:relative; padding-left:28px; font-size:.94rem; color:var(--muted);}
.tactics li::before{content:"\F148"; font-family:"bootstrap-icons"; position:absolute; left:0; top:1px; color:var(--green-soft); font-weight:400;}
.tactics li b{color:var(--ink); font-weight:700; font-family:var(--sans); font-size:.92rem;}

/* ---------- Decisiones ---------- */
.decis{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px;}
.decis li{background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:15px 17px; display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start;}
.decis .q{font-family:var(--sans); font-weight:700; color:var(--brass); font-size:.85rem; white-space:nowrap; padding-top:1px;}
.decis .body{font-size:.94rem; color:var(--muted);}
.decis .body b{color:var(--ink); font-family:var(--sans); font-weight:700;}
@media (max-width:540px){ .decis li{grid-template-columns:1fr; gap:4px;} }

/* ---------- Footer ---------- */
footer.site{margin-top:72px; padding:28px 0; border-top:1px solid var(--line); color:var(--faint); font-family:var(--sans); font-size:.82rem;}

/* ---------- Modal lightbox ---------- */
.lb .modal-content{background:transparent; border:none;}
.lb img{width:100%; height:auto; border-radius:12px; box-shadow:0 20px 60px -20px rgba(0,0,0,.7);}
.lb .modal-body{padding:0;}
.lb-close{position:fixed; top:16px; right:20px; z-index:1060; background:rgba(20,18,14,.65); color:#fff; border:none; width:44px; height:44px; border-radius:12px; font-size:1.2rem;}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1; transform:none;}
@media (prefers-reduced-motion:reduce){ .reveal{opacity:1; transform:none; transition:none;} }

/* ---------- Toggle fotos (desplegable) ---------- */
.btn-fotos{
  display:inline-flex; align-items:center; gap:.55rem; font-family:var(--sans); font-weight:600; font-size:.92rem;
  color:var(--ink); background:var(--surface); border:1px solid var(--line-strong); border-radius:11px;
  padding:.6rem 1rem; cursor:pointer; transition:background .2s ease, transform .15s ease;
}
.btn-fotos:hover{background:var(--surface-2); transform:translateY(-1px);}
.btn-fotos .chev{transition:transform .25s ease; font-size:.85rem; color:var(--green-soft);}
.btn-fotos[aria-expanded="true"] .chev{transform:rotate(180deg);}
.btn-fotos .count{font-family:var(--sans); font-size:.72rem; font-weight:700; color:var(--badge-ink);
  background:var(--badge-bg); border-radius:999px; padding:.1em .5em; margin-left:.15rem;}

/* ---------- Render conceptual ---------- */
.render-wrap{background:var(--surface); border:1px solid var(--line-strong); border-radius:16px;
  padding:clamp(12px,2.4vw,20px); box-shadow:var(--shadow);}
.render-wrap svg{display:block; width:100%; height:auto; border-radius:11px;}
.render-note{font-size:.84rem; color:var(--faint); font-family:var(--sans); margin:.7rem .2rem 0; display:flex; gap:.5rem; align-items:flex-start;}
.render-tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px;}
.render-tags span{font-family:var(--sans); font-size:.74rem; font-weight:600; color:var(--muted);
  border:1px solid var(--line); border-radius:999px; padding:.32em .8em; background:var(--paper);}
.render-tags span i{color:var(--green-soft); margin-right:.35rem;}

/* ---------- Prompts de render IA ---------- */
.prompt-card{background:var(--surface); border:1px solid var(--line); border-radius:14px; overflow:hidden; box-shadow:var(--shadow); height:100%; display:flex; flex-direction:column;}
.prompt-head{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 16px; border-bottom:1px solid var(--line);}
.prompt-head .nm{font-family:var(--sans); font-weight:700; font-size:.94rem; display:flex; align-items:center; gap:.5rem;}
.prompt-head .nm i{color:var(--green-soft);}
.copy-btn{font-family:var(--sans); font-weight:600; font-size:.76rem; color:var(--badge-ink); background:var(--badge-bg); border:none; border-radius:8px; padding:.42em .8em; cursor:pointer; white-space:nowrap; display:inline-flex; gap:.4em; align-items:center; transition:opacity .2s ease;}
.copy-btn:hover{opacity:.88;}
.copy-btn.ok{background:var(--brass); color:#1c1a12;}
.prompt-pre{margin:0; padding:14px 16px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.8rem; line-height:1.5; color:var(--muted); white-space:pre-wrap; word-break:break-word; background:var(--paper); flex:1;}
.prompt-tip{background:linear-gradient(180deg,var(--surface),var(--surface-2)); border:1px solid var(--line-strong); border-radius:14px; padding:18px 20px; box-shadow:var(--shadow-sm); margin-bottom:20px;}
.prompt-tip h3{font-family:var(--sans); font-weight:700; font-size:1rem; margin:0 0 .3rem; display:flex; gap:.5rem; align-items:center;}
.prompt-tip h3 i{color:var(--green-soft);}
.prompt-tip ul{margin:.5rem 0 0; padding-left:1.1rem; color:var(--muted); font-size:.92rem;}
.prompt-tip li{margin-bottom:.25rem;}
.prompt-tip code{background:var(--paper); border:1px solid var(--line); border-radius:5px; padding:.05em .4em; font-size:.85em; color:var(--ink); font-family:ui-monospace,Menlo,monospace;}

/* ---------- Tablas de costos ---------- */
.tbl-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:12px; background:var(--surface); box-shadow:var(--shadow-sm);}
.tbl{width:100%; border-collapse:collapse; font-size:.9rem; min-width:520px;}
.tbl thead th{font-family:var(--sans); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--faint); text-align:left; padding:11px 14px; border-bottom:1px solid var(--line-strong); white-space:nowrap;}
.tbl td{padding:12px 14px; border-bottom:1px solid var(--line); color:var(--muted); vertical-align:top; line-height:1.45;}
.tbl tbody tr:last-child td{border-bottom:none;}
.tbl tbody tr.total td{background:var(--surface-2); border-top:2px solid var(--line-strong);}
.tbl td b, .tbl th.h{color:var(--ink); font-family:var(--sans); font-weight:700;}
.tbl .cost{font-family:var(--sans); font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; white-space:nowrap;}
.tbl .rec{color:var(--green-soft); font-weight:700; font-family:var(--sans);}
.tbl .no{color:var(--hi); font-weight:700; font-family:var(--sans);}
.money-note{font-size:.82rem; color:var(--faint); font-family:var(--sans); margin-top:12px; display:flex; gap:.5rem; align-items:flex-start;}
.reco-line{background:color-mix(in srgb,var(--green) 12%, var(--surface)); border:1px solid color-mix(in srgb,var(--green) 32%, var(--line)); border-radius:12px; padding:14px 16px; margin-top:16px; font-size:.94rem; color:var(--ink);}
.reco-line b{font-family:var(--sans);}
.reco-line .lead-ic{color:var(--green-soft); margin-right:.4rem;}
.sub-h{font-family:var(--sans); font-weight:700; font-size:1.05rem; margin:26px 0 10px; display:flex; gap:.5rem; align-items:center;}
.sub-h i{color:var(--green-soft);}

/* ---------- Paleta y combinación de materiales ---------- */
/* Barra de proporción 60/30/10 */
.prop-bar{display:flex; height:58px; border-radius:12px; overflow:hidden; border:1px solid var(--line-strong); box-shadow:var(--shadow-sm);}
.prop-bar .seg{display:flex; align-items:center; justify-content:center; min-width:0; padding:0 6px;}
.prop-bar .seg span{font-family:var(--sans); font-size:.7rem; font-weight:700; letter-spacing:.02em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-shadow:0 1px 2px rgba(0,0,0,.35); color:#fff;}
.prop-bar .seg.on-light span{color:#2a2620; text-shadow:none;}
.prop-note{font-size:.84rem; color:var(--faint); font-family:var(--sans); margin:10px 2px 0;}

/* Texturas de material */
.mat-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:14px;}
.mat{border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--surface); box-shadow:var(--shadow-sm); height:100%;}
.mat .chip{height:92px; position:relative;}
.mat .chip .tag{position:absolute; top:8px; left:8px; font-family:var(--sans); font-size:.6rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:.18em .5em; border-radius:6px; background:rgba(20,17,12,.55); color:#fff;}
.mat .info{padding:11px 13px;}
.mat .nm{font-family:var(--sans); font-weight:700; font-size:.9rem;}
.mat .hx{font-family:ui-monospace,Menlo,monospace; font-size:.72rem; color:var(--faint); margin-top:1px;}
.mat .use{font-size:.82rem; color:var(--muted); margin-top:3px;}

.paint-green{background:linear-gradient(160deg,#3c5044,#33463A 62%);}
.paint-white{background:linear-gradient(160deg,#efe9dd,#E7E0D2 62%);}
.wood-nogal{background:repeating-linear-gradient(89deg,rgba(0,0,0,.10) 0 1px,transparent 1px 9px),linear-gradient(180deg,#7c5537,#6E4A2E 52%,#5e3f28);}
.metal-brass{background:linear-gradient(135deg,#e2c78d 0%,#b6975a 24%,#9a7d47 44%,#c9ab6c 60%,#876a3b 82%,#c4a866 100%);}
.metal-black{background:#211E18; box-shadow:inset 0 0 26px rgba(0,0,0,.45);}
.terrazzo{background:
  radial-gradient(circle at 18% 26%,#8fa79a 0 2.5px,transparent 3px),
  radial-gradient(circle at 62% 38%,#7f96a1 0 3px,transparent 3.5px),
  radial-gradient(circle at 83% 70%,#b4ac98 0 2px,transparent 2.5px),
  radial-gradient(circle at 38% 78%,#88a08f 0 2.5px,transparent 3px),
  radial-gradient(circle at 50% 55%,#9aa0a6 0 1.5px,transparent 2px),
  radial-gradient(circle at 72% 18%,#8fa79a 0 1.5px,transparent 2px),
  #d7d0c0;}
.linen{background:
  repeating-linear-gradient(0deg,rgba(110,100,78,.14) 0 1px,transparent 1px 3px),
  repeating-linear-gradient(90deg,rgba(110,100,78,.14) 0 1px,transparent 1px 3px),
  #C9BFA9;}
.paint-greige{background:linear-gradient(160deg,#cec6b6,#c2b9a6 62%);}
.textile-gray{background:
  repeating-linear-gradient(0deg,rgba(70,66,58,.14) 0 1px,transparent 1px 3px),
  repeating-linear-gradient(90deg,rgba(70,66,58,.14) 0 1px,transparent 1px 3px),
  #8f8a80;}
.plant-green{background:linear-gradient(160deg,#6d8664,#546d4e 60%);}

/* Combinaciones / pairings */
.pair-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(215px,1fr)); gap:14px;}
.pair{border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--surface); box-shadow:var(--shadow-sm);}
.pair .duo{display:flex; height:64px;}
.pair .duo span{flex:1;}
.pair .info{padding:11px 13px;}
.pair .t{font-family:var(--sans); font-weight:700; font-size:.9rem;}
.pair .d{font-size:.82rem; color:var(--muted); margin-top:2px; line-height:1.4;}
.moodboard-fig{margin:16px auto 0; max-width:860px;}
.moodboard-fig img{width:100%; max-width:100%; height:auto; border-radius:14px; border:1px solid var(--line-strong); box-shadow:var(--shadow); display:block;}
.moodboard-fig figcaption{font-family:var(--sans); font-size:.86rem; color:var(--faint); margin-top:10px; display:flex; gap:.5rem; flex-wrap:wrap; align-items:center;}
.moodboard-fig a{color:var(--green-soft); font-weight:700;}
