/*
 * THE EAGLE • design refinement inspired by the five supplied
 * Tzortzi's Family Apartments reference pages (Oct 2026).
 * Original content, photography, logo, booking logic and mobile CTAs stay ours.
 * Loaded AFTER all legacy themes; intentionally scoped instead of wholesale reset.
 */
:root {
  --tz-gold: #8b7536;
  --tz-gold-dark: #6b5a28;
  --tz-sun: #f5c400;
  --tz-cream: #fafaf6;
  --tz-cream-dark: #f0ede4;
  --tz-charcoal: #3a3a3a;
  --tz-ease: cubic-bezier(.4,0,.2,1);
  --tz-card: #fffefa;
  --tz-card-text: #35362f;
  --tz-muted: #5a5a55;
  --tz-card-border: rgba(139,117,54,.17);
  --tz-card-shadow: 0 10px 34px rgba(38,34,25,.09);
  --tz-card-hover: 0 22px 52px rgba(38,34,25,.16);
  --tz-accent: #8b7536;
}
:root[data-theme="dark"] {
  --tz-card: #2c2e27;
  --tz-card-text: #f8f5eb;
  --tz-muted: #d4d1c5;
  --tz-card-border: rgba(215,184,79,.24);
  --tz-card-shadow: 0 13px 38px rgba(0,0,0,.16);
  --tz-card-hover: 0 22px 48px rgba(0,0,0,.24);
  --tz-accent: #d7b84f;
}

/* Typography from the references, with local Greek-capable fallbacks */
body, button, input, select, textarea {
  font-family: "DM Sans", "Manrope", system-ui, sans-serif;
}
h1,h2,h3,
.section-heading h2, .page-heading h1,
.studio-card h3, .guest-reviews h2,
.amenity-grid h3, .booking-score-breakdown h3 {
  font-family: "Playfair Display", "Noto Serif", Georgia, serif;
}
.eyebrow {
  letter-spacing: .19em;
  font-weight: 700;
}
:root[data-theme="light"] .page-heading h1 em,
:root[data-theme="light"] .section-heading h2 em {
  color: var(--tz-gold);
}

/* Underlined gold navigation and smooth tactile focus */
#site-navigation a:not(.button)::after {
  background: linear-gradient(90deg,var(--tz-gold),var(--tz-sun));
}
#site-navigation a:focus-visible,
.button:focus-visible,
.gallery button:focus-visible,
.eagle-trust-item:focus-visible,
.faq summary:focus-visible {
  outline: 3px solid var(--tz-sun);
  outline-offset: 4px;
}
header {
  transition: background-color .3s var(--tz-ease), box-shadow .3s var(--tz-ease);
}

