/* Direct delivery follows the shared light/dark identity. */
.direct-form-mode{margin:20px 0;padding:18px;border:1px solid var(--line);border-radius:14px;min-width:0}.direct-form-mode legend{padding:0 8px;font-weight:600;color:var(--ink)}.direct-form-mode p,.direct-form-mode small,.direct-owner-note{font-size:13px;color:var(--muted);line-height:1.7}.direct-form-mode [hidden],#direct-delivery [hidden],#direct-design-dialog [hidden],#photos-dialog [hidden]{display:none!important}.direct-form-mode #new-direct-design{display:grid;gap:14px;margin-top:16px}.direct-owner-head h2{margin:8px 0}.direct-owner-head p{color:var(--muted);line-height:1.7}.direct-owner-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.direct-owner-note{padding:18px;background:var(--clean-soft);border-radius:12px}
#direct-design-dialog{color:var(--ink);background:var(--clean-panel);border:1px solid var(--line);border-radius:18px;max-width:640px;width:calc(100% - 24px)}#direct-design-dialog .modal{width:100%;background:var(--clean-panel);color:var(--ink)}#direct-design-dialog small{color:var(--muted);line-height:1.6}#direct-design-dialog .close{color:var(--ink);display:grid;place-items:center;width:44px;height:44px}#direct-design-dialog svg{width:22px;height:22px}.direct-design-form{display:grid;gap:14px}.direct-design-preview{height:230px;position:relative;overflow:hidden;border-radius:12px;background:var(--wash)}.direct-design-preview img{height:100%;width:100%;object-fit:contain}.direct-design-preview strong{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:400;padding:20px;text-align:center;color:#fff;text-shadow:0 1px 12px #0009;overflow-wrap:anywhere}.direct-design-preview[data-position=bottom] strong{align-items:flex-end}.direct-design-preview[data-color=dark] strong{color:#182335;text-shadow:0 1px 10px #fff8}
.direct-delivery{background:var(--wash);color:var(--ink);padding-bottom:100px}.direct-delivery svg,.direct-viewer svg{width:20px;height:20px;flex:none}.direct-delivery .button,.direct-viewer .button{display:inline-flex;align-items:center;justify-content:center;gap:9px}.direct-hero{height:clamp(380px,80svh,900px);position:relative;isolation:isolate;overflow:hidden;background:var(--clean-panel)}.direct-hero-backdrop{position:absolute;inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);object-fit:cover;filter:blur(22px);opacity:.35;z-index:-2}.direct-hero-photo,.direct-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:-1}.direct-hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0005,transparent 70%);z-index:0;pointer-events:none}.direct-hero-title{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px;text-align:center;color:#fff;pointer-events:none}.direct-hero-title p{font-size:10px;letter-spacing:.23em;color:inherit;opacity:.95}.direct-hero-title h1{font-size:clamp(48px,7vw,100px);font-weight:400;line-height:1.25;color:inherit;margin:10px 0;text-shadow:0 2px 18px #0007;overflow-wrap:anywhere;max-width:100%}.direct-hero[data-position=bottom] .direct-hero-title{justify-content:flex-end;padding-bottom:8%}.direct-hero[data-color=dark] .direct-hero-title{color:#172536}.direct-hero[data-color=dark] h1{text-shadow:0 1px 14px #fff7}
[data-font=great-vibes] :is(h1,strong){font-family:'Great Vibes',cursive}[data-font=dancing-script] :is(h1,strong){font-family:'Dancing Script',cursive}[data-font=caveat] :is(h1,strong){font-family:Caveat,cursive}[data-font=serif] :is(h1,strong){font-family:'DM Serif Display',Georgia,serif}[data-font=sans] :is(h1,strong){font-family:Manrope,Arial,sans-serif}[data-font=editorial] :is(h1,strong){font-family:'Playfair Display',Georgia,serif}
.direct-intro{max-width:1480px;padding:36px 24px 18px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.direct-intro h2{font-size:24px;margin:6px 0}.direct-intro p{color:var(--muted);margin:6px 0;line-height:1.7}.direct-tools{max-width:1480px;margin:auto;padding:0 24px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:13px}.direct-grid{max-width:1480px;margin:auto;padding:0 12px;columns:4;column-gap:8px}.direct-photo{break-inside:avoid;margin:0 0 8px;min-width:0;position:relative}.direct-image-button{display:block;width:100%;border:0;padding:0;background:var(--clean-panel);border-radius:4px;overflow:hidden;cursor:zoom-in}.direct-image-button img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}.direct-photo-pick{position:absolute;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;cursor:pointer;z-index:1}.direct-photo-pick{top:4px;right:4px;background:transparent;color:var(--muted)}.direct-pick-circle{display:grid;place-items:center;width:23px;height:23px;border:1px solid #ffffffa6;border-radius:50%;background:#14203318;box-shadow:0 1px 5px #0003}.direct-pick-circle svg{width:15px;height:15px;opacity:0}.direct-photo-pick[aria-pressed=true] .direct-pick-circle{background:var(--blue);border-color:var(--blue);color:#fff;opacity:.94}.direct-photo-pick[aria-pressed=true] svg{opacity:1}.direct-photo :is(.direct-image-button,.direct-photo-pick):focus-visible{outline:2px solid var(--blue);outline-offset:2px}.direct-more{text-align:center;padding:24px}#direct-feedback{color:var(--muted);text-align:center;padding:0 24px}.direct-marked-bar{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);z-index:90;padding:10px 12px 10px 18px;display:flex;gap:20px;align-items:center;border:1px solid var(--line);border-radius:16px;background:var(--clean-panel);box-shadow:0 8px 32px #0002}.direct-marked-bar span{font-size:13px;color:var(--ink)}.direct-download-parts{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
#direct-viewer.direct-viewer{margin:0;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;background:var(--wash);overflow:hidden;--viewer-inset-x:8px;--viewer-inset-y:8px}#direct-viewer[open]{display:block}.direct-viewer-image{position:absolute;inset:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.direct-viewer-image img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;transform-origin:center;pointer-events:none;will-change:transform}#direct-viewer.is-zoomed .direct-viewer-image{cursor:grab}#direct-viewer.is-zoomed .direct-viewer-image:active{cursor:grabbing}#direct-viewer .direct-viewer-control{position:absolute;z-index:2;display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#fff;opacity:0;transition:opacity .15s;cursor:pointer;touch-action:manipulation;filter:drop-shadow(0 1px 3px #000b)}#direct-viewer .direct-viewer-control>svg{width:25px;height:25px;stroke-width:1.5}#direct-viewer-close{top:max(var(--viewer-inset-y),env(safe-area-inset-top));right:max(var(--viewer-inset-x),env(safe-area-inset-right))}#direct-viewer-prev{left:max(var(--viewer-inset-x),env(safe-area-inset-left));top:calc(50% - 24px)}#direct-viewer-next{right:max(var(--viewer-inset-x),env(safe-area-inset-right));top:calc(50% - 24px)}#direct-viewer-mark{top:max(var(--viewer-inset-y),env(safe-area-inset-top));right:calc(max(var(--viewer-inset-x),env(safe-area-inset-right)) + 48px)}#direct-viewer.controls-visible .direct-viewer-control,#direct-viewer:has(.direct-viewer-control:focus-visible) .direct-viewer-control{opacity:.76}#direct-viewer .direct-viewer-control:hover,#direct-viewer .direct-viewer-control:focus-visible{opacity:1}#direct-viewer .direct-viewer-control:focus-visible{outline:2px solid var(--blue);outline-offset:-6px;border-radius:10px}#direct-viewer-mark[aria-pressed=true] .direct-pick-circle{background:var(--blue);border-color:var(--blue);color:#fff;opacity:.94}#direct-viewer-mark[aria-pressed=true] svg{opacity:1}
@media(hover:none),(pointer:coarse){#direct-viewer :is(#direct-viewer-prev,#direct-viewer-next,#direct-viewer-mark){display:none}#direct-viewer #direct-viewer-close{opacity:.8}}
@media(hover:hover) and (pointer:fine){.direct-photo-pick:not([aria-pressed=true]){opacity:0}.direct-photo:is(:hover,:focus-within) .direct-photo-pick{opacity:1}}
@media(max-width:1100px){.direct-grid{columns:3}.direct-hero{height:70svh}}
@media(max-width:720px){.direct-grid{columns:2;column-gap:6px;padding:0 6px}.direct-intro{align-items:stretch;flex-direction:column;gap:12px;padding:26px 18px 16px}.direct-intro .button{width:100%;min-height:48px}.direct-tools{padding:0 18px 16px;align-items:flex-start}.direct-tools p{line-height:1.6;margin:0}.direct-hero{height:65svh;min-height:340px}.direct-hero-title{padding:20px}.direct-hero-title h1{font-size:clamp(44px,12vw,74px)}.direct-hero-title p{font-size:8px}.direct-photo{margin-bottom:6px}.direct-marked-bar{gap:12px}.direct-owner-actions .button{flex:1 1 45%}}
@media(max-width:350px){.direct-grid{columns:1}.direct-marked-bar{gap:6px;padding:8px}.direct-marked-bar span{font-size:11px}}
@media(prefers-reduced-motion:reduce){#direct-viewer .direct-viewer-control{transition:none}}
