/* ==========================================================================
   Avra Hotel Aegina — site stylesheet
   Built on the Avra Design System (tokens + components).
   Every page of the site links this one file. Add new pages, not new CSS.
   ========================================================================== */

/* ---------- Tokens ---------- */
:root {
  /* Aegean navy */
  --aegean-950:#16263F; --aegean-900:#1E3050; --aegean-800:#26385C;
  --aegean-700:#2C4468; --aegean-600:#364F76; --aegean-500:#41567B;
  --aegean-400:#6E7EA0; --aegean-300:#9AA6BF; --aegean-200:#C4CCDB; --aegean-100:#E2E7EF;

  /* Warm neutrals */
  --white:#FDFCF9; --ivory:#F8F4EC; --cream:#F1E8D8;
  --sand:#E7DAC1; --sand-600:#D8C6A5; --sand-700:#C3AC85;

  /* Accents */
  --gold-600:#B07E2E; --gold-500:#C7943F; --gold-400:#D8B26A; --gold-200:#EBD9AF;
  --terracotta-600:#A85535; --terracotta-500:#C06A45; --terracotta-300:#DDA184;
  --olive-700:#5A5F38; --olive-500:#6E7346;
  --pistachio-500:#8FA96A; --pistachio-300:#A9C08A; --pistachio-100:#DCE6C8;

  /* Semantic */
  --surface-page:var(--ivory); --surface-card:var(--white);
  --surface-soft:var(--cream); --surface-sand:var(--sand);
  --surface-ink:var(--aegean-700); --surface-ink-deep:var(--aegean-900);
  --text-heading:var(--aegean-900); --text-body:var(--aegean-800);
  --text-muted:var(--aegean-400); --text-on-ink:var(--ivory);
  --text-on-ink-mut:var(--aegean-200); --text-accent:var(--gold-600);
  --accent-primary:var(--gold-500);
  --border-hairline:rgba(43,68,104,.14); --border-sand:var(--sand-600);
  --border-gold:rgba(199,148,63,.45); --border-on-ink:rgba(248,244,236,.18);

  /* Type */
  /* Neither Cormorant Garamond nor Mulish ships Greek glyphs. EB Garamond and
     Noto Sans (both Greek-capable, closest visual matches) pick up Greek runs
     automatically while Latin stays on the brand faces. */
  --font-serif:'Cormorant Garamond','EB Garamond','Hoefler Text',Georgia,serif;
  --font-sans:'Mulish','Noto Sans','Helvetica Neue',Arial,sans-serif;
  --fs-hero:4.75rem; --fs-h1:3.25rem; --fs-h2:2.5rem; --fs-h3:1.875rem;
  --fs-h4:1.375rem; --fs-lead:1.25rem; --fs-body:1rem; --fs-sm:.875rem;
  --fs-xs:.75rem; --fs-eyebrow:.72rem;
  --lh-tight:1.05; --lh-snug:1.2; --lh-body:1.6;
  --ls-eyebrow:.28em; --ls-caps:.14em; --ls-wide:.04em; --ls-display:-.01em;

  /* Space & radii */
  --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px;
  --space-6:32px; --space-7:48px; --space-8:64px; --space-9:96px;
  --radius-sm:4px; --radius-md:8px; --radius-lg:14px; --radius-xl:22px; --radius-pill:999px;
  --container:1200px;

  /* Effects */
  --shadow-sm:0 2px 8px rgba(30,48,80,.07);
  --shadow-md:0 8px 24px rgba(30,48,80,.09);
  --shadow-lg:0 18px 48px rgba(30,48,80,.12);
  --grad-ink:linear-gradient(160deg,var(--aegean-700) 0%,var(--aegean-900) 100%);
  --grad-sea:linear-gradient(120deg,var(--aegean-100) 0%,var(--ivory) 60%);
  --ease-out:cubic-bezier(.22,.61,.36,1); --dur:240ms; --dur-slow:420ms;
}