/* New fact ribbon - fast navigation with trustworthy THE EAGLE details */
.eagle-trust-strip {
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  width:100%;
  background:#343630;
  border-block: 1px solid rgba(245,196,0,.19);
  box-shadow: 0 10px 30px rgba(0,0,0,.09);
}
.eagle-trust-item {
  display:flex;align-items:center;justify-content:center;
  gap:15px;min-height:98px;
  padding:22px 13px;
  color:#fff;
  text-decoration:none;
  border-right:1px solid rgba(255,255,255,.09);
  transition:background-color .34s var(--tz-ease),transform .34s var(--tz-ease);
}
.eagle-trust-item:first-child {border-left:1px solid rgba(255,255,255,.07);}
.eagle-trust-item:last-child {border-right:0;}
.eagle-trust-item:hover {background:rgba(245,196,0,.075);}
.eagle-trust-icon {
  display:grid;place-items:center;
  width:46px;height:46px;flex:0 0 46px;
  background:rgba(245,196,0,.12);
  color:#e7bf45;border-radius:12px;font-size:1.18rem;
  transition:transform .3s var(--tz-ease),background-color .3s var(--tz-ease);
}
.eagle-trust-item:hover .eagle-trust-icon {
  transform:scale(1.07) rotate(-4deg);
  background:rgba(245,196,0,.19);
}
.eagle-trust-copy {display:flex;flex-direction:column;min-width:0;line-height:1.35;}
.eagle-trust-copy strong {font-size:.98rem;font-weight:750;color:#fff;}
.eagle-trust-copy small {font-size:.76rem;color:#d3d1c8;margin-top:4px;}

/* Reference-style accent rules and ornamentation */
.page-view .section-heading h2,
.page-view .page-heading h1 {
  letter-spacing:-.018em;
}
.page-view .section-heading::before {
  content:"";
  display:block;width:60px;height:3px;
  background:linear-gradient(90deg,var(--tz-gold),var(--tz-sun));
  border-radius:99px;
  margin-bottom:14px;
}
.page-view .section-heading {
  position:relative;
}
.page-view[data-page="home"] .guest-reviews .section-heading::before {
  margin-bottom:18px;
}

/* Soft premium panels inspired by Tzortzi's white/cream & charcoal cards */
.intro-highlight,
.studio-card,
.amenity-grid > div,
.review-source,
.guest-quote,
.booking-score-breakdown,
.faq > details,
.nearby-estimates {
  border-radius:20px;
  transition:transform .35s var(--tz-ease),box-shadow .35s var(--tz-ease),border-color .35s var(--tz-ease),background-color .35s var(--tz-ease);
}
.amenity-grid > div {
  position:relative;
  overflow:hidden;
  border:1px solid var(--tz-card-border);
  background:var(--tz-card);
  color:var(--tz-card-text);
  box-shadow:var(--tz-card-shadow);
  padding-top:32px;
}
.amenity-grid > div::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,var(--tz-gold),var(--tz-sun),var(--tz-gold));
  opacity:.8;
}
.amenity-grid > div:hover,
.intro-highlight:hover,
.guest-quote:hover,
.review-source:hover,
.studio-card:hover {
  transform:translateY(-4px);
  box-shadow:var(--tz-card-hover);
  border-color:rgba(183,150,63,.44);
}
.amenity-grid > div h3 {color:var(--tz-card-text);line-height:1.22;margin-top:10px;}
.amenity-grid > div p {color:var(--tz-muted);line-height:1.75;}
.amenity-grid .eagle-amenity-icon {
  display:grid;place-items:center;
  height:50px;width:50px;
  border-radius:12px;
  font-size:1.3rem;
  color:var(--tz-accent);
  background:linear-gradient(135deg,rgba(139,117,54,.12),rgba(245,196,0,.13));
  margin-bottom:15px;
}
.amenity-grid .eagle-amenity-index {
  float:right;
  opacity:.47;
  font-weight:700;
  font-size:.85rem;
  letter-spacing:.15em;
  color:var(--tz-accent);
}
.intro-highlight .intro-feature-icon {
  border-radius:12px;
  background:linear-gradient(135deg,rgba(139,117,54,.16),rgba(245,196,0,.17));
  color:var(--tz-accent);
}
.intro-highlight:hover .intro-feature-icon {transform:scale(1.08) rotate(-4deg);}
.studio-card {overflow:hidden;}
.studio-card > a > img {transition:transform .7s var(--tz-ease);}
.studio-card:hover > a > img {transform:scale(1.045);}
.review-source strong,
.booking-score-breakdown .score-row b {
  font-variant-numeric:tabular-nums;
  font-family:"Playfair Display","Noto Serif",Georgia,serif;
}

/* Photograph gallery: subtle zoom like reference apartment cards */
.gallery button {
  overflow:hidden;
  border-radius:18px;
}
.gallery button img {transition:transform .65s var(--tz-ease),filter .45s ease;}
.gallery button:hover img {transform:scale(1.055);filter:saturate(1.09);}
.gallery button:focus-visible img {transform:scale(1.025);}

