/* THE EAGLE — location / request buttons inspired by supplied reference imagery.
   Only this route and request CTAs are redesigned; WhatsApp and booking logic unchanged. */
.page-view[data-page="location"] {
  --loc-paper: #f0eee7;
  --loc-ink: #363631;
  --loc-muted: #77756f;
  --loc-gold: #9e8233;
  --loc-line: #e1dccd;
  background: var(--loc-paper) !important;
  color: var(--loc-ink);
  min-height: 100vh;
}
.page-view[data-page="location"] > .page-heading {
  padding: clamp(65px,7vw,100px) 24px 28px !important;
  background: var(--loc-paper) !important;
  border: none !important;
  color: var(--loc-ink) !important;
}
.page-view[data-page="location"] > .page-heading h1 {
  font: 700 clamp(2.15rem,4vw,3.4rem)/1.16 "Playfair Display","Noto Serif",Georgia,serif;
  color: var(--loc-ink) !important;
  letter-spacing: -.03em;
}
.page-view[data-page="location"] > .page-heading h1 em {color: var(--loc-gold) !important;}
.page-view[data-page="location"] > .page-heading .eyebrow {color: var(--loc-gold) !important;}
.page-view[data-page="location"] .location-page-subtitle {
  max-width: 650px;
  margin: 18px auto 0;
  font-size: .96rem;
  line-height: 1.8;
  color: var(--loc-muted);
}
.page-view[data-page="location"] #location.location {
  display:grid !important;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr) !important;
  align-items:start;
  gap:clamp(35px,4vw,62px) !important;
  width:min(calc(100% - 64px),1160px) !important;
  max-width:1160px;
  margin:0 auto 80px !important;
  padding:22px 0 0 !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--loc-ink) !important;
}
.page-view[data-page="location"] #location .location-map {
  width:100% !important;
  min-height:390px !important;
  height:390px !important;
  margin:0;
  border:1px solid var(--loc-line) !important;
  border-radius:15px !important;
  overflow:hidden;
  box-shadow:0 12px 34px rgba(24,24,18,.12) !important;
  background:#dedbd2 !important;
}
.page-view[data-page="location"] #location .location-map iframe {
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  border:0;
  display:block;
}
.page-view[data-page="location"] #location .map-open {
  border-radius:999px;
  background:#faf8f1;
  color:#64501c !important;
  box-shadow:0 3px 12px #0002;
}
.page-view[data-page="location"] #location .location-copy {
  width:100% !important;
  min-width:0;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  color:var(--loc-ink) !important;
}
.page-view[data-page="location"] .location-reference-intro h2 {
  margin:0 0 18px !important;
  font:700 clamp(1.5rem,2.2vw,2.15rem)/1.32 "Playfair Display","Noto Serif",Georgia,serif !important;
  color:var(--loc-ink) !important;
}
.page-view[data-page="location"] .location-reference-intro h2 em {color:var(--loc-gold);}
.page-view[data-page="location"] .location-reference-intro p {
  color:var(--loc-muted) !important;
  font-size:.94rem !important;
  line-height:1.8 !important;
  margin:0 0 14px;
}
.page-view[data-page="location"] .location-nearby-title {
  margin:30px 0 8px;
  font:700 1.08rem/1.4 "Playfair Display","Noto Serif",Georgia,serif;
  color:var(--loc-ink) !important;
}
.page-view[data-page="location"] #location .location-list {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center;
  gap:0 18px !important;
  margin:10px 0 24px !important;
  border-top:1px solid var(--loc-line);
}
.page-view[data-page="location"] #location .location-list span {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:9px 0 !important;
  color:#5a5a55 !important;
  border-bottom:1px solid var(--loc-line) !important;
  font-size:.82rem;
  line-height:1.5;
}
.page-view[data-page="location"] #location .location-list span::before {
  content:"\f3c5" !important;
  width:16px;
  height:auto;
  flex:0 0 16px;
  background:none !important;
  box-shadow:none !important;
  color:var(--loc-gold);
  border-radius:0;
  font:900 .68rem/1 "Font Awesome 6 Free";
}
.page-view[data-page="location"] #location .location-list b {
  padding:9px 2px !important;
  justify-self:end;
  color:#595852 !important;
  border:0 !important;
  border-bottom:1px solid var(--loc-line) !important;
  border-radius:0 !important;
  background:transparent !important;
  font-size:.79rem;
  font-weight:600;
  white-space:nowrap;
}
.page-view[data-page="location"] .location-activities h3 {
  margin:32px 0 15px;
  font:700 1rem/1.4 "Playfair Display","Noto Serif",Georgia,serif;
  color:var(--loc-ink) !important;
}
.page-view[data-page="location"] .location-activity-pills {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-bottom:20px;
}
.page-view[data-page="location"] .location-activity-pills > span {
  display:flex;
  gap:10px;
  align-items:center;
  min-height:43px;
  padding:10px 15px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:9px;
  background:#353638;
  color:#f8f8f6;
  font-size:.79rem;
  font-weight:700;
}
.page-view[data-page="location"] .location-activity-pills i {
  width:20px;
  text-align:center;
  color:#e1b936;
  flex:0 0 20px;
}
.page-view[data-page="location"] #location .nearby-estimates {
  margin:25px 0 16px;
  padding:12px 18px;
  border:1px solid var(--loc-line) !important;
  border-radius:10px;
  background:#faf9f5 !important;
  color:var(--loc-ink) !important;
  box-shadow:none !important;
}
.page-view[data-page="location"] #location .nearby-estimates summary {color:var(--loc-ink) !important;}
.page-view[data-page="location"] #location .nearby-estimates p {color:var(--loc-muted) !important;}
.page-view[data-page="location"] #location .location-copy > .small-note {color:var(--loc-muted) !important;font-size:.76rem;}
.page-view[data-page="location"] #location .location-copy > .button.outline {
  background:#fffdf7 !important;
  border:1px solid var(--loc-gold) !important;
  color:var(--loc-gold) !important;
  border-radius:999px;
}
.page-view[data-page="location"] .location-reference-faq {
  padding:44px 22px 110px;
  text-align:center;
  background:var(--loc-paper);
}
.page-view[data-page="location"] .location-reference-faq > .eyebrow {
  color:var(--loc-gold) !important;
  font-size:.72rem;
  letter-spacing:.18em;
  font-weight:700;
}
.page-view[data-page="location"] .location-reference-faq > .eyebrow::after {
  content:"";
  display:block;
  width:38px;height:2px;
  background:var(--loc-gold);
  margin:13px auto;
}
.page-view[data-page="location"] .location-reference-faq h2 {
  margin:0 0 30px;
  font:700 clamp(2rem,3.3vw,3rem)/1.24 "Playfair Display","Noto Serif",Georgia,serif;
  color:var(--loc-ink) !important;
}
.page-view[data-page="location"] .location-reference-faq h2 em {color:var(--loc-gold);}
.page-view[data-page="location"] .location-faq-list {max-width:740px;margin:0 auto;text-align:left;}
.page-view[data-page="location"] .location-faq-list details {
  display:block;
  overflow:hidden;
  border:1px solid #e7e4db !important;
  border-radius:10px;
  background:#fff !important;
  box-shadow:none !important;
  margin:10px 0 !important;
  padding:0 !important;
}
.page-view[data-page="location"] .location-faq-list details[open] {border-color:#c5ae68 !important;}
.page-view[data-page="location"] .location-faq-list summary {
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  list-style:none;
  padding:19px 22px !important;
  color:#42423d !important;
  font-size:.87rem !important;
  font-weight:650;
  cursor:pointer;
}
.page-view[data-page="location"] .location-faq-list summary::-webkit-details-marker {display:none;}
.page-view[data-page="location"] .location-faq-list summary::after {
  content:"\f078" !important;
  flex:0 0 auto;
  color:var(--loc-gold) !important;
  font:900 .75rem/1 "Font Awesome 6 Free" !important;
  transform:none;
}
.page-view[data-page="location"] .location-faq-list details[open] summary::after {transform:rotate(180deg);}
.page-view[data-page="location"] .location-faq-list details > p {
  margin:0;
  padding:0 22px 20px !important;
  border:0 !important;
  color:#696863 !important;
  font-size:.85rem;
  line-height:1.8;
}
/* Screenshot-style gold pill: use EXISTING calendar SVG, never duplicate icon. */
.mobile-actions .mobile-book,
a.button[href="#book"]:not(.outline),
.hero-actions .button.light {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:54px;
  padding:0 24px;
  border:1px solid #c1a044 !important;
  border-radius:999px !important;
  background:#c4a13a !important;
  background-image:none !important;
  color:#20201c !important;
  font-weight:800 !important;
  text-transform:uppercase;
  letter-spacing:.012em;
  box-shadow:0 10px 24px rgba(147,114,33,.25),inset 0 1px 0 rgba(255,255,255,.22) !important;
  transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease;
}
.mobile-actions .mobile-book:hover,
a.button[href="#book"]:not(.outline):hover,
.hero-actions .button.light:hover {
  transform:translateY(-2px);
  background:#d4b34c !important;
  box-shadow:0 14px 28px rgba(147,114,33,.32) !important;
}
.mobile-actions .mobile-book svg {
  display:block !important;
  width:18px;
  height:18px;
  flex:0 0 18px;
  color:#20201c !important;
  stroke:#20201c !important;
}
.mobile-actions .mobile-book span {color:#20201c !important;}
.mobile-actions .mobile-book::before {content:none !important;}
.mobile-actions {background:transparent !important;box-shadow:none !important;border:0 !important;backdrop-filter:none !important;}
@media(max-width:900px) {
  .page-view[data-page="location"] #location.location {
    grid-template-columns:minmax(0,1fr) !important;
    gap:30px !important;
    width:min(calc(100% - 42px),680px) !important;
    margin:0 auto 40px !important;
  }
  .page-view[data-page="location"] #location .location-map {height:370px !important;min-height:370px !important;}
  .page-view[data-page="location"] .location-reference-faq {padding-top:45px;}
}
@media(max-width:560px) {
  .page-view[data-page="location"] > .page-heading {padding:47px 20px 25px !important;}
  .page-view[data-page="location"] > .page-heading h1 {font-size:clamp(1.75rem,7vw,2.4rem);}
  .page-view[data-page="location"] #location.location {
    width:calc(100% - 30px) !important;
    gap:26px !important;
    padding-top:18px !important;
    margin-bottom:25px !important;
  }
  .page-view[data-page="location"] #location .location-map {height:305px !important;min-height:305px !important;}
  .page-view[data-page="location"] .location-reference-intro h2 {font-size:1.65rem !important;}
  .page-view[data-page="location"] .location-reference-intro p {font-size:.88rem !important;}
  .page-view[data-page="location"] .location-activity-pills {gap:7px;}
  .page-view[data-page="location"] .location-activity-pills > span {padding:10px;font-size:.72rem;}
  .page-view[data-page="location"] .location-reference-faq {padding:45px 16px 90px;}
  .page-view[data-page="location"] .location-reference-faq h2 {font-size:2rem;}
  .page-view[data-page="location"] .location-faq-list summary {padding:16px !important;font-size:.82rem !important;}
  .page-view[data-page="location"] .location-faq-list details > p {padding:0 16px 18px !important;}
  .mobile-actions .mobile-book {min-height:54px !important;padding:0 23px !important;font-size:.85rem !important;letter-spacing:0 !important;}
}
@media(max-width:355px) {
  .mobile-actions .mobile-book {min-height:50px !important;padding:0 17px !important;font-size:.78rem !important;}
  .page-view[data-page="location"] .location-activity-pills > span {font-size:.67rem;}
}
@media(prefers-reduced-motion:reduce) {
  .mobile-actions .mobile-book,a.button[href="#book"]:not(.outline),.hero-actions .button.light {transition:none !important;}
}
/* Final refinements: reference light header and reliable gold/grey contrast. */
body:has(.page-view[data-page="location"]:not([hidden])) > header {
  background:#faf9f5 !important;
  border-bottom:1px solid #dfdbd0 !important;
  box-shadow:0 2px 11px rgba(30,28,20,.06) !important;
}
body:has(.page-view[data-page="location"]:not([hidden])) > header .brand > span {color:#35352f !important;}
body:has(.page-view[data-page="location"]:not([hidden])) > header .brand small {color:#7b755f !important;}
body:has(.page-view[data-page="location"]:not([hidden])) > header #site-navigation a,
body:has(.page-view[data-page="location"]:not([hidden])) > header #privacy-nav {color:#3a3934 !important;}
body:has(.page-view[data-page="location"]:not([hidden])) > header #site-navigation a[aria-current="page"] {
  color:#8b7536 !important;
}
body:has(.page-view[data-page="location"]:not([hidden])) > header #menu-toggle {color:#35352f !important;}
body:has(.page-view[data-page="location"]:not([hidden])) > header .language-switch,
body:has(.page-view[data-page="location"]:not([hidden])) > header .theme-switch {
  border-color:#d2c9a7 !important;
  background:#eeebe2 !important;
}
body:has(.page-view[data-page="location"]:not([hidden])) > header .language-switch button:not(.is-active),
body:has(.page-view[data-page="location"]:not([hidden])) > header .theme-switch button:not(.is-active) {
  color:#3a3934 !important;
}
.page-view[data-page="location"] .location-reference-intro h2 em,
.page-view[data-page="location"] .location-reference-faq h2 em {
  color:#9e8233 !important;
  text-shadow:none !important;
}
.page-view[data-page="location"] > .page-heading .location-page-subtitle {
  color:#77756f !important;
  opacity:1 !important;
}
.page-view[data-page="location"] .location-reference-intro p {
  color:#696862 !important;
  opacity:1 !important;
}
@media(max-width:900px) {
  body:has(.page-view[data-page="location"]:not([hidden])) > header #site-navigation.open {
    background:#faf9f5 !important;
  }
}

