/* ═══════════════════════════════════════════════════════════════
   FEKETE DELFIN — style.css
═══════════════════════════════════════════════════════════════ */

:root {
  --c-bg:        #080810;
  --c-surface:   #10101C;
  --c-surface-2: #181828;
  --c-teal:      #2CD8D9;
  --c-teal-h:    #4EECED;
  --c-amber:     #C9873A;
  --c-text:      #F5F6FF;
  --c-body:      #9B9EBA;
  --c-muted:     #6B6E8A;
  --c-border:    #1C1C30;
  --c-border-t:  rgba(44,216,217,.1);
  --c-teal-bg:   rgba(44,216,217,.07);
  --glow:        0 0 28px rgba(44,216,217,.22);
  --f-display:   'Playfair Display', Georgia, serif;
  --f-sans:      'Syne', system-ui, sans-serif;
  --max-w:       1100px;
  --max-w-sm:    640px;
  --r-sm: 8px; --r-md: 12px; --r-lg: 16px; --r-xl: 20px; --r-full: 100px;
  --s-1:8px; --s-2:16px; --s-3:24px; --s-4:32px; --s-5:48px; --s-6:64px; --s-7:96px; --s-8:128px;
  --transition: .2s ease;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { background: var(--c-bg); color: var(--c-body); font-family: var(--f-sans); font-size: 1rem; line-height: 1.7; overflow-x: hidden; }
img, svg { display: block; max-width: 100%; }
ul, ol { list-style: none; }
a { color: inherit; }
button { font-family: inherit; }
h1,h2,h3,h4 { font-family: var(--f-display); color: var(--c-text); line-height: 1.15; }
fieldset { border: none; }

/* Reset browser fieldset border explicitly */
fieldset, legend { all: unset; display: block; }

.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:inset(50%); white-space:nowrap; border:0; }
.text-white { color: var(--c-text); }

/* ── Background texture ─────────────────────────────────────── */
body::before {
  content: ''; position: fixed; inset: 0;
  background:
    radial-gradient(ellipse 70% 50% at 15% 15%, rgba(44,216,217,.05) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 85% 75%, rgba(28,178,231,.04) 0%, transparent 60%),
    linear-gradient(rgba(44,216,217,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(44,216,217,.03) 1px, transparent 1px);
  background-size: auto, auto, 48px 48px, 48px 48px;
  pointer-events: none; z-index: 0;
}

/* ── Layout ─────────────────────────────────────────────────── */
.container { max-width: var(--max-w); margin-inline: auto; padding-inline: var(--s-3); position: relative; z-index: 1; }
.container--narrow { max-width: var(--max-w-sm); }
section { padding-block: var(--s-7); }

.section-alt {
  background-color: var(--c-surface);
  background-image: linear-gradient(rgba(44,216,217,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(44,216,217,.03) 1px, transparent 1px);
  background-size: 48px 48px; background-attachment: fixed;
}

.section-header { margin-bottom: var(--s-5); }
.section-header--center { text-align: center; }
.section-header h2 { margin-block: var(--s-1) var(--s-2); font-style: italic; font-size: clamp(1.8rem, 4vw, 2.8rem); }
.section-header p { font-size: .95rem; max-width: 520px; }
.section-header--center p { margin-inline: auto; }

/* ── Eyebrow — pill/badge style ─────────────────────────────── */
.eyebrow {
  display: inline-flex; align-items: center;
  background: var(--c-teal-bg); border: 1px solid var(--c-border-t);
  border-radius: var(--r-full); padding: 5px 14px;
  font-size: .68rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--c-teal); margin-bottom: var(--s-2);
}

/* ── Bubbles ─────────────────────────────────────────────────── */
.section-bubble { position: relative; overflow: hidden; }
.bubbles { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 0; }
.bubble { position: absolute; bottom: -20px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, rgba(201,135,58,.18), rgba(201,135,58,.03)); border: 1px solid rgba(201,135,58,.15); animation: bubble-rise linear infinite; }
.bubble:nth-child(1)  { width:7px;  height:7px;  left:6%;  animation-duration:7s;  animation-delay:0s; }
.bubble:nth-child(2)  { width:4px;  height:4px;  left:14%; animation-duration:9s;  animation-delay:1s; }
.bubble:nth-child(3)  { width:10px; height:10px; left:22%; animation-duration:8s;  animation-delay:2s; }
.bubble:nth-child(4)  { width:5px;  height:5px;  left:31%; animation-duration:10s; animation-delay:.5s; }
.bubble:nth-child(5)  { width:8px;  height:8px;  left:42%; animation-duration:7s;  animation-delay:3s; }
.bubble:nth-child(6)  { width:4px;  height:4px;  left:53%; animation-duration:11s; animation-delay:1.5s; }
.bubble:nth-child(7)  { width:6px;  height:6px;  left:63%; animation-duration:8s;  animation-delay:2.5s; }
.bubble:nth-child(8)  { width:9px;  height:9px;  left:72%; animation-duration:9s;  animation-delay:.8s; }
.bubble:nth-child(9)  { width:4px;  height:4px;  left:81%; animation-duration:7s;  animation-delay:4s; }
.bubble:nth-child(10) { width:7px;  height:7px;  left:90%; animation-duration:10s; animation-delay:1.2s; }
.bubble:nth-child(odd)  { --drift:  12px; }
.bubble:nth-child(even) { --drift: -12px; }
@keyframes bubble-rise { 0%{transform:translateY(0) translateX(0);opacity:0} 10%{opacity:.8} 90%{opacity:.4} 100%{transform:translateY(-320px) translateX(var(--drift));opacity:0} }