/* Gold gradient CTAs, preserving green WhatsApp and the mobile CTA */
.hero-actions .button.light,
.studio-card-content > .button,
.form-actions .button,
.footer-book-link,
.intro .button {
  border-radius:999px;
  transition:transform .3s var(--tz-ease),box-shadow .3s var(--tz-ease),background-color .3s var(--tz-ease);
}
.studio-card-content > .button:not(.outline),
.form-actions .button:not(.secondary),
.intro .button:not(.outline) {
  background:linear-gradient(135deg,var(--tz-gold),#ac9041);
  color:#fff;
  box-shadow:0 8px 24px rgba(139,117,54,.24);
}
.hero-actions .button:hover,
.studio-card-content > .button:hover,
.form-actions .button:hover,
.footer-book-link:hover {
  transform:translateY(-3px);
  box-shadow:0 12px 34px rgba(139,117,54,.26);
}
#booking-form input:focus,
#booking-form textarea:focus,
#booking-form select:focus {
  outline:2px solid var(--tz-gold);
  outline-offset:2px;
}

/* Accordion answers from the example's FAQ, with native details semantics */
.faq > details,
.nearby-estimates {
  border:1px solid var(--tz-card-border);
  background:var(--tz-card);
  box-shadow:0 3px 16px rgba(30,30,28,.05);
}
.faq > details[open],
.nearby-estimates[open] {
  border-color:rgba(193,157,55,.55);
  box-shadow:var(--tz-card-shadow);
}
.faq > details > summary,
.nearby-estimates > summary {
  cursor:pointer;
  transition:color .25s ease;
}
.faq > details > summary:hover,
.nearby-estimates > summary:hover {color:var(--tz-accent);}
.faq > details > summary::marker,
.nearby-estimates > summary::marker {color:var(--tz-accent);}

/* Travel distances like golden Tzortzi location chips */
.location-list b,
.route-list b {
  color:var(--tz-accent);
  font-weight:750;
}
.location-list > span {line-height:1.35;}

/* Social/footer finishing line */
.site-footer {position:relative;}
.site-footer::before {
  content:"";position:absolute;inset:0 0 auto;height:3px;
  background:linear-gradient(90deg,var(--tz-gold),var(--tz-sun),var(--tz-gold));
}
.footer-contact-list i,.footer-proof i {color:var(--tz-accent);}

@media(max-width:1000px) {
  .eagle-trust-strip {grid-template-columns:repeat(2,minmax(0,1fr));}
  .eagle-trust-item {justify-content:flex-start;padding:20px 24px;min-height:88px;}
  .eagle-trust-item:nth-child(2) {border-right:0;}
  .eagle-trust-item:nth-child(-n+2) {border-bottom:1px solid rgba(255,255,255,.1);}
}
@media(max-width:560px) {
  .eagle-trust-item {gap:9px;padding:16px 12px;min-height:84px;}
  .eagle-trust-icon {height:37px;width:37px;flex-basis:37px;border-radius:10px;font-size:1rem;}
  .eagle-trust-copy strong {font-size:.82rem;}
  .eagle-trust-copy small {font-size:.68rem;}
  .amenity-grid > div {padding-top:25px;}
  .page-view .section-heading::before {width:45px;}
}
@media(max-width:360px) {
  .eagle-trust-item {padding:13px 8px;gap:6px;}
  .eagle-trust-icon {width:33px;height:33px;flex-basis:33px;}
  .eagle-trust-copy strong {font-size:.76rem;}
  .eagle-trust-copy small {font-size:.64rem;}
}
@media(prefers-reduced-motion:reduce) {
  .eagle-trust-item,.eagle-trust-icon,.amenity-grid>div,.intro-highlight,
  .guest-quote,.review-source,.studio-card,.gallery button img,
  .hero-actions .button,.studio-card-content>.button,.form-actions .button {
    transition:none !important;
  }
  .eagle-trust-item:hover .eagle-trust-icon,
  .amenity-grid > div:hover,.intro-highlight:hover,.guest-quote:hover,
  .review-source:hover,.studio-card:hover,.gallery button:hover img {
    transform:none !important;
  }
}
