/* ============================================================================
   A-ROSA Tegernsee — Buchungsanfrage (Standalone)
   Lädt nach tokens.css (echte --dt-* A-ROSA-Tokens). Schriften lokal.
   ============================================================================ */
@font-face{font-family:"rig sans";font-weight:300;font-display:swap;src:url("../fonts/RigSans/RigSans-Light.woff2") format("woff2");}
@font-face{font-family:"rig sans";font-weight:600;font-display:swap;src:url("../fonts/RigSans/RigSans-Semibold.woff2") format("woff2");}
@font-face{font-family:"playfair";font-weight:400;font-display:swap;src:url("../fonts/Playfair/playfair-display-v22-latin-regular.woff2") format("woff2");}
@font-face{font-family:"playfair";font-weight:600;font-display:swap;src:url("../fonts/Playfair/playfair-display-v22-latin-600.woff2") format("woff2");}

*{box-sizing:border-box;}
[hidden]{display:none !important;}
html{scroll-behavior:smooth;}
html,body{max-width:100%;overflow-x:hidden;}
body{margin:0;background:var(--dt-color-background-page-1-light);color:var(--dt-color-text-primary-light);
  font-family:var(--dt-font-family-body),system-ui,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{color:inherit;}
.wrap{max-width:1000px;margin:0 auto;padding:0 24px;}
@media(min-width:768px){.wrap{padding:0 40px;}}

/* Header */
.hdr{background:var(--dt-color-background-page-1-light);}
.hdr__in{max-width:1000px;margin:0 auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
@media(min-width:768px){.hdr__in{padding:28px 40px;}}
.hdr__logo img{width:180px;height:auto;}
.lang a{font-family:var(--dt-font-family-body),sans-serif;font-size:14px;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;color:var(--dt-color-text-primary-light);}
.lang a.is-active{font-weight:600;}
.lang span{color:var(--dt-color-border-disabled-light);margin:0 6px;}

/* Hero */
.hero{position:relative;overflow:hidden;}
.hero img{width:100%;height:clamp(180px,30vw,320px);object-fit:cover;}
.hero__cap{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,0));
  display:flex;align-items:flex-end;}
.hero__cap .wrap{padding-bottom:24px;}
.hero__overline{color:#fff;opacity:.9;font-size:14px;letter-spacing:.12em;text-transform:uppercase;}
.hero__title{color:#fff;font-family:var(--dt-font-family-display),serif;font-weight:500;font-size:clamp(28px,4vw,44px);margin:6px 0 0;}

/* Intro */
.intro{padding:48px 0 8px;}
.t-cat{font-family:var(--dt-font-family-body),sans-serif;font-weight:400;font-size:var(--dt-text-size-category-md);
  letter-spacing:.12em;text-transform:uppercase;color:var(--dt-color-text-category-light);}
.t-h1{font-family:var(--dt-font-family-display),serif;font-weight:500;font-size:clamp(32px,4.4vw,var(--dt-text-size-display-sm));
  line-height:1.08;margin:10px 0 14px;color:var(--dt-color-text-primary-light);}
.lead{font-size:var(--dt-text-size-body-lg);line-height:var(--dt-spacing-line-height-body-lg);color:var(--dt-color-text-secondary-light);max-width:680px;}

/* Card + Form */
.card{background:var(--dt-color-background-card-light,#fff);border:1px solid var(--dt-color-border-card-light,rgba(0,0,0,.08));
  padding:28px;margin:24px 0 64px;}
@media(min-width:768px){.card{padding:40px;}}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;}
@media(max-width:640px){.grid{grid-template-columns:1fr;}}
.full{grid-column:1 / -1;}
.fld{display:flex;flex-direction:column;gap:8px;min-width:0;}
.fld label{font-family:var(--dt-font-family-body),sans-serif;font-size:var(--dt-text-size-body-sm);color:var(--dt-color-text-secondary-light);}
.req{color:var(--dt-color-background-flag-alert-light);}
.hint{font-size:var(--dt-text-size-body-xs);color:var(--dt-color-text-disabled-light);}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=password],select,textarea{
  font-family:var(--dt-font-family-body),sans-serif;font-size:var(--dt-text-size-body-md);color:var(--dt-color-text-primary-light);
  background:var(--dt-color-background-input-light);border:1px solid var(--dt-color-border-input-enabled-light);
  border-radius:0;padding:14px 16px;width:100%;min-width:0;max-width:100%;outline:none;transition:border-color .15s;}
/* iOS: Datumsfelder respektieren die Spaltenbreite (kein Überstehen) */
input[type=date]{-webkit-appearance:none;appearance:none;}
input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0;}
input[type=date]::-webkit-calendar-picker-indicator{margin-left:0;}
input:focus,select:focus,textarea:focus{border-color:var(--dt-color-border-input-edited-light);}
input::placeholder,textarea::placeholder{color:var(--dt-color-text-disabled-light);}
.err{border-color:var(--dt-color-background-flag-alert-light) !important;}
textarea{min-height:120px;resize:vertical;line-height:1.5;}
select{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23766646'><path d='M12 14.7 4.4 7.1a1 1 0 0 0-1.4 1.4l8.3 8.3a1 1 0 0 0 1.4 0l8.3-8.3a1 1 0 1 0-1.4-1.4z'/></svg>");
  background-repeat:no-repeat;background-position:right 14px center;background-size:18px;}