/* ---------- Base ---------- */
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0; background:var(--ivory); color:var(--text-body);
  font-family:var(--font-sans); font-size:var(--fs-body); line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
}
img { max-width:100%; }
a { color:var(--aegean-700); text-decoration:none; transition:color var(--dur) var(--ease-out); }
a:hover { color:var(--gold-600); }
h1,h2,h3,h4 { font-family:var(--font-serif); font-weight:500; letter-spacing:var(--ls-display); margin:0; }
p { text-wrap:pretty; }
.container { max-width:var(--container); margin:0 auto; }
.section { padding:clamp(64px,8vw,104px) clamp(20px,4vw,56px); }
.section--soft { background:var(--cream); }
.section--ink { background:var(--grad-ink); color:var(--text-on-ink); }
@keyframes avraFade { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }

/* ---------- Brand components ---------- */
.eyebrow {
  font-family:var(--font-sans); font-size:var(--fs-eyebrow); font-weight:700;
  letter-spacing:var(--ls-eyebrow); text-transform:uppercase; color:var(--accent-primary);
}
.eyebrow--onink { color:var(--gold-400); }
.section-title h1, .section-title h2 { font-size:var(--fs-h2); line-height:var(--lh-snug); color:var(--text-heading); margin-top:var(--space-4); }
.section--ink .section-title h1, .section--ink .section-title h2 { color:var(--text-on-ink); }
.section-title .gr {
  font-family:var(--font-serif); font-style:italic; font-size:var(--fs-h4);
  color:var(--text-muted); margin-top:var(--space-2);
}
.section--ink .section-title .gr { color:var(--text-on-ink-mut); }
.section-title .rule { height:2px; border:0; width:56px; background:var(--accent-primary); margin:var(--space-4) 0 0; border-radius:2px; }

/* ---------- Buttons ---------- */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--font-sans); font-weight:600; font-size:var(--fs-body);
  letter-spacing:var(--ls-wide); text-transform:uppercase;
  padding:13px 26px; border-radius:var(--radius-sm); cursor:pointer;
  text-decoration:none; line-height:1.25; white-space:normal; text-align:center;
  background:var(--aegean-700); color:var(--ivory); border:1px solid var(--aegean-700);
  transition:all var(--dur) var(--ease-out);
}
.btn:hover { background:var(--aegean-900); border-color:var(--aegean-900); color:var(--ivory); }
.btn--sm { padding:9px 18px; font-size:var(--fs-sm); }
.btn--lg { padding:16px 34px; font-size:var(--fs-lead); }
.btn--full { display:flex; width:100%; }
@media (max-width:520px) {
  .btn--lg { padding:15px 20px; font-size:var(--fs-body); }
  .btn { padding:13px 18px; }
}
.btn--gold { background:var(--gold-500); color:var(--aegean-900); border-color:var(--gold-500); }
.btn--gold:hover { background:var(--gold-600); border-color:var(--gold-600); color:var(--ivory); }
.btn--outline { background:transparent; color:var(--aegean-700); border-color:var(--sand-600); }
.btn--outline:hover { background:var(--sand); color:var(--aegean-900); }
.btn--ghost { background:transparent; color:var(--aegean-700); border-color:transparent; }
.btn--ghost-onink { background:transparent; color:var(--text-on-ink); border-color:rgba(248,244,236,.34); }
.btn--ghost-onink:hover { background:rgba(248,244,236,.12); color:var(--ivory); border-color:rgba(248,244,236,.6); }
.btn--ghost:hover { background:var(--cream); color:var(--aegean-900); }
.btn--onink { background:var(--ivory); color:var(--aegean-900); border-color:var(--ivory); }
.btn--onink:hover { background:var(--cream); color:var(--aegean-900); }

/* ---------- Card, tag ---------- */
.card {
  background:var(--surface-card); color:var(--text-body);
  border:1px solid var(--border-sand); border-radius:var(--radius-lg);
  padding:var(--space-6); box-shadow:var(--shadow-md);
}
.card--sand { background:var(--surface-sand); }
.tag {
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-sans); font-size:var(--fs-xs); font-weight:600;
  letter-spacing:var(--ls-wide); text-transform:uppercase;
  color:var(--aegean-800); background:var(--sand); border:1px solid var(--sand-600);
  padding:4px 10px; border-radius:var(--radius-pill); line-height:1.3;
}