/* ── Buttons ─────────────────────────────────────────────────── */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:var(--s-1); font-family:var(--f-sans); font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; border:none; cursor:pointer; text-decoration:none; outline:none; padding:15px 32px; border-radius:var(--r-sm); transition:background var(--transition), box-shadow var(--transition), transform .1s; }
.btn:active { transform: scale(.97); }
.btn--solid   { background:var(--c-teal); color:var(--c-bg); border:1px solid transparent; }
.btn--solid:hover { background:var(--c-teal-h); box-shadow:var(--glow); }
.btn--outline { background:transparent; color:var(--c-teal); border:1px solid rgba(44,216,217,.35); }
.btn--outline:hover { border-color:var(--c-teal); box-shadow:var(--glow); background:rgba(44,216,217,.05); }
.btn--full { width: 100%; }
.btn--nav  { padding: 10px 20px; font-size: .72rem; }

/* ── Pulse dot ───────────────────────────────────────────────── */
.pulse { display:inline-block; position:relative; width:.5rem; height:.5rem; vertical-align:middle; margin-right:.4rem; }
.pulse__core { position:absolute; inset:0; border-radius:50%; background:currentColor; }
.pulse__wave { position:absolute; inset:-.25rem; border-radius:50%; border:1px solid currentColor; animation:pulse-expand 2s ease-out infinite; }
.pulse__wave--2 { animation-delay:.7s; }
@keyframes pulse-expand { 0%{transform:scale(.5);opacity:.9} 100%{transform:scale(2.5);opacity:0} }

/* ── Opening hours badge ─────────────────────────────────────── */
.badge { display:inline-flex; align-items:center; background:var(--c-teal-bg); border:1px solid var(--c-border-t); border-radius:var(--r-full); padding:6px 18px 6px 12px; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--c-teal); margin-bottom:var(--s-4); }
.badge--closed { background:rgba(201,135,58,.07); border-color:rgba(201,135,58,.25); color:var(--c-amber); }

/* ═══════════════════════════════════════════════════════════════
   NAV
═══════════════════════════════════════════════════════════════ */
.site-header { position:sticky; top:0; z-index:100; background:rgba(8,8,16,.88); backdrop-filter:blur(20px); border-bottom:1px solid var(--c-border); }
.nav__inner { max-width:var(--max-w); margin-inline:auto; padding-inline:var(--s-3); display:flex; align-items:center; justify-content:space-between; height:64px; }

