:root{--rose:#c7a2b1;--rose-light:#eadde2;--ink:#29262d;--muted:#746b74}body{background:#faf8f5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.catalog-hero{max-width:1440px;margin:auto;padding:80px 7%;display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.catalog-hero h1{font-size:clamp(48px,6vw,88px);line-height:1.02;letter-spacing:-.05em;margin:25px 0}.catalog-hero em,h2 em{font-family:Georgia,serif;font-weight:400}.catalog-hero p:not(.eyebrow){max-width:390px;color:var(--muted);line-height:1.7;margin-bottom:28px}.hero-catalog-art{background:var(--rose-light);border-radius:180px 180px 12px 12px;min-height:420px;display:flex;align-items:center;position:relative;padding:35px 20px 65px;overflow:hidden}.hero-catalog-art img{width:53%;object-fit:contain;mix-blend-mode:multiply}.hero-catalog-art img:first-child{transform:rotate(-9deg)}.hero-catalog-art img:nth-child(2){transform:rotate(9deg);margin-left:-6%}.hero-catalog-art span{position:absolute;bottom:26px;left:0;width:100%;text-align:center;font-size:11px;letter-spacing:.18em}.catalog-section{padding:65px 7%;max-width:1600px;margin:auto}.category-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:30px 0}.filter,.pill-options span,.view-tabs button{border:1px solid #d9d1d5;background:transparent;border-radius:4px;padding:10px 16px;font-size:13px}.filter.active{background:var(--ink);color:white;border-color:var(--ink)}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 22px}.catalog-card{min-width:0}.card-art{position:relative;width:100%;height:270px;border:0;background:var(--rose-light);border-radius:10px;display:flex;align-items:center;justify-content:center;padding:28px 18px 45px}.card-art img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .3s}.card-art:hover img{transform:scale(1.04)}.card-art span{position:absolute;bottom:14px;left:18px;font-size:9px;letter-spacing:.12em;color:#69535f}.card-copy{padding:18px 3px}.card-copy .eyebrow{font-size:9px;margin-bottom:7px}.card-copy h3{font-size:20px;margin:0 0 9px}.card-copy>p:not(.eyebrow){font-size:12px;line-height:1.5;color:var(--muted);min-height:18px}.mini-palette{display:flex;align-items:center;gap:4px;margin:16px 0}.mini-palette span{width:16px;height:16px;border:1px solid #aaa5}.mini-palette small{font-size:10px;margin-left:4px}.card-link{background:none;border:0;border-bottom:1px solid #b3a6af;padding:4px 0;font-size:13px}.catalog-process{padding:70px 7%;background:#ede5e8}.catalog-process h2{font-size:48px;line-height:1.1}.catalog-process>div{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:40px}.catalog-process b{font-size:12px;letter-spacing:.1em;color:#876c7b}.catalog-process h3{font-size:22px;margin:15px 0}.catalog-process p{line-height:1.7;color:var(--muted)}.product-dialog{width:min(1020px,calc(100% - 24px));max-width:none;padding:25px 32px;border:0;border-radius:12px;max-height:92dvh;overflow:auto}.product-dialog::backdrop{background:#211a26aa}.dialog-header>button{border:0;background:#eee8ec;width:36px;height:36px;border-radius:50%;font-size:24px;flex-shrink:0}.product-layout{display:grid;grid-template-columns:1fr 1fr;gap:35px}.product-image{height:460px;background:var(--rose-light);border-radius:8px;padding:30px}.product-image img{height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply}.view-tabs{display:flex;gap:8px;margin:12px 0}.view-tabs button[aria-pressed=true]{background:var(--ink);color:white}.product-layout h2{font-size:34px;line-height:1.1;margin:12px 0 24px}.product-layout fieldset{padding:0;border:0;margin:22px 0}.product-layout legend{font-weight:500;font-size:14px;margin-bottom:12px}.product-layout legend small{font-weight:400;color:var(--muted);margin-left:10px;font-size:11px}.pill-options{display:flex;gap:7px;flex-wrap:wrap}.pill-options label,.square-option{position:relative;cursor:pointer}.pill-options input,.square-option input{position:absolute;opacity:0;width:1px;height:1px}.pill-options span{display:block;padding:9px 12px;font-size:12px}.pill-options input:checked+span{background:var(--ink);color:white}.pill-options input:focus-visible+span,.square-option input:focus-visible+span{outline:3px solid #437bb5;outline-offset:3px}.square-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(37px,1fr));gap:9px;max-width:440px}.square-option{display:flex;flex-direction:column;align-items:center}.square-option>span{width:32px;height:32px;display:grid;place-items:center;background:var(--swatch);border:1px solid #302d3340;box-sizing:border-box}.square-option i{display:none;font-style:normal;color:white;text-shadow:0 1px 3px black}.square-option input:checked+span{outline:2px solid var(--ink);outline-offset:3px}.square-option input:checked+span i{display:block}.square-option small{font-size:8px;margin-top:5px;color:#6b6269}.measurements{font-size:12px;background:#f0ecee;padding:10px;border-radius:4px;line-height:1.6}.product-layout #quantity{width:85px;padding:10px;border:1px solid #d3cbd1;border-radius:4px}.design-pending{background:#f2edf0;font-size:12px;padding:12px;line-height:1.6}.product-layout .button{width:100%}.cart-photo{width:90px;height:120px;object-fit:contain;background:var(--rose-light);border-radius:4px}.cart-swatch{display:inline-block;width:13px;height:13px;margin-right:8px;border:1px solid #aaa}.cart-controls{display:flex;align-items:center;gap:12px}.cart-controls button{border:1px solid #ddd;background:#f5f0f3;border-radius:4px;padding:6px 10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.load-error{padding:80px}.admin-shell{max-width:1220px;padding:45px 6%;margin:auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;gap:20px}.admin-login{max-width:440px;background:white;padding:32px;border:1px solid #ded5da;border-radius:12px;margin:70px auto}.admin-login label{display:block;margin:22px 0 8px}.admin-login input{width:100%;padding:12px;border:1px solid #d0c8cd}.admin-login .button{width:100%;margin-top:22px}.admin-layout{display:grid;grid-template-columns:250px 1fr;gap:24px}.admin-list{display:flex;flex-direction:column;gap:5px}.admin-list button{border:1px solid #ded7dc;background:white;text-align:left;padding:13px;border-radius:6px;font-size:12px}.admin-list button.active{background:var(--ink);color:white}.admin-editor{background:white;border:1px solid #ded7dc;border-radius:10px;padding:25px;min-width:0}.admin-editor h2{font-size:28px}.admin-top{display:flex;gap:24px;align-items:center}.admin-top img{width:100px;height:120px;object-fit:contain;background:var(--rose-light)}.admin-editor fieldset{border:0;padding:0;margin:24px 0}.admin-editor legend{font-weight:600;margin:0 0 12px}.admin-editor input[type=text],.admin-editor select{border:1px solid #d5cbd1;border-radius:4px;padding:9px;max-width:100%}.admin-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-color{display:flex;gap:8px;align-items:center;padding:8px;border:1px solid #e9e0e5;border-radius:4px}.admin-color input[type=color]{width:36px;height:32px;border:0;flex-shrink:0}.admin-color input[type=text]{min-width:0;width:100%;font-size:11px}.admin-color.disabled{opacity:.5}.admin-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px}.admin-status{font-size:13px;line-height:1.6}.admin-notice{background:#ede5e8;padding:15px;margin-bottom:24px;font-size:13px;line-height:1.6}.admin-add{display:flex;gap:8px;flex-wrap:wrap}.admin-add input[type=color]{height:38px}.admin-muted{color:#756c73;font-size:12px;line-height:1.6}@media(max-width:1000px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-hero{padding:55px 6%}.hero-catalog-art{min-height:350px}.admin-layout{grid-template-columns:200px 1fr}}@media(max-width:700px){.catalog-hero{grid-template-columns:1fr;padding:35px 6%;gap:30px}.hero-catalog-art{min-height:300px}.catalog-hero h1{font-size:56px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.catalog-section{padding:40px 5%}.card-art{height:220px;padding:18px 8px 35px}.card-copy h3{font-size:17px}.card-copy .eyebrow{font-size:8px}.mini-palette{gap:3px;flex-wrap:wrap}.mini-palette span{width:13px;height:13px}.catalog-process>div{grid-template-columns:1fr;gap:20px}.catalog-process h2{font-size:36px}.product-layout{grid-template-columns:1fr;gap:15px}.product-dialog{padding:20px}.product-image{height:310px}.product-layout h2{font-size:30px}.site-header nav{display:none}.admin-layout{grid-template-columns:1fr}.admin-list{display:flex;flex-direction:row;overflow:auto;padding-bottom:10px}.admin-list button{min-width:150px}.admin-color-grid{grid-template-columns:1fr}.admin-header{flex-wrap:wrap}.admin-shell{padding:30px 5%}.admin-editor{padding:18px}.admin-top{gap:15px}.admin-editor h2{font-size:22px}.admin-actions .button{width:100%}}
.product-layout>*{min-width:0}.product-layout form{min-width:0}.product-image img,.card-art img,.hero-catalog-art img{mix-blend-mode:normal;display:block}.product-layout fieldset{min-width:0}.square-palette>p{grid-column:1/-1}.product-dialog .form-note{text-align:left}

.design-dialog,.design-preview{border:0;border-radius:12px;padding:24px;width:min(1000px,calc(100% - 24px));max-width:none;max-height:92dvh;overflow:auto;color:var(--ink);background:#faf8f5}.design-dialog::backdrop,.design-preview::backdrop{background:#211a26aa}.design-tools{display:grid;grid-template-columns:2fr 1fr;gap:16px}.design-tools label{font-size:13px}.design-tools input,.design-tools select{display:block;width:100%;margin:8px 0;padding:12px;border:1px solid #d9d1d5;border-radius:4px;background:white;box-sizing:border-box}.design-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.design-card{min-width:0;text-align:left;border:1px solid #d9d1d5;border-radius:8px;padding:10px;background:white;color:var(--ink)}.design-card:hover,.design-card:focus-visible{border-color:var(--ink);outline:2px solid var(--rose)}.design-card img{width:100%;height:160px;object-fit:contain;background:white;display:block;margin-bottom:10px}.design-card strong,.design-card small{display:block;overflow-wrap:anywhere}.design-card strong{font-size:13px;line-height:1.5}.design-card small{margin-top:6px;color:var(--muted)}.design-preview{width:min(640px,calc(100% - 24px))}.design-preview>img{display:block;width:100%;height:55dvh;object-fit:contain;background:white;margin:20px 0}.design-preview>.button{width:100%}.selected-design{display:flex;align-items:center;gap:14px;padding:12px;background:#ede5e8;margin-top:12px;border-radius:6px;font-size:13px}.selected-design>img{width:90px;height:90px;object-fit:contain;background:white}.selected-design p{margin:5px 0}.cart-design{display:flex;align-items:center;gap:8px}.cart-design img{width:50px;height:50px;object-fit:contain;background:white}.design-dialog>p,#design-count{font-size:13px;color:var(--muted)}@media(max-width:700px){.design-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.design-tools{grid-template-columns:1fr;gap:0}.design-dialog,.design-preview{padding:18px}.design-card img{height:140px}.design-dialog h2,.design-preview h2{font-size:24px}.selected-design strong{overflow-wrap:anywhere}}

.design-technique-note{background:#ede5e8;border-left:3px solid #876c7b;border-radius:4px;padding:12px 14px;font-size:13px;line-height:1.6;color:var(--ink)!important}.design-technique-note strong{font-weight:700}

/* Shared product photographs keep their own proportions in every surface. */
.card-art{text-decoration:none;color:inherit}.photo-pending{display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;color:var(--muted);font-size:12px;line-height:1.5;background:var(--rose-light);border-radius:6px}.card-art>.photo-pending{position:static;font-size:12px;letter-spacing:0}.cart-photo{flex-shrink:0}.admin-photo{width:100px;height:120px;flex-shrink:0}.view-tabs{flex-wrap:wrap}.card-copy>.form-note{text-align:left;min-height:32px}

.card-art>span:last-child{right:12px;line-height:1.4;overflow-wrap:anywhere}.product-image>.photo-pending{height:100%}

/* The current studio selection is the main cart; older choices stay explicitly separate. */
.catalog-cart-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex-shrink:0}
.catalog-cart-actions>.cart-button{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;white-space:nowrap}
.legacy-cart-link{border:0;padding:0;background:none;color:var(--muted);font:inherit;font-size:11px;text-decoration:underline;text-underline-offset:3px}
.legacy-cart-link[hidden]{display:none}
.legacy-cart-link span{margin-left:4px}
.legacy-cart-notice{line-height:1.7}
@media(max-width:700px){.catalog-cart-actions>.cart-button{font-size:12px;padding:9px 10px}.catalog-cart-actions{gap:6px}.legacy-cart-link{font-size:10px}}

/* A product opens its editor over the catalogue, preserving filters and position. */
.product-editor-dialog{width:100vw;height:100dvh;margin:0;max-width:none;max-height:none;padding:0;border:0;border-radius:0;background:#f7f5f2;overflow:hidden;color:var(--ink);box-shadow:0 24px 100px #20182155}
.product-editor-dialog::backdrop{background:#211a26a8;backdrop-filter:blur(5px)}
.product-editor-dialog>.sisu-editor{height:100%;min-height:0;overflow:hidden;overscroll-behavior:contain}
.catalog-editor-loading{height:100%;min-height:360px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:64px 28px;text-align:center;background:#faf8f5;box-sizing:border-box}
.catalog-editor-loading h2{font-size:clamp(28px,4vw,42px);letter-spacing:-.04em;line-height:1.15;margin:0}
.catalog-editor-loading>p:not(.eyebrow){max-width:420px;color:var(--muted);line-height:1.6;margin:0 0 12px}
.catalog-editor-close{position:absolute;top:20px;right:20px;width:44px;height:44px;display:grid;place-items:center;border:1px solid #ded7dc;border-radius:50%;background:white;color:var(--ink);font-size:28px;line-height:1}
.catalog-editor-spinner{width:26px;height:26px;border:2px solid #dfd5db;border-top-color:#876c7b;border-radius:50%;animation:catalog-editor-spin .8s linear infinite}
@keyframes catalog-editor-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){.product-editor-dialog{width:100vw;height:100dvh;margin:0;border:0;border-radius:0}.catalog-editor-close{top:16px;right:16px}}
@media(prefers-reduced-motion:reduce){.catalog-editor-spinner{animation:none;border-top-color:#876c7b}}
