/* AQUA Forms / Reservations theme — served by the website, consumed by Aqua.Tech.
   v0.3.19. Styling only: no changes to validation, pricing, dates, API or submission. */
:root { --aqua-r-navy:#082b49; --aqua-r-ink:#173b51; --aqua-r-gold:#d8ba86;
        --aqua-r-cream:#f8f3eb; --aqua-r-border:#dfd7c9; --aqua-r-muted:#5b6870; }
html.reservation-embed-html, body.reservation-embed-body { background:transparent !important; }
body.reservation-embed-body { font-family:Arial,Helvetica,sans-serif; color:var(--aqua-r-ink); padding:14px 18px 25px; overflow-x:hidden; }
body.reservation-embed-body .reservation-embed-card {
 width:min(860px,100%); background:#fffdfa; border:1px solid var(--aqua-r-border);
 border-radius:14px; box-shadow:0 10px 30px rgba(8,43,73,.10); padding:30px 32px;
}
body.reservation-embed-body .reservation-embed-card .embed-grid { row-gap:17px; column-gap:20px; }
body.reservation-embed-body .reservation-embed-card .field { color:var(--aqua-r-ink); font-size:12px; font-weight:700; letter-spacing:.02em; gap:7px; }
body.reservation-embed-body .reservation-embed-card .field input,
body.reservation-embed-body .reservation-embed-card .field select,
body.reservation-embed-body .reservation-embed-card .field textarea {
 width:100%; min-height:44px; padding:10px 13px; background:#fff; color:var(--aqua-r-ink);
 border:1px solid #cfc7ba; border-radius:6px; box-shadow:none; font-size:15px;
}
body.reservation-embed-body .reservation-embed-card .field textarea { min-height:100px; }
body.reservation-embed-body .reservation-embed-card .field :is(input,select,textarea):focus-visible {
 outline:2px solid var(--aqua-r-gold); outline-offset:2px; border-color:var(--aqua-r-navy);
}
body.reservation-embed-body .embed-actions .primary,
body.reservation-embed-body .embed-link-button.primary,
body.reservation-embed-body .embed-dialog-card .primary {
 background:var(--aqua-r-navy); border:1px solid var(--aqua-r-navy); color:#fff;
 min-height:50px; border-radius:2px; padding:13px 25px; font-size:12px; font-weight:700;
 text-transform:uppercase; letter-spacing:.085em; cursor:pointer;
}
body.reservation-embed-body .embed-actions .primary:hover { background:#10416b; }
body.reservation-embed-body .embed-actions .primary:disabled { opacity:.55; cursor:wait; }
body.reservation-embed-body .embed-success { color:var(--aqua-r-navy); }
body.reservation-embed-body .embed-success h2,
body.reservation-embed-body .embed-dialog-card h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; color:var(--aqua-r-navy); }
body.reservation-embed-body .embed-success-icon { color:#276947; }
body.reservation-embed-body .embed-dialog-card { border-radius:12px; border:1px solid var(--aqua-r-border); background:#fffdfa; }
/* Visible ONLY when ?theme_test=1, and ONLY if the site stylesheet really loads. */
body.reservation-embed-body .aqua-theme-proof { display:flex !important; align-items:center; gap:9px;
 margin:0 0 17px; padding:10px 13px; border:2px solid #bb9457;
 background:#fff8e9; color:var(--aqua-r-navy); font:600 12px/1.4 system-ui,sans-serif; }
body.reservation-embed-body .aqua-theme-dot { background:#276947; width:9px; height:9px; border-radius:100%; flex:none; }
@media(max-width:600px) {
 body.reservation-embed-body { padding:4px 6px 88px; }
 body.reservation-embed-body .reservation-embed-card { padding:18px 13px 20px; box-shadow:none; border-radius:10px; }
 body.reservation-embed-body .reservation-embed-card .embed-grid { grid-template-columns:1fr; gap:12px; }
 body.reservation-embed-body .reservation-embed-card .embed-grid .span-2 { grid-column:auto; }
 body.reservation-embed-body .reservation-embed-card .field { font-size:12px; }
 body.reservation-embed-body .reservation-embed-card .field :is(input,select,textarea) { font-size:16px; min-height:45px; }
 body.reservation-embed-body .embed-actions { background:#fffdfa; border-color:var(--aqua-r-border); }
 body.reservation-embed-body .embed-actions .primary { width:100%; }
}

/* v0.3.37 — mobile customer form: submit follows the fields, no fixed footer gap.
   Preserve native page/iframe height reporting and the standard desktop design. */
@media (max-width:600px) {
  body.reservation-embed-body { padding:4px 6px 16px !important; }
  body.reservation-embed-body .embed-actions {
    position:static !important; left:auto !important; right:auto !important; bottom:auto !important;
    z-index:auto !important; width:100% !important; margin:16px 0 0 !important; padding:0 !important;
    box-shadow:none !important; border:0 !important; border-radius:0 !important;
    background:transparent !important;
  }
  body.reservation-embed-body .embed-actions .primary { width:100%; }
}