.nav__brand { display:flex; align-items:center; gap:var(--s-2); text-decoration:none; }
.nav__logo-img { width:40px; height:40px; object-fit:contain; }
.nav__brand-text { display:flex; flex-direction:column; gap:1px; }
.nav__brand-name { font-family:var(--f-display); font-weight:700; font-size:1rem; color:var(--c-text); line-height:1.1; }
.nav__brand-sub  { font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--c-muted); }

/* ═══════════════════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════════════════ */
.hero { min-height:calc(100svh - 64px); display:flex; align-items:center; justify-content:center; text-align:center; padding-block:var(--s-7) var(--s-8); padding-inline:var(--s-3); }
.hero__radar { position:absolute; width:min(800px,120vw); height:min(800px,120vw); top:50%; left:50%; transform:translate(-50%,-50%); opacity:.6; pointer-events:none; z-index:0; }
.hero__radar svg { width:100%; height:100%; }
.hero__radar-sweep { transform-origin:400px 400px; animation:radar-sweep 6s linear infinite; }
.hero__radar-blip  { animation:radar-blip 6s infinite; opacity:0; }
@keyframes radar-sweep { from{transform:rotate(0)} to{transform:rotate(360deg)} }
@keyframes radar-blip  { 0%,60%,100%{opacity:0} 70%{opacity:1} 88%{opacity:.4} }

.hero__content { position:relative; z-index:1; max-width:700px; }
.hero__badge-wrap { margin-bottom:var(--s-4); }

.hero__title { font-family:var(--f-display); font-weight:700; font-size:clamp(3.2rem,11vw,7rem); line-height:.9; letter-spacing:-.02em; margin-bottom:var(--s-3); }
.hero__title em { display:block; font-style:italic; color:var(--c-teal); text-shadow:0 0 60px rgba(44,216,217,.25); }

.hero__sub { font-size:clamp(.9rem,1.8vw,1.05rem); color:var(--c-body); line-height:1.75; max-width:520px; margin-inline:auto; margin-bottom:var(--s-5); }
/* Bold text in hero sub = white */
.hero__sub strong { color: var(--c-text); font-weight: 700; }

.hero__btns { display:flex; gap:var(--s-2); justify-content:center; flex-wrap:wrap; margin-bottom:var(--s-6); }

.hero__stats { display:flex; gap:var(--s-6); justify-content:center; flex-wrap:wrap; }
.hero__stat  { text-align:center; }
.hero__stat-num   { display:block; font-family:var(--f-display); font-style:italic; font-size:2.2rem; color:var(--c-teal); line-height:1; margin-bottom:4px; }
.hero__stat-label { font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--c-muted); }

/* ═══════════════════════════════════════════════════════════════
   DRINKS
═══════════════════════════════════════════════════════════════ */
.drinks__header { display:flex; align-items:flex-end; justify-content:space-between; gap:var(--s-3); margin-bottom:var(--s-5); flex-wrap:wrap; }
.drinks__title { font-style:italic; font-size:clamp(1.8rem,4vw,2.8rem); margin-bottom:var(--s-1); }
.drinks__sub   { font-size:.9rem; color:var(--c-body); }

.drinks__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:3px; }
.drinks__card { position:relative; overflow:hidden; aspect-ratio:1; background:var(--c-surface-2); }
.drinks__card-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.65) saturate(.8); transition:transform .6s ease, filter .4s ease; }
.drinks__card:hover .drinks__card-img { transform:scale(1.07); filter:brightness(.45) saturate(.7); }
.drinks__card-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(8,8,16,.9) 0%, rgba(8,8,16,.15) 55%, transparent 100%); display:flex; flex-direction:column; justify-content:flex-end; padding:var(--s-3); }
.drinks__card-tag { display:inline-block; align-self:flex-start; font-size:.58rem; letter-spacing:.18em; text-transform:uppercase; color:var(--c-teal); background:rgba(44,216,217,.12); border:1px solid rgba(44,216,217,.25); border-radius:var(--r-full); padding:3px 10px; margin-bottom:6px; }
.drinks__card-name { font-family:var(--f-display); font-style:italic; font-size:1.4rem; color:var(--c-text); line-height:1.1; }

