/*
 * Aurora redesign - design tokens, header, footer and floating buttons.
 * Loaded on every page, including legacy Domus pages, so everything here is
 * scoped to ar-* classes and resets properties Domus styles globally.
 */

:root{
  --navy:#4A4F45;
  --navy-soft:#5C6355;
  --rust:#9D7D62;
  --rust-dark:#856A53;
  --brown:#4A3728;
  --gold:#C9A96A;
  --gold-soft:#DDC08A;
  --cream:#E7E1D8;
  --cream-soft:#FFFFFF;
  --sage:#EDE9E0;
  --ink:#2E2E2E;
  --ink-soft:#6E6E6B;
  --line: rgba(46,46,46,.10);
  --radius: 0px;
  --ease: cubic-bezier(.22,1,.36,1);
  --ar-font: 'Montserrat', sans-serif;
}

.ar-header, .ar-header *, .ar-footer, .ar-footer *, .ar-back-to-top, .ar-call-btn{box-sizing:border-box;}
.ar-header a, .ar-footer a, .ar-call-btn{text-decoration:none;border:0;}
.ar-header img, .ar-footer img{max-width:100%;display:block;border:0;}
.ar-header button, .ar-back-to-top{
  font-family:var(--ar-font);margin:0;min-width:0;height:auto;line-height:1;
  text-transform:none;letter-spacing:0;box-shadow:none;
}

/* ---------- HEADER ---------- */
.ar-header{
  position:sticky;top:0;left:0;right:0;z-index:100;
  padding:13px 0;margin:0;
  background:#fff;
  box-shadow:0 1px 0 var(--line);
  transition:padding .4s var(--ease);
  font-family:var(--ar-font);
  -webkit-font-smoothing:antialiased;
}
.admin-bar .ar-header{top:32px;}
@media (max-width:782px){ .admin-bar .ar-header{top:46px;} }
@media (max-width:600px){ .admin-bar .ar-header{top:0;} }

.ar-header .ar-wrap{display:flex;align-items:center;justify-content:center;gap:40px;max-width:1500px;margin:0 auto;padding:0 32px;}
.ar-header.solid{padding:9px 0;}
.ar-logo{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.ar-logo img{height:64px;width:auto;}

.ar-nav{display:flex;align-items:center;gap:20px;flex-wrap:nowrap;margin:0;padding:0;}
.ar-nav a{
  font-family:var(--ar-font);font-size:11.5px;font-weight:600;line-height:1.4;color:var(--ink);
  text-transform:uppercase;letter-spacing:.05em;
  position:relative;padding:4px 0;display:inline-block;
  transition:color .3s;
  white-space:nowrap;
}
.ar-nav a:hover, .ar-nav a:focus{color:var(--ink);}
.ar-nav > a::after, .ar-has-dropdown > a::after{
  content:"";position:absolute;left:0;bottom:-3px;width:0;height:1px;background:var(--gold);
  transition:width .35s var(--ease);
}
.ar-nav > a:hover::after, .ar-nav > a.is-current::after,
.ar-has-dropdown:hover > a::after, .ar-has-dropdown > a.is-current::after{width:100%;}
.ar-nav .nav-mobile-only{display:none;}

.ar-actions{display:flex;align-items:center;gap:14px;flex-shrink:0;}
.ar-cta{
  display:inline-block;
  background:var(--rust);color:#fff!important;font-family:var(--ar-font);font-size:11px;font-weight:700;line-height:1.4;
  text-transform:uppercase;letter-spacing:.05em;padding:11px 18px;border-radius:100px;
  transition:background .3s, transform .3s;white-space:nowrap;
}
.ar-cta:hover, .ar-cta:focus{background:var(--rust-dark);color:#fff;transform:translateY(-2px);}
.ar-blog-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ar-blog-btn img{height:32px;width:auto;transition:opacity .3s;}
.ar-blog-btn:hover img{opacity:.75;}

.ar-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;border-radius:0;}
.ar-burger:hover, .ar-burger:focus{background:none;}
.ar-burger span{display:block;width:24px;height:2px;background:var(--ink);transition:background .3s;}
.ar-nav-close{display:none;}
.ar-nav-backdrop{position:fixed;inset:0;background:rgba(10,20,30,.5);opacity:0;visibility:hidden;transition:opacity .4s, visibility .4s;z-index:99;}
.ar-nav-backdrop.show{opacity:1;visibility:visible;}

/* availability dropdown under the CTA */
.ar-cta-wrap{position:relative;}
.ar-cta-dropdown{
  position:absolute;top:100%;left:50%;margin-top:10px;min-width:210px;
  background:var(--rust-dark);border-radius:var(--radius);padding:14px 0;
  transform:translateX(-50%) translateY(6px);opacity:0;visibility:hidden;
  transition:opacity .25s, transform .25s, visibility .25s;z-index:200;
  box-shadow:0 20px 40px -20px rgba(0,0,0,.4);
}
.ar-cta-dropdown::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px;} /* hover bridge */
.ar-cta-wrap:hover .ar-cta-dropdown, .ar-cta-wrap:focus-within .ar-cta-dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.ar-cta-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:9px 22px;white-space:nowrap;transition:background .2s;}
a.ar-cta-row:hover{background:rgba(255,255,255,.08);}
.ar-cta-row span{color:rgba(255,255,255,.82);font-size:13px;}
.ar-cta-row b{color:#fff;font-size:14px;font-weight:800;}

/* nav dropdowns (menu items with children) */
.ar-has-dropdown{position:relative;}
.ar-dropdown{
  position:absolute;top:100%;left:0;margin-top:14px;background:var(--rust-dark);min-width:240px;
  padding:10px 0;border-radius:var(--radius);opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .25s, transform .25s, visibility .25s;z-index:200;box-shadow:0 20px 40px -20px rgba(0,0,0,.4);
}
.ar-dropdown::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;} /* hover bridge */
.ar-has-dropdown:hover .ar-dropdown, .ar-has-dropdown:focus-within .ar-dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.ar-dropdown a{
  display:block;padding:11px 22px;color:#fff!important;font-size:12px;font-weight:600;
  text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;
}
.ar-dropdown a:hover{background:rgba(255,255,255,.08);}

