:root { --ssc-ink:#232326; --ssc-paper:#fff; --ssc-soft:#f5f3ef; --ssc-gold:#d4ad68; --ssc-line:#dfddd8; --ssc-muted:#77736e; }
.ssc-configurator { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); overflow:hidden; margin:20px 0 38px; border:1px solid var(--ssc-line); background:var(--ssc-paper); color:var(--ssc-ink); }
.ssc-configurator__preview { position:relative; display:flex; min-height:620px; flex-direction:column; align-items:center; justify-content:center; padding:30px; background:linear-gradient(135deg,#eeece9,#f8f6f3); }
/* A fixed canvas lets the portrait product photography scale down cleanly.
   Both dimensions are defined and object-fit:contain preserves its ratio. */
.ssc-configurator__image-wrap { position:relative; width:100%; height:clamp(500px,52vw,650px); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.ssc-configurator__image { display:block!important; width:100%!important; height:100%!important; max-height:none!important; object-fit:contain!important; object-position:center!important; opacity:1; transition:opacity .18s ease; }
.ssc-configurator__image.is-changing { opacity:.2; }
.ssc-configurator__loading { position:absolute; width:42px; height:42px; border:2px solid rgba(35,35,38,.12); border-top-color:var(--ssc-ink); border-radius:50%; opacity:0; transition:opacity .15s; animation:ssc-spin .7s linear infinite; }
.ssc-configurator__loading.is-loading { opacity:1; }
.ssc-configurator__image-caption { margin:16px 0 0; font-size:12px; letter-spacing:.1em; text-align:center; text-transform:uppercase; color:var(--ssc-muted); }
.ssc-configurator__panel { padding:46px clamp(28px,4vw,62px); }
.ssc-configurator__eyebrow,.ssc-step__count,.ssc-summary__title { margin:0 0 8px; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--ssc-muted); }
.ssc-configurator__title { margin:0 0 32px; font-family:Georgia,serif; font-size:clamp(30px,3vw,42px); line-height:1.08; }
.ssc-configurator__progress { display:flex; gap:3px; padding:0; margin:0 0 36px; list-style:none!important; }
.ssc-configurator__progress li::marker { content:''; }
.ssc-configurator__progress li { flex:1; border-top:2px solid var(--ssc-line); list-style:none!important; }
.ssc-configurator__progress li.is-complete,.ssc-configurator__progress li.is-current { border-color:var(--ssc-ink); }
.ssc-configurator__progress button { width:100%; padding:10px 2px 0; border:0; background:transparent; text-align:left; font:inherit; font-size:10px; line-height:1.2; color:var(--ssc-muted); cursor:pointer; }
.ssc-configurator__progress li.is-current button { color:var(--ssc-ink); font-weight:700; }.ssc-configurator__progress span { display:block; margin-bottom:5px; }
.ssc-step h3 { margin:0 0 20px; font-size:21px; font-weight:500; }.ssc-option-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ssc-option { display:flex; align-items:center; min-height:66px; padding:12px 15px; border:1px solid var(--ssc-line); border-radius:8px!important; background:#fff; color:var(--ssc-ink); font:inherit; text-align:left; cursor:pointer; transition:border-color .18s,background .18s,transform .18s; }.ssc-option:hover:not(:disabled) { border-color:var(--ssc-ink); transform:translateY(-1px); }.ssc-option.is-selected { border:2px solid var(--ssc-ink); background:var(--ssc-soft); }.ssc-option:disabled { opacity:.36; cursor:not-allowed; }.ssc-option__check { display:inline-flex; flex:0 0 18px; width:18px; margin-right:9px; opacity:0; font-size:18px; line-height:1; }.ssc-option.is-selected .ssc-option__check { opacity:1; }
.ssc-step__actions { display:flex; justify-content:space-between; margin-top:28px; }.ssc-button { min-height:46px; padding:0 21px; border:1px solid var(--ssc-ink); background:var(--ssc-ink); color:#fff; font:inherit; cursor:pointer; }.ssc-button:disabled { opacity:.35; cursor:not-allowed; }.ssc-button--quiet { background:#fff; color:var(--ssc-ink); }
.ssc-configurator__summary { display:none!important; }.ssc-configurator__summary dl { display:grid; grid-template-columns:1fr 1fr; gap:14px 20px; margin:0; }.ssc-configurator__summary dl div:last-child { grid-column:1/-1; }.ssc-configurator__summary dt { font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ssc-muted); }.ssc-configurator__summary dd { margin:3px 0 0; font-size:14px; }
.ssc-configurator__purchase { display:none; padding-top:22px; margin-top:26px; border-top:1px solid var(--ssc-line); }.ssc-configurator.is-complete .ssc-configurator__purchase { display:block; }.ssc-configurator__purchase .single_variation_wrap { display:block !important; }.ssc-configurator__purchase .woocommerce-variation-price { margin-bottom:12px; font-size:22px; }.ssc-configurator__purchase .woocommerce-variation-add-to-cart { display:flex; gap:10px; align-items:center; }.ssc-configurator__purchase .single_add_to_cart_button { flex:1; min-height:48px; }
.ssc-lightbox { position:fixed!important; z-index:2147483646!important; inset:0; display:none; align-items:center; justify-content:center; padding:clamp(18px,4vw,54px); }.ssc-lightbox.is-open { display:flex; }.ssc-lightbox__backdrop { position:absolute; inset:0; background:rgba(20,20,20,.72); }.ssc-lightbox__dialog { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.03fr) minmax(300px,.97fr); grid-template-rows:auto auto 1fr auto; column-gap:clamp(32px,5vw,82px); row-gap:14px; width:min(1120px,100%); max-height:calc(100vh - clamp(36px,8vw,108px)); overflow:auto; padding:clamp(32px,5vw,72px); background:#fff; box-shadow:0 24px 90px rgba(0,0,0,.4); }.ssc-lightbox__media { position:relative; grid-row:1 / span 4; min-height:420px; background:var(--ssc-soft); }.ssc-lightbox__image { display:block; width:100%; height:100%; max-height:680px; object-fit:contain; }.ssc-lightbox__title { margin:0; padding-right:36px; font-family:Georgia,serif; font-size:clamp(31px,4vw,50px); line-height:1.06; }.ssc-lightbox__intro { max-width:390px; margin:0 0 18px; color:var(--ssc-muted); line-height:1.55; }.ssc-lightbox__close { position:absolute; top:18px; right:22px; z-index:3; width:40px; height:40px; border:0; background:transparent; color:var(--ssc-ink); font-size:39px; line-height:1; cursor:pointer; }.ssc-lightbox__summary { padding:0; }.ssc-lightbox__summary .ssc-summary__title { margin:0 0 12px; }.ssc-review-list { display:grid; gap:11px; padding:0; margin:0; list-style:none; }.ssc-review-list li { display:flex; align-items:baseline; justify-content:space-between; gap:18px; padding-left:16px; font-size:16px; }.ssc-review-list li::before { content:'•'; position:absolute; margin-left:-16px; color:var(--ssc-gold); }.ssc-review-list span,.ssc-review-list label { color:var(--ssc-muted); font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }.ssc-review-list strong { font-size:17px; font-weight:500; text-align:right; }.ssc-review-list li.is-editing { display:block; padding-left:0; }.ssc-review-list li.is-editing::before { content:none; }.ssc-review-list label { display:grid; gap:6px; }.ssc-review-list select { width:100%; min-height:42px; padding:8px 32px 8px 10px; border:1px solid var(--ssc-line); border-radius:0; background:#fff; color:var(--ssc-ink); font:inherit; text-transform:none; letter-spacing:0; }.ssc-lightbox__edit { position:absolute; z-index:2; top:16px; right:16px; display:flex; align-items:center; justify-content:center; width:42px; height:42px; padding:0; border:0; border-radius:50%; background:#fff; color:var(--ssc-ink); box-shadow:0 3px 12px rgba(0,0,0,.13); font-size:21px; cursor:pointer; }.ssc-lightbox__edit:hover,.ssc-lightbox__edit:focus { background:var(--ssc-ink); color:#fff; }.ssc-lightbox__purchase { align-self:end; padding-top:10px; }.ssc-lightbox__purchase .single_variation_wrap { display:block!important; }.ssc-lightbox__purchase .woocommerce-variation-price { margin-bottom:14px; font-size:24px; }.ssc-lightbox__purchase .woocommerce-variation-add-to-cart { display:flex; gap:10px; align-items:center; }.ssc-lightbox__purchase .single_add_to_cart_button { min-height:50px; flex:1; }.single_add_to_cart_button.disabled { opacity:.45!important; cursor:not-allowed!important; }.ssc-review-open { overflow:hidden; }
form.ssc-enhanced .variations { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important; }
/* The configurator owns the product image. Salient's standard gallery has no
   parent image on this product, so it renders WooCommerce's placeholder. */
body.single-product .nectar-prod-wrap > .single-product-main-image { display:none!important; }
body.single-product .nectar-prod-wrap > .summary.entry-summary { float:none!important; width:100%!important; max-width:none!important; margin:0!important; }
/* Hide the empty shell left behind by the previous configurator once that old
   code has been removed. This is defensive only; the old JS/CSS must not stay enqueued. */
body.ssc-configurator-ready #ss-configurator { display:none!important; }
@keyframes ssc-spin { to { transform:rotate(360deg); } }
@media (max-width: 900px) { .ssc-configurator { grid-template-columns:1fr; }.ssc-configurator__preview { min-height:0; }.ssc-configurator__image-wrap { height:auto; aspect-ratio:4 / 5; max-height:560px; }.ssc-configurator__panel { padding:32px 22px; } }
@media (max-width: 650px) { .ssc-configurator { display:block; margin-left:-12px; margin-right:-12px; border-left:0; border-right:0; overflow:visible; }.ssc-configurator__preview { position:relative; z-index:1; height:min(66svh,560px); min-height:420px; padding:14px 18px 108px; }.ssc-configurator__image-wrap { height:100%; aspect-ratio:auto; }.ssc-configurator__image-caption { display:none; }.ssc-configurator__panel { position:relative; z-index:2; margin:-96px 12px 0; padding:25px 20px 28px; border:1px solid var(--ssc-line); background:#fff; box-shadow:0 12px 30px rgba(0,0,0,.10); }.ssc-configurator__eyebrow { margin-bottom:4px; }.ssc-configurator__title { margin-bottom:18px; font-size:30px; }.ssc-configurator__progress { margin-bottom:20px; }.ssc-configurator__progress button { font-size:0; }.ssc-configurator__progress button span { font-size:11px; }.ssc-step__count { margin-bottom:5px; }.ssc-step h3 { margin-bottom:14px; font-size:26px; }.ssc-option-grid { grid-template-columns:1fr; gap:8px; }.ssc-option { min-height:56px; padding:10px 13px; border-radius:7px!important; }.ssc-step__actions { margin-top:18px; }.ssc-configurator__purchase .woocommerce-variation-add-to-cart { flex-wrap:wrap; }.ssc-configurator__purchase .single_add_to_cart_button { width:100%; }.ssc-lightbox { align-items:stretch; padding:0; }.ssc-lightbox__dialog { display:block; max-height:100svh; min-height:100svh; padding:64px 24px 34px; }.ssc-lightbox__media { min-height:0; height:45svh; margin-bottom:28px; }.ssc-lightbox__image { max-height:none; }.ssc-lightbox__title { font-size:34px; }.ssc-lightbox__intro { margin-bottom:28px; }.ssc-review-list { gap:15px; }.ssc-lightbox__purchase { margin-top:30px; }.ssc-lightbox__purchase .woocommerce-variation-add-to-cart { flex-wrap:wrap; }.ssc-lightbox__purchase .single_add_to_cart_button { width:100%; } }

/* Review is an inline final stage, never a modal. */
.ssc-lightbox[hidden] { display:none!important; }
.ssc-configurator.is-reviewing { display:block; overflow:visible; border:0; background:transparent; }
.ssc-configurator.is-reviewing > .ssc-configurator__preview,
.ssc-configurator.is-reviewing > .ssc-configurator__panel { display:none; }
.ssc-configurator.is-reviewing .ssc-lightbox { position:static!important; z-index:auto!important; display:block; padding:0; background:transparent; }
.ssc-configurator.is-reviewing .ssc-lightbox__dialog { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.86fr); grid-template-rows:auto auto auto 1fr; column-gap:clamp(30px,6vw,92px); row-gap:16px; width:100%; max-height:none; overflow:visible; padding:clamp(32px,6vw,88px); background:#fff; box-shadow:none; }
.ssc-configurator.is-reviewing .ssc-lightbox__media { grid-column:1; grid-row:1 / span 5; min-height:clamp(420px,58vw,700px); }
.ssc-configurator.is-reviewing .ssc-review-back,
.ssc-configurator.is-reviewing .ssc-lightbox__dialog > .ssc-configurator__eyebrow,
.ssc-configurator.is-reviewing .ssc-lightbox__title,
.ssc-configurator.is-reviewing .ssc-lightbox__intro,
.ssc-configurator.is-reviewing .ssc-lightbox__summary,
.ssc-configurator.is-reviewing .ssc-lightbox__purchase { grid-column:2; }
.ssc-review-back { justify-self:start; margin-bottom:20px; padding:0; border:0; background:transparent; color:var(--ssc-ink); font:inherit; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.ssc-configurator.is-reviewing .ssc-lightbox__dialog > .ssc-configurator__eyebrow { margin:10px 0 -8px; }
.ssc-configurator.is-reviewing .ssc-lightbox__close { display:none; }
.ssc-review-list { display:block; padding-left:1.2rem; list-style:disc; }
.ssc-review-list li { display:list-item!important; padding-left:0; margin:0 0 16px; }
.ssc-review-list li::before { content:none!important; }
.ssc-review-list span { display:block; margin-bottom:4px; }
.ssc-review-list strong { display:block; text-align:left; }
.ssc-review-list li.is-editing { list-style:none; }
body.ssc-reviewing .summary.entry-summary > .product_title,
body.ssc-reviewing .summary.entry-summary > .price,
body.ssc-reviewing .summary.entry-summary > .woocommerce-product-details__short-description { display:none!important; }
.ssc-lightbox__zoom { position:absolute; z-index:2; right:16px; bottom:16px; display:flex; align-items:center; justify-content:center; width:42px; height:42px; padding:0; border:0; border-radius:50%; background:#fff; color:var(--ssc-ink); box-shadow:0 3px 12px rgba(0,0,0,.13); font-size:26px; line-height:1; cursor:pointer; }.ssc-lightbox__zoom:hover,.ssc-lightbox__zoom:focus { background:var(--ssc-ink); color:#fff; }
.ssc-lightbox__media { overflow:hidden; }.ssc-lightbox__image { transition:transform .18s ease; }.ssc-lightbox__media.is-zoomed { touch-action:none; }.ssc-lightbox__media.is-zoomed .ssc-lightbox__image { transform:scale(1.7); cursor:grab; }.ssc-lightbox__media.is-panning .ssc-lightbox__image { transition:none; cursor:grabbing; }

@media (max-width: 760px) {
	.ssc-configurator.is-reviewing .ssc-lightbox__dialog { display:block; padding:24px 20px 30px; }
	.ssc-configurator.is-reviewing .ssc-review-back { margin-bottom:30px; }
	.ssc-configurator.is-reviewing .ssc-lightbox__media { min-height:0; height:min(62svh,560px); margin:18px 0 16px; }
	.ssc-configurator.is-reviewing .ssc-lightbox__title { margin-top:12px; font-size:35px; }
	.ssc-configurator.is-reviewing .ssc-lightbox__intro { margin-bottom:20px; }
	.ssc-configurator.is-reviewing .ssc-lightbox__summary { margin-top:0; }
	.ssc-configurator.is-reviewing .ssc-lightbox__purchase { margin-top:18px; }
	.ssc-configurator__progress li::marker { content:''!important; font-size:0!important; }
	.ssc-option { padding-left:15px; }
}