/* ═══════════════════════════════════════════════════════════════
   FORM CARD
═══════════════════════════════════════════════════════════════ */
.form-card { background:var(--c-surface); border:1px solid var(--c-border-t); border-radius:var(--r-xl); padding:var(--s-5); position:relative; overflow:hidden; margin-top:var(--s-4); }
.form-card::before { content:''; position:absolute; top:-80px; right:-80px; width:260px; height:260px; border-radius:50%; background:radial-gradient(circle, rgba(44,216,217,.04), transparent 70%); pointer-events:none; }
.form-card__icon { width:56px; height:56px; border-radius:50%; background:var(--c-teal-bg); border:1px solid var(--c-border-t); display:flex; align-items:center; justify-content:center; margin:0 auto var(--s-2); font-size:1.5rem; }
.form-card__title { font-style:italic; font-size:1.6rem; text-align:center; margin-bottom:var(--s-1); }
.form-card__sub   { font-size:.85rem; text-align:center; color:var(--c-body); line-height:1.6; margin-bottom:var(--s-4); }

/* ── Form elements ──────────────────────────────────────────── */
.form__steps { display:flex; align-items:center; gap:var(--s-2); margin-bottom:var(--s-4); justify-content:center; }
.form__step-indicator { display:flex; flex-direction:column; align-items:center; gap:4px; opacity:.4; transition:opacity var(--transition); }
.form__step-indicator--active { opacity:1; }
.form__step-num { width:28px; height:28px; border-radius:50%; background:var(--c-teal-bg); border:1px solid var(--c-border-t); color:var(--c-teal); font-size:.75rem; font-weight:700; display:flex; align-items:center; justify-content:center; }
.form__step-indicator--active .form__step-num { background:var(--c-teal); color:var(--c-bg); border-color:var(--c-teal); }
.form__step-label { font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--c-muted); white-space:nowrap; }
.form__step-divider { flex:1; height:1px; background:var(--c-border); max-width:60px; }
.form__step--hidden { display:none; }

.form__row { margin-bottom: var(--s-2); }
.form__row--2col { display:grid; grid-template-columns:1fr 1fr; gap:var(--s-2); }
.form__row--actions { align-items:center; margin-top:var(--s-3); }

.form__field { display:flex; flex-direction:column; gap:6px; }
.form__label { font-size:.65rem; letter-spacing:.14em; text-transform:uppercase; color:var(--c-muted); display:flex; align-items:center; gap:6px; }
.form__label-hint { font-size:.6rem; letter-spacing:.08em; color:var(--c-muted); opacity:.6; text-transform:none; }
.form__req { color:var(--c-teal); }

/* ── Inputs — font-size: 1rem prevents iOS zoom ─────────────── */
.form__input {
  background:var(--c-surface-2); border:1px solid rgba(255,255,255,.06);
  border-radius:var(--r-sm); color:var(--c-text); font-family:var(--f-sans);
  font-size:1rem; padding:13px 15px; outline:none; width:100%;
  transition:border-color var(--transition), box-shadow var(--transition);
  -webkit-appearance:none; appearance:none;
}
.form__input::placeholder { color:rgba(107,110,138,.4); }
.form__input:focus { border-color:rgba(44,216,217,.4); box-shadow:0 0 0 3px rgba(44,216,217,.06); }
.form__input--textarea { resize:vertical; min-height:100px; }
select.form__input { cursor:pointer; }
select.form__input option { background:var(--c-surface-2); }
input[type="date"].form__input { cursor:pointer; color-scheme:dark; }

.form__gdpr { display:flex; gap:var(--s-2); align-items:flex-start; padding:var(--s-2); margin-bottom:var(--s-2); background:rgba(44,216,217,.03); border:1px solid rgba(44,216,217,.08); border-radius:var(--r-sm); }
.form__gdpr input[type="checkbox"] { width:16px; height:16px; accent-color:var(--c-teal); flex-shrink:0; margin-top:2px; cursor:pointer; }
.form__gdpr label { font-size:.75rem; color:var(--c-body); line-height:1.6; cursor:pointer; }