.hotel-fixed{background:var(--dt-color-background-page-3-light,#f4ede0);border:1px solid var(--dt-color-border-input-enabled-light);
  padding:14px 16px;font-size:var(--dt-text-size-body-md);}

/* Personen/Hunde/Kinder */
.persons{border:1px solid var(--dt-color-border-card-light,rgba(0,0,0,.1));padding:16px;display:flex;flex-direction:column;gap:12px;}
.prow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.prow > label{min-width:120px;margin:0;}
.prow input,.prow select{max-width:160px;}
#child_ages{display:flex;flex-direction:column;gap:10px;}
.age{display:flex;align-items:center;gap:10px;}
.age label{min-width:70px;}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--dt-font-family-body),sans-serif;
  font-weight:600;font-size:14px;letter-spacing:.04em;text-transform:uppercase;height:52px;padding:0 28px;cursor:pointer;
  border:0;border-radius:var(--dt-radius-button,0);transition:filter .2s,background-color .2s,color .2s;text-decoration:none;}
.btn--primary{background:var(--dt-color-background-button-primary-light);color:var(--dt-color-text-button-primary-light);}
.btn--primary:hover{filter:brightness(1.08);}
.btn--secondary{background:transparent;color:var(--dt-color-text-primary-light);border:2px solid var(--dt-color-background-button-secondary-light,#000);}
.btn[disabled]{opacity:.6;cursor:not-allowed;}

/* Hinweise / Datenschutz */
.flag{display:flex;gap:12px;align-items:flex-start;padding:16px;font-size:var(--dt-text-size-body-sm);
  border-left:4px solid var(--dt-color-text-secondary-light);background:var(--dt-color-background-page-3-light,#f4ede0);}
.flag--err{border-left-color:var(--dt-color-background-flag-alert-light);background:#fdecec;}
.flag--ok{border-left-color:#0f8903;background:#e7f6e5;}
.privacy{font-size:var(--dt-text-size-body-sm);color:var(--dt-color-text-secondary-light);line-height:1.5;}
.privacy a{color:var(--dt-color-text-link-light);text-underline-offset:3px;}
.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px;align-items:center;}

/* Footer */
.ft{border-top:1px solid var(--dt-color-border-disabled-light,rgba(0,0,0,.2));padding:28px 0;margin-top:40px;}
.ft__in{max-width:1000px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:var(--dt-text-size-body-sm);color:var(--dt-color-text-secondary-light);}
@media(min-width:768px){.ft__in{padding:0 40px;}}
.ft__in a{color:var(--dt-color-text-secondary-light);text-decoration:none;margin-left:18px;}
.ft__in a:hover{color:var(--dt-color-text-primary-light);}
