body:has(dialog[open]){overflow:hidden}
dialog{padding:0;border:0;background:var(--ivory);color:var(--ink);max-width:calc(100vw - 40px);max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 25px 100px #191b1740}
dialog::backdrop{background:#221c15aa;backdrop-filter:blur(11px)}
dialog[open]{animation:dialog-enter .6s var(--ease)}
.dialog-close{position:absolute;right:19px;top:18px;display:grid;place-items:center;width:35px;height:35px;border:1px solid #bdb3a566;border-radius:50%;background:#f9f6efd9;z-index:5;transition:transform .4s,background .4s}
.dialog-close .icon{width:17px;height:17px}
.dialog-close:hover{background:#fff;transform:rotate(90deg)}
.edit-dialog[open]{display:grid;grid-template-columns:1.1fr 1fr;width:1020px}
.edit-dialog-image{position:relative;display:flex;align-items:center;min-height:685px;background:#eee5d6;overflow:hidden}
.edit-dialog-image>img{width:100%;object-fit:contain;height:auto}
.edit-dialog-image>span{position:absolute;left:25px;bottom:22px;font-size:11px;letter-spacing:.17em;color:#836641}
.edit-dialog-copy{padding:62px 40px 35px}
.edit-dialog-copy>.eyebrow{font-size:11px;margin-bottom:17px;color:#a18253}
.edit-dialog h2{font-size:55px;line-height:1}
.edit-dialog-copy>p:not(.eyebrow):not(.detail-note){font-size:16px;line-height:1.9;color:var(--muted);margin:22px 0 24px}
.dialog-price{display:flex;align-items:center;gap:15px;margin:0 0 19px}
.dialog-price>span{font:35px/1 var(--serif)}
.dialog-price>small{font-size:13px;color:#958062}
.detail-line{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}
.detail-line>span{color:var(--muted);white-space:nowrap}
.detail-line>strong{font-weight:500;text-align:right}
.field-label{display:block;font-size:14px;font-weight:500;line-height:1.7;margin:23px 0 10px}
.field-label>span{font-size:13px;color:var(--muted);font-weight:400;margin-left:7px}
.quantity-control{display:flex;align-items:center;border:1px solid var(--line);width:140px;height:43px}
.quantity-control button{width:42px;height:41px;font-size:19px}
.quantity-control input{appearance:textfield;-moz-appearance:textfield;width:54px;min-width:0;text-align:center;background:transparent;border:0;font-size:16px;padding:0}
.quantity-control input::-webkit-inner-spin-button,.quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.detail-note{font-size:13px;line-height:1.9;color:var(--muted);margin-top:19px}
.detail-note strong{color:#9a713d;font-weight:500}
.edit-dialog-copy>.button{margin-top:23px;width:100%;font-size:14px}
.edit-personalise{display:flex;width:max-content;margin:13px auto 0;font-size:14px}
.concierge-dialog[open]{display:grid;grid-template-columns:37% 63%;width:980px}
.concierge-aside{background:linear-gradient(#322619f2,#382a1ad9),url(./assets/evening.jpg)center/cover;display:flex;flex-direction:column;justify-content:space-between;color:#f5eee0;padding:40px 34px;min-height:740px}
.concierge-aside>.wordmark{align-items:flex-start;width:max-content}
.concierge-aside .wordmark small{font-size:9px}
.concierge-aside .eyebrow{font-size:11px;color:#c8bba2;margin-bottom:17px}
.concierge-aside h2{font-size:46px;line-height:1.05}
.concierge-aside h2 em{color:#d6ba90}
.concierge-aside>p{font-size:16px;line-height:1.9;color:#c5b393}
.concierge-main{padding:43px 45px 29px;min-width:0}
.step-counter{display:flex;align-items:center;gap:16px;max-width:160px;margin-bottom:29px;font-size:11px;color:var(--muted);letter-spacing:.1em}
.step-track{height:1px;flex:1;background:var(--line)}
.step-track>span{height:1px;width:33.333%;display:block;background:var(--accent);transition:width .5s}
.concierge-step>.eyebrow{font-size:11px;color:#a88d62;margin-bottom:13px}
.concierge-step h2{font-size:61px;line-height:.96}
.step-description{font-size:16px;line-height:1.9;color:var(--muted);margin-top:18px}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:0;margin:30px 0 0;border:0}
.choice{cursor:pointer}
.choice input,.style-choices input{position:absolute;opacity:0;width:1px;height:1px}
.choice>span{padding:22px 16px;min-height:110px;border:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;flex-direction:column;gap:10px;font-size:14px;transition:border-color .3s,background .3s,transform .4s}
.choice:hover>span{transform:translateY(-3px)}
.choice input:checked+span{border-color:var(--accent);background:#e2d4be60}
.choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}
.choice>span>.icon{height:23px;width:23px;color:#aa916a}
.concierge-actions{display:flex;align-items:center;justify-content:flex-end;gap:25px;margin-top:30px}
.concierge-actions .button{font-size:14px;gap:24px;min-height:52px;padding:15px 20px}
.concierge-actions>.text-link{font-size:14px;margin-right:auto}
.concierge-main select,.concierge-main textarea{border:1px solid var(--line);background:#fbf8f2;border-radius:0;padding:12px 14px;font-size:16px;width:100%;line-height:1.6}
.concierge-main textarea{resize:vertical;min-height:65px}
.concierge-main textarea::placeholder{color:#a29580}
.style-choices{padding:0;margin:16px 0 0;border:0}
.style-choices .field-label{margin-top:0}
.style-choices label{cursor:pointer;display:block}
.style-choices label>span{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:14px;color:var(--muted)}
.style-choices input:checked+span{color:var(--ink)}
.style-choices input:checked+span::after{content:"✓";font-size:11px;margin-left:auto;color:var(--accent)}
.style-choices input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}
.swatch{display:inline-block;width:15px;height:15px;border-radius:50%;border:1px solid #0001}
.swatch-ivory{background:#e3d7c3}
.swatch-blush{background:#dbb7a6}
.swatch-amber{background:#916342}
.concierge-step[data-step="2"] h2{font-size:44px}
.concierge-step[data-step="2"] .field-label{margin-top:13px;margin-bottom:8px}
.gift-summary{margin:24px 0 0;font-size:14px}
.gift-summary>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:9px 0}
.gift-summary dt{color:var(--muted)}
.gift-summary dd{margin:0;text-align:right}
.message-preview{margin-top:22px;background:#e6dbc955;padding:16px 18px;border-left:1px solid #b59e7e}
.message-preview>.eyebrow{font-size:11px;color:var(--muted);margin-bottom:8px}
.message-preview>p:last-child{font-size:14px;line-height:1.8;overflow-wrap:anywhere;white-space:pre-line;max-height:115px;overflow-y:auto}
.copy-message{font-size:14px;margin-top:15px}
.copy-message:after{opacity:.45}
.concierge-step[data-step="3"] h2{font-size:48px}
@keyframes dialog-enter{from{opacity:0;transform:translateY(35px) scale(.97)}to{opacity:1;transform:none}}
@media (max-width:1100px){.concierge-main{padding:42px 35px 30px}
.edit-dialog-copy{padding:60px 30px 30px}
.edit-dialog h2{font-size:49px}}
@media (max-width:760px){dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
.edit-dialog[open]{grid-template-columns:1fr;width:480px}
.edit-dialog-image{min-height:0;display:block;height:250px}
.edit-dialog-image>img{width:100%;height:250px;object-fit:contain}
.edit-dialog-image>span{left:19px;bottom:11px;font-size:11px}
.edit-dialog-copy{padding:30px 26px}
.edit-dialog h2{font-size:48px}
.edit-dialog-copy>.eyebrow{font-size:11px;margin-bottom:15px}
.edit-dialog-copy>p:not(.eyebrow):not(.detail-note){font-size:16px;margin:19px 0 20px}
.detail-line{font-size:13px}
.field-label{font-size:14px;margin-top:19px}
.dialog-price>span{font-size:31px}
.dialog-price>small{font-size:13px}
.detail-note{font-size:13px;margin-top:16px}
.edit-dialog-copy>.button{font-size:14px;min-height:52px;margin-top:20px}
.concierge-dialog[open]{grid-template-columns:1fr;width:480px}
.concierge-aside{display:none}
.concierge-main{padding:33px 26px 29px}
.step-counter{margin-bottom:26px;max-width:140px;font-size:11px}
.concierge-step h2{font-size:57px}
.concierge-step>.eyebrow{font-size:11px}
.step-description{font-size:16px;margin-top:17px}
.choice-grid{gap:11px;margin-top:26px}
.choice>span{font-size:14px;min-height:99px;padding:18px 15px}
.concierge-actions{margin-top:27px;gap:20px}
.concierge-actions .button{font-size:14px;min-height:51px;padding:15px 17px;gap:16px}
.concierge-actions>.text-link{font-size:14px}
.concierge-step[data-step="2"] h2{font-size:44px}
.concierge-step[data-step="3"] h2{font-size:47px}
.concierge-main select,.concierge-main textarea{font-size:16px}
.style-choices label>span{font-size:14px}
.gift-summary{font-size:14px}
.message-preview{padding:14px 15px}
.message-preview>p:last-child{font-size:14px}
.dialog-close{height:32px;width:32px;right:14px;top:14px}}
@media (max-width:370px){.concierge-main{padding-inline:22px}
.concierge-actions .button{font-size:14px;gap:12px}}
.detail-line{align-items:flex-start;line-height:1.65}
.detail-line>span{white-space:normal}
@media (max-width:760px){.concierge-main{padding-inline:24px}
.concierge-actions{flex-wrap:wrap;gap:17px}
.concierge-actions .button{font-size:13px;padding:15px 17px;gap:12px}
.concierge-actions>.text-link{font-size:14px}
.choice>span{font-size:14px;line-height:1.55}
.detail-line{gap:15px}
.edit-dialog-copy>p:not(.eyebrow):not(.detail-note){font-size:16px;line-height:1.75}
.detail-note{font-size:13px;line-height:1.8}
.message-preview>p:last-child{font-size:13px;max-height:170px}}
.edit-dialog[open]{width:1140px;grid-template-columns:1.08fr 1fr;align-items:start}
.edit-dialog-gallery{position:sticky;top:0;align-self:start;min-width:0;padding:46px 28px 26px;background:#eee5d6}
.edit-dialog-gallery .edit-dialog-image{position:relative;min-height:0;height:min(54vh,530px);width:100%;display:block;background:transparent;overflow:hidden}
.edit-dialog-gallery .edit-dialog-image>img{display:block;width:100%;height:100%;object-fit:contain}
.gallery-controls{display:flex;align-items:stretch;gap:26px;border-bottom:1px solid #c7b79b;margin-top:25px}
.gallery-controls>button{position:relative;flex:1;text-align:left;padding:16px 0;display:flex;align-items:center;gap:11px;font-size:13px;line-height:1.5;color:#78664d}
.gallery-controls>button>span{font:italic 17px var(--serif);color:#93754b}
.gallery-controls>button:after{content:"";height:2px;background:#826236;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.gallery-controls>button[aria-pressed="true"]{color:#34281b}
.gallery-controls>button[aria-pressed="true"]:after{transform:scaleX(1)}
.gallery-caption{font-size:12px;line-height:1.8;color:#78664d;margin:17px 0 0;min-height:44px}
.edit-dialog-copy{padding-top:53px}
.collection-details{margin:0 0 23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.collection-details summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;padding:15px 0;color:#51422e}
.collection-details summary::-webkit-details-marker{display:none}
.collection-details summary>span{font:24px var(--serif);transition:transform .3s}
.collection-details[open] summary>span{transform:rotate(45deg)}
.collection-details ul{padding:0 0 0 18px;margin:0 0 15px;color:#6d5d47;font-size:14px;line-height:1.8}
.collection-details li{padding:3px 0 3px 5px}
.collection-details li::marker{color:#b39462}
.collection-details>p{font-size:12px;line-height:1.8;color:#817058;margin:0 0 20px}
.edit-dialog-copy>.button{gap:19px}
@media (max-width:1100px){.edit-dialog-gallery{padding:42px 22px 24px}
.gallery-controls{gap:18px}
.gallery-controls>button{font-size:12px;gap:8px}
.concierge-actions #concierge-send{gap:12px}}
@media (max-width:760px){.edit-dialog[open]{grid-template-columns:1fr;width:480px}
.edit-dialog-gallery{position:relative;top:auto;padding:44px 23px 21px}
.edit-dialog-gallery .edit-dialog-image{height:min(82vw,380px);min-height:0}
.gallery-controls{margin-top:13px;gap:18px}
.gallery-controls>button{font-size:12px;padding:15px 0;gap:8px}
.gallery-caption{font-size:12px;min-height:0;margin-top:15px}
.edit-dialog-copy{padding-top:28px}
.collection-details summary,.collection-details ul{font-size:14px}
.collection-details>p{font-size:12px}
.edit-dialog-copy>.button{font-size:13px;gap:12px;padding-inline:17px}
.concierge-actions #concierge-send{font-size:12px;gap:10px;padding-inline:16px}}