.form__note { text-align:center; font-size:.67rem; color:var(--c-muted); margin-top:var(--s-2); }

.form__success, .form__error { margin-top:var(--s-3); text-align:center; padding:var(--s-3) var(--s-4); border-radius:var(--r-lg); border:1px solid var(--c-border-t); background:rgba(44,216,217,.04); }
.form__error { border-color:rgba(201,135,58,.2); background:rgba(201,135,58,.04); }
.form__success-icon { font-size:2rem; margin-bottom:var(--s-1); }
.form__success h4, .form__error p { color:var(--c-text); }
.form__success--hidden, .form__error--hidden { display:none; }

/* ═══════════════════════════════════════════════════════════════
   ABOUT
═══════════════════════════════════════════════════════════════ */
.about__grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--s-8); align-items:center; }
.about__title { font-style:italic; font-size:clamp(1.8rem,4vw,2.8rem); margin-block:var(--s-1) var(--s-3); color:var(--c-text); }
.about__body { font-size:.88rem; color:var(--c-body); line-height:1.8; margin-bottom:var(--s-2); }

.about__quote { padding:var(--s-2) var(--s-3); border-left:2px solid var(--c-teal); background:rgba(44,216,217,.04); border-radius:0 var(--r-sm) var(--r-sm) 0; margin-block:var(--s-4); }
.about__quote-text { font-size:1rem; font-weight:700; color:var(--c-text); margin-bottom:4px; font-family:var(--f-display); font-style:italic; }
.about__quote-sub  { font-size:.82rem; color:var(--c-body); }

.about__tags { display:flex; flex-wrap:wrap; gap:var(--s-1); margin-top:var(--s-3); }
.about__tag  { font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:var(--c-teal); background:var(--c-teal-bg); border:1px solid rgba(44,216,217,.15); border-radius:var(--r-full); padding:6px 14px; }

.about__image { position:relative; aspect-ratio:4/5; border-radius:var(--r-lg); overflow:hidden; }
.about__img-inner { position:absolute; inset:0; background:linear-gradient(135deg,#0D1A2A 0%,var(--c-bg) 40%,#0A1A1F 100%); display:flex; align-items:center; justify-content:center; }
.about__radar { width:70%; height:70%; opacity:.4; }
.about__radar-sweep { transform-origin:150px 150px; animation:radar-sweep 4s linear infinite; }
.about__img-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(8,8,16,.6) 0%, transparent 60%); }
.about__caption { position:absolute; bottom:var(--s-3); left:var(--s-3); right:var(--s-3); background:rgba(8,8,16,.82); backdrop-filter:blur(10px); border:1px solid var(--c-border-t); border-radius:var(--r-md); padding:14px var(--s-2); display:flex; align-items:center; gap:var(--s-2); }
.about__caption-stat { text-align:center; flex:1; }
.about__caption-num   { display:block; font-family:var(--f-display); font-style:italic; font-size:1.4rem; color:var(--c-teal); line-height:1; }
.about__caption-label { display:block; margin-top:3px; font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:var(--c-muted); }
.about__caption-divider { width:1px; height:36px; background:var(--c-border); flex-shrink:0; }

/* ═══════════════════════════════════════════════════════════════
   REVIEWS
═══════════════════════════════════════════════════════════════ */
.reviews__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s-2); margin-top:var(--s-5); }
.review-card { background:var(--c-bg); border:1px solid var(--c-border); border-radius:var(--r-lg); padding:var(--s-4); position:relative; overflow:hidden; transition:border-color .25s, transform .25s; }
.review-card:hover { border-color:rgba(44,216,217,.2); transform:translateY(-4px); }
.review-card::before { content:'\201C'; position:absolute; top:-10px; right:20px; font-family:var(--f-display); font-size:8rem; color:var(--c-teal); opacity:.06; line-height:1; pointer-events:none; }
.review-card__stars  { margin-bottom:var(--s-2); color:var(--c-amber); letter-spacing:2px; }
.review-card__text   { font-family:var(--f-display); font-style:italic; font-size:.95rem; color:var(--c-text); line-height:1.7; margin-bottom:var(--s-3); }
.review-card__text p { margin:0; }
.review-card__footer { display:flex; align-items:center; gap:var(--s-2); }
.review-card__avatar { width:40px; height:40px; border-radius:50%; flex-shrink:0; background:var(--c-teal-bg); border:1px solid var(--c-border-t); display:flex; align-items:center; justify-content:center; font-size:1rem; }
.review-card__name { font-size:.85rem; font-weight:700; color:var(--c-text); margin-bottom:2px; }
.review-card__meta { font-size:.7rem; color:var(--c-muted); }

