/* Stone & Deco — Language & Assistant.
   Uses the theme's CSS variables (--onyx, --cream, --gold …) with fallbacks, so a restyle of the theme carries over. */

/* ---------- language switcher ---------- */
.sdlb-lang{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-sans,inherit);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;line-height:1}
.sdlb-lang__item{padding:.35rem 0;border-bottom:1px solid transparent;text-decoration:none;transition:color .3s,border-color .3s}
.sdlb-lang__item:hover{color:var(--gold,#a8873a)}
.sdlb-lang__item.is-active{border-bottom-color:currentColor}
.sdlb-lang__sep{opacity:.45}
.sdlb-lang--desktop{margin-left:.25rem}
.sdlb-lang--mobile{margin-left:auto;margin-right:1.1rem}
.sdlb-lang--all{margin-left:1.25rem}
@media (min-width:768px){.sdlb-lang--mobile{display:none}}

/* ---------- chat widget ---------- */
.sdlb-chat{--sdlb-onyx:var(--onyx,#1f1c18);--sdlb-cream:var(--cream,#f5efe3);--sdlb-gold:var(--gold,#a8873a);--sdlb-line:var(--border,#d9d0bf);--sdlb-soft:var(--secondary,#e9e1d0);--sdlb-muted:var(--muted-foreground,#6b645a);
	position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:60;font-family:var(--font-sans,system-ui,sans-serif);font-size:.9rem;line-height:1.5;color:var(--sdlb-onyx)}
.sdlb-chat *{box-sizing:border-box}
.sdlb-chat__fab{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border:1px solid var(--sdlb-gold);border-radius:50%;background:var(--sdlb-onyx);color:var(--sdlb-cream);cursor:pointer;box-shadow:0 8px 28px rgba(0,0,0,.25);transition:background .3s,transform .3s}
.sdlb-chat__fab:hover{background:var(--sdlb-gold)}
.sdlb-chat__fab:focus-visible,.sdlb-chat__x:focus-visible,.sdlb-btn:focus-visible,.sdlb-chip:focus-visible,.sdlb-card:focus-visible{outline:2px solid var(--sdlb-gold);outline-offset:2px}
.sdlb-ico--close{display:none}
.sdlb-chat.is-open .sdlb-ico--chat{display:none}
.sdlb-chat.is-open .sdlb-ico--close{display:block}
.sdlb-chat__panel{position:absolute;right:0;bottom:4.5rem;display:flex;flex-direction:column;width:min(23rem,calc(100vw - 2rem));height:min(36rem,calc(100dvh - 7.5rem));background:var(--sdlb-cream);border:1px solid var(--sdlb-line);box-shadow:0 18px 60px rgba(0,0,0,.28)}
.sdlb-chat__panel[hidden]{display:none}
.sdlb-chat__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;background:var(--sdlb-onyx);color:var(--sdlb-cream)}
.sdlb-chat__titles{display:flex;flex-direction:column;min-width:0}
.sdlb-chat__title{font-family:var(--font-display,Georgia,serif);font-size:1.3rem;font-weight:400;font-style:italic;letter-spacing:-.01em}
.sdlb-chat__sub{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.sdlb-chat__x{border:0;background:none;color:inherit;font-size:1.7rem;line-height:1;cursor:pointer;padding:.1rem .4rem}
.sdlb-chat__log{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.8rem;scroll-behavior:smooth}
.sdlb-msg{display:flex;flex-direction:column;gap:.5rem;max-width:92%}
.sdlb-msg--user{align-self:flex-end;align-items:flex-end}
.sdlb-msg--bot{align-self:flex-start}
.sdlb-msg__bubble{padding:.65rem .85rem;background:var(--sdlb-soft)}
.sdlb-msg--user .sdlb-msg__bubble{background:var(--sdlb-onyx);color:var(--sdlb-cream)}
.sdlb-msg__p{margin:0}.sdlb-msg__p+.sdlb-msg__p{margin-top:.45rem}
.sdlb-typing .sdlb-msg__bubble{opacity:.6;font-style:italic}
.sdlb-cards{display:flex;flex-direction:column;gap:.45rem}
.sdlb-card{display:flex;align-items:center;gap:.7rem;padding:.45rem;border:1px solid var(--sdlb-line);background:#fff8;color:inherit;text-decoration:none;transition:border-color .3s}
.sdlb-card:hover{border-color:var(--sdlb-gold)}
.sdlb-card__img{width:3.4rem;height:3.4rem;object-fit:cover;flex:none;background:var(--sdlb-soft)}
.sdlb-card__body{display:flex;flex-direction:column;min-width:0;flex:1}
.sdlb-card__title{font-family:var(--font-display,Georgia,serif);font-size:1.05rem;line-height:1.2}
.sdlb-card__sub{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sdlb-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sdlb-card__go{color:var(--sdlb-gold);font-family:var(--font-display,Georgia,serif);font-style:italic;padding-right:.3rem}
.sdlb-actions{display:flex;flex-wrap:wrap;gap:.4rem}
.sdlb-btn{display:inline-block;padding:.5rem .8rem;border:1px solid var(--sdlb-onyx);background:transparent;color:var(--sdlb-onyx);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:background .3s,color .3s}
.sdlb-btn:hover{background:var(--sdlb-onyx);color:var(--sdlb-cream)}
.sdlb-chips{display:flex;gap:.4rem;overflow-x:auto;padding:.1rem 1rem .7rem;scrollbar-width:none}
.sdlb-chips::-webkit-scrollbar{display:none}
.sdlb-chip{flex:none;padding:.4rem .7rem;border:1px solid var(--sdlb-line);background:transparent;color:inherit;font:inherit;font-size:.76rem;cursor:pointer;white-space:nowrap;transition:border-color .3s}
.sdlb-chip:hover{border-color:var(--sdlb-gold)}
.sdlb-chat__form{display:flex;border-top:1px solid var(--sdlb-line)}
.sdlb-chat__input{flex:1;min-width:0;border:0;background:transparent;padding:.9rem 1rem;font:inherit;font-size:16px;color:inherit}
.sdlb-chat__input:focus{outline:none}
.sdlb-chat__send{border:0;background:var(--sdlb-onyx);color:var(--sdlb-cream);padding:0 1.1rem;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .3s}
.sdlb-chat__send:hover:not(:disabled){background:var(--sdlb-gold)}
.sdlb-chat__send:disabled{opacity:.5;cursor:default}
.sdlb-chat__note{margin:0;padding:.5rem 1rem .7rem;font-size:.62rem;line-height:1.4;color:var(--sdlb-muted)}
@media (max-width:480px){.sdlb-chat__panel{position:fixed;right:.5rem;left:.5rem;bottom:5rem;width:auto}}
@media (prefers-reduced-motion:reduce){.sdlb-chat *{transition:none!important;scroll-behavior:auto!important}}

/* expandable catalogue cards */
.sdlb-cardwrap{display:flex;flex-direction:column}
.sdlb-card--btn{width:100%;text-align:left;font:inherit;cursor:pointer;color:inherit}
.sdlb-card__dims{font-size:.72rem;color:var(--sdlb-onyx);margin-top:.1rem}
.sdlb-detail{padding:.6rem .8rem .8rem;border:1px solid var(--sdlb-line);border-top:0;background:#fff8;display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}
.sdlb-detail[hidden]{display:none}
.sdlb-detail__p{margin:0;font-size:.8rem}
.sdlb-more{align-self:flex-start;margin-top:.1rem;padding:.45rem .8rem;border:1px solid var(--sdlb-onyx);background:transparent;color:var(--sdlb-onyx);font:inherit;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s}
.sdlb-more:hover{background:var(--sdlb-onyx);color:var(--sdlb-cream)}
.sdlb-card--btn:focus-visible,.sdlb-more:focus-visible{outline:2px solid var(--sdlb-gold);outline-offset:2px}

/* ---------- Private Collection panel ----------
   Typography comes from the theme's own components (.eyebrow .editorial-h2 .italic-accent .rule-gold .container-editorial);
   layout mirrors the theme sections "Where it begins", "Why partner with us" and "Begin an inquiry". */
.sdlb-pc{font-family:var(--font-sans,system-ui,sans-serif)}
.sdlb-pc[hidden]{display:none}
.sdlb-pc__sec{--sdlb-fg:var(--onyx);--sdlb-bg:var(--cream);--sdlb-mut:var(--muted-foreground);--sdlb-line:color-mix(in oklab,var(--onyx) 15%,transparent);padding-block:8rem;color:var(--sdlb-fg)}
@media(min-width:768px){.sdlb-pc__sec{padding-block:10rem}}
.sdlb-pc__sec--cream{background:var(--background,var(--cream))}
.sdlb-pc__sec--muted{background:var(--muted)}
.sdlb-pc__sec--secondary{background:var(--secondary)}
.sdlb-pc__sec--onyx{--sdlb-fg:var(--cream);--sdlb-bg:var(--onyx);--sdlb-mut:color-mix(in oklab,var(--cream) 70%,transparent);--sdlb-line:color-mix(in oklab,var(--cream) 20%,transparent);background:var(--onyx)}
.sdlb-pc__sec--onyx .eyebrow{color:var(--gold-soft)}
.sdlb-pc__h2{margin:1.5rem 0 0}
.sdlb-pc__rule{display:block;margin-top:2rem}
.sdlb-em{color:var(--sdlb-fg);font-weight:500}

/* 01 — Where it begins */
.sdlb-pc__where{display:grid;gap:4rem}
.sdlb-pc__body{font-size:1rem;line-height:1.625;color:var(--sdlb-mut)}
.sdlb-pc__body p{margin:0 0 2rem}
.sdlb-pc__link{display:inline-block;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sdlb-fg);text-decoration:none;border-bottom:1px solid var(--sdlb-fg);padding-bottom:.25rem;transition:color .3s,border-color .3s}
.sdlb-pc__link:hover{color:var(--gold);border-color:var(--gold)}
@media(min-width:768px){
	.sdlb-pc__where{grid-template-columns:repeat(12,minmax(0,1fr))}
	.sdlb-pc__wl{grid-column:span 4}
	.sdlb-pc__wr{grid-column:6 / span 7}
}

/* 02 / 03 — chapter header + pillars / steps (Why partner with us) */
.sdlb-pc__head{display:grid;gap:3rem;margin-bottom:5rem}
.sdlb-pc__headr{margin:0;font-size:1rem;line-height:1.625;color:var(--sdlb-mut);align-self:end}
@media(min-width:768px){
	.sdlb-pc__head{grid-template-columns:repeat(12,minmax(0,1fr))}
	.sdlb-pc__headl{grid-column:span 5}
	.sdlb-pc__headr{grid-column:7 / span 6}
}
.sdlb-pc__pillars,.sdlb-pc__steps{display:grid;gap:4rem 2.5rem;grid-template-columns:1fr;border-top:1px solid var(--sdlb-line);padding-top:4rem}
@media(min-width:768px){
	.sdlb-pc__pillars{grid-template-columns:repeat(var(--sdlb-cols,3),minmax(0,1fr))}
	.sdlb-pc__steps{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.sdlb-pc__num{display:block;font-family:var(--font-display,Georgia,serif);font-style:italic;color:var(--gold);font-size:1.5rem}
.sdlb-pc__h3{margin:1.5rem 0 0;font-family:var(--font-display,Georgia,serif);font-weight:400;font-size:1.5rem;line-height:1.375;letter-spacing:-.025em}
@media(min-width:768px){.sdlb-pc__pillar .sdlb-pc__h3{font-size:1.875rem}}
.sdlb-pc__small{margin:1rem 0 0;font-size:.9rem;line-height:1.65;color:var(--sdlb-mut)}
.sdlb-pc__step{margin:0}
.sdlb-pc__photo{aspect-ratio:4/3;overflow:hidden;background:var(--secondary)}
.sdlb-pc__img{display:block;width:100%;height:100%;object-fit:cover}
.sdlb-pc__step figcaption{margin-top:1.5rem}
.sdlb-pc__step .sdlb-pc__h3{margin-top:1rem}

/* 04 — Begin an inquiry */
#sdlb-private-form.sdlb-pc__sec{padding-block:8rem}
.sdlb-pc__inq{display:grid;gap:4rem}
@media(min-width:768px){
	.sdlb-pc__inq{grid-template-columns:repeat(12,minmax(0,1fr))}
	.sdlb-pc__il{grid-column:span 5}
	.sdlb-pc__form{grid-column:span 7}
}
.sdlb-pc__lead{margin:2rem 0 0;max-width:24rem;font-size:1rem;line-height:1.625;color:var(--sdlb-mut)}
.sdlb-pc__ref{margin-top:3rem;border-top:1px solid var(--sdlb-line);padding-top:2rem}
.sdlb-pc__refl{margin:0;color:var(--sdlb-mut)}
.sdlb-pc__refn{margin:.75rem 0 0;font-family:var(--font-display,Georgia,serif);font-size:1.5rem}
.sdlb-pc__refs{margin:.75rem 0 0;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sdlb-mut)}
.sdlb-pc__field{display:block;margin-bottom:1.6rem}
.sdlb-pc__field>span{display:block;font-size:.62rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.sdlb-pc__req{color:var(--destructive);font-style:normal}
.sdlb-pc__field input,.sdlb-pc__field select,.sdlb-pc__field textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--sdlb-fg);background:transparent;padding:.9rem 0 .55rem;font:inherit;font-size:1rem;color:var(--sdlb-fg);border-radius:0;outline:none;box-shadow:none}
.sdlb-pc__field textarea{resize:vertical;min-height:4.5rem}
.sdlb-pc__field select option{color:#1f1c18}
.sdlb-pc__field input:focus,.sdlb-pc__field select:focus,.sdlb-pc__field textarea:focus{border-bottom-color:var(--gold)}
.sdlb-pc__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.2rem}
.sdlb-pc__btn{display:inline-flex;align-items:center;gap:.75rem;padding:1.1rem 1.9rem;border:1px solid var(--sdlb-fg);background:transparent;color:var(--sdlb-fg);font:inherit;font-size:.78rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.sdlb-pc__btn--solid{background:var(--sdlb-fg);color:var(--sdlb-bg)}
.sdlb-pc__btn:hover{background:var(--gold);border-color:var(--gold);color:var(--cream)}
.sdlb-pc__err{margin:.4rem 0 0;color:var(--destructive);font-size:.85rem}
.sdlb-pc__err[hidden]{display:none}
.sdlb-pc__note{margin:1.4rem 0 0;font-size:.75rem;line-height:1.5;color:var(--sdlb-mut)}
