/* The full five-step calculator, with a photographic preview alongside it. */
.config-section{background:#f5f5ee}
.config-section>.wrap{max-width:1440px}
.config-toolbar{background:#f5f5ee}
.config-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:36px}
.config-visual{min-width:0}
.config-preview{background:#fffefa;border:1px solid #dfe2d8}
.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid #e3e6dd}
.preview-toolbar>span{font-size:10px;color:#758074;text-align:right}
.preview-view-tabs{display:flex;gap:5px}
.preview-view-tabs button{border:0;background:transparent;color:#7b8278;padding:8px 13px;font-size:11px;min-height:36px}
.preview-view-tabs button.active{background:#e8ede2;color:#263b2b;font-weight:700}
.preview-photograph{position:relative;background:#e8e9e2}
.preview-photograph>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;display:block}
.preview-photo-label{position:absolute;left:15px;top:15px;max-width:calc(100% - 30px);padding:7px 10px;background:#fffefae8;font-size:10px;letter-spacing:.04em;color:#37473c;backdrop-filter:blur(6px)}
.preview-zoom{position:absolute;right:14px;bottom:14px;width:38px;height:38px;border:1px solid #ffffff99;border-radius:50%;background:#fffefae8;color:#263a32;font-size:22px;display:grid;place-items:center}
.preview-moods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px 15px 0}
.preview-moods button{display:flex;align-items:center;gap:8px;text-align:left;background:#fffefa;border:1px solid #dee3d7;padding:5px;min-width:0;color:#58644f}
.preview-moods button[aria-pressed=true]{border-color:#6b7d60;background:#eef1e8;box-shadow:inset 0 0 0 1px #6b7d60}
.preview-moods img{width:49px;height:38px;object-fit:cover;flex:none}
.preview-moods span{font-size:9px;line-height:1.5}
.preview-explanation{font-size:9px;line-height:1.7;color:#7a8376;margin:0;padding:12px 15px 15px}
.config-visual .recap{position:static;margin-top:16px;background:#182f37;border-radius:0;scroll-margin-top:120px}
.config-visual .recap-content{padding:23px 25px}
.config-visual .recap-heading{margin-bottom:8px;font-size:10px}
.config-visual .recap-total{padding:0;margin:0;border:0}
.config-visual .recap-total>strong{font-family:var(--sans,Manrope,sans-serif);font-size:38px;letter-spacing:-1px;font-weight:500;line-height:1.25}
.config-visual .recap-total>p{font-size:9px;margin-top:6px}
.recap-breakdown{margin-top:15px;border-block:1px solid #ffffff20}
.recap-breakdown>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0;font-size:11px;cursor:pointer;list-style:none}
.recap-breakdown>summary::-webkit-details-marker{display:none}
.recap-breakdown>summary:after{content:'+';font-size:18px;line-height:1}
.recap-breakdown[open]>summary:after{content:'−'}
.recap-breakdown>summary>span{margin-left:auto;font-size:9px;color:#a9bdc2}
.config-visual .recap-rows{max-height:235px;padding-bottom:10px}
.config-visual .recap-row{font-size:10px}
.config-visual .recap-row strong{font-size:11px}
.config-visual .recap-row span{max-width:none}
.config-visual .recap-content>.button{min-height:43px;margin-top:17px;font-size:10px}
.config-visual .save-link{margin-top:12px}
.config-visual .recap-small-note{font-size:9px;line-height:1.7;margin-top:13px}
.config-main .step-heading{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:21px}
.config-main .step-heading>span{order:-1;font-size:9px;letter-spacing:.1em}
.config-main .step-heading h3{font-size:30px;line-height:1.15}
.config-main .option-group{border:1px solid #e0e4d9;background:#fffefa;padding:22px;margin-bottom:16px}
.config-main .option-title h4{font-size:13px}
.config-main .option-description{font-size:11px}
.config-main .option-label .choice-name{font-size:11px}
.config-main .option-label .choice-price{font-size:10px}
.config-main .option-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.config-main .option-label{padding:14px 9px;min-height:84px}
.config-main .option-label:has(input:checked){background:#eef1e8;border-color:#65795a;box-shadow:inset 0 0 0 1px #65795a}
.config-main .included-option{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;align-items:center;padding:16px 20px}
.config-main .included-option .option-title{grid-column:1;grid-row:1}
.config-main .included-option .option-description{grid-column:1;grid-row:2;margin:4px 0 0;font-size:10px}
.config-main .included-option .option-choices{grid-column:2;grid-row:1 / span 2;display:flex}
.config-main .included-option .option-label{flex-direction:row;gap:8px;min-height:43px;padding:9px 12px;background:#f2f5ee;border:1px solid #dce3d6;box-shadow:none}
.config-main .included-option .option-label::after{display:none}
.config-main .included-option .swatch{width:21px;height:21px;flex:none}
.config-main .included-option .choice-name{max-width:110px;font-size:10px}
.config-main .included-option .choice-price{font-size:9px}
.config-main .model-grid{grid-template-columns:1fr 1fr;gap:13px}
.config-main .model-card{background:#fffefa}
.config-main .model-card img{aspect-ratio:1.5}
.config-main .model-card .model-info{padding:16px}
.config-main .model-card h4{font-size:25px}
.config-main .model-card p{font-size:10px}
.config-main .model-price{display:block;margin-top:16px}
.config-main .model-price strong{display:block;margin-top:8px}
.config-main .model-price small{font-size:9px}
.config-main .composition{background:#fffefa;border:1px solid #e0e4d9}
.config-main .config-note{background:#e8ede1;color:#61705c}
.dialog:has(.preview-enlarged){max-width:1120px}
.dialog img.preview-enlarged{width:100%;height:auto;object-fit:contain}
@media(min-width:1050px) and (min-height:1080px){.config-visual{position:sticky;top:107px}}
@media(max-width:1150px){.config-layout{gap:23px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.preview-moods button{flex-direction:column;text-align:center;gap:4px}.preview-moods img{width:100%;height:auto;aspect-ratio:1.7}.preview-moods span{padding-bottom:3px}.config-main .option-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.config-main .model-card .model-info{padding:13px}.config-main .model-card h4{font-size:23px}}
@media(max-width:850px) and (min-width:761px){.config-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.preview-toolbar{padding:10px;flex-wrap:wrap;gap:5px}.preview-toolbar>span{width:100%;text-align:left}.config-main .model-grid{grid-template-columns:1fr}.config-visual .recap-content{padding:20px}}
@media(max-width:760px){
  .config-layout{display:flex;flex-direction:column;gap:25px}
  .config-visual{display:contents;position:static}
  .config-preview{order:0;width:100%}
  .config-main{order:1;width:100%}
  .config-visual .recap{order:2;width:100%;margin-top:0;scroll-margin-top:155px}
  .config-toolbar{background:#f5f5ee}
  .config-main .option-choices{grid-template-columns:repeat(3,minmax(0,1fr))}
  .config-main .option-group{padding:20px}
  .config-main .model-grid{grid-template-columns:1fr 1fr}
  .config-main .model-card h4{font-size:23px}
  .preview-toolbar{padding:10px 12px}
  .preview-toolbar>span{font-size:9px}
  .preview-view-tabs button{font-size:10px;padding:7px 10px}
  .preview-moods{gap:7px;padding:11px 12px 0}
  .preview-moods button{flex-direction:row;text-align:left}
  .preview-moods img{width:39px;height:32px;aspect-ratio:auto}
  .preview-moods span{font-size:8px;padding:0}
  .preview-explanation{padding:11px 12px;font-size:9px}
  .config-visual .recap-rows{max-height:none}
  .config-visual .recap-total>strong{font-size:40px}
  .config-visual .recap-content{padding:24px}
  .config-visual .recap-content>.button{font-size:11px;min-height:48px}
}
@media(max-width:390px){.config-main .option-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-moods button{flex-direction:column;text-align:center}.preview-moods img{width:100%;height:auto;aspect-ratio:1.8}.preview-moods span{font-size:9px}.config-main .model-card h4{font-size:21px}}