/* ---------- Forms ---------- */
.field { display:flex; flex-direction:column; gap:8px; }
.field > span:first-child {
  font-family:var(--font-sans); font-size:var(--fs-eyebrow); font-weight:700;
  letter-spacing:var(--ls-caps); text-transform:uppercase; color:var(--text-muted);
}
.field input, .field select, .input {
  font-family:var(--font-sans); font-size:var(--fs-body); color:var(--aegean-900);
  padding:12px 14px; background:var(--ivory);
  border:1px solid var(--border-sand); border-radius:var(--radius-sm);
}
.input { background:var(--white); }

/* ---------- Header ---------- */
.site-header {
  position:sticky; top:0; z-index:60; display:flex; align-items:center;
  justify-content:space-between; gap:24px; padding:12px clamp(20px,4vw,56px);
  background:rgba(248,244,236,.92); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border-sand);
}
.site-header img.logo { height:46px; width:auto; display:block; }
.site-nav {
  display:flex; align-items:center; gap:clamp(14px,2.2vw,32px);
  font-size:var(--fs-eyebrow); font-weight:700; letter-spacing:var(--ls-caps); text-transform:uppercase;
}
.site-nav a { color:var(--aegean-600); }
.header-actions { display:flex; align-items:center; gap:16px; }
.lang-switch { display:flex; align-items:center; gap:2px; font-size:var(--fs-eyebrow); font-weight:700; letter-spacing:var(--ls-caps); }
.lang-switch a, .lang-switch button {
  border:none; background:transparent; cursor:pointer; padding:6px 8px;
  font:inherit; text-transform:uppercase; color:var(--aegean-300);
}
.lang-switch a[aria-current="true"], .lang-switch button[aria-current="true"] { color:var(--aegean-900); }
.lang-switch a:hover { color:var(--gold-600); }
.header-phone { font-size:var(--fs-sm); letter-spacing:var(--ls-wide); color:var(--aegean-600); }
.social-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.nav-toggle { display:none; border:1px solid var(--border-sand); background:transparent; border-radius:var(--radius-sm); padding:8px 12px; cursor:pointer; font:inherit; }

/* ---------- Hero ---------- */
.hero {
  position:relative; min-height:min(88vh,860px); display:flex; align-items:flex-end;
  background-size:cover; background-position:center 46%;
}
.hero-inner { width:100%; padding:clamp(48px,8vw,96px) clamp(20px,4vw,56px) calc(clamp(28px,4vw,44px) + 88px); animation:avraFade 620ms var(--ease-out) both; }
.hero h1 { max-width:16ch; font-size:clamp(44px,7.4vw,88px); line-height:var(--lh-tight); color:var(--ivory); }
.hero .eyebrow {
  display:inline-block; color:var(--ivory);
  background:rgba(22,38,63,.62); padding:7px 12px; border-radius:var(--radius-sm);
}
.hero .hero-gr { margin-top:10px; font-family:var(--font-serif); font-style:italic; font-size:clamp(22px,2.6vw,34px); color:rgba(248,244,236,.88); }
.hero p { margin:22px 0 0; max-width:46ch; font-size:var(--fs-lead); color:rgba(248,244,236,.88); }

/* ---------- Booking bar ---------- */
.bookbar { padding:0 clamp(20px,4vw,56px); margin-top:-50px; position:relative; z-index:20; }
.bookbar .card { box-shadow:var(--shadow-lg); padding:clamp(22px,3vw,32px); }
.bookbar-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:20px; align-items:end; }
.bookbar-trust { margin-top:20px; padding-top:16px; border-top:1px solid var(--border-sand); display:flex; flex-wrap:wrap; gap:8px 28px; font-size:var(--fs-sm); color:var(--text-muted); }

