.bundle-options{display:flex;flex-direction:column;gap:8px;margin-top:12px}.bundle-option{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:10px 0;font-size:12px}.bundle-option input{accent-color:var(--brown)}.bundle-option strong{font-size:11px;font-weight:400}.configurator-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:24px;padding:14px;background:#f3ead6;border:1px solid var(--line);font-size:12px}.configurator-actions .button{margin:0;padding:12px 16px}@media(max-width:700px){.configurator-actions .button{font-size:10px;padding:11px 12px}}
.three-controls{position:absolute;right:18px;bottom:18px;z-index:3;display:flex;gap:6px}.three-controls button{border:1px solid rgba(54,36,29,.35);background:rgba(250,243,224,.9);color:var(--brown);padding:7px 10px;font-size:11px}.three-controls button:hover{background:var(--brown);color:var(--ivory)}
.photo-upload-form{display:flex;flex-direction:column;gap:8px;max-width:480px;margin:35px auto 0;text-align:left}.photo-upload-form label{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.project-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:900px;margin:45px auto 0;text-align:left}.project-photos figure{margin:0}.project-photos img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.project-photos figcaption{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px}@media(max-width:700px){.project-photos{grid-template-columns:repeat(2,1fr)}}
.project-workspace{padding-top:70px}.project-header{display:flex;justify-content:space-between;gap:40px;align-items:end}.project-header h1{font:500 clamp(55px,7vw,95px)/.85 'Cormorant Garamond',serif;margin:15px 0}.photo-editor{margin-top:55px}.editor-toolbar{display:flex;align-items:center;gap:20px;justify-content:space-between;border-bottom:1px solid var(--line)}.editor-toolbar .button{margin:0}.project-photos{max-width:none;grid-template-columns:repeat(3,1fr);gap:25px}.photo-card{border:1px solid var(--line);padding:12px;background:#f5ecd8}.photo-frame{aspect-ratio:4/3;overflow:hidden;background:#ddd0b8}.photo-frame img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.photo-card>p{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-card label{display:grid;grid-template-columns:100px 1fr;align-items:center;font-size:10px;margin-top:6px}.photo-actions{display:flex;gap:5px}.photo-actions button{border:1px solid var(--line);background:transparent;padding:5px 10px}@media(max-width:700px){.project-header,.editor-toolbar{align-items:flex-start;flex-direction:column}.project-photos{grid-template-columns:1fr}}
.print-summary{display:grid;grid-template-columns:1fr 1fr minmax(260px,1.4fr);gap:18px;align-items:end;padding:20px;margin-bottom:22px;border:1px solid var(--line);background:#fffaf0}.print-summary>div{display:grid;gap:4px}.print-summary span,.print-summary label{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.print-summary strong{font:500 30px/1 'Cormorant Garamond',serif}.print-summary label{display:grid;gap:7px}.print-summary select,.print-format-label select{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--line);background:#fffdf8;color:inherit}.print-summary>small{grid-column:1/-1}.photo-card .print-format-label{grid-template-columns:100px 1fr;margin:12px 0}@media(max-width:700px){.print-summary{grid-template-columns:1fr}.print-summary>small{grid-column:auto}.photo-card .print-format-label{grid-template-columns:1fr}}
.spread-preview{margin-top:100px}.spread-preview>header{text-align:center;max-width:620px;margin:0 auto 45px}.spread-preview h2{font:500 clamp(48px,6vw,80px)/.9 'Cormorant Garamond',serif;margin:14px 0}.spread-list{display:grid;gap:42px;max-width:1050px;margin:auto}.album-spread{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:28px;background:#b9aa8f;box-shadow:0 20px 50px rgba(54,36,29,.15)}.album-page{aspect-ratio:4/3;background:#faf6ea;overflow:hidden;display:grid;place-items:center;text-align:center;color:#9a8775}.album-page:first-of-type{box-shadow:inset -16px 0 22px -24px #36241d}.album-page:last-of-type{box-shadow:inset 16px 0 22px -24px #36241d}.album-page img{width:100%;height:100%;object-fit:cover}.spread-number{position:absolute;top:7px;left:28px;font-size:9px;letter-spacing:.1em;text-transform:uppercase}@media(max-width:700px){.album-spread{padding:18px 12px}.spread-number{left:12px}}
.project-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.project-header-actions form{margin:0}.project-library{padding-top:90px}.project-library-header{max-width:720px}.project-library-header h1{font:500 clamp(60px,8vw,110px)/.78 'Cormorant Garamond',serif;margin:18px 0 28px}.project-library-meta{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:45px 0 24px}.text-button,.project-tile-actions button{border:0;background:none;padding:0;color:inherit;text-decoration:underline;cursor:pointer}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-tile{border:1px solid var(--line);background:#fffaf0}.project-tile-preview{display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;background:#d9ccb5;color:inherit;text-decoration:none}.project-tile-preview img{width:100%;height:100%;object-fit:cover}.project-tile>div{padding:18px}.project-tile h2{font:500 31px/1 'Cormorant Garamond',serif;margin:7px 0}.project-tile h2 a{color:inherit;text-decoration:none}.project-tile-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line)}.project-tile-actions form{margin:0}.project-access-form{max-width:520px;margin:55px auto 0;padding:34px;border:1px solid var(--line);background:#fffaf0;display:grid;gap:12px}.project-access-form h2{font:500 42px/1 'Cormorant Garamond',serif;margin:0}.project-access-form input{min-height:48px;padding:10px 12px;border:1px solid var(--line);background:#fff}.project-access-form .button{margin-top:8px}@media(max-width:800px){.project-header-actions{justify-content:flex-start}.project-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.project-grid{grid-template-columns:1fr}.project-library-meta,.project-header-actions{align-items:flex-start;flex-direction:column}}

/* Album configurator — editorial split */
.product-configurator{background:#f7f1e5}
.configurator-shell{max-width:none!important;padding:0!important;border:0!important;gap:0!important;display:grid!important;grid-template-columns:minmax(0,1.62fr) minmax(390px,.88fr);grid-template-rows:max(640px,calc(100vh - 168px)) 86px;align-items:stretch}
.configurator-preview{position:relative;height:100%;min-height:640px;background-color:#eee6d8!important;background-image:url('../assets/configurator/album-studio-background.png')!important;background-size:cover!important;background-position:center!important;border-right:1px solid var(--line);display:block!important;overflow:hidden;touch-action:none}
.preview-intro{position:absolute;z-index:2;top:7%;left:5.5%;max-width:360px;pointer-events:none}
.preview-intro .section-index{margin:0 0 20px;color:#7d6b56}
.preview-intro h1{font:500 clamp(54px,5.1vw,84px)/.82 'Cormorant Garamond',serif;letter-spacing:-.045em;margin:0 0 22px}
.preview-intro h1 em{font-weight:400}
.preview-intro>p:last-child{max-width:220px;margin:0;font:21px/1.2 'Cormorant Garamond',serif;color:#6f5d52}
.configurator-preview .three-stage{position:absolute;inset:8% 0 4% 22%;width:78%;height:88%;z-index:1}
.configurator-preview .three-stage:after{display:none}
.three-controls{right:5%;bottom:4%;gap:0;border:1px solid var(--line);background:rgba(247,241,229,.92)}
.three-controls button{border:0!important;border-right:1px solid var(--line)!important;background:transparent!important;padding:10px 12px!important;color:var(--brown)!important;font-size:9px!important;text-transform:uppercase;letter-spacing:.07em}
.three-controls button:last-child{border-right:0!important}.three-controls button:hover{background:var(--brown)!important;color:var(--ivory)!important}
.preview-view-switch{position:absolute;left:5.5%;bottom:5%;z-index:2;display:flex;flex-direction:column;gap:4px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#766559}
.preview-view-switch span:first-child{font-weight:500;color:var(--brown)}
.product-info{padding:0!important;background:#fbf7ef;min-width:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c9bba8 transparent}
.configurator-heading{padding:0 42px 38px}
.configurator-heading .section-index{margin:0 0 10px;color:var(--gold)}
.configurator-heading h2{font:500 47px/.95 'Cormorant Garamond',serif;margin:0 0 14px}
.configurator-heading>p:last-child{font-size:12px;line-height:1.5;color:#725f54;margin:0;max-width:400px}
.config-step{border-top:1px solid var(--line)}
.config-step:last-child{border-bottom:1px solid var(--line)}
.config-step summary{list-style:none;display:flex;align-items:center;gap:18px;padding:21px 42px;cursor:pointer;font:500 26px/1 'Cormorant Garamond',serif}
.config-step summary::-webkit-details-marker{display:none}
.config-step summary>span:last-child{display:flex;flex-direction:column;gap:4px}
.config-step summary small{font:500 8px/1 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.15em;color:#927d6d}
.step-number{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e8dfcf;color:#6f5f4e;font:500 24px/1 'Cormorant Garamond',serif;flex:0 0 auto}
.config-step[open] .step-number{background:#666b4d;color:#fff}
.step-content{padding:2px 42px 34px 102px}
.step-lead{margin:0 0 24px;max-width:330px;font:16px/1.25 'Cormorant Garamond',serif;color:#715e53}
.step-content fieldset{margin:0 0 26px!important}
.step-content>label{margin-top:17px;display:block}
.step-content textarea{width:100%;min-height:72px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0;resize:vertical;color:var(--brown)}
.configuration legend,.configuration label:not(.bundle-option){font-size:9px!important;letter-spacing:.12em!important}
.swatches{display:flex;flex-wrap:wrap;gap:8px!important;margin-top:10px!important}
.swatch{min-height:40px;display:flex!important;align-items:center;gap:8px;border-color:rgba(54,36,29,.16)!important;padding:9px 11px!important;background:#fbf7ef;font-size:10px!important;line-height:1.2}
.swatch small{font-size:9px;white-space:nowrap}.swatches input:focus-visible+.swatch{outline:2px solid var(--gold);outline-offset:2px}
.swatches input:checked+.swatch{border-color:var(--brown)!important;box-shadow:inset 0 -2px var(--swatch)!important}
.color-swatches .swatch{flex-direction:column;padding:6px 7px!important;min-width:62px}
.color-swatches .swatch i{display:block;width:48px;height:38px;background:var(--swatch);border:1px solid rgba(54,36,29,.12)}
.step-next{border:0;border-bottom:1px solid var(--brown);background:transparent;padding:0 0 3px;font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:var(--brown)}
.bundle-options{gap:0}.bundle-option{padding:12px 0;font-size:10px}.bundle-option strong{font-size:10px}
.configurator-actions{grid-column:1/-1;position:sticky;bottom:0;z-index:4;display:grid!important;grid-template-columns:minmax(230px,1fr) auto auto auto;align-items:center;gap:16px!important;margin:0!important;padding:18px 2.8vw!important;background:#f7f1e5!important;border:0!important;border-top:1px solid var(--line)!important}
.selection-summary,.total-summary{display:flex;flex-direction:column}.selection-summary>span{font:500 21px/1 'Cormorant Garamond',serif}.selection-summary small{margin-top:4px}.total-summary{padding:0 34px;border-right:1px solid var(--line);text-align:right}.total-summary>span{font-size:9px;text-transform:uppercase;letter-spacing:.12em}.total-summary strong{font:500 26px/1.1 'Cormorant Garamond',serif;white-space:nowrap}
.configurator-actions .button{height:48px;margin:0!important;justify-content:center;padding:0 23px!important;white-space:nowrap}
@media(max-width:1050px){.configurator-shell{grid-template-columns:minmax(0,1.25fr) minmax(370px,.9fr)}.preview-intro{top:5%}.preview-intro h1{font-size:58px}.configurator-preview .three-stage{inset:14% 0 4% 10%;width:90%;height:82%}.configurator-actions{grid-template-columns:1fr auto auto}.selection-summary{display:none}.step-content{padding-left:42px}}
@media(max-width:760px){.configurator-shell{display:block!important}.configurator-preview{position:relative;height:570px;min-height:570px;border-right:0;border-bottom:1px solid var(--line)}.preview-intro{top:28px;left:6%;max-width:210px}.preview-intro h1{font-size:48px}.preview-intro>p:last-child{display:none}.configurator-preview .three-stage{inset:13% 0 7% 0;width:100%;height:80%}.preview-view-switch{left:6%;bottom:22px}.three-controls{right:6%;bottom:18px}.three-controls button{padding:9px 8px!important;font-size:8px!important}.product-info{padding-top:38px!important}.configurator-heading,.config-step summary{padding-left:6%;padding-right:6%}.step-content{padding-left:6%;padding-right:6%}.configurator-actions{position:sticky;bottom:0;grid-template-columns:1fr 1fr;padding:12px 4%!important}.total-summary{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;text-align:left;border-right:0;padding:0}.configurator-actions .button{padding:0 10px!important;font-size:9px!important}}