/* ═══════════════════════════════════════════════════════════════
   FAQ
═══════════════════════════════════════════════════════════════ */
.faq__list { display:flex; flex-direction:column; gap:0; margin-top:var(--s-5); }
.faq__item { background:var(--c-surface); border:1px solid var(--c-border); border-radius:var(--r-md); overflow:hidden; transition:border-color .25s; margin-bottom: 2px; }
.faq__item:has(.faq__question[aria-expanded="true"]) { border-color:rgba(44,216,217,.2); }
.faq__question { display:flex; align-items:center; justify-content:space-between; gap:var(--s-2); padding:22px 24px; cursor:pointer; background:transparent; border:none; width:100%; text-align:left; transition:background var(--transition); }
.faq__question:hover { background:var(--c-surface-2); }
.faq__question > span:first-child { font-family:var(--f-display); font-size:1rem; color:var(--c-text); line-height:1.4; }
.faq__question[aria-expanded="true"] > span:first-child { color:var(--c-teal); }
.faq__icon { width:28px; height:28px; border-radius:50%; flex-shrink:0; background:var(--c-teal-bg); border:1px solid var(--c-border-t); display:flex; align-items:center; justify-content:center; color:var(--c-teal); font-size:1.1rem; font-weight:300; transition:transform .3s, background var(--transition); }
.faq__question[aria-expanded="true"] .faq__icon { transform:rotate(45deg); background:rgba(44,216,217,.12); }
.faq__answer { overflow:hidden; }
.faq__answer[hidden] { display:none; }
.faq__answer-inner { font-size:.88rem; color:var(--c-body); line-height:1.75; border-top:1px solid rgba(255,255,255,.04); padding:var(--s-2) 24px 22px; }
.faq__answer-inner a { color:var(--c-teal); text-decoration:none; }
.faq__answer-inner a:hover { text-decoration:underline; }
.faq__cta-text { text-align:center; font-size:.9rem; color:var(--c-muted); margin-top:var(--s-5); margin-bottom:var(--s-2); }
.faq__cta { text-align:center; }

/* ═══════════════════════════════════════════════════════════════
   CONTACT
═══════════════════════════════════════════════════════════════ */
.contact__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s-2); margin-top:var(--s-5); }
.contact__card { background:var(--c-surface); border:1px solid var(--c-border); border-radius:var(--r-lg); padding:var(--s-3); display:flex; flex-direction:column; gap:var(--s-1); transition:border-color .25s, transform .25s; position:relative; }
.contact__card:hover { border-color:rgba(44,216,217,.22); transform:translateY(-3px); }
.contact__icon  { width:44px; height:44px; border-radius:var(--r-md); background:var(--c-teal-bg); border:1px solid var(--c-border-t); display:flex; align-items:center; justify-content:center; font-size:1.1rem; }
.contact__type  { font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; color:var(--c-muted); }
.contact__value { font-family:var(--f-display); font-style:italic; font-size:1rem; color:var(--c-text); line-height:1.35; }
.contact__sub   { font-size:.75rem; color:var(--c-body); flex:1; }
.contact__action { font-size:.67rem; letter-spacing:.1em; text-transform:uppercase; color:var(--c-teal); margin-top:auto; }
.contact__action a { color:var(--c-teal); text-decoration:none; display:inline-flex; align-items:center; gap:4px; }
.contact__action a::after { content:' →'; transition:margin-left .2s; }
.contact__card:hover .contact__action a::after { margin-left:4px; }
.contact__action a::before { content:''; position:absolute; inset:0; border-radius:var(--r-lg); }

