/* GEDESA site navbar — extracted from the public_html_2 design.
   Scoped so it can be dropped onto every page without clashing with the
   older styles.css/app.css used by the remaining pages. */
:root{
  --forest:#173c32;
  --forest-2:#0d2b24;
  --forest-3:#2b5c4f;
  --sun:#d79a52;
  --sun-2:#f0c282;
  --cream:#f6f0e5;
  --sand:#ece2d1;
  --ink:#17211e;
  --muted:#67706c;
  --white:#fff;
  --line:rgba(23,33,30,.14);
  --shadow:0 24px 60px rgba(18,35,29,.13);
  --serif:"Playfair Display", Georgia, serif;
  --sans:"DM Sans", Arial, sans-serif;
  --radius:2px;
  --container:min(1220px, calc(100% - 40px));
}
.container{width:var(--container);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Announcement bar */
.announcement{background:#0b251f;color:#d9e7e1;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;font-family:var(--sans)}
.announcement__inner{min-height:35px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.announcement a{color:var(--sun-2);text-decoration:none}
.announcement a:hover{color:#ffd9a3}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:box-shadow .25s,border-color .25s}
.site-header.is-scrolled{box-shadow:0 10px 30px rgba(15,37,31,.08);border-color:var(--line)}
.nav-wrap{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:30px;font-family:var(--sans)}

/* Brand / logo */
.site-header .brand{display:flex;align-items:center;gap:12px;line-height:1.05;color:var(--forest);text-decoration:none}
.site-header .brand strong{font-family:var(--serif);font-size:1.12rem;display:block;letter-spacing:.01em}
.site-header .brand small{display:block;text-transform:uppercase;letter-spacing:.17em;font-size:.57rem;margin-top:5px}
.brand--official{gap:10px;flex:0 0 auto}
.brand__official-mark{width:58px;height:58px;display:grid;place-items:center;overflow:hidden;background:#fff}
.brand__official-mark img{width:100%;height:100%;object-fit:contain;display:block;max-width:100%}
.brand__official-copy{display:flex;flex-direction:column;line-height:1}
.brand__official-copy strong{font-family:var(--serif);font-size:1.42rem;letter-spacing:.12em;color:var(--forest)}
.brand__official-copy small{margin-top:6px;font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}

/* Main nav */
.main-nav{display:flex;align-items:center;gap:26px;font-size:.89rem;font-weight:600;font-family:var(--sans)}
.main-nav>a:not(.button){position:relative;color:var(--forest);text-decoration:none}
.main-nav>a:not(.button)::after{content:"";position:absolute;height:1px;background:var(--sun);left:0;right:100%;bottom:-8px;transition:right .25s}
.main-nav>a:not(.button):hover::after{right:0}
.nav-account{color:var(--forest)}

/* Destinations dropdown */
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-dropdown__trigger{display:flex;align-items:center;gap:6px;border:0;background:transparent;padding:0;font:inherit;font-weight:600;color:var(--forest);cursor:pointer;position:relative;text-decoration:none}
.nav-dropdown__trigger::after{content:"";position:absolute;height:1px;background:var(--sun);left:0;right:100%;bottom:-8px;transition:right .25s}
.nav-dropdown__trigger:hover::after,
.nav-dropdown.is-open .nav-dropdown__trigger::after{right:0}
.nav-dropdown__trigger .caret{font-size:.55rem;transition:transform .2s;line-height:1}
.nav-dropdown.is-open .nav-dropdown__trigger .caret{transform:rotate(180deg)}
.nav-dropdown__menu{position:absolute;top:calc(100% + 12px);left:0;min-width:250px;max-height:70vh;overflow:auto;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:10px 0;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:55}
.nav-dropdown:hover .nav-dropdown__menu,
.nav-dropdown:focus-within .nav-dropdown__menu,
.nav-dropdown.is-open .nav-dropdown__menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-dropdown__menu a{padding:9px 20px;color:var(--ink);text-decoration:none;font-size:.86rem;font-weight:500}
.nav-dropdown__menu a:hover{color:var(--sun);background:var(--cream)}

/* Buttons */
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 25px;border:1px solid transparent;border-radius:var(--radius);font-weight:700;font-size:.86rem;letter-spacing:.02em;transition:transform .2s,background .2s,color .2s,border-color .2s;white-space:nowrap;text-decoration:none;font-family:var(--sans)}
.button:hover{transform:translateY(-2px)}
.button--small{min-height:42px;padding:0 18px}
.button--sun{background:var(--sun);color:#1c241f}
.button--sun:hover{background:var(--sun-2)}

/* Mobile nav toggle */
.nav-toggle{display:none;border:0;background:transparent;width:42px;height:42px;padding:8px;cursor:pointer}
.nav-toggle span:not(.sr-only){display:block;height:2px;background:var(--forest);margin:5px 0}
.nav-backdrop,.mobile-nav-head{display:none}

@media(max-width:1100px){
  .main-nav{gap:16px;font-size:.8rem}
  .main-nav .nav-hide-lg{display:none}
}
@media(max-width:860px){
  :root{--container:min(100% - 30px,1220px)}
  .announcement__inner{justify-content:center;text-align:center}
  .announcement a{display:none}
  .nav-wrap{min-height:72px}
  .brand--official{max-width:210px!important}
  .brand__official-mark{width:48px;height:48px;flex:0 0 48px}
  .brand__official-copy strong{font-size:1.16rem}
  .brand__official-copy small{font-size:.49rem;letter-spacing:.18em}
  .nav-toggle{display:block;z-index:60}
  .main-nav{position:fixed;inset:0 0 0 18%;background:#fff;display:flex;flex-direction:column;align-items:flex-start;padding:105px 35px 40px;transform:translateX(105%);transition:transform .3s;box-shadow:-15px 0 40px rgba(0,0,0,.12);font-size:1.1rem;gap:22px}
  .main-nav.is-open{transform:translateX(0)}
  .main-nav .nav-hide-lg{display:block}
  .main-nav .button{width:100%;margin-top:10px}
  .nav-dropdown{width:100%;flex-direction:column;align-items:stretch}
  .nav-dropdown__trigger{width:100%;justify-content:space-between}
  .nav-dropdown__menu{position:static;min-width:0;box-shadow:none;border:0;padding:8px 0 0 14px;max-height:none;overflow:visible;opacity:1;visibility:visible;transform:none;display:none}
  .nav-dropdown.is-open .nav-dropdown__menu{display:flex}
}
@media(max-width:560px){
  .brand--official{max-width:190px!important}
  .brand__official-mark{width:46px;height:46px;flex-basis:46px}
  .brand__official-copy strong{font-size:1.08rem}
  .brand__official-copy small{font-size:.46rem;letter-spacing:.16em}
}
