.lilvs-sa,.lilvs-sa *{box-sizing:border-box}
.lilvs-sa{margin:16px 0;font-family:inherit}
.lilvs-sa-open{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--color-100,#f5f5f5);border:1px solid transparent;padding:10px 15px;cursor:pointer;font-family:inherit;transition:background .2s,border-color .2s}
.lilvs-sa-open:hover{background:var(--color-100)}
.lilvs-sa-open:focus-visible{outline:2px solid #222;outline-offset:2px}
.lilvs-sa-open-icon{flex:0 0 auto;color:var(--color-900);display:inline-flex}
.lilvs-sa-open-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.lilvs-sa-open-text strong{font-size:14px;font-weight:600;color:var(--color-900);line-height:1.3}
.lilvs-sa-open-text small{font-size:12px;font-weight:400;color:var(--gz-color-grey);line-height:1.4}
.lilvs-sa-open-arrow{flex:0 0 auto;color:var(--color-900);display:inline-flex}
.lilvs-sa-modal{--gz-modal-content-width:900px}
/* Inline placement: `[lilvs_size_advisor]` standing open on a page of its own.
 *
 * The content card deliberately does not carry the theme's `modal` class — the
 * template header explains why (`.modal{display:none}` would hide it, and
 * Glozin's Esc handler does `$('.modal').fadeOut()`, which would hide it for
 * the rest of the visit) — and none of the theme's wrapper layers either: the
 * markup starts at `.modal__content` itself. There is therefore no `.modal`
 * ancestor to supply the card look, so this stylesheet draws the whole card,
 * at the higher `.lilvs-sa .lilvs-sa-inline` specificity so a theme rule for a
 * bare `.modal__content` cannot fight it. The theme's layout variables are
 * still consumed, restated here at both breakpoints the theme defines them at.
 */
.lilvs-sa .lilvs-sa-inline{--gz-modal-content-padding-y:20px;--gz-modal-content-padding-x:20px;--gz-modal-content-border-radius:15px;background:#fff;border:1px solid var(--gz-border-color,#e6e6e6);border-radius:var(--gz-modal-content-border-radius);padding:var(--gz-modal-content-padding-y) var(--gz-modal-content-padding-x);max-width:1080px;margin-inline:auto;scroll-margin-top:calc(var(--gz-navigation-bar-height,0px) + 20px)}
@media (min-width:768px){.lilvs-sa .lilvs-sa-inline{--gz-modal-content-padding-y:40px;--gz-modal-content-padding-x:40px}}
/* Two-column wizard: the words on the left, a photograph on the right. The
 * media column renders only when at least one advisor-*.jpg photograph exists
 * (the template omits it otherwise), and `:has()` is what turns the single
 * column into the pair — without a media column the wizard stays one column
 * wide rather than reserving an empty half. On a desktop the photograph bleeds
 * to the card's edges through negative margins, the way the reference layout
 * runs it to the panel edge. */
.lilvs-sa-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:stretch}
.lilvs-sa-media{position:relative;overflow:hidden;min-height:280px;background:var(--color-100,#f5f5f5)}
.lilvs-sa-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (min-width:900px){
.lilvs-sa .lilvs-sa-layout:has(.lilvs-sa-media){grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:0}
.lilvs-sa .lilvs-sa-media{margin:calc(var(--gz-modal-content-padding-y,0px)*-1) calc(var(--gz-modal-content-padding-x,0px)*-1);min-height:420px}
}
@media (max-width:899px){.lilvs-sa .lilvs-sa-media{margin:4px calc(var(--gz-modal-content-padding-x,0px)*-1) calc(var(--gz-modal-content-padding-y,0px)*-1);min-height:240px}}
/* The introduction the wizard opens on, before step 1. The script shows the
 * form only once its button is pressed. */
.lilvs-sa-intro{max-width:52ch;padding-top:8px}
.lilvs-sa-intro-eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 20px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-900,#18140b)}
.lilvs-sa-intro-title{margin:0 0 18px;font-size:clamp(26px,4vw,36px);line-height:1.18;font-weight:700;color:var(--color-900,#18140b)}
.lilvs-sa-intro-copy{margin:0 0 28px;font-size:14px;line-height:1.75;color:#4a4a4a}
.lilvs-sa-start{text-transform:uppercase;letter-spacing:.16em;font-size:13px;padding:13px 28px}
.lilvs-sa-heading{font-size:20px}
.lilvs-sa-progress{margin:15px 0;color:#666;font-size:13px}
.lilvs-sa section>label{display:block;margin:12px 0}
.lilvs-sa input[type=number]{width:100%;max-width:100%;min-width:0;margin-top:7px}
.lilvs-sa fieldset{border:0;padding:0;margin:0;min-width:0}
.lilvs-sa legend{font-weight:600;margin-bottom:12px}
.lilvs-sa fieldset label{display:block;border:1px solid var(--gz-border-color);padding:12px;margin:8px 0;cursor:pointer;max-width:100%;overflow-wrap:anywhere}
.lilvs-sa-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.lilvs-sa-actions button{flex:1 1 130px}
.lilvs-sa-result{border-top:1px solid #ddd;margin-top:18px;padding-top:18px;overflow-wrap:anywhere}
.lilvs-sa-result-actions{margin-top:20px}
.lilvs-sa-result-actions button{width:100%}
.lilvs-sa-result button.button{width:100%;white-space:normal;max-width:100%}
.lilvs-sa-disclaimer{font-size:12px;color:#666;line-height:1.6;margin:16px 0 0}
.lilvs-sa [hidden]{display:none!important}
.lilvs-sa-units{display:flex;flex-wrap:wrap;gap:10px}
.lilvs-sa-units legend{width:100%}
.lilvs-sa-units label{flex:1;text-align:center;min-width:115px}
.lilvs-sa select{width:100%;max-width:100%;min-width:0;margin-top:7px}
/* Step 2's usual sizes: the two dropdowns sit side by side and the hint under
 * them spans both columns. The labels are direct children of the container
 * rather than of the section, so the section's own `label` rule does not
 * reach them and their margin is set here. */
.lilvs-sa-usual-sizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.lilvs-sa-usual-sizes>label{display:block;margin:0;min-width:0}
.lilvs-sa-usual-note{grid-column:1/-1;margin:0;font-size:12px;color:var(--gz-color-grey);line-height:1.6}
.lilvs-sa fieldset label:has(.lilvs-sa-figure){display:flex;align-items:center;gap:14px}
.lilvs-sa-figure{display:inline-block;flex:0 0 34px;height:54px;border-radius:45% 45% 30% 30%;background:#b3b6b8;clip-path:polygon(35% 0,65% 0,68% 13%,88% 21%,100% 55%,77% 60%,72% 100%,28% 100%,23% 60%,0 55%,12% 21%,32% 13%)}
.lilvs-sa-figure.slim{transform:scaleX(.76)}
.lilvs-sa-figure.broad{clip-path:polygon(35% 0,65% 0,68% 13%,100% 20%,93% 55%,77% 60%,66% 100%,34% 100%,23% 60%,7% 55%,0 20%,32% 13%)}
.lilvs-sa-figure.full{border-radius:40% 40% 45% 45%;transform:scaleX(1.15)}
.lilvs-sa [data-step="3"] fieldset{margin-top:1rem;padding-bottom:1rem;border-bottom:1px solid var(--gz-border-color);display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.lilvs-sa [data-step="3"] fieldset legend{grid-column:1/-1;margin-bottom:1rem;padding-left:1.25rem;height:2.5rem;line-height:2.5rem;font-size:1rem}
.lilvs-sa [data-step="3"] fieldset legend:before{content:"";height:24px;margin-top:8px;width:4px;background-color:#c3a06c;position:absolute;border-radius:1px;margin-left:-20px}
.lilvs-sa [data-step="3"] fieldset label{display:flex;flex-direction:column;align-items:stretch;justify-content:start;border:none;gap:5px;margin:0;padding:0;cursor:pointer;min-width:0;position:relative}
.lilvs-sa [data-step="3"] input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.lilvs-sa [data-step="3"] label:has(input:focus-visible){outline:2px solid #222;outline-offset:2px}
.lilvs-sa-option-img{position:relative;display:flex;align-items:center;justify-content:start;width:100%;height:auto;border:1px solid transparent;overflow:hidden;transition:border-color .15s,background .15s}
.lilvs-sa [data-step="3"] label:has(input:checked) .lilvs-sa-option-img{border-color:#c3a06c}
.lilvs-sa-option-img .lilvs-sa-option{width:100%;height:100%;object-fit:contain;display:block}
.lilvs-sa-check{position:absolute;top:0;right:0;width:24px;height:24px;display:none;pointer-events:none}
.lilvs-sa [data-step="3"] label:has(input:checked) .lilvs-sa-check{display:block}
.lilvs-sa [data-step="3"] fieldset label b{font-weight:500;line-height:1.2}
.lilvs-sa [data-step="3"] fieldset label small{font-size:11px;color:var(--gz-color-grey);line-height:1.2}
.lilvs-sa [data-step="3"] .lilvs-sa-pills{display:flex;flex-wrap:wrap;gap:10px}
.lilvs-sa [data-step="3"] .lilvs-sa-pills legend{grid-column:auto;width:100%}
.lilvs-sa [data-step="3"] .lilvs-sa-pills .lilvs-sa-pill{display:inline-flex;align-items:center;justify-content:center;flex-direction:row;width:auto;min-width:110px;min-height:44px;margin:0;padding:10px 24px;border:1px solid var(--color-600);border-radius:4px;background:#fff;color:var(--color-900);font-family:inherit}
.lilvs-sa [data-step="3"] .lilvs-sa-pills .lilvs-sa-pill:has(input:checked){background:var(--color-200);box-shadow:none}
.lilvs-sa [data-step="3"] .lilvs-sa-pill input{position:absolute;opacity:0;pointer-events:none}
.lilvs-sa [data-step="3"] .lilvs-sa-pills .lilvs-sa-pill:has(input:focus-visible){outline:2px solid #222;outline-offset:2px}
.lilvs-sa-fit-note{font-size:.88em;color:#665735}
.lilvs-sa-help{font-size:.92em;color:#555}
.lilvs-sa-measure-guide{background:#f6f6f5;border-left:3px solid #444;padding:12px 14px;line-height:1.6;font-size:13px}
.lilvs-sa-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.lilvs-sa-guide-grid>div{display:grid;grid-template-columns:44px 1fr;column-gap:9px;align-items:center;background:#fff;padding:9px;border-radius:6px}
.lilvs-sa-guide-grid b{font-size:13px}
.lilvs-sa-guide-grid small{grid-column:2;font-size:11px;line-height:1.5}
.lilvs-sa-measure-icon{grid-row:span 2;width:40px;height:54px;border-radius:40% 40% 25% 25%;background:linear-gradient(transparent 0 42%,#222 42% 46%,transparent 46%),#d5d5d5;display:block;position:relative}
.lilvs-sa-measure-icon.waist{background:linear-gradient(transparent 0 65%,#222 65% 69%,transparent 69%),#d5d5d5}
.lilvs-sa-measure-icon.shoulder{background:linear-gradient(transparent 0 20%,#222 20% 24%,transparent 24%),#d5d5d5}
.lilvs-sa-measure-icon.inseam{background:linear-gradient(90deg,transparent 0 51%,#222 51% 56%,transparent 56%),#d5d5d5}
.lilvs-sa-confidence{font-size:13px;background:var(--color-50);padding:10px;border-radius:4px}
.lilvs-sa-apply-status{padding:10px 12px;background:#e8f5e9;color:#2e7d32;border-radius:4px}
.lilvs-sa button:focus-visible{outline:2px solid #222;outline-offset:3px}
.lilvs-sa input:not([type=radio]):not([type=checkbox]):focus-visible{outline:0}
@media (max-width:600px){.lilvs-sa-actions button{flex:1 1 100px}
.lilvs-sa-guide-grid{grid-template-columns:1fr}
.lilvs-sa-usual-sizes{grid-template-columns:1fr}
}
@media (max-width:360px){.lilvs-sa-actions{gap:6px}
.lilvs-sa-actions button{padding:10px}
}
@media (prefers-reduced-motion:reduce){.lilvs-sa *{transition:none!important}
}