/* Deep links should show the location heading rather than hide it behind the sticky header. */
.page-view[data-page="location"] #location.location {scroll-margin-top: 680px !important;}

/* THE EAGLE LOCATION SEMANTIC EMOJI ICONS */
.page-view[data-page="location"] #location .location-list > span[data-icon]::before {
 content: attr(data-icon) !important; background: none !important; box-shadow: none !important;
 font: 400 1rem/1.2 "Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif !important;
 width: 22px !important; flex: 0 0 22px !important; height: auto !important;
 display: inline-block !important; text-align: center; border: 0 !important;
}


/* Six genuine reference pictograms, prepared from the user's supplied PNG images.
   Sprite order: island, beach, chapel, wave, landmark, airplane. */
.page-view[data-page="location"] #location .location-list > span[data-pictogram]::before {
  content:"" !important;
  display:inline-block !important;
  width:30px !important;
  min-width:30px !important;
  height:30px !important;
  flex:0 0 30px !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background-color:transparent !important;
  background-image:url("assets/location-icons-sprite.png") !important;
  background-repeat:no-repeat !important;
  background-size:180px 30px !important;
}
.page-view[data-page="location"] #location .location-list > span[data-pictogram="island"]::before {background-position:0 0 !important;}
.page-view[data-page="location"] #location .location-list > span[data-pictogram="beach"]::before {background-position:-30px 0 !important;}
.page-view[data-page="location"] #location .location-list > span[data-pictogram="chapel"]::before {background-position:-60px 0 !important;}
.page-view[data-page="location"] #location .location-list > span[data-pictogram="wave"]::before {background-position:-90px 0 !important;}
.page-view[data-page="location"] #location .location-list > span[data-pictogram="landmark"]::before {background-position:-120px 0 !important;}
.page-view[data-page="location"] #location .location-list > span[data-pictogram="plane"]::before {background-position:-150px 0 !important;}
@media(max-width:450px) {
 .page-view[data-page="location"] #location .location-list > span[data-pictogram]::before {
  width:26px !important;min-width:26px !important;height:26px !important;
  flex:0 0 26px !important;background-size:156px 26px !important;
 }
 .page-view[data-page="location"] #location .location-list > span[data-pictogram="beach"]::before {background-position:-26px 0 !important;}
 .page-view[data-page="location"] #location .location-list > span[data-pictogram="chapel"]::before {background-position:-52px 0 !important;}
 .page-view[data-page="location"] #location .location-list > span[data-pictogram="wave"]::before {background-position:-78px 0 !important;}
 .page-view[data-page="location"] #location .location-list > span[data-pictogram="landmark"]::before {background-position:-104px 0 !important;}
 .page-view[data-page="location"] #location .location-list > span[data-pictogram="plane"]::before {background-position:-130px 0 !important;}
}
