/* Step 2: one retained vector sky above the date/time controls. */
:is(html[data-configurator-step="location"],html[data-configurator-step="date"],html[data-configurator-step="message"]){background:#f7f7f7;height:100%;overflow:hidden;overscroll-behavior:none}
:is(html[data-configurator-step="location"],html[data-configurator-step="date"],html[data-configurator-step="message"]) body{position:fixed;inset:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
:is(html[data-configurator-step="location"],html[data-configurator-step="date"],html[data-configurator-step="message"]) .create-shell{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,50fr) minmax(0,50fr);height:100%;height:100dvh;min-height:0;overflow:hidden;padding:0;background:#f7f7f7}
:is(html[data-configurator-step="location"],html[data-configurator-step="date"],html[data-configurator-step="message"]) .preview{min-height:0;padding:0;background:#edeef0}
:is(html[data-configurator-step="location"],html[data-configurator-step="date"],html[data-configurator-step="message"]) .preview-sticky{position:relative;top:auto;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto}
:is(html[data-configurator-step="location"],html[data-configurator-step="date"],html[data-configurator-step="message"]) .gallery-stage{padding:max(10px,var(--safe-top)) max(18px,var(--safe-right)) 10px max(18px,var(--safe-left));touch-action:pan-y}
:is(html[data-configurator-step="location"],html[data-configurator-step="date"],html[data-configurator-step="message"]) .poster-stack,
:is(html[data-configurator-step="location"],html[data-configurator-step="date"],html[data-configurator-step="message"]) .map-arrow{display:none!important}
:is(html[data-configurator-step="location"],html[data-configurator-step="date"],html[data-configurator-step="message"]) .poster{cursor:default;touch-action:pan-y}
:is(html[data-configurator-step="location"],html[data-configurator-step="date"],html[data-configurator-step="message"]) .configuration{width:100%;max-width:520px;min-height:0;align-self:stretch;justify-self:center;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;touch-action:pan-y;padding:0 var(--safe-right) max(12px,var(--safe-bottom)) var(--safe-left);background:#f7f7f7}
.date-step{display:flex;flex-direction:column;gap:13px;padding:4px 18px 18px}
.date-back{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:0;padding:5px 0;border:0;background:none;color:#5f6877;font-size:.8125rem;line-height:1.4}
.date-back svg{width:8px;height:12px}
.date-heading{display:grid;gap:5px}
.date-heading h1{font:500 clamp(1rem,4.6vw,1.25rem)/1.18 'Playfair Display',Georgia,serif;white-space:nowrap;color:#121824;outline-offset:4px}
.date-heading p{color:#697386;font-size:.875rem;line-height:1.5}
.optional{font-size:.8em;font-weight:400;color:#697386}
.time-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;cursor:pointer;font-weight:600}
.time-toggle input#date-show-time{-webkit-appearance:none;appearance:none;width:44px!important;height:26px;min-height:26px!important;flex:0 0 44px;border:0!important;border-radius:20px;background:#626b78;padding:3px!important;cursor:pointer;box-shadow:inset 0 0 0 1px #45505e;transition:background .2s}
.time-toggle input:before{content:'';display:block;width:20px;height:20px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002;transition:transform .2s}
.time-toggle input#date-show-time:checked{background:#927431;box-shadow:inset 0 0 0 1px #725920}
.time-toggle input:checked:before{transform:translateX(18px)}
.time-toggle input:focus-visible{outline:2px solid #927431;outline-offset:3px}
.message-step .date-heading h1{white-space:normal;font-size:1.25rem;line-height:1.35}
.message-step textarea{box-sizing:border-box;width:100%;height:192px;min-height:192px;resize:vertical;overflow:auto;white-space:pre-wrap;overflow-wrap:break-word;border:1px solid #d7dbe0;border-radius:12px;padding:12px;font:400 16px/1.5 Inter,Arial,sans-serif;background:white;color:#121824}
.date-step fieldset{padding:0;border:0;margin:0}
.date-step legend{margin-bottom:7px;font-weight:600;color:#121824}
.date-step.personalization input,.date-step.personalization select{min-height:48px}
.date-step .personal-time-row{margin-top:0}
.date-step .field-error{margin:0}
.date-actions{display:flex;justify-content:flex-end;padding-top:2px}
.date-actions .continue{width:100%;min-height:48px}
/* Preview validation briefly disables Next on each edit; never flash its appearance. */
#message-next,#message-next:hover,#message-next:disabled{opacity:1;background:var(--green);color:#fff;transition:none}
@media(max-width:359px){.date-step{padding-inline:12px}.date-step .personal-date-row{gap:6px}.date-step .personal-time-row{gap:6px}}
@media(min-width:1024px){
  :is(html[data-configurator-step="location"],html[data-configurator-step="date"],html[data-configurator-step="message"]) .create-shell{grid-template-columns:minmax(0,1fr) 400px;grid-template-rows:minmax(0,1fr)}
  :is(html[data-configurator-step="location"],html[data-configurator-step="date"],html[data-configurator-step="message"]) .preview{padding-bottom:0;align-items:center}
  :is(html[data-configurator-step="location"],html[data-configurator-step="date"],html[data-configurator-step="message"]) .preview-sticky{height:100%}
  :is(html[data-configurator-step="location"],html[data-configurator-step="date"],html[data-configurator-step="message"]) .gallery-stage{padding:max(24px,var(--safe-top)) 24px max(24px,var(--safe-bottom))}
  :is(html[data-configurator-step="location"],html[data-configurator-step="date"],html[data-configurator-step="message"]) .configuration{width:auto;max-width:none;justify-self:stretch;padding-left:0}
  .date-step{padding:18px max(24px,var(--safe-right)) 28px 24px;justify-content:center;min-height:100%}
}
@media(prefers-reduced-motion:reduce){.date-step *{scroll-behavior:auto}}