.contact__map-card { grid-column:1/-1; background:var(--c-surface); border:1px solid var(--c-border); border-radius:var(--r-lg); height:180px; position:relative; overflow:hidden; transition:border-color .25s; }
.contact__map-card:hover { border-color:rgba(44,216,217,.22); }
.contact__map-bg { position:absolute; inset:0; background:linear-gradient(rgba(44,216,217,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(44,216,217,.03) 1px,transparent 1px); background-size:28px 28px; }
.contact__map-center { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--s-2); }
.contact__map-pin { width:32px; height:32px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:var(--c-teal); box-shadow:0 0 20px rgba(44,216,217,.4); position:relative; flex-shrink:0; }
.contact__map-pin::after { content:''; width:13px; height:13px; border-radius:50%; background:var(--c-surface); transform:rotate(45deg); position:absolute; top:50%; left:50%; margin:-6.5px 0 0 -6.5px; }
.contact__map-pulse { position:absolute; width:70px; height:70px; border-radius:50%; border:1px solid rgba(44,216,217,.2); animation:map-pulse 2.5s ease-out infinite; }
.contact__map-pulse:nth-child(2) { animation-delay:.8s; }
.contact__map-pulse:nth-child(3) { animation-delay:1.6s; }
@keyframes map-pulse { from{transform:scale(.5);opacity:.8} to{transform:scale(3);opacity:0} }
.contact__map-label { font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:var(--c-muted); text-decoration:none; position:relative; z-index:1; transition:color var(--transition); }
.contact__map-card:hover .contact__map-label { color:var(--c-teal); }

/* ═══════════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════════ */
.site-footer { border-top:1px solid var(--c-border); padding-block:var(--s-5); }
.site-footer__inner { max-width:var(--max-w); margin-inline:auto; padding-inline:var(--s-3); display:flex; align-items:center; justify-content:center; gap:var(--s-4); flex-wrap:wrap; position:relative; z-index:1; }
.site-footer__nav-link { font-size:.68rem; letter-spacing:.15em; text-transform:uppercase; color:var(--c-muted); text-decoration:none; transition:color var(--transition); }
.site-footer__nav-link:hover { color:var(--c-teal); }
.site-footer__social { display:flex; gap:var(--s-2); align-items:center; }
.site-footer__social-link { color:var(--c-muted); display:flex; align-items:center; transition:color var(--transition), transform .2s; }
.site-footer__social-link:hover { color:var(--c-teal); transform:translateY(-2px); }

/* ═══════════════════════════════════════════════════════════════
   IMPRESSZUM
═══════════════════════════════════════════════════════════════ */
.impr-section { padding-block:var(--s-7); }
.impr-section h1 { font-style:italic; font-size:clamp(2rem,5vw,3rem); margin-bottom:var(--s-4); }
.impr-section p, .impr-section li { font-size:.95rem; line-height:1.8; color:var(--c-body); margin-bottom:var(--s-2); }
.impr-section h2 { font-size:1.2rem; margin-block:var(--s-4) var(--s-1); }
.impr-section a { color:var(--c-teal); }

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .drinks__grid  { grid-template-columns:repeat(2,1fr); }
  .about__grid   { grid-template-columns:1fr; gap:var(--s-5); }
  .about__image  { aspect-ratio:16/9; }
  .reviews__grid { grid-template-columns:1fr; }
  .contact__grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 600px) {
  section { padding-block:var(--s-6); }
  .drinks__grid { grid-template-columns:1fr; }
  .drinks__card { aspect-ratio:4/3; }
  .form__row--2col { grid-template-columns:1fr; }
  .form-card { padding:var(--s-3) var(--s-2); }
  .hero__stats { gap:var(--s-4); }
  .contact__grid { grid-template-columns:1fr; }
  .drinks__header { flex-direction:column; align-items:flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
  html { scroll-behavior:auto; }
}