/* ---------- Grids ---------- */
.grid { display:grid; gap:26px; }
.grid--4 { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:clamp(24px,3vw,44px); }
.grid--3 { grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:22px; }
.grid--2 { grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:clamp(32px,4vw,64px); }
.grid--2up { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.grid--4up { grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(24px,3vw,44px); }
@media (max-width:1080px) { .grid--4up { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .grid--4up { grid-template-columns:1fr; } }
@media (max-width:780px) { .grid--2up { grid-template-columns:1fr; } }

/* ---------- Promises ---------- */
.promise { display:flex; flex-direction:column; gap:12px; }
.promise p { margin:0; font-family:var(--font-serif); font-size:var(--fs-h4); line-height:var(--lh-snug); color:var(--text-heading); }

/* ---------- Offers ---------- */
.offer { display:flex; flex-direction:column; justify-content:space-between; gap:28px; padding:clamp(26px,3vw,38px); background:var(--surface-card); border:1px solid var(--border-sand); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); }
.offer h3 { margin:16px 0 0; font-size:var(--fs-h3); line-height:var(--lh-snug); color:var(--text-heading); }
.offer p { margin:14px 0 0; color:var(--text-body); }
.offer .price { font-size:var(--fs-sm); font-weight:700; letter-spacing:var(--ls-caps); text-transform:uppercase; color:var(--text-accent); }
.offer--ink { background:var(--grad-ink); color:var(--text-on-ink); border:none; box-shadow:var(--shadow-lg); }
.offer--ink h3 { color:var(--text-on-ink); }
.offer--ink p { color:var(--text-on-ink-mut); }
.offer--ink .price { color:var(--gold-400); }
.offer-foot { display:flex; flex-direction:column; gap:16px; }

/* ---------- Rooms ---------- */
.room { display:flex; flex-direction:column; background:var(--surface-card); border:1px solid var(--border-sand); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); }
.room .photo { position:relative; aspect-ratio:4/3; overflow:hidden; }
.room .photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; opacity:0; transition:opacity var(--dur-slow) var(--ease-out); }
.room .photo img.on { opacity:1; }
.room .photo.single img { position:static; opacity:1; transition:transform var(--dur-slow) var(--ease-out); }
.room:hover .photo.single img { transform:scale(1.03); }
.room .photo nav { position:absolute; inset:0; display:flex; align-items:center; justify-content:space-between; padding:0 10px; opacity:0; transition:opacity var(--dur) var(--ease-out); }
.room .photo:hover nav, .room .photo:focus-within nav { opacity:1; }
.room .photo nav button {
  width:36px; height:36px; border-radius:var(--radius-pill); cursor:pointer;
  border:1px solid rgba(248,244,236,.5); background:rgba(22,38,63,.55); color:var(--ivory);
  font:600 16px/1 var(--font-sans); display:flex; align-items:center; justify-content:center;
  transition:background var(--dur) var(--ease-out);
}
.room .photo nav button:hover { background:rgba(22,38,63,.85); }
.room .photo .dots { position:absolute; left:0; right:0; bottom:12px; display:flex; justify-content:center; gap:7px; }
.room .photo .dots button {
  width:8px; height:8px; padding:0; border-radius:var(--radius-pill); cursor:pointer;
  border:1px solid rgba(248,244,236,.75); background:transparent; transition:background var(--dur) var(--ease-out);
}
.room .photo .dots button[aria-current="true"] { background:var(--ivory); }
.room .photo .count {
  position:absolute; top:12px; right:12px; padding:4px 9px; border-radius:var(--radius-pill);
  background:rgba(22,38,63,.6); color:var(--ivory);
  font-family:var(--font-sans); font-size:var(--fs-xs); font-weight:600; letter-spacing:var(--ls-wide);
}
.room-body { display:flex; flex-direction:column; gap:16px; padding:clamp(22px,2.4vw,30px); flex:1; }
.room-head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.room-head h3 { font-size:var(--fs-h3); color:var(--text-heading); }
.room-head .price { font-family:var(--font-sans); font-size:var(--fs-sm); font-weight:700; letter-spacing:var(--ls-caps); text-transform:uppercase; color:var(--text-accent); white-space:nowrap; }
.room-body p { margin:0; color:var(--text-body); flex:1; }
.tags { display:flex; flex-wrap:wrap; gap:8px; }