/* ---------- FOOTER ---------- */
.ar-footer{
  background:var(--rust);padding:56px 0 30px;margin:0;text-align:center;
  border-top:1px solid rgba(255,255,255,.14);
  font-family:var(--ar-font);-webkit-font-smoothing:antialiased;
}
.ar-social{display:flex;justify-content:center;gap:22px;margin-bottom:26px;}
.ar-social a{
  width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;
  transition:background .3s, transform .3s;
}
.ar-social a:hover{background:rgba(255,255,255,.16);transform:translateY(-3px);}
.ar-social img{height:18px;width:auto;filter:brightness(0) invert(1);opacity:.85;}
.ar-footer-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:30px;margin:4px 0 24px;padding:0 18px;}
.ar-footer-nav a{color:rgba(255,255,255,.9);font-size:17px;font-weight:600;letter-spacing:.01em;transition:color .3s ease;}
.ar-footer-nav a:hover, .ar-footer-nav a:focus{color:var(--gold);}
.ar-footer .ar-copy{color:rgba(255,255,255,.45);font-size:13px;line-height:1.6;margin:0;padding:0;font-family:var(--ar-font);}

/* ---------- FLOATING BUTTONS ---------- */
.ar-back-to-top{
  position:fixed;right:22px;bottom:112px;width:44px;height:44px;border-radius:50%;padding:0;
  background:rgba(20,26,34,.82);border:1px solid rgba(255,255,255,.14);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .3s ease, transform .3s ease, visibility .3s, background .25s;
  z-index:60;backdrop-filter:blur(4px);
}
.ar-back-to-top.show{opacity:1;visibility:visible;transform:translateY(0);}
.ar-back-to-top:hover{background:var(--rust);}
.ar-back-to-top svg{width:18px;height:18px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;}

