/* ================================================
   ATHENS AT A GLANCE — ASTRA THEME CSS
   ================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500&display=swap');

:root {
  --terra: #C4622D;
  --terra-light: #E8885A;
  --terra-pale: #F5E6DC;
  --cream: #FAF7F2;
  --ink: #1A1410;
  --ink-muted: #6B5D52;
  --sand: #E8DDD0;
}

/* ── GLOBAL ── */
body, .ast-single-post, .ast-archive {
  font-family: 'DM Sans', sans-serif !important;
  background: var(--cream) !important;
  color: var(--ink) !important;
}
h1,h2,h3,h4,h5,h6 {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 400 !important;
  color: var(--ink) !important;
}
a { color: var(--terra) !important; }
a:hover { color: var(--terra-light) !important; }

/* ── HEADER ── */
#masthead,
.ast-primary-header-bar,
.main-header-bar {
  background: #FAF7F2 !important;
  border-bottom: 1px solid #E8DDD0 !important;
  box-shadow: none !important;
}
.main-header-bar { padding: 12px 48px !important; }
.ast-primary-header-bar .ast-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.elementor-section,
.elementor-widget-wrap,
.ast-builder-grid-row,
.hfb-header,
.elementor-element {
  background: transparent !important;
  background-color: transparent !important;
}
.ast-secondary-header-bar,
.ast-above-header-bar,
.ast-below-header-bar,
.ast-social-color-type-custom,
.ast-header-sections-navigation {
  display: none !important;
}

/* ── LOGO ── */
.ast-site-identity .site-title,
.ast-site-identity .site-title a {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
}
.ast-site-identity { background: transparent !important; }
.custom-logo, .custom-logo-link img {
  background: transparent !important;
  max-height: 80px !important;
  width: auto !important;
}

/* ── NAVIGATION ── */
.ast-nav-menu > .menu-item > a,
#ast-hf-menu-1 .menu-item > a,
.main-header-menu .menu-item > a {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  color: var(--ink-muted) !important;
  padding: 8px 14px !important;
}
.ast-nav-menu > .menu-item > a:hover,
#ast-hf-menu-1 .menu-item > a:hover {
  color: var(--terra) !important;
  background: var(--terra-pale) !important;
  border-radius: 2px !important;
}
.menu-item a[href*="cart"],
.menu-item a[href*="checkout"],
.menu-item a[href*="my-account"],
.menu-item a[href*="shop"],
.menu-item a[href*="tickets"] { display: none !important; }

/* ── POST META CLEANUP ── */
.entry-meta .author,
.byline,
a[href*="/author/"],
.comments-link,
.entry-meta .comments-link { display: none !important; }

/* ── BLOG POSTS ── */
.blog .site-content, #primary { background: var(--cream) !important; }
.ast-article-post, .ast-grid-post, article.type-post {
  background: white !important;
  border: 1px solid var(--sand) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  transition: transform 0.3s, box-shadow 0.3s !important;
  margin-bottom: 28px !important;
  box-shadow: none !important;
}
.ast-article-post:hover, article.type-post:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 40px rgba(26,20,16,0.1) !important;
}
.entry-title, .entry-title a {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  color: var(--ink) !important;
}
.entry-title a:hover { color: var(--terra) !important; }
.entry-meta, .posted-on, .byline {
  font-size: 12px !important;
  color: var(--ink-muted) !important;
  font-family: 'DM Sans', sans-serif !important;
}
.cat-links a,
.ast-blog-single-element.ast-meta-categories a {
  background: var(--terra-pale) !important;
  color: var(--terra) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 3px 10px !important;
  border-radius: 2px !important;
  text-decoration: none !important;
}
.entry-summary p, .entry-summary {
  font-size: 14px !important;
  color: var(--ink-muted) !important;
  line-height: 1.65 !important;
}
.ast-read-more, .read-more a, .more-link {
  color: var(--terra) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

/* ── POST IMAGES ── */
.wp-post-image, .post-thumbnail img, .ast-featured-post-img img {
  border-radius: 4px 4px 0 0 !important;
  width: 100% !important;
  object-fit: cover !important;
}
.ast-blog-featured-section .post-thumbnail {
  height: 220px !important;
  overflow: hidden !important;
}
.ast-blog-featured-section .post-thumbnail img {
  height: 100% !important;
  width: 100% !important;
  object-fit: cover !important;
}

/* ── SINGLE POST ── */
.single .entry-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(30px, 4vw, 52px) !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
}
.single .entry-content, .entry-content p {
  font-size: 16px !important;
  line-height: 1.85 !important;
  color: var(--ink-muted) !important;
  font-family: 'DM Sans', sans-serif !important;
}
.entry-content h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  color: var(--ink) !important;
  margin: 40px 0 18px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--sand) !important;
}
.entry-content h3 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  color: var(--ink) !important;
  margin: 28px 0 14px !important;
}
.entry-content a {
  color: var(--terra) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
.entry-content strong { color: var(--ink) !important; }
.entry-content blockquote {
  border-left: 4px solid var(--terra) !important;
  background: var(--terra-pale) !important;
  padding: 20px 24px !important;
  border-radius: 0 4px 4px 0 !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 20px !important;
  font-style: italic !important;
  color: var(--ink) !important;
  margin: 28px 0 !important;
}

/* ── SIDEBAR ── */
.widget-title, .widgettitle {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid var(--terra) !important;
  margin-bottom: 14px !important;
}
.widget {
  background: white !important;
  border: 1px solid var(--sand) !important;
  border-radius: 4px !important;
  padding: 20px !important;
  margin-bottom: 20px !important;
}
.widget ul li a { font-size: 14px !important; color: var(--ink-muted) !important; }
.widget ul li a:hover { color: var(--terra) !important; }

/* ── BUTTONS ── */
.ast-button, .button, button[type="submit"],
input[type="submit"], .wp-block-button__link {
  background: var(--terra) !important;
  color: white !important;
  border: none !important;
  border-radius: 2px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 13px 26px !important;
  transition: background 0.2s !important;
}
.ast-button:hover, .button:hover,
button[type="submit"]:hover,
.wp-block-button__link:hover {
  background: var(--terra-light) !important;
  color: white !important;
}

/* ── SCROLL TO TOP ── */
#ast-scroll-top, .ast-scroll-top {
  background: var(--terra) !important;
  border-color: var(--terra) !important;
}