/* ---------- Island tiles ---------- */
.tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:1px; background:var(--border-on-ink); }
.tile { background:var(--aegean-800); padding:24px; }
.tile .d { font-size:var(--fs-eyebrow); font-weight:700; letter-spacing:var(--ls-caps); text-transform:uppercase; color:var(--gold-400); }
.tile h3 { margin:10px 0 8px; font-size:var(--fs-h4); }
.tile p { margin:0; font-size:var(--fs-sm); color:var(--text-on-ink-mut); }

/* ---------- Gallery ---------- */
.gallery { margin-top:clamp(26px,3vw,40px); display:flex; flex-wrap:wrap; gap:12px; }
.gallery a { overflow:hidden; border-radius:var(--radius-md); }
.gallery a img { width:100%; height:100%; object-fit:cover; display:block; transition:transform var(--dur-slow) var(--ease-out); }
.gallery a:hover img { transform:scale(1.03); }
.gallery .wide { flex:2 1 340px; aspect-ratio:2/1.34; }
.gallery .sq { flex:1 1 190px; aspect-ratio:1; }

/* ---------- Map ---------- */
.map-frame {
  margin-top:clamp(32px,4vw,48px); border:1px solid var(--border-sand); border-radius:var(--radius-lg);
  overflow:hidden; box-shadow:var(--shadow-sm); background:var(--white);
}
.map-frame iframe { display:block; width:100%; height:clamp(300px,34vw,460px); border:0; }

/* ---------- Cookie consent ---------- */
.cookie-bar {
  position:fixed; left:0; right:0; bottom:0; z-index:80;
  background:var(--grad-ink); color:var(--text-on-ink);
  box-shadow:var(--shadow-lg); border-top:1px solid rgba(248,244,236,.14);
  transform:translateY(100%); transition:transform 280ms var(--ease-out);
}
.cookie-bar.show { transform:translateY(0); }
.cookie-bar__inner {
  max-width:var(--container); margin:0 auto; padding:clamp(18px,2.4vw,26px) clamp(20px,4vw,56px);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px;
}
.cookie-bar__text { flex:1; min-width:280px; }
.cookie-bar__text p { margin:10px 0 0; max-width:62ch; font-size:var(--fs-sm); color:var(--text-on-ink-mut); }
.cookie-bar__text a { color:var(--gold-400); text-decoration:underline; text-underline-offset:3px; }
.cookie-bar__text a:hover { color:var(--gold-300, var(--gold-400)); }
.cookie-bar__actions { display:flex; flex-wrap:wrap; gap:12px; }
body.consent-open .stickybar { display:none; }

/* ---------- Facts ---------- */
.facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 24px; }
.facts > div:nth-child(even) { padding-left:24px; border-left:1px solid var(--border-sand); }
.facts .k { font-size:var(--fs-eyebrow); font-weight:700; letter-spacing:var(--ls-caps); text-transform:uppercase; color:var(--text-muted); }
.facts .v { margin-top:8px; font-family:var(--font-serif); font-size:var(--fs-h4); line-height:1.25; color:var(--text-heading); }
@media (max-width:420px) { .facts { grid-template-columns:1fr; } .facts > div:nth-child(even) { padding-left:0; border-left:none; } }

/* ---------- Footer & sticky bar ---------- */
.site-footer { padding:44px clamp(20px,4vw,56px) 104px; background:var(--aegean-900); color:var(--text-on-ink); }
.site-footer .inner { max-width:var(--container); margin:0 auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; }
.site-footer img { height:46px; width:auto; display:block; }
.site-footer .links { display:flex; flex-wrap:wrap; gap:10px 26px; font-size:var(--fs-sm); color:var(--text-on-ink-mut); }
.site-footer .links a { color:var(--gold-400); }