/* call button (kept from the previous site, restyled in the new palette) */
.ar-call-btn{
  position:fixed;right:22px;bottom:26px;z-index:61;
  width:62px;height:62px;border-radius:50%;background:var(--rust);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 26px -10px rgba(74,55,40,.55);transition:background .3s, transform .3s;
}
.ar-call-btn:hover{background:var(--rust-dark);transform:translateY(-2px);}
.ar-call-btn svg{width:26px;height:26px;fill:#fff;position:relative;z-index:1;}
.ar-call-btn::before, .ar-call-btn::after{
  content:"";position:absolute;inset:-14px;border:1px solid var(--rust);border-radius:50%;
  animation:ar-pulse 1.6s linear infinite;pointer-events:none;
}
.ar-call-btn::after{animation-delay:.5s;}
@keyframes ar-pulse{0%{transform:scale(.6);opacity:0;}50%{opacity:1;}100%{transform:scale(1.2);opacity:0;}}
@media (prefers-reduced-motion: reduce){ .ar-call-btn::before, .ar-call-btn::after{animation:none;opacity:0;} }

/* cookie consent plugin bar */
#cookieChoiceInfo{background-color:#707070 !important;color:#fff !important;z-index:155000 !important;padding:7px 4px !important;}
#cookieChoiceInfo a{color:#fff !important;}
#cookieChoiceInfo a#cookieChoiceDismiss{color:#fff !important;background-color:#555 !important;padding:5px 6px;border:1px solid #000;border-radius:4px;}
#cookieChoiceInfo a[rel="noopener"]{margin-left:0 !important;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1180px){
  .ar-header .ar-wrap{gap:24px;padding:0 24px;}
  .ar-nav{gap:16px;}
  .ar-logo img{height:54px;}
}
@media (max-width:1080px) and (min-width:981px){
  .ar-header .ar-wrap{gap:18px;padding:0 18px;}
  .ar-nav{gap:12px;}
  .ar-nav a{font-size:10.5px;letter-spacing:.03em;}
  .ar-cta{padding:10px 14px;font-size:10.5px;}
}
@media (max-width:980px){
  .ar-header .ar-wrap{justify-content:space-between;gap:14px;}
  .ar-logo img{height:52px;}
  .ar-actions{gap:12px;}
  .ar-cta{padding:10px 16px;font-size:10.5px;}
  .ar-blog-btn{display:none!important;}
  .ar-cta-dropdown{display:none;}
  body.nav-open .ar-cta{display:none;}

  .ar-nav{
    position:fixed;top:0;right:0;height:100vh;height:100dvh;width:min(84vw,340px);
    background:var(--rust-dark);flex-direction:column;align-items:flex-start;padding:100px 26px 34px;gap:22px;
    transform:translateX(100%);transition:transform .5s var(--ease);
    overflow-y:auto;z-index:101;
  }
  .ar-nav.open{transform:translateX(0);}
  .ar-nav a{color:#fff!important;white-space:normal;}
  .ar-nav .nav-mobile-only{display:inline-block;}
  .ar-burger{display:flex;}

  .ar-nav-close{display:flex;position:absolute;top:16px;right:16px;width:42px;height:42px;align-items:center;justify-content:center;background:rgba(255,255,255,.14);border:none;border-radius:50%;cursor:pointer;padding:0;}
  .ar-nav-close svg{width:20px;height:20px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;}
  .ar-nav-close:hover, .ar-nav-close:focus{background:rgba(255,255,255,.26);}

  .ar-has-dropdown{width:100%;}
  .ar-dropdown{position:static;display:block;background:transparent;box-shadow:none;padding:0 0 0 10px;margin-top:6px;opacity:1;visibility:visible;transform:none;min-width:0;width:100%;}
  .ar-dropdown::before{display:none;}
  .ar-dropdown a{padding:9px 4px;font-size:12px;white-space:normal;}
  .ar-has-dropdown > a::after{display:none;}
}
@media (max-width:640px){
  .ar-header{padding:12px 0;}
  .ar-header.solid{padding:8px 0;}
  .ar-header .ar-wrap{padding:0 18px;}
  .ar-logo img{height:46px;}
  .ar-cta{padding:9px 13px;font-size:10px;letter-spacing:.02em;}
  .ar-actions{gap:8px;}
  .ar-burger{padding:4px;}

  .ar-footer{padding:40px 0 22px;}
  .ar-social{gap:14px;}
  .ar-footer-nav{gap:10px 16px;margin-bottom:18px;}
  .ar-footer-nav a{font-size:12.5px;}

  .ar-back-to-top{right:14px;bottom:92px;width:40px;height:40px;}
  .ar-back-to-top svg{width:16px;height:16px;}
  .ar-call-btn{right:14px;bottom:18px;width:54px;height:54px;}
  .ar-call-btn svg{width:22px;height:22px;}
}
@media (max-width:420px){
  .ar-logo img{height:42px;}
  .ar-cta{padding:8px 11px;font-size:9.5px;}
}