/* ── FOOTER ── */
.ast-small-footer, #colophon,
.footer-widget-area, .ast-footer-overlay {
  background: var(--ink) !important;
  border-top: none !important;
}
.ast-small-footer, .ast-footer-copyright {
  color: rgba(255,255,255,0.25) !important;
  font-size: 13px !important;
}
.ast-small-footer a, #colophon a { color: rgba(255,255,255,0.45) !important; }
.ast-small-footer a:hover, #colophon a:hover { color: white !important; }

/* ── PAGINATION ── */
.page-numbers {
  background: transparent !important;
  border: 1px solid var(--sand) !important;
  color: var(--ink-muted) !important;
  padding: 8px 14px !important;
  border-radius: 2px !important;
  font-size: 14px !important;
  transition: all 0.2s !important;
}
.page-numbers.current, .page-numbers:hover {
  background: var(--terra) !important;
  border-color: var(--terra) !important;
  color: white !important;
}

/* ── TABLES ── */
.entry-content table { width: 100% !important; border-collapse: collapse !important; }
.entry-content th { background: var(--ink) !important; color: white !important; padding: 10px 14px !important; font-size: 11px !important; font-weight: 500 !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; }
.entry-content td { padding: 10px 14px !important; border-bottom: 1px solid var(--sand) !important; color: var(--ink-muted) !important; font-size: 14px !important; }
.entry-content tr:hover td { background: var(--terra-pale) !important; }

/* ── MOBILE ── */
@media (max-width: 768px) {
  .single .entry-title { font-size: 28px !important; }
  .entry-title { font-size: 20px !important; }
  .custom-logo-link img { max-height: 60px !important; width: auto !important; }
  .ast-site-identity {
    text-align: center !important;
    margin: 0 auto !important;
    width: 100% !important;
  }
  .site-branding {
    width: 100% !important;
    text-align: center !important;
  }
  .custom-logo-link { display: inline-block !important; }
  .main-header-bar { padding: 12px 20px !important; }
}
/* Fix desktop logo visibility */
@media (min-width: 769px) {
  .ast-site-identity,
  .custom-logo-link,
  .custom-logo-link img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .custom-logo-link img {
    max-height: 80px !important;
    width: auto !important;
  }
}
/* Mobile hamburger menu - terracotta */
.ast-mobile-menu-buttons .menu-toggle,
.ast-menu-toggle,
button.menu-toggle {
  color: var(--terra) !important;
}

.ast-menu-toggle .menu-toggle-icon span,
.ast-menu-toggle span.menu-toggle-icon span {
  background: var(--terra) !important;
}
/* Mobile hamburger - fix */
.ast-mobile-menu-buttons,
.ast-menu-toggle {
  border: none !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ast-mobile-menu-buttons .ast-menu-toggle span,
.ast-mobile-menu-buttons .ast-menu-toggle .menu-toggle-icon,
.ast-mobile-menu-buttons .ast-menu-toggle .menu-toggle-icon span,
button.ast-menu-toggle span {
  background: var(--terra) !important;
  border-color: var(--terra) !important;
}

.ast-mobile-menu-buttons button {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
/* Hamburger menu icon - terracotta */
.ast-mobile-menu-buttons .ast-button-wrap button,
.ast-mobile-menu-buttons button,
#ast-mobile-header .ast-button-wrap button {
  color: var(--terra) !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

span.ast-mobile-menu-buttons-fill,
.ast-mobile-menu-buttons span,
.ast-mobile-menu-buttons svg,
.ast-mobile-menu-buttons svg path,
.ast-mobile-menu-buttons svg rect,
.ast-mobile-menu-buttons svg line {
  fill: var(--terra) !important;
  stroke: var(--terra) !important;
  color: var(--terra) !important;
  background: var(--terra) !important;
}