.stickybar {
  position:fixed; left:0; right:0; bottom:0; z-index:55; display:flex; flex-wrap:wrap;
  align-items:center; justify-content:space-between; gap:14px;
  padding:12px clamp(16px,4vw,40px); background:rgba(30,48,80,.95);
  backdrop-filter:blur(10px); color:var(--text-on-ink);
}
.stickybar .lead { display:block; line-height:1.35; margin-bottom:3px; font-size:var(--fs-eyebrow); font-weight:700; letter-spacing:var(--ls-caps); text-transform:uppercase; color:var(--gold-400); }
.stickybar .sub { display:block; line-height:1.35; font-size:var(--fs-sm); color:var(--text-on-ink-mut); }
.stickybar .actions { display:flex; gap:10px; }

/* ---------- Modal ---------- */
.modal[hidden] { display:none; }
.modal {
  position:fixed; inset:0; z-index:90; display:flex; align-items:center; justify-content:center;
  padding:20px; background:rgba(22,38,63,.6); backdrop-filter:blur(4px);
  animation:avraFade 220ms var(--ease-out) both;
}
.modal-panel { width:100%; max-width:560px; background:var(--surface-card); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); overflow:hidden; }
.modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:28px 30px 0; }
.modal-head h3 { margin:12px 0 0; font-size:var(--fs-h3); color:var(--text-heading); }
.modal-close { border:none; background:transparent; font-size:28px; line-height:1; color:var(--text-muted); cursor:pointer; padding:4px; }
.modal-rows { padding:24px 30px 0; display:flex; flex-direction:column; gap:12px; }
.modal-rows > div { display:flex; justify-content:space-between; gap:16px; color:var(--text-muted); }
.modal-rows > div:not(:last-child) { padding-bottom:12px; border-bottom:1px solid var(--border-sand); }
.modal-rows strong { font-weight:400; color:var(--text-heading); }
.modal-foot { padding:26px 30px 30px; display:flex; flex-direction:column; gap:14px; }
.modal-foot p { margin:0; font-size:var(--fs-sm); color:var(--text-muted); }

/* ---------- Responsive ---------- */
@media (max-width:1000px) {
  .site-nav { display:none; }
  .site-nav.open {
    display:flex; flex-direction:column; align-items:flex-start; gap:14px;
    position:absolute; top:100%; left:0; right:0; padding:20px clamp(20px,4vw,56px);
    background:var(--ivory); border-bottom:1px solid var(--border-sand);
  }
  .nav-toggle { display:inline-flex; }
  .header-phone { display:none; }
}
@media (max-width:380px) {
  .site-header img.logo { height:30px; }
  .header-actions .btn--sm { padding:8px 10px; font-size:10px; }
}
@media (max-height:760px) and (min-width:641px) {
  .hero { min-height:min(88vh,860px); }
  .hero h1 { font-size:clamp(36px,5.2vw,58px); }
  .hero .hero-gr { font-size:clamp(18px,2vw,24px); }
  .hero p { font-size:var(--fs-body); max-width:52ch; }
  .hero-inner { padding-top:clamp(32px,5vw,56px); }
}
@media (max-width:640px) {
  :root { --fs-h1:2.5rem; --fs-h2:2rem; --fs-h3:1.5rem; --fs-h4:1.2rem; }
  .cookie-bar__actions { width:100%; }
  .cookie-bar__actions .btn { flex:1; }
  .stickybar { padding:10px 16px; }
  /* Keep the whole header on one line at phone widths */
  .site-header { gap:10px; padding:10px 16px; }
  .site-header img.logo { height:34px; flex:0 0 auto; }
  .header-actions { gap:10px; min-width:0; }
  .header-actions .btn--sm { padding:8px 12px; letter-spacing:.06em; }
  .lang-switch { gap:1px; }
  .social-actions { flex-direction:column; align-items:stretch; }
  .social-actions .btn { width:100%; }
  .stickybar .actions { width:100%; }
  .stickybar .actions .btn { flex:1; }
}
