/*
Theme Name:   Life in Abruzzo
Theme URI:    https://lifeinabruzzo.com
Description:  Life in Abruzzo child theme for Kadence
Author:       Life in Abruzzo
Template:     kadence
Version:      1.0.39
Text Domain:  lifeinabruzzo
*/

/* =================================================================
   1. CSS CUSTOM PROPERTIES
================================================================= */
:root {
  --moss:        #4a6741;
  --moss-light:  #6b8f62;
  --moss-pale:   #e8efe7;
  --moss-dark:   #2e4029;
  --ink:         #1a1a18;
  --ink-mid:     #3d3d3a;
  --ink-soft:    #6b6b66;
  --paper:       #faf9f6;
  --warm-white:  #f5f3ee;
  --rule:        #d8d5cc;
  --serif:       'Playfair Display', Georgia, serif;
  --body-serif:  'Source Serif 4', Georgia, serif;
  --sans:        'DM Sans', system-ui, sans-serif;
  --max-width:   1280px;
  --article-width: 860px;
  --sidebar-width: 300px;
  --gutter:      28px;
}

/* =================================================================
   2. GLOBAL RESETS & BASE STYLES
================================================================= */
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 16px; scroll-behavior: smooth; }
body { background: var(--paper); color: var(--ink); font-family: var(--body-serif); font-size: 1.0625rem; line-height: 1.8; font-weight: 300; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6 { font-family: var(--serif); font-weight: 700; color: var(--ink); line-height: 1.2; }
a { color: var(--moss); }
img { max-width: 100%; height: auto; display: block; }
.wp-block-button__link, .kb-btn, button, input, select, textarea { border-radius: 0 !important; }

/* =================================================================
   3. MASTHEAD & NAVIGATION
================================================================= */
.site-masthead { background: var(--paper); border-bottom: 1px solid var(--rule); position: sticky; top: 0; z-index: 200; box-shadow: 0 1px 0 var(--rule); }
.masthead-inner { max-width: var(--max-width); margin: 0 auto; padding: 14px var(--gutter); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.masthead-left { display: flex; align-items: center; gap: 18px; }
.hamburger-btn { display: flex; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; padding: 5px 4px; flex-shrink: 0; }
.hamburger-btn span { display: block; width: 22px; height: 1.5px; background: var(--ink); transition: all 0.22s ease; }
.hamburger-btn:hover span, .hamburger-btn[aria-expanded="true"] span { background: var(--moss); }
.hamburger-btn[aria-expanded="true"] span:first-child { transform: translateY(6.5px) rotate(45deg); }
.hamburger-btn[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.hamburger-btn[aria-expanded="true"] span:last-child { transform: translateY(-6.5px) rotate(-45deg); }
.masthead-divider { width: 1px; height: 32px; background: var(--rule); flex-shrink: 0; }
.logo-lockup { text-decoration: none; display: block; }
.site-logo-text { font-family: var(--serif); font-size: 1.85rem; font-weight: 700; color: var(--ink); letter-spacing: -0.02em; line-height: 1; display: block; }
.site-logo-text em { font-style: italic; font-weight: 400; color: var(--moss); }
.site-logo-tagline { font-family: var(--sans); font-size: 0.6rem; color: var(--ink-soft); letter-spacing: 0.1em; text-transform: uppercase; margin-top: 3px; display: block; }
.custom-logo-link { text-decoration: none; }
.custom-logo { max-height: 48px; width: auto; }
.masthead-right { display: flex; align-items: center; gap: 6px; }
.btn-search { background: none; border: none; color: var(--ink-soft); cursor: pointer; padding: 7px; display: flex; align-items: center; transition: color 0.15s; }
.btn-search:hover { color: var(--moss); }
.masthead-rule { width: 1px; height: 20px; background: var(--rule); }
.btn-login { font-family: var(--sans); font-size: 0.68rem; color: var(--ink-soft); text-decoration: none; padding: 7px 12px; transition: color 0.15s; }
.btn-login:hover { color: var(--moss); }
.btn-join { background: var(--moss); color: #fff; font-family: var(--sans); font-size: 0.66rem; font-weight: 500; letter-spacing: 0.07em; text-transform: uppercase; padding: 9px 18px; text-decoration: none; transition: background 0.15s; display: inline-block; }
.btn-join:hover { background: var(--moss-dark); color: #fff; }
.nav-drawer { position: fixed; top: 0; left: 0; width: 320px; height: 100vh; background: var(--paper); border-right: 1px solid var(--rule); z-index: 300; transform: translateX(-100%); transition: transform 0.28s ease; overflow-y: auto; padding: 80px 28px 40px; }
.nav-drawer.is-open { transform: translateX(0); }
.nav-overlay { position: fixed; inset: 0; background: rgba(26,26,24,0.5); z-index: 250; opacity: 0; pointer-events: none; transition: opacity 0.28s ease; }
.nav-overlay.is-open { opacity: 1; pointer-events: auto; }
.nav-drawer ul { list-style: none; padding: 0; margin: 0; }
.nav-drawer li { border-bottom: 1px solid var(--rule); }
.nav-drawer a { font-family: var(--sans); font-size: 0.9rem; font-weight: 500; color: var(--ink); text-decoration: none; padding: 12px 0; display: block; transition: color 0.15s; }
.nav-drawer a:hover { color: var(--moss); }
.reading-progress-bar { height: 2px; background: var(--rule); position: relative; }
.reading-progress-fill { height: 100%; background: var(--moss); width: 0%; transition: width 0.1s linear; }
.breadcrumb-bar { padding: 9px var(--gutter); border-bottom: 1px solid var(--rule); background: var(--warm-white); display: flex; align-items: center; gap: 8px; font-family: var(--sans); font-size: 0.62rem; color: var(--ink-soft); letter-spacing: 0.04em; }
.breadcrumb-bar a { color: var(--ink-soft); text-decoration: none; transition: color 0.15s; }
.breadcrumb-bar a:hover { color: var(--moss); }
.breadcrumb-sep { color: var(--rule); }
.breadcrumb-current { color: var(--moss-dark); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 400px; }

/* =================================================================
   4. HOMEPAGE LAYOUT
================================================================= */
.home-hero { position: relative; height: 600px; overflow: hidden; display: flex; align-items: flex-end; }
.home-hero-image { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 8s ease; }
.home-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.home-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(15,12,8,0.15) 0%, rgba(15,12,8,0.0) 40%, rgba(15,12,8,0.65) 100%); }
.home-hero-content { position: relative; z-index: 2; padding: 0 var(--gutter) 48px; max-width: var(--max-width); margin: 0 auto; width: 100%; }
.home-hero-kicker { font-family: var(--sans); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--moss-light); margin-bottom: 10px; display: flex; align-items: center; gap: 10px; }
.home-hero-kicker::before { content: ''; width: 20px; height: 1.5px; background: var(--moss-light); display: inline-block; }
.home-hero-title { font-family: var(--serif); font-size: 3.2rem; font-weight: 700; color: #f5f2eb; letter-spacing: -0.03em; line-height: 1.1; margin-bottom: 14px; max-width: 760px; }
.home-hero-title em { font-style: italic; font-weight: 400; }
.home-hero-standfirst { font-family: var(--body-serif); font-size: 1rem; color: rgba(245,242,235,0.78); line-height: 1.7; font-weight: 300; max-width: 580px; margin-bottom: 20px; }
.home-hero-meta { font-family: var(--sans); font-size: 0.62rem; color: rgba(245,242,235,0.55); letter-spacing: 0.06em; text-transform: uppercase; }
.teaser-strip { border-bottom: 1px solid var(--rule); background: var(--warm-white); }
.teaser-strip-inner { max-width: var(--max-width); margin: 0 auto; padding: 0 var(--gutter); display: grid !important; grid-template-columns: repeat(4,1fr) !important; }
.teaser-cell { padding: 18px 20px; border-right: 1px solid var(--rule); text-decoration: none; color: inherit; display: block; transition: background 0.15s; }
.teaser-cell:last-child { border-right: none; }
.teaser-cell:hover { background: var(--paper); }
.teaser-pill { display: inline-block; background: var(--moss-pale); color: var(--moss-dark); font-family: var(--sans); font-size: 0.55rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 3px 8px; margin-bottom: 8px; }
.teaser-hed { font-family: var(--serif); font-size: 0.92rem; font-weight: 700; line-height: 1.3; color: var(--ink); }
.home-section { max-width: var(--max-width); margin: 0 auto; padding: 48px var(--gutter); }
.home-section-header { font-family: var(--sans); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--moss); border-bottom: 2px solid var(--moss); padding-bottom: 6px; margin-bottom: 32px; display: flex; align-items: baseline; justify-content: space-between; }
.home-section-more { font-family: var(--sans); font-size: 0.6rem; color: var(--ink-soft); text-decoration: none; font-weight: 400; letter-spacing: 0.06em; }
.home-section-more:hover { color: var(--moss); }
.home-stories-grid { display: grid !important; grid-template-columns: 1fr 1fr 1fr var(--sidebar-width) !important; gap: 0; }
.home-stories-main { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 28px; grid-column: 1/4; border-right: 1px solid var(--rule); padding-right: 32px; }
.home-stories-sidebar { padding-left: 32px; }
.province-strip { background: var(--ink); padding: 48px var(--gutter); }
.province-strip-inner { max-width: var(--max-width); margin: 0 auto; }
.province-strip-header { font-family: var(--sans); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--moss-light); margin-bottom: 24px; display: flex; align-items: center; gap: 12px; }
.province-strip-header::before { content: ''; width: 20px; height: 1.5px; background: var(--moss-light); display: inline-block; }
.province-tiles { display: grid !important; grid-template-columns: repeat(4,1fr) !important; gap: 2px; }
.province-tile { position: relative; height: 260px; overflow: hidden; text-decoration: none; display: block; }
.province-tile-image { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 0.5s ease; }
.province-tile-image img { width: 100%; height: 100%; object-fit: cover; }
.province-tile:hover .province-tile-image { transform: scale(1.05); }
.province-tile::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(15,12,8,0.75) 0%, transparent 60%); }
.province-tile-label { position: absolute; bottom: 20px; left: 20px; z-index: 2; font-family: var(--serif); font-size: 1.3rem; font-weight: 700; color: #f5f2eb; letter-spacing: -0.01em; }
.province-tile-label em { font-style: italic; font-weight: 400; display: block; font-size: 0.75rem; font-family: var(--sans); color: rgba(245,242,235,0.65); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 2px; }

/* =================================================================
   5. ARCHIVE / CATEGORY PAGE
================================================================= */
.section-hero { background: var(--ink); padding: 36px var(--gutter) 0; position: relative; overflow: hidden; }
.section-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 90% 50%, rgba(74,103,65,0.15) 0%, transparent 60%); }
.section-hero-inner { max-width: var(--max-width); margin: 0 auto; position: relative; z-index: 2; display: grid !important; grid-template-columns: 1fr auto !important; align-items: flex-end; gap: 40px; }
.section-eyebrow { font-family: var(--sans); font-size: 0.6rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--moss-light) !important; margin-bottom: 8px; display: flex; align-items: center; gap: 10px; }
.section-eyebrow::before { content: ''; width: 20px; height: 1.5px; background: var(--moss-light); display: inline-block; }
.section-title-large { font-family: var(--serif); font-size: 3rem; font-weight: 700; color: #f5f2eb !important; letter-spacing: -0.03em; line-height: 1; margin-bottom: 10px; }
.section-title-large em { font-style: italic; font-weight: 400; color: var(--moss-light); }
.section-desc { font-family: var(--body-serif); font-size: 0.92rem; color: #a8b8a5 !important; line-height: 1.65; max-width: 560px; font-weight: 300; padding-bottom: 28px; }
.section-stats { display: flex; flex-direction: column; gap: 12px; padding-bottom: 28px; flex-shrink: 0; }
.stat { text-align: right; }
.stat-number { font-family: var(--serif); font-size: 1.8rem; font-weight: 700; color: var(--moss-light); line-height: 1; display: block; }
.stat-label { font-family: var(--sans); font-size: 0.58rem; color: #4a4a46; letter-spacing: 0.1em; text-transform: uppercase; }
.lead-article { display: grid; grid-template-columns: 1fr 1fr; min-width: 0; gap: 0; border-bottom: 1px solid var(--rule); padding-bottom: 32px; margin-bottom: 32px; text-decoration: none; color: inherit; transition: opacity 0.15s; }
.lead-article:hover { opacity: 0.85; }
.lead-article-image { position: relative; overflow: hidden; min-height: 360px; }
.lead-article-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.lead-article:hover .lead-article-image img { transform: scale(1.03); }
.lead-article-content { padding: 0 0 0 36px; display: flex; flex-direction: column; justify-content: center; }
.lead-hed { font-family: var(--serif); font-size: 2rem; font-weight: 700; line-height: 1.2; letter-spacing: -0.02em; color: var(--ink); margin-bottom: 12px; }
.lead-hed em { font-style: italic; font-weight: 400; }
.lead-dek { font-family: var(--body-serif); font-size: 0.95rem; color: var(--ink-mid); line-height: 1.7; font-weight: 300; margin-bottom: 16px; }
.secondary-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; border-bottom: 1px solid var(--rule); padding-bottom: 32px; margin-bottom: 32px; }
.sec-card { padding-right: 28px; border-right: 1px solid var(--rule); text-decoration: none; color: inherit; display: block; transition: opacity 0.15s; min-width: 0; }
.sec-card:last-child { border-right: none; padding-right: 0; padding-left: 28px; }
.sec-card:nth-child(2) { padding-left: 28px; }
.sec-card:hover { opacity: 0.78; }
.card-img { width: 100%; padding-bottom: 62%; position: relative; overflow: hidden; margin-bottom: 14px; }
.card-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.45s ease; }
.sec-card:hover .card-img img, .quad-card:hover .quad-img img { transform: scale(1.05); }
.card-kicker { font-family: var(--sans); font-size: 0.6rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--moss); margin-bottom: 6px; display: block; }
.card-hed { font-family: var(--serif); font-size: 1.05rem; font-weight: 700; line-height: 1.25; color: var(--ink); margin-bottom: 8px; }
.card-dek { font-family: var(--body-serif); font-size: 0.82rem; color: var(--ink-mid); line-height: 1.6; font-weight: 300; margin-bottom: 10px; }
.quad-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; border-bottom: 1px solid var(--rule); padding-bottom: 32px; margin-bottom: 32px; }
.quad-card { padding-right: 22px; border-right: 1px solid var(--rule); text-decoration: none; color: inherit; display: block; transition: opacity 0.15s; min-width: 0; }
.quad-card:last-child { border-right: none; padding-right: 0; }
.quad-card:not(:first-child) { padding-left: 22px; }
.quad-card:hover { opacity: 0.78; }
.quad-img { width: 100%; padding-bottom: 70%; position: relative; overflow: hidden; margin-bottom: 12px; }
.quad-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.quad-hed { font-family: var(--serif); font-size: 0.92rem; font-weight: 700; line-height: 1.28; color: var(--ink); margin-bottom: 6px; }

/* ARCHIVE SIDEBAR & LAYOUT */
.archive-layout { max-width: 1180px; margin: 0 auto; padding: 40px 28px; display: grid; grid-template-columns: 220px 1fr; gap: 48px; align-items: start; }
.archive-sidebar { position: sticky; top: 80px; }
.archive-sidebar-section-title { font-family: var(--serif); font-size: 1.1rem; font-weight: 700; color: var(--ink); text-decoration: none; display: block; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 2px solid var(--moss); }
.archive-sidebar-nav { display: flex; flex-direction: column; gap: 2px; margin-bottom: 20px; }
.archive-sidebar-link { font-family: var(--sans); font-size: 0.78rem; color: var(--ink-mid); text-decoration: none; padding: 6px 10px; border-left: 2px solid transparent; transition: all 0.15s; display: block; }
.archive-sidebar-link:hover, .archive-sidebar-link.active { color: var(--moss); border-left-color: var(--moss); background: var(--moss-pale); }
.archive-sidebar-link-sm { font-size: 0.72rem; }
.archive-sidebar-province-label { font-family: var(--sans); font-size: 0.58rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: 8px; padding: 0 10px; }
.archive-sidebar-divider { height: 1px; background: var(--rule); margin: 16px 0; }
.archive-search { margin-top: 8px; }
.archive-search-wrap { display: flex; align-items: center; gap: 8px; border: 1px solid var(--rule); padding: 8px 10px; background: #fff; }
.archive-search-wrap svg { flex-shrink: 0; color: var(--ink-soft); }
.archive-search-wrap input { border: none; outline: none; font-family: var(--sans); font-size: 0.75rem; color: var(--ink); width: 100%; background: transparent; }
.archive-content { min-width: 0; }

/* =================================================================
   6. SINGLE POST
================================================================= */
.article-hero { position: relative; height: 0; padding-bottom: 52.5%; overflow: hidden; }
.article-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.article-sage-hero { border-bottom: 3px solid #fff; }

body.single-post .site-main,
body.single-post #main-content,
body.single-post .wp-site-blocks > main {
    border-top: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.article-title { font-family: var(--serif); font-size: 2.2rem; font-weight: 700; line-height: 1.15; letter-spacing: -0.02em; color: var(--ink); margin-bottom: 16px; }
.article-title em { font-style: italic; font-weight: 400; }
.article-standfirst { font-family: var(--body-serif); font-size: 1.15rem; color: var(--ink-mid); line-height: 1.7; font-weight: 300; margin-bottom: 24px; border-left: 3px solid var(--moss); padding-left: 18px; }
.article-layout { max-width: 1180px; margin: 0 auto; padding: 40px var(--gutter); display: grid !important; grid-template-columns: 1fr var(--sidebar-width) !important; gap: 60px; align-items: start; }
.article-body { min-width: 0; }
.article-body p { font-family: var(--body-serif); font-size: 1.05rem; line-height: 1.82; color: var(--ink-mid); margin-bottom: 1.6em; font-weight: 300; }
.article-body h2 { font-family: var(--serif); font-size: 1.6rem; font-weight: 700; color: var(--ink); letter-spacing: -0.01em; line-height: 1.25; margin: 2em 0 0.7em; padding-top: 1em; border-top: 1px solid var(--rule); }
.article-body h3 { font-family: var(--serif); font-size: 1.2rem; font-weight: 600; color: var(--ink); line-height: 1.3; margin: 1.6em 0 0.5em; font-style: italic; }
.article-body strong { font-weight: 600; color: var(--ink); }
.article-body a { color: var(--moss); text-decoration: underline; text-decoration-color: var(--moss-pale); text-underline-offset: 2px; }
.article-sidebar { position: sticky; top: 80px; display: flex; flex-direction: column; gap: 28px; }

/* =================================================================
   9. FOOTER
================================================================= */
.site-footer { background: var(--moss-dark); color: rgba(245,242,235,0.7); padding: 0; }
.footer-widgets { padding: 52px 28px 40px; }
.footer-widgets-inner { display: grid !important; grid-template-columns: repeat(3,auto) !important; gap: 60px !important; justify-content: center !important; }
.footer-col-wrap { min-width: 0; }
.footer-col { text-align: center; }
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col li { margin-bottom: 8px; }
.footer-col-title { font-family: var(--sans); font-size: 0.58rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--moss-light) !important; margin-bottom: 16px; padding-bottom: 8px; border-bottom: 1px solid rgba(74,103,65,0.3); }
.footer-widgets, .footer-widgets a, .footer-col, .footer-col a, .footer-col li, .footer-col p { color: #f5f2eb !important; }
.footer-col a:hover { color: var(--moss-light) !important; }
.footer-col-wrap .formkit-form, .footer-col-wrap .seva-form { display: none !important; }
.footer-connections { width: 100%; background: #2e4029; padding: 40px 0; border-bottom: 1px solid rgba(255,255,255,0.08); overflow: hidden; box-sizing: border-box; }
.footer-connections-inner { max-width: 1180px; margin: 0 auto; padding: 0 28px; box-sizing: border-box; display: flex; flex-direction: column; gap: 24px; }
.footer-connections-row1 { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; }
.footer-connections-heading { font-family: var(--serif); font-size: 1.1rem; font-weight: 700; color: #f5f2eb; margin: 0; white-space: nowrap; flex-shrink: 0; }
.footer-connections-cats-row { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.footer-connections-pill { font-family: var(--sans); font-size: 0.65rem; font-weight: 500; letter-spacing: 0.04em; color: rgba(245,242,235,0.75); border: 1px solid rgba(255,255,255,0.15); padding: 5px 12px; text-decoration: none; transition: all 0.15s; white-space: nowrap; }
.footer-connections-pill:hover { background: var(--moss); border-color: var(--moss); color: #fff; }
.footer-connections-row2 { display: grid; grid-template-columns: 160px 1fr; gap: 32px; align-items: start; }
.footer-connections-brand { flex-shrink: 0; }
.footer-connections-logo { width: 140px; height: auto; display: block; }
.footer-connections-carousel-wrap { min-width: 0; overflow: hidden; }
.footer-connections-carousel-header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; }
.footer-connections-eyebrow { font-family: var(--sans); font-size: 0.58rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--moss-light); }
.footer-connections-all { font-family: var(--sans); font-size: 0.65rem; color: var(--moss-light); text-decoration: none; }
.footer-connections-track { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; width: 100%; }
.footer-connections-track::-webkit-scrollbar { display: none; }
.footer-connections-card { flex: 0 0 200px; scroll-snap-align: start; text-decoration: none; color: inherit; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.08); display: block; transition: opacity 0.15s; }
.footer-connections-card:hover { opacity: 0.8; }
.footer-connections-card-img { height: 120px; overflow: hidden; }
.footer-connections-card-img img { width: 100%; height: 100%; object-fit: cover; }
.footer-connections-card-body { padding: 8px 10px; }
.footer-connections-card-title { font-family: var(--sans); font-size: 0.72rem; font-weight: 600; color: #f5f2eb; margin: 0; line-height: 1.3; }
.footer-connections-nav { display: flex; gap: 8px; margin-top: 12px; }
.footer-connections-prev, .footer-connections-next { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15); color: #f5f2eb; width: 32px; height: 32px; cursor: pointer; font-size: 0.9rem; display: flex; align-items: center; justify-content: center; transition: background 0.15s; }
.footer-connections-prev:hover, .footer-connections-next:hover { background: var(--moss); border-color: var(--moss); }
.footer-bottom-bar { background: var(--moss-dark); border-top: 1px solid rgba(255,255,255,0.1); padding: 16px 28px; }
.footer-bottom-inner { max-width: 1180px; margin: 0 auto; text-align: center; }
.footer-legal { font-family: var(--sans); font-size: 0.65rem; color: #fff !important; margin: 0 auto; line-height: 2; text-align: center; max-width: 600px; }
.footer-legal a { color: #fff !important; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.4); }
.footer-legal a:hover { border-bottom-color: #fff; }
.footer-copyright { font-size: 0.6rem !important; color: rgba(255,255,255,0.3) !important; margin-top: 6px !important; }
.social-weather-band { background: #1a1f1a; padding: 40px 28px; border-bottom: 1px solid rgba(255,255,255,0.08); }
.social-weather-inner { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.social-col-title, .weather-col-title { font-family: var(--serif); font-size: 1rem; font-weight: 700; color: #f5f2eb; margin-bottom: 8px; }
.social-col-dek { font-family: var(--sans); font-size: 0.78rem; color: rgba(245,242,235,0.7); line-height: 1.7; margin-bottom: 20px; max-width: 280px; }
.social-icons { display: flex; flex-direction: column; gap: 14px; }
.social-icon { display: flex; align-items: center; gap: 12px; text-decoration: none; color: rgba(245,242,235,0.75); font-family: var(--sans); font-size: 0.78rem; transition: color 0.15s; }
.social-icon:hover { color: #f5f2eb; }
.social-icon svg { flex-shrink: 0; opacity: 0.8; }
.social-icon:hover svg { opacity: 1; }
.social-icon-whatsapp:hover { color: #25D366; }
.weather-tiles { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.weather-tile { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); padding: 14px 12px; text-align: center; }

.social-weather-band .weather-tile-province { font-family: var(--serif); font-size: 0.85rem; font-weight: 700; color: #f5f2eb; margin-bottom: 2px; }
.social-weather-band .weather-tile-sub { font-family: var(--sans); font-size: 0.58rem; color: var(--moss-light); letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 10px; }
.social-weather-band .weather-tile-temp { font-family: var(--sans); font-size: 1rem; font-weight: 600; color: #f5f2eb; margin-bottom: 4px; }
.social-weather-band .weather-tile-desc { font-family: var(--sans); font-size: 0.62rem; color: rgba(245,242,235,0.5); }

.about-band { background: var(--warm-white); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); padding: 56px 28px; }
.about-band-inner { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1px 1fr; gap: 56px; align-items: start; }
.about-band-divider { background: var(--rule); height: 100%; min-height: 180px; }
.about-band-eyebrow { font-family: var(--sans); font-size: 0.6rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--moss); margin-bottom: 10px; }
.about-band-title { font-family: var(--serif); font-size: 1.4rem; font-weight: 700; color: var(--ink); line-height: 1.2; margin-bottom: 14px; }
.about-band-dek { font-family: var(--sans); font-size: 0.82rem; color: var(--ink-mid); line-height: 1.7; margin-bottom: 20px; }
.about-band-link { font-family: var(--sans); font-size: 0.72rem; font-weight: 600; color: var(--moss); text-decoration: none; letter-spacing: 0.06em; border-bottom: 1px solid var(--moss); padding-bottom: 2px; }
.about-band-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.about-band-btn { display: inline-flex; align-items: center; gap: 8px; font-family: var(--sans); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.06em; padding: 10px 18px; text-decoration: none; transition: opacity 0.15s; }
.about-band-btn:hover { opacity: 0.85; }
.about-band-btn-whatsapp { background: #25D366; color: #fff; }
.about-band-btn-calendar { background: var(--moss); color: #fff; }
.about-band-logo { width: 70px; height: auto; float: right; margin: 0 0 12px 16px; border-radius: 4px; }
.about-band-logo-link { display: inline-block; transition: opacity 0.15s; }
.about-band-logo-link:hover { opacity: 0.85; }
.woa-tile { display: block; text-decoration: none; color: inherit; border: 1px solid var(--rule); background: #fff; transition: opacity 0.15s; }
.woa-tile:hover { opacity: 0.85; }
.woa-tile-header { padding: 14px 16px 10px; border-bottom: 2px solid var(--moss); }
.woa-tile-eyebrow { font-family: var(--sans); font-size: 0.58rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--moss); display: block; margin-bottom: 4px; }
.woa-tile-title { font-family: var(--serif); font-size: 1.1rem; font-weight: 700; color: var(--ink); margin: 0; line-height: 1.2; }
.woa-tile-image { height: 160px; background-size: cover; background-position: center; }
.woa-tile-body { padding: 14px 16px; }
.woa-tile-dek { font-family: var(--sans); font-size: 0.75rem; color: var(--ink-mid); line-height: 1.6; margin-bottom: 10px; }
.woa-tile-cta { font-family: var(--sans); font-size: 0.68rem; font-weight: 600; color: var(--moss); letter-spacing: 0.05em; }
.story-card-dek { display: none !important; }
.story-card { border-right: none !important; }
.article-meta-details, .story-card-meta, .more-card-meta, .quad-meta, .card-meta, .lead-meta, .home-hero-meta { display: none !important; }
.site-main { padding-top: 0 !important; margin-top: 0 !important; }
.site-masthead { position: sticky !important; top: 0 !important; z-index: 200 !important; }
.wp-site-blocks, #page, .site { overflow: visible !important; }

/* DIRECTORY PAGE */
.dir-hero { background: #4a6741; padding: 40px 28px 32px; border-top: 1px solid #a8c8a3; }
.dir-hero-inner { max-width: 1180px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.dir-hero-title { font-family: var(--serif); font-size: 2.4rem; font-weight: 700; color: #f5f2eb; letter-spacing: -0.02em; line-height: 1.15; margin-bottom: 12px; }
.dir-hero-dek { font-family: var(--sans); font-size: 0.82rem; color: rgba(245,242,235,0.75); line-height: 1.7; margin-bottom: 20px; max-width: 540px; }
.dir-hero-cta { display: inline-block; background: #fff; color: #2e4029; font-family: var(--sans); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 10px 22px; text-decoration: none; }
.dir-outer { max-width: 1180px; margin: 0 auto; padding: 0 28px 60px; }
.dir-section { padding: 32px 0 24px; border-bottom: 1px solid var(--rule); }
.dir-section-header { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 16px; border-bottom: 2px solid var(--moss); padding-bottom: 6px; }
.dir-section-label { font-family: var(--sans); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--moss); }
.dir-newest-track { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.dir-newest-track::-webkit-scrollbar { display: none; }
.dir-member-card { flex: 0 0 260px; scroll-snap-align: start; text-decoration: none; color: inherit; background: #fff; border: 1px solid var(--rule); display: block; transition: opacity 0.15s; }
.dir-member-card:hover { opacity: 0.85; }
.dir-member-img { height: 160px; background-size: cover; background-position: center; background-color: var(--moss-pale); }
.dir-member-body { padding: 12px 14px; }
.dir-member-cat { font-family: var(--sans); font-size: 0.6rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--moss); display: block; margin-bottom: 4px; }
.dir-member-title { font-family: var(--serif); font-size: 0.9rem; font-weight: 700; color: var(--ink); line-height: 1.3; margin: 0; }
.dir-cat-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; padding: 24px 0 0; }
.dir-cat-tile { position: relative; height: 200px; background-size: cover; background-position: center; background-color: var(--moss); display: block; text-decoration: none; overflow: hidden; }
.dir-cat-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(30,50,25,0.85) 0%, rgba(30,50,25,0.2) 100%); display: flex; flex-direction: column; justify-content: flex-end; padding: 18px 20px; }
.dir-cat-name { font-family: var(--serif); font-size: 1.15rem; font-weight: 700; color: #f5f2eb; line-height: 1.2; }
.section-hero-green { background: #4a6741; padding: 36px 28px 28px; border-top: 1px solid #a8c8a3; }
.section-hero-green-inner { max-width: 1180px; margin: 0 auto; display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.section-title-green { font-family: var(--serif); font-size: 2.6rem; font-weight: 700; color: #f5f2eb; letter-spacing: -0.025em; line-height: 1.1; margin-bottom: 10px; }
.archive-pills-bar { background: #fff; border-bottom: 1px solid var(--rule); padding: 14px 28px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.archive-pill { font-family: var(--sans); font-size: 0.68rem; font-weight: 600; color: var(--moss-dark); background: var(--moss-pale); border: 1px solid var(--rule); padding: 5px 14px; text-decoration: none; white-space: nowrap; }
.archive-pill:hover, .archive-pill--active { background: var(--moss); color: #fff; border-color: var(--moss); }
.page-id-51393 .entry-content { padding: 0 28px; max-width: 1180px; margin: 0 auto; }
.page-id-51393 .formkit-form, .page-id-51393 .seva-form, .page-id-51393 .mashsb-container { display: none !important; }

/* GEODIRECTORY */
.geodir-field-price, .geodir-field-price_range { display: none !important; }
.geodir-search-container, .geodir-loop-actions-container { display: none !important; }
.geodir-post .card { border: 1px solid #d8d5cc !important; border-radius: 0 !important; box-shadow: none !important; background: #fff !important; }
.geodir-post .card-img-top { aspect-ratio: 16/9; overflow: hidden; }
.geodir-post .card-img-top img { width: 100%; height: 100%; object-fit: cover; display: block; }
.geodir-post h2.geodir-entry-title a { font-family: 'Playfair Display', serif !important; font-size: 0.95rem !important; font-weight: 700 !important; color: #1a1a18 !important; text-decoration: none !important; }
.geodir-post h2.geodir-entry-title a:hover { color: #4a6741 !important; }

/* REVIEWS BAND */
.reviews-band { background: #1a2e1a; padding: 48px 28px; border-top: 1px solid rgba(255,255,255,0.08); }
.reviews-band-inner { max-width: 1180px; margin: 0 auto; }
.reviews-band-header { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 28px; border-bottom: 1px solid rgba(255,255,255,0.1); padding-bottom: 12px; }
.reviews-band-eyebrow { font-family: var(--sans); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: #f5f2eb; }
.reviews-band-links { display: flex; gap: 20px; }
.reviews-band-more { font-family: var(--sans); font-size: 0.65rem; color: #f5f2eb; text-decoration: none; border-bottom: 1px solid rgba(245,242,235,0.4); padding-bottom: 1px; }
.reviews-band-more:hover { color: #fff; border-bottom-color: #fff; }
.reviews-band-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; margin-bottom: 20px; }
.review-card { padding: 20px; background: rgba(255,255,255,0.04); border-top: 1px solid #6b8f62; margin: 0; }
.review-text { font-family: var(--body-serif); font-size: 0.88rem; color: rgba(245,242,235,0.82); line-height: 1.7; font-style: italic; margin: 0 0 12px; font-weight: 300; display: block; }
.review-author { font-family: var(--sans); font-size: 0.65rem; font-weight: 600; letter-spacing: 0.06em; color: #6b8f62; margin: 0; display: block; }
.reviews-band-footer { font-family: var(--sans); font-size: 0.72rem; color: rgba(245,242,235,0.7); text-align: center; padding-top: 16px; border-top: 1px solid rgba(255,255,255,0.08); }
.reviews-band-footer a { color: #f5f2eb; text-decoration: none; border-bottom: 1px solid rgba(245,242,235,0.4); }
.reviews-band-footer a:hover { color: #fff; }

/* ANIMATIONS */
@keyframes fadeUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

/* MASSHARE */
.mashsb-container .mashsb-buttons a.mashsb-button, .mashsb-container .mashsb-buttons a { border-radius: 0 !important; font-family: var(--sans) !important; font-size: 0.72rem !important; font-weight: 600 !important; letter-spacing: 0.05em !important; text-transform: uppercase !important; padding: 10px 18px !important; transition: opacity 0.15s !important; }
.mashsb-container .mashsb-buttons a:hover { opacity: 0.85 !important; }
.mashsb-container .mashsb-buttons a.mashsb-facebook { background: #2e4029 !important; border: 1px solid #2e4029 !important; }
.mashsb-container .mashsb-buttons a.mashsb-whatsapp { background: #4a6741 !important; border: 1px solid #4a6741 !important; }
.mashsb-container .mashsb-buttons a.mashsb-linkedin { background: #3d3d3a !important; border: 1px solid #3d3d3a !important; }
.mashsb-container .mashsb-buttons a.mashsb-mail { background: #6b8f62 !important; border: 1px solid #6b8f62 !important; }
.mashsb-container { border-top: 2px solid var(--rule) !important; padding-top: 24px !important; margin-top: 0 !important; }
.mashsb-container .mashsb-share-count { display: none !important; }

/* CONTACT PAGE */
.lia-contact-wrap { max-width: 1180px; margin: 0 auto; padding: 48px 28px 60px; display: grid; grid-template-columns: 1fr 340px; gap: 60px; align-items: start; }
.lia-contact-section { margin-bottom: 40px; padding-bottom: 40px; border-bottom: 1px solid var(--rule); }
.lia-contact-section:last-child { border-bottom: none; }
.lia-contact-section h2 { font-family: var(--serif); font-size: 1.3rem; font-weight: 700; color: var(--ink); margin: 0 0 12px; padding-bottom: 10px; border-bottom: 2px solid var(--moss); }
.lia-contact-section p { font-family: var(--sans); font-size: 0.88rem; color: var(--ink-mid); line-height: 1.7; margin-bottom: 12px; }
.lia-contact-section a { color: var(--moss); text-decoration: none; }
.lia-contact-section a:hover { text-decoration: underline; }
.lia-contact-row { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; font-family: var(--sans); font-size: 0.82rem; color: var(--ink-mid); }
.lia-contact-row svg { flex-shrink: 0; color: var(--moss); }
.lia-contact-row a { color: var(--moss); }
.lia-book-box { background: var(--moss-pale); border-left: 4px solid var(--moss); padding: 20px 24px; margin-top: 16px; }
.lia-book-box p { margin-bottom: 16px !important; }
.lia-book-btn { display: inline-block; background: var(--moss); color: #fff !important; font-family: var(--sans); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 12px 24px; text-decoration: none !important; transition: opacity 0.15s; }
.lia-book-btn:hover { opacity: 0.85; }
.lia-contact-sidebar-box { background: #fff; border: 1px solid var(--rule); padding: 24px; position: sticky; top: 90px; }
.lia-contact-sidebar-box h3 { font-family: var(--sans); font-size: 0.6rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--moss); border-bottom: 2px solid var(--moss); padding-bottom: 8px; margin-bottom: 16px; }
.lia-reg-detail { font-family: var(--sans); font-size: 0.72rem; color: var(--ink-soft); line-height: 1.8; }
.lia-reg-detail strong { color: var(--ink); display: block; margin-bottom: 4px; }
@media(max-width:1024px) {
  .lia-contact-wrap { grid-template-columns: 1fr; gap: 32px; padding: 32px 16px 48px; }
  .lia-contact-sidebar-box { position: static; }
}

/* GEODIRECTORY EXTRAS */
.geodir-category-description-container { display: none !important; }
.geodir-field-address [itemprop="streetAddress2"] { display: inline !important; font-family: 'DM Sans', sans-serif !important; font-size: 0.65rem !important; font-weight: 600 !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; color: #4a6741 !important; }
.geodir-field-address [itemprop="addressLocality"] { display: inline !important; font-family: 'DM Sans', sans-serif !important; font-size: 0.72rem !important; color: #6b6b66 !important; }

/* FOOTER SIMPLE BAR */
.site-footer .footer-simple-bar { background: #2e4029 !important; padding: 16px 28px !important; text-align: center !important; border-top: 1px solid rgba(255,255,255,0.1) !important; }
.site-footer .footer-simple-inner { display: flex !important; justify-content: center !important; align-items: center !important; gap: 12px !important; flex-wrap: wrap !important; max-width: 1180px !important; margin: 0 auto !important; }
.site-footer .footer-simple-link { color: rgba(245,242,235,0.75) !important; text-decoration: none !important; font-family: var(--sans) !important; font-size: 0.75rem !important; }
.site-footer .footer-simple-link:hover { color: #fff !important; }
.site-footer .footer-simple-sep { color: rgba(255,255,255,0.4) !important; }
#colophon + * { display: none !important; }
body::after { display: none !important; content: none !important; }

/* HIDE WOOCOMMERCE CART ICON */
.cart-contents, .woocommerce-cart-link, .header-cart, .kadence-cart-wrap, .wc-block-mini-cart, .woocommerce-mini-cart-item { display: none !important; }

/* =================================================================
   DESKTOP REINFORCEMENT - 1025px+
================================================================= */
@media screen and (min-width: 1025px) {
  body .home-stories-grid { display: grid !important; grid-template-columns: 1fr 1fr 1fr 300px !important; }
  body .home-stories-main { display: grid !important; grid-template-columns: repeat(3,1fr) !important; grid-column: 1/4 !important; border-right: 1px solid var(--rule) !important; padding-right: 32px !important; gap: 28px !important; }
  body .home-stories-sidebar { padding-left: 32px !important; border-top: none !important; padding-top: 0 !important; }
  body .province-tiles { display: grid !important; grid-template-columns: repeat(4,1fr) !important; }
  body .teaser-strip-inner { display: grid !important; grid-template-columns: repeat(4,1fr) !important; }
  body .article-layout { display: grid !important; grid-template-columns: 1fr 300px !important; }
  body .about-band-inner { display: grid !important; grid-template-columns: 1fr 1px 1fr !important; }
  body .footer-widgets-inner { display: grid !important; grid-template-columns: repeat(3,auto) !important; justify-content: center !important; }
}

/* =================================================================
   RESPONSIVE - 1024px
================================================================= */
@media (max-width: 1024px) {
  .home-stories-grid { display: block !important; }
  .home-stories-main { display: block !important; border-right: none; padding-right: 0; margin-bottom: 40px; }
  .home-stories-sidebar { padding-left: 0; border-top: 1px solid var(--rule); padding-top: 32px; }
  .lead-article { grid-template-columns: 1fr; }
  .lead-article-content { padding: 20px 0 0; }
  .secondary-row { grid-template-columns: 1fr 1fr; }
  .quad-row { grid-template-columns: 1fr 1fr; }
  .article-layout { grid-template-columns: 1fr; }
  .article-sidebar { position: static; }
  .province-tiles { grid-template-columns: 1fr 1fr; }
  .footer-widgets-inner { grid-template-columns: 1fr 1fr !important; gap: 32px !important; }
  body.single-post .article-layout { display: block !important; }
  body.single-post .article-sidebar { display: block; width: 100%; margin-top: 40px; }
}

/* =================================================================
   RESPONSIVE - 768px
================================================================= */
@media (max-width: 768px) {
  :root { --gutter: 16px; }
  .site-logo-text { font-size: 1.4rem; }
  .site-logo-tagline { display: none; }
  .home-hero { height: 420px; }
  .home-hero-title { font-size: 2.2rem; }
  .teaser-strip-inner { grid-template-columns: 1fr 1fr !important; }
  .teaser-cell:nth-child(3), .teaser-cell:nth-child(4) { display: none; }
  .home-stories-grid { display: block !important; }
  .home-stories-main { display: block !important; border-right: none !important; padding-right: 0 !important; }
  .home-stories-sidebar { padding-left: 0 !important; margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--rule); }
  .story-card { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 12px !important; padding: 12px 0 !important; border-bottom: 1px solid var(--rule) !important; border-right: none !important; }
  .story-card-img-wrap { display: block !important; flex-shrink: 0 !important; width: 90px !important; height: 68px !important; overflow: hidden !important; }
  .story-card-img-wrap img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; margin: 0 !important; }
  .story-card-body { flex: 1 !important; min-width: 0 !important; padding: 0 !important; }
  .story-card-hed { font-size: 0.88rem !important; line-height: 1.3 !important; margin: 0 !important; }
  .province-tiles { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 4px !important; }
  .province-tile { height: 160px !important; }
  .about-band-inner { display: block !important; }
  .about-band-divider { display: none; }
  .weather-tiles { grid-template-columns: repeat(2,1fr); }
  .footer-connections-row1 { flex-direction: column; gap: 12px; }
  .footer-connections-cats-row { justify-content: flex-start; }
  .footer-connections-row2 { display: block !important; }
  .footer-connections-track { display: flex !important; flex-direction: row !important; overflow-x: auto !important; }
  .footer-connections-card { flex: 0 0 160px !important; min-width: 160px !important; }
  .footer-widgets-inner { grid-template-columns: 1fr 1fr !important; gap: 24px !important; }
  .section-title-large { font-size: 2rem; }
  .article-title { font-size: 1.5rem !important; }
  .secondary-row { grid-template-columns: 1fr; }
  .sec-card { padding-right: 0; padding-left: 0 !important; border-right: none; border-bottom: 1px solid var(--rule); padding-bottom: 24px; margin-bottom: 24px; }
  .dir-hero-inner { flex-direction: column; gap: 20px; }
  .dir-hero-title { font-size: 1.8rem; }
  .dir-cat-grid { grid-template-columns: repeat(2,1fr); }
  .section-hero-green-inner { flex-direction: column; align-items: flex-start; gap: 8px; }
  .section-title-green { font-size: 1.8rem; }
  .archive-pills-bar { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding: 12px 16px; }
  .archive-pills-bar::-webkit-scrollbar { display: none; }
  .archive-pill { flex-shrink: 0; }
}

/* =================================================================
   RESPONSIVE - 480px
================================================================= */
@media (max-width: 480px) {
  .teaser-strip-inner { grid-template-columns: 1fr !important; }
  .teaser-cell:nth-child(3), .teaser-cell:nth-child(4) { display: block; }
  .province-tiles { grid-template-columns: 1fr !important; }
  .footer-widgets-inner { grid-template-columns: 1fr !important; }
  .home-hero-title { font-size: 1.8rem; }
  .article-title { font-size: 1.3rem !important; }
}

/* =================================================================
   FIXES
================================================================= */
html, body { width: 100%; overflow-x: hidden; }
.site, #page, .wp-site-blocks { width: 100% !important; max-width: 100% !important; }

@media screen and (min-width: 769px) {
  .teaser-strip-inner { display: grid !important; grid-template-columns: repeat(4,1fr) !important; }
  .teaser-cell { display: block !important; width: auto !important; border-right: 1px solid #d8d5cc !important; border-bottom: none !important; float: none !important; padding: 18px 20px !important; box-sizing: border-box !important; }
  .teaser-cell:last-child { border-right: none !important; }
  .home-stories-grid { display: grid !important; grid-template-columns: 1fr 1fr 1fr 300px !important; }
  .home-stories-main { display: grid !important; grid-template-columns: repeat(3,1fr) !important; grid-column: 1/4 !important; border-right: 1px solid #d8d5cc !important; padding-right: 32px !important; gap: 28px !important; }
  .home-stories-sidebar { padding-left: 32px !important; border-top: none !important; padding-top: 0 !important; margin-top: 0 !important; }
  .story-card { display: block !important; border-bottom: none !important; padding: 0 !important; }
  .story-card-img-wrap { width: 100% !important; height: auto !important; display: block !important; }
  .story-card-img-wrap img { width: 100% !important; height: auto !important; object-fit: cover !important; margin: 0 auto !important; }
  .story-card-body { flex: unset !important; padding: 0 !important; }
}

/* SEARCH OVERLAY */
.lia-search-overlay {
    position: fixed;
    inset: 0;
    background: rgba(26,26,24,0.92);
    z-index: 1000;
    display: none !important;
    align-items: center;
    justify-content: center;
    padding: 28px;
}
.lia-search-overlay.js-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.lia-search-overlay-inner {
    width: 100%;
    max-width: 640px;
    position: relative;
}
.lia-search-eyebrow {
    font-family: var(--sans);
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--moss-light);
    margin-bottom: 16px;
    display: block;
}
.lia-search-form-wrap .search-form,
.lia-search-form-wrap form {
    display: flex !important;
    align-items: center !important;
    background: #fff !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}
.lia-search-form-wrap .search-field,
.lia-search-form-wrap input[type="search"],
.lia-search-form-wrap input[type="text"] {
    flex: 1 !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    font-family: var(--serif) !important;
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    color: var(--ink) !important;
    padding: 20px 24px !important;
    width: 100% !important;
    line-height: 1.2 !important;
}
.lia-search-form-wrap .search-field::placeholder,
.lia-search-form-wrap input::placeholder {
    color: #b0aca4 !important;
}
.lia-search-form-wrap .search-submit,
.lia-search-form-wrap button[type="submit"],
.lia-search-form-wrap input[type="submit"] {
    background: var(--moss) !important;
    border: none !important;
    color: transparent !important;
    text-indent: -9999px !important;
    width: 64px !important;
    min-width: 64px !important;
    padding: 0 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    height: 100% !important;
    min-height: 64px !important;
}
.lia-search-form-wrap .search-submit:hover,
.lia-search-form-wrap button[type="submit"]:hover {
    background: var(--moss-dark) !important;
}
.lia-search-form-wrap .is-search-icon,
.lia-search-form-wrap .is-search-toggle,
.lia-search-form-wrap .popup-search-close,
.lia-search-form-wrap .is-search-close {
    display: none !important;
}
.lia-search-close {
    position: absolute;
    top: -48px;
    right: 0;
    background: none;
    border: none;
    color: rgba(245,242,235,0.7);
    font-size: 1.2rem;
    cursor: pointer;
    padding: 8px;
    line-height: 1;
    transition: color 0.15s;
}
.lia-search-close:hover { color: #fff; }

/* NAV DRAWER POSITION - ADMIN BAR AWARE */
.nav-drawer { padding-top: 20px !important; top: 80px !important; height: calc(100vh - 80px) !important; }
body.admin-bar .nav-drawer { top: 112px !important; height: calc(100vh - 112px) !important; }
@media screen and (max-width: 782px) {
    body.admin-bar .nav-drawer { top: 126px !important; height: calc(100vh - 126px) !important; }
}

/* HOMEPAGE FIXES */
.story-card-img-wrap { height: 200px !important; overflow: hidden !important; }
.story-card-img-wrap img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.province-tile { height: 260px !important; }
.province-tile-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-hero-content { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(to top, rgba(0,0,0,0.75) 0%, transparent 100%); padding:40px 28px 24px; }
.home-hero-title a { color:#fff !important; text-shadow:none; }

/* FIX STICKY MASTHEAD ON SINGLE POSTS */
body.single-post .wp-site-blocks,
body.single-post #page,
body.single-post .site { overflow: visible !important; }

/* =================================================================
   LIFE IN ABRUZZO: BODY COPY LINK STYLING
================================================================= */
.single-post .entry-content p a,
.single-post .entry-content li a,
.page .entry-content p a,
.page .entry-content li a {
  color: #4a6741;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  text-decoration-color: #4a6741;
  transition: color 0.15s ease, text-decoration-thickness 0.15s ease;
}
.single-post .entry-content p a:hover,
.single-post .entry-content li a:hover,
.page .entry-content p a:hover,
.page .entry-content li a:hover {
  color: #2f4429;
  text-decoration-thickness: 2px;
}
.single-post .entry-content p a:visited,
.single-post .entry-content li a:visited,
.page .entry-content p a:visited,
.page .entry-content li a:visited {
  color: #6b8268;
}
.single-post .entry-content p a:has(img),
.single-post .entry-content li a:has(img),
.page .entry-content p a:has(img),
.page .entry-content li a:has(img),
.single-post .entry-content figure a,
.page .entry-content figure a {
  color: inherit;
  text-decoration: none;
}
.single-post .entry-content p a:has(img):hover,
.single-post .entry-content li a:has(img):hover,
.page .entry-content p a:has(img):hover,
.page .entry-content li a:has(img):hover,
.single-post .entry-content figure a:hover,
.page .entry-content figure a:hover {
  opacity: 0.92;
}

/* =================================================================
   FOOTER OVERRIDES (site-wide)
================================================================= */
.social-weather-band .social-weather-inner {
	display: flex !important;
	flex-direction: column !important;
	grid-template-columns: none !important;
	gap: 28px !important;
}
.social-weather-band .social-col,
.social-weather-band .weather-col {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 auto !important;
}
.social-weather-band .weather-col .weather-tiles {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 14px !important;
}
.social-weather-band .weather-col .weather-tile {
	text-align: center;
}
@media (max-width: 700px) {
	.social-weather-band .weather-col .weather-tiles {
		gap: 8px !important;
	}
	.social-weather-band .weather-col .weather-tile-sub {
		display: none !important;
	}
}

body.home .footer-connections,
body.lia-markets-hub-active .footer-connections,
body.lia-home-active .footer-connections {
	display: none !important;
}

body.home .social-weather-band .weather-col,
body.lia-markets-hub-active .social-weather-band .weather-col,
body.lia-home-active .social-weather-band .weather-col {
	display: none !important;
}
body.home .social-weather-band .social-col,
body.lia-markets-hub-active .social-weather-band .social-col,
body.lia-home-active .social-weather-band .social-col {
	width: 100% !important;
	max-width: 880px !important;
	margin: 0 auto !important;
	text-align: center;
}
body.home .social-weather-band .social-icons,
body.lia-markets-hub-active .social-weather-band .social-icons,
body.lia-home-active .social-weather-band .social-icons {
	justify-content: center;
}

/* =================================================================
   LIA DATA TABLE
================================================================= */
.lia-data-table {
  font-family: 'Source Serif 4', Georgia, serif;
  color: #2E4E32;
  max-width: 720px;
  margin: 0 auto;
  padding: 32px 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.lia-data-table h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  font-size: 1.6rem;
  color: #2E4E32;
  margin: 0 0 4px 0;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.lia-data-table .lia-table-subtitle {
  font-family: 'Source Serif 4', Georgia, serif;
  font-style: italic;
  color: #4a6741;
  font-size: 0.95rem;
  margin: 0 0 20px 0;
}
.lia-data-table table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  font-size: 0.95rem;
  background: #ffffff;
  border: 1px solid #c1d9bc;
}
.lia-data-table thead th {
  background: #2E4E32;
  color: #ffffff;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 500;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 12px 14px;
  text-align: left;
}
.lia-data-table thead th.num { text-align: right; }
.lia-data-table tbody td {
  padding: 11px 14px;
  border-top: 1px solid #e8eee5;
  line-height: 1.4;
}
.lia-data-table tbody td.num { text-align: right; font-variant-numeric: tabular-nums; }
.lia-data-table tbody td.rank { font-weight: 600; color: #4a6741; }
.lia-data-table tbody tr:nth-child(even) { background: #f4f7f1; }
.lia-data-table tbody tr.tbc { color: #888; font-style: italic; }
.lia-data-table tbody tr.spacer td {
  background: #c1d9bc;
  color: #2E4E32;
  font-style: italic;
  text-align: center;
  padding: 6px 14px;
  font-size: 0.85rem;
  letter-spacing: 0.3em;
  border-top: 1px solid #4a6741;
}
.lia-data-table tbody tr.highlight td {
  background: #c1d9bc;
  font-weight: 700;
  color: #2E4E32;
  border-top: 2px solid #4a6741;
  border-bottom: 2px solid #4a6741;
}
.lia-data-table tbody tr.floor td {
  background: #f0e9d2;
  font-weight: 600;
  color: #2E4E32;
}
.lia-data-table .lia-source {
  font-family: 'Source Serif 4', Georgia, serif;
  font-style: italic;
  font-size: 0.82rem;
  color: #6b7d68;
  margin: 14px 0 0 0;
  line-height: 1.5;
}
@media (max-width: 700px) {
  .lia-data-table { padding: 20px 0; }
  .lia-data-table h2 { font-size: 1.3rem; }
  .lia-data-table .lia-table-subtitle { font-size: 0.85rem; }
  .lia-data-table table { font-size: 0.82rem; min-width: 100%; }
  .lia-data-table thead th { padding: 8px 10px; font-size: 0.68rem; }
  .lia-data-table tbody td { padding: 8px 10px; }
  .lia-data-table .lia-source { font-size: 0.75rem; }
}
@media (max-width: 480px) {
  .lia-data-table table { font-size: 0.78rem; }
  .lia-data-table thead th,
  .lia-data-table tbody td { padding: 7px 8px; }
}

/* =================================================================
   SINGLE POST FOOTER CLEANUP
================================================================= */
body.single-post .footer-widgets {
  display: none !important;
}
.footer-connections {
  background: #c1d9bc !important;
  border-bottom: 1px solid #a8c8a3 !important;
}
.footer-connections-heading,
.footer-connections-eyebrow,
.footer-connections-all,
.footer-connections-pill {
  color: #2e4029 !important;
}
.footer-connections-eyebrow {
  color: #4a6741 !important;
}
.footer-connections-pill {
  border: 1px solid rgba(46,64,41,0.25) !important;
  background: transparent !important;
}
.footer-connections-pill:hover {
  background: var(--moss) !important;
  border-color: var(--moss) !important;
  color: #fff !important;
}
.footer-connections-card {
  background: #fff !important;
  border: 1px solid rgba(46,64,41,0.15) !important;
}
.footer-connections-card-title {
  color: #1a1a18 !important;
}
.footer-connections-prev,
.footer-connections-next {
  background: rgba(46,64,41,0.08) !important;
  border: 1px solid rgba(46,64,41,0.25) !important;
  color: #2e4029 !important;
}
.footer-connections-prev:hover,
.footer-connections-next:hover {
  background: var(--moss) !important;
  border-color: var(--moss) !important;
  color: #fff !important;
}

/* =================================================================
   HOMEPAGE WELCOME BAND
================================================================= */
.lia-home-welcome {
  text-align: center !important;
}
.lia-home-welcome-inner {
  text-align: center !important;
  margin: 0 auto !important;
}
.lia-home-welcome-text,
.lia-home-welcome-it {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 800px) {
  .lia-home-welcome {
    padding-top: 18px !important;
    padding-bottom: 16px !important;
  }
  .lia-home-welcome-it {
    margin-top: 4px !important;
  }
}
@media (max-width: 560px) {
  .lia-home-welcome {
    padding: 14px 16px 12px !important;
  }
  .lia-home-welcome-text {
    font-size: 0.92rem !important;
    line-height: 1.4 !important;
  }
  .lia-home-welcome-it {
    font-size: 0.72rem !important;
    line-height: 1.35 !important;
    margin-top: 3px !important;
  }
}

/* =================================================================
   LIA WEATHER TILE
================================================================= */
body .lia-markets-weather .weather-tile-province,
body .lia-markets-weather .weather-tile-temp,
body .lia-markets-weather .weather-tile-desc,
body .lia-markets-weather .lia-mw-prov,
body .lia-markets-weather .lia-mw-temp,
body .lia-markets-weather .lia-mw-desc,
body .lia-markets-hub-weather .weather-tile-province,
body .lia-markets-hub-weather .weather-tile-temp,
body .lia-markets-hub-weather .weather-tile-desc,
body .lia-markets-hub-weather .lia-mw-prov,
body .lia-markets-hub-weather .lia-mw-temp,
body .lia-markets-hub-weather .lia-mw-desc,
body .lia-weather-strip .weather-tile-province,
body .lia-weather-strip .weather-tile-temp,
body .lia-weather-strip .weather-tile-desc,
body .lia-weather-strip-province,
body .lia-weather-strip-temp,
body .lia-weather-strip-desc {
	opacity: 1 !important;
}

body .lia-markets-weather .weather-tile-province,
body .lia-markets-weather .lia-mw-prov,
body .lia-markets-hub-weather .weather-tile-province,
body .lia-markets-hub-weather .lia-mw-prov,
body .lia-weather-strip .weather-tile-province,
body .lia-weather-strip-province {
	color: #2e4029 !important;
}

body .lia-markets-weather .weather-tile-temp,
body .lia-markets-weather .lia-mw-temp,
body .lia-markets-hub-weather .weather-tile-temp,
body .lia-markets-hub-weather .lia-mw-temp,
body .lia-weather-strip .weather-tile-temp,
body .lia-weather-strip-temp {
	color: #1a1a18 !important;
}

body .lia-markets-weather .weather-tile-desc,
body .lia-markets-weather .lia-mw-desc,
body .lia-markets-hub-weather .weather-tile-desc,
body .lia-markets-hub-weather .lia-mw-desc,
body .lia-weather-strip .weather-tile-desc,
body .lia-weather-strip-desc {
	color: #3d3d3a !important;
}

@media (max-width: 1024px) {
	body .lia-markets-weather .weather-tile-province,
	body .lia-markets-weather .lia-mw-prov,
	body .lia-markets-hub-weather .weather-tile-province,
	body .lia-markets-hub-weather .lia-mw-prov,
	body .lia-weather-strip .weather-tile-province,
	body .lia-weather-strip-province {
		color: #2e4029 !important;
		opacity: 1 !important;
	}
	body .lia-markets-weather .weather-tile-temp,
	body .lia-markets-weather .lia-mw-temp,
	body .lia-markets-hub-weather .weather-tile-temp,
	body .lia-markets-hub-weather .lia-mw-temp,
	body .lia-weather-strip .weather-tile-temp,
	body .lia-weather-strip-temp {
		color: #1a1a18 !important;
		opacity: 1 !important;
	}
	body .lia-markets-weather .weather-tile-desc,
	body .lia-markets-weather .lia-mw-desc,
	body .lia-markets-hub-weather .weather-tile-desc,
	body .lia-markets-hub-weather .lia-mw-desc,
	body .lia-weather-strip .weather-tile-desc,
	body .lia-weather-strip-desc {
		color: #3d3d3a !important;
		opacity: 1 !important;
	}
}

/* =================================================================
   SINGLE EVENT PAGE - CONSOLIDATED STYLES (v1.0.8)

   v1.0.8 CHANGES from v1.0.7:
   1. NEW: 110px top padding added to the Tribe page wrapper so the
      intro paragraph AND event card both clear the sticky masthead
      in one move.
   2. Event card top margin reverted from 110px (v1.0.7) back to
      24px on desktop / 18px mobile. The wrapper now handles the
      masthead clearance.
   3. Intro paragraph margins reset to tighten the spacing.
================================================================= */

/* ── NEW v1.0.8: lift the whole event content block below the
   sticky masthead. Padding on the page wrapper means both the
   intro paragraph and event card clear the masthead together. */
.single-tribe_events .tribe-events-pg-template,
.single-tribe_events #tribe-events-pg-template,
.single-tribe_events .tribe-events-content-wrapper,
body.single-tribe_events #primary,
body.single-tribe_events main.site-main,
body.single-tribe_events #main-content {
	padding-top: 30px !important;
}

@media (max-width: 768px) {
	.single-tribe_events .tribe-events-pg-template,
	.single-tribe_events #tribe-events-pg-template,
	.single-tribe_events .tribe-events-content-wrapper,
	body.single-tribe_events #primary,
	body.single-tribe_events main.site-main,
	body.single-tribe_events #main-content {
		padding-top: 16px !important;
	}
}

/* ── NEW v1.0.8: tighten the intro paragraph spacing */
.single-tribe_events .tribe-events-content > p:first-child,
.single-tribe_events .tribe-events-pg-template > p:first-of-type,
.single-tribe_events #tribe-events-pg-template > p:first-of-type {
	margin-top: 0 !important;
	margin-bottom: 12px !important;
	padding-top: 0 !important;
}

/* ── BACKGROUND: kill the brown #d8d5cc Kadence boxed wrapper. */
body.single-tribe_events,
.single-tribe_events,
.single-tribe_events #primary,
.single-tribe_events main,
.single-tribe_events .content-area,
.single-tribe_events .content-container,
.single-tribe_events .site-container,
.single-tribe_events .site-content,
.single-tribe_events #tribe-events,
.single-tribe_events #tribe-events-content,
.single-tribe_events .tribe-events,
.single-tribe_events .tribe-events-single,
.single-tribe_events .entry-content,
.single-tribe_events .entry-content-wrap,
.single-tribe_events .content-bg,
.single-tribe_events article,
.single-tribe_events article.post,
.single-tribe_events article.tribe_events,
.content-style-boxed.single-tribe_events,
.content-style-boxed.single-tribe_events .entry-content-wrap,
.content-style-boxed.single-tribe_events .content-bg {
	background: var(--paper, #faf9f6) !important;
	background-color: var(--paper, #faf9f6) !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}

body.single-tribe_events {
	--global-palette8: #faf9f6 !important;
	--global-palette9: #faf9f6 !important;
	--tec-color-background-events: #faf9f6 !important;
	--tec-color-background-secondary: #faf9f6 !important;
}

/* ── EVENT CARD CONTAINER (top margin reverted to 24px in v1.0.8) */
.single-tribe_events .tribe-events-single,
.single-tribe_events #tribe-events-content {
	max-width: 860px !important;
	margin: 24px auto 40px !important;
	padding: 44px 52px 52px !important;
	background: #fff !important;
	border: 1px solid var(--rule) !important;
	box-shadow: 0 2px 12px rgba(46, 64, 41, 0.06);
}

/* ── TITLE */
.single-tribe_events h1.tribe-events-single-event-title,
.single-tribe_events h1.entry-title.tribe-events-single-event-title,
.single-tribe_events .tribe-events-single-event-title {
	font-family: var(--serif) !important;
	font-size: 2.4rem !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.02em !important;
	color: var(--ink) !important;
	margin: 0 0 16px !important;
	text-transform: none !important;
}

/* ── DATE / SCHEDULE LINE */
.single-tribe_events .tribe-events-schedule h2,
.single-tribe_events .tribe-events-schedule {
	font-family: var(--sans) !important;
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--moss) !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 0 28px !important;
	border: none !important;
	line-height: 1.4 !important;
}
.single-tribe_events .tribe-event-date-start,
.single-tribe_events .tribe-event-date-end,
.single-tribe_events .tribe-event-time {
	color: var(--moss) !important;
	background: transparent !important;
	font-family: var(--sans) !important;
	font-weight: 600 !important;
}
.single-tribe_events .timezone {
	color: var(--ink-soft) !important;
	font-weight: 500 !important;
	font-size: 0.92em !important;
}

/* ── BACK / NAVIGATION LINKS */
.single-tribe_events .tribe-events-back,
.single-tribe_events .tribe-events-back a,
.single-tribe_events .tribe-events-nav-pagination a {
	font-family: var(--sans) !important;
	font-size: 0.7rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--moss) !important;
	text-decoration: none !important;
}
.single-tribe_events .tribe-events-back a:hover { color: var(--moss-dark) !important; }

/* ── BODY COPY */
.tribe-events, .tribe-events p, .tribe-events td, .tribe-events li {
	font-family: var(--sans);
	color: var(--ink-mid);
}
.tribe-events h1, .tribe-events h2, .tribe-events h3 {
	font-family: var(--serif);
	color: var(--ink);
}
.tribe-events .formkit-form, .tribe-events-single .formkit-form,
.single-tribe_events .formkit-form { display: none !important; }

.single-tribe_events .tribe-events-content,
.single-tribe_events .tribe-events-content p,
.single-tribe_events .tribe-events-content li,
.single-tribe_events .tribe-events-content span,
.single-tribe_events .tribe-events-single .tribe-events-content * {
	font-family: var(--body-serif) !important;
	font-size: 1.05rem !important;
	line-height: 1.8 !important;
	color: var(--ink-mid) !important;
}
.single-tribe_events .tribe-events-content h2,
.single-tribe_events .tribe-events-content h3,
.single-tribe_events .tribe-events-content h4 {
	font-family: var(--serif) !important;
	color: var(--ink) !important;
	font-weight: 700 !important;
	margin-top: 1.6em !important;
	margin-bottom: 0.6em !important;
}
.single-tribe_events .tribe-events-content h2 { font-size: 1.5rem !important; }
.single-tribe_events .tribe-events-content h3 { font-size: 1.2rem !important; }

.single-tribe_events .tribe-events-content a,
.single-tribe_events .tribe-events-single .description a,
.single-tribe_events .tribe-events-content p a,
.single-tribe_events .tribe-events-content li a {
	color: var(--moss) !important;
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 3px !important;
}
.single-tribe_events .tribe-events-content a:hover,
.single-tribe_events .tribe-events-single .description a:hover,
.single-tribe_events .tribe-events-content p a:hover,
.single-tribe_events .tribe-events-content li a:hover {
	color: var(--moss-dark) !important;
}

/* ── FEATURED IMAGE */
.single-tribe_events .tribe-events-event-image {
	margin: 0 0 28px !important;
}
.single-tribe_events .tribe-events-event-image img,
.single-tribe_events .tribe-events-single .tribe-events-content img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	margin: 16px auto !important;
	float: none !important;
	clear: both !important;
}
.single-tribe_events .tribe-events-single .tribe-events-content p {
	clear: both !important;
}

/* ── EVENT META BLOCK */
.single-tribe_events .tribe-events-event-meta,
.single-tribe_events .tribe-events-meta-group,
.single-tribe_events .tribe-events-venue-map {
	background: var(--moss-pale) !important;
	border: 1px solid rgba(74, 103, 65, 0.12) !important;
	border-left: 3px solid var(--moss) !important;
	padding: 22px 24px !important;
	margin: 24px 0 !important;
	border-radius: 0 !important;
	color: var(--ink-mid) !important;
	box-shadow: none !important;
}
.single-tribe_events .tribe-events-meta-group-details,
.single-tribe_events .tribe-events-meta-group-venue,
.single-tribe_events .tribe-events-meta-group-organizer {
	background: transparent !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
	margin: 0 0 16px !important;
}

.single-tribe_events .tribe-events-meta-group h2,
.single-tribe_events .tribe-events-meta-group-details h2,
.single-tribe_events .tribe-events-meta-group-venue h2,
.single-tribe_events .tribe-events-meta-group-organizer h2,
.single-tribe_events .tribe-events-event-meta h2 {
	font-family: var(--sans) !important;
	font-size: 0.62rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: var(--moss) !important;
	margin: 0 0 14px !important;
	padding: 0 0 8px !important;
	border-bottom: 1px solid var(--rule) !important;
}

.single-tribe_events .tribe-events-meta-group dt,
.single-tribe_events .tribe-events-event-meta dt,
.single-tribe_events .tribe-events-meta-group strong,
.single-tribe_events .tribe-events-event-meta strong,
.single-tribe_events .tribe-events-meta-group label,
.single-tribe_events .tribe-events-event-meta label,
.single-tribe_events .tribe-event-day,
.single-tribe_events .tribe-events-abbr {
	font-family: var(--sans) !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	color: var(--ink) !important;
	margin: 6px 0 2px !important;
	display: block !important;
}

.single-tribe_events .tribe-events-meta-group dd,
.single-tribe_events .tribe-events-event-meta dd,
.single-tribe_events .tribe-events-meta-group p,
.single-tribe_events .tribe-events-event-meta p,
.single-tribe_events .tribe-events-meta-group address,
.single-tribe_events .tribe-events-event-meta address {
	font-family: var(--body-serif) !important;
	font-size: 0.95rem !important;
	font-style: normal !important;
	color: var(--ink-mid) !important;
	margin: 0 0 10px !important;
	line-height: 1.5 !important;
}

.single-tribe_events .tribe-events-event-meta a,
.single-tribe_events .tribe-events-meta-group a {
	color: var(--moss) !important;
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 3px !important;
}
.single-tribe_events .tribe-events-event-meta a:hover,
.single-tribe_events .tribe-events-meta-group a:hover {
	color: var(--moss-dark) !important;
}

/* ── VENUE / MAP SECTION */
.single-tribe_events .tribe-events-venue-map iframe,
.single-tribe_events #tribe-events-content .tribe-events-venue-map iframe {
	width: 100% !important;
	border: none !important;
	display: block;
	max-height: 320px;
}
.single-tribe_events .tribe-events-venue-map {
	padding: 0 !important;
	overflow: hidden;
}
.single-tribe_events .tribe-events-venue-map .tribe-events-venue-map-title,
.single-tribe_events .tribe-events-meta-group-venue h2 {
	padding: 22px 24px 0 !important;
}
.single-tribe_events .tribe-events-meta-group-venue {
	padding: 22px 24px 16px !important;
}

.single-tribe_events .gm-style-cc,
.single-tribe_events .gm-style .gm-style-mtc {
	font-family: var(--sans) !important;
}

/* ── REMOVE DEFAULT THIN LINES / SEPARATORS */
.single-tribe_events .tribe-events-cal-links,
.single-tribe_events .tribe-events-c-subscribe-dropdown__container,
.single-tribe_events .tribe-events-c-subscribe-dropdown {
	border-top: none !important;
	border-bottom: none !important;
}
.single-tribe_events .tribe-events-event-meta:before,
.single-tribe_events .tribe-events-meta-group:before {
	display: none !important;
	content: none !important;
}
.single-tribe_events hr,
.single-tribe_events .tribe-events-single hr,
.single-tribe_events #tribe-events-content hr {
	display: none !important;
}
.single-tribe_events .tribe-events-content + .tribe-events-event-meta,
.single-tribe_events .tribe-events-content + .tribe-events-meta-group {
	border-top: none !important;
}

/* ── MOBILE */
@media (max-width: 768px) {
	.single-tribe_events .tribe-events-single,
	.single-tribe_events #tribe-events-content {
		margin: 18px 12px 28px !important;
		padding: 28px 22px 32px !important;
	}
	.single-tribe_events h1.tribe-events-single-event-title,
	.single-tribe_events h1.entry-title.tribe-events-single-event-title {
		font-size: 1.7rem !important;
	}
	.single-tribe_events .tribe-events-event-meta,
	.single-tribe_events .tribe-events-meta-group {
		padding: 18px 18px !important;
	}
}

/* ── v1.0.10: prevent padding stacking across nested wrappers.
   Zero out the inner Tribe wrappers so only the outermost
   #main-content gets the masthead clearance padding. */
.single-tribe_events .tribe-events-pg-template,
.single-tribe_events #tribe-events-pg-template,
.single-tribe_events .tribe-events-content-wrapper {
	padding-top: 0 !important;
}

body.single-tribe_events #main-content {
	padding-top: 30px !important;
}

@media (max-width: 768px) {
	body.single-tribe_events #main-content {
		padding-top: 16px !important;
	}
}

/* =================================================================
   EVENTS CALENDAR ARCHIVE / CATEGORY VIEWS (list, photo, day)
   Brings the Tribe archive views into the Life in Abruzzo palette.
   The single event page is already handled higher up; this covers
   the category and list pages, which were never styled, so they
   were showing Tribe's default tan accent. Also stops the list
   flyer images and the search bar overflowing on narrow screens.
================================================================= */

/* Accent variables: repoint Tribe's default accent to the greens.
   Scoped with "body" so they beat Tribe's own defaults, which sit
   on .tribe-common at lower specificity. */
body .tribe-common,
body .tribe-events {
	--tec-color-accent-primary: #2e4029;
	--tec-color-accent-primary-hover: #1a1a18;
	--tec-color-accent-primary-active: #1a1a18;
	--tec-color-accent-primary-multiday: #4a6741;
	--tec-color-accent-primary-multiday-hover: #2e4029;
	--tec-color-accent-primary-background: #e8efe7;
	--tec-color-button-primary: #2e4029;
	--tec-color-button-primary-hover: #1a1a18;
	--tec-color-button-primary-active: #1a1a18;
	--tec-color-link-primary: #2e4029;
	--tec-color-link-accent: #4a6741;
	--tec-color-link-accent-hover: #2e4029;
	--tec-color-background-events-bar: #ffffff;
}

/* Search / events bar: white bar with white fields, a sage Find
   Events button (mirroring the banner) and a white List pull-down,
   all with dark green text. No forest green. */
body .tribe-events-c-events-bar {
	background-color: #ffffff !important;
	max-width: 100%;
	color: #2e4029 !important;
}
body .tribe-events-c-search__input-control,
body .tribe-events-c-search__input {
	background-color: #fff !important;
	border-color: rgba(46,64,41,0.18) !important;
	color: #1a1a18 !important;
}
body .tribe-events-c-events-bar__search-button,
body .tribe-events-c-search__button {
	background-color: #c1d9bc !important;
	border-color: #c1d9bc !important;
	color: #2e4029 !important;
}
body .tribe-events-c-events-bar__search-button:hover,
body .tribe-events-c-search__button:hover {
	background-color: #aecaa6 !important;
	border-color: #aecaa6 !important;
	color: #2e4029 !important;
}
/* List view selector: white pull-down button with dark green text */
body .tribe-events-c-events-bar .tribe-events-c-view-selector__button {
	background-color: #fff !important;
	color: #2e4029 !important;
	border: 1px solid rgba(46,64,41,0.2) !important;
}
body .tribe-events-c-events-bar .tribe-events-c-view-selector__button:hover {
	background-color: #c1d9bc !important;
	color: #2e4029 !important;
}

/* Date navigation (Today / arrows / Upcoming) */
body .tribe-events-c-top-bar__today-button,
body .tribe-events-c-top-bar__nav-link,
body .tribe-events-c-view-selector__button,
body .tribe-events-c-view-selector__list-item-text {
	color: #2e4029 !important;
}

/* Date / time lines and breadcrumb links to moss */
body .tribe-events-calendar-list__event-datetime,
body .tribe-events-schedule__datetime {
	color: #4a6741 !important;
}
body .tribe-events a,
body .tribe-events-header__breadcrumbs a,
body .tribe-events-back a {
	color: #4a6741 !important;
}
body .tribe-events a:hover,
body .tribe-events-header__breadcrumbs a:hover,
body .tribe-events-back a:hover {
	color: #2e4029 !important;
}

/* Event titles: forest green, underline on hover. Extra specificity
   so they sit darker than the general link rule above. */
body .tribe-events a.tribe-events-calendar-list__event-title-link,
body .tribe-events a.tribe-events-calendar-day__event-title-link {
	color: #2e4029 !important;
	text-decoration: none;
}
body .tribe-events a.tribe-events-calendar-list__event-title-link:hover,
body .tribe-events a.tribe-events-calendar-day__event-title-link:hover {
	color: #4a6741 !important;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

/* Left-hand date marker (weekday + number) */
body .tribe-events-calendar-list__event-date-tag-weekday { color: #4a6741 !important; }
body .tribe-events-calendar-list__event-date-tag-daynum { color: #2e4029 !important; }

/* Subscribe / generic Tribe buttons */
body .tribe-common-c-btn {
	background-color: #2e4029;
	border-color: #2e4029;
	color: #fff;
}
body .tribe-common-c-btn:hover {
	background-color: #1a1a18;
	border-color: #1a1a18;
	color: #fff;
}

/* Overflow / responsiveness: keep the flyers and bar inside the page */
body .tribe-events,
body .tribe-common,
body .tribe-events-calendar-list,
body .tribe-events-calendar-list__event-row,
body .tribe-events-calendar-list__event-wrapper {
	max-width: 100%;
	box-sizing: border-box;
}
body .tribe-events img,
body .tribe-events-calendar-list__event-featured-image {
	max-width: 100%;
	height: auto;
}
body .tribe-events-calendar-list__event-featured-image-wrapper {
	max-width: 300px;
	flex-shrink: 0;
}
@media (max-width: 768px) {
	body .tribe-events-calendar-list__event-wrapper {
		flex-direction: column;
	}
	body .tribe-events-calendar-list__event-featured-image-wrapper {
		max-width: 100%;
		width: 100%;
		margin: 0 0 1rem 0;
		order: -1; /* image first, text below */
	}
}

/* Clear the sticky masthead on the events archive / category pages
   so the intro text and title are not tucked under the nav. Matches
   the site's masthead clearance rule (120px desktop / 90px mobile).
   Tune the two values if the gap looks too large or too small. */
/* The sage banner now carries the masthead clearance, so the content
   wrapper sits flush and the band runs right up under the nav. */
@media (min-width: 769px) {
	body.tax-tribe_events_cat #main-content,
	body.tax-tribe_events_cat #primary,
	body.tax-tribe_events_cat main.site-main,
	body.post-type-archive-tribe_events #main-content,
	body.post-type-archive-tribe_events #primary,
	body.post-type-archive-tribe_events main.site-main {
		padding-top: 0 !important;
	}
}
@media (max-width: 768px) {
	body.tax-tribe_events_cat #main-content,
	body.tax-tribe_events_cat #primary,
	body.tax-tribe_events_cat main.site-main,
	body.post-type-archive-tribe_events #main-content,
	body.post-type-archive-tribe_events #primary,
	body.post-type-archive-tribe_events main.site-main {
		padding-top: 0 !important;
	}
}

/* Year-round offerings (events also filed under
   year-round-classes-excursions): hide the calendar dates and show
   "Year Round" instead, since a fixed date is meaningless for them.
   Uses :has() to reach the left date tag, which is a sibling of the
   event article that carries the category class. */
.tribe-events-calendar-list__event-row:has(.tribe_events_cat-year-round-classes-excursions) .tribe-events-calendar-list__event-date-tag-datetime {
	display: none !important;
}
.tribe-events-calendar-list__event-row:has(.tribe_events_cat-year-round-classes-excursions) .tribe-events-calendar-list__event-date-tag::before {
	content: "Year\A Round";
	white-space: pre;
	display: block;
	font-family: var(--sans);
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #2e4029;
	line-height: 1.3;
	text-align: center;
}
/* Hide the full date / time line under the title for year-round events */
.tribe_events_cat-year-round-classes-excursions .tribe-events-calendar-list__event-datetime {
	display: none !important;
}

/* Abruzzo Diary Dates masthead: a full-width sage banner sitting at
   the top of every events view, matching the site's other sage bands.
   It runs edge to edge (breaks out of the content column) and carries
   the masthead clearance itself (120px desktop / 90px mobile of top
   padding), so it sits flush under the sticky nav. Lives in Tribe's
   "before content" HTML. */
.lia-events-masthead {
	box-sizing: border-box;
	margin-bottom: 28px;
	padding-top: 120px;
	padding-bottom: 34px;
	background: #c1d9bc;
	box-shadow: 0 0 0 100vmax #c1d9bc;
	clip-path: inset(0 -100vmax 0 -100vmax);
	text-align: left;
}
.lia-events-masthead-link {
	display: inline-block;
	text-decoration: none !important;
}
.lia-events-eyebrow {
	font-family: var(--sans);
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #4a6741 !important;
	display: block;
	margin-bottom: 6px;
}
.lia-events-title {
	display: block;
	font-family: var(--serif) !important;
	font-size: 2.4rem !important;
	font-weight: 700 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.02em !important;
	color: #2e4029 !important;
	margin: 0 !important;
	transition: color 0.15s ease;
}
.lia-events-masthead-link:hover .lia-events-title {
	color: #1a1a18 !important;
}
.lia-events-standfirst {
	font-family: var(--body-serif) !important;
	font-size: 1rem !important;
	line-height: 1.6 !important;
	color: #2e4029 !important;
	margin: 12px 0 0 !important;
	max-width: 640px;
}
/* On category pages, slim it to a back-link banner: the category's
   own title leads below, so the description is dropped. */
body.tax-tribe_events_cat .lia-events-standfirst {
	display: none !important;
}
@media (max-width: 768px) {
	.lia-events-masthead {
		padding-top: 90px;
		padding-bottom: 26px;
	}
	.lia-events-title {
		font-size: 1.7rem !important;
	}
}

/* Event category description (unique per category, for SEO and
   context). Shown via a small functions.php snippet that outputs it
   in .lia-events-cat-desc just under the category title. Write the
   text in Events > Event Categories > [category] > Description. */
.lia-events-cat-desc {
	font-family: var(--body-serif);
	font-size: 1rem;
	line-height: 1.65;
	color: var(--ink-mid);
	max-width: 720px;
	margin: 4px 0 24px;
}
.lia-events-cat-desc p {
	margin: 0 0 12px;
}
.lia-events-cat-desc p:last-child {
	margin-bottom: 0;
}
.lia-events-cat-desc a {
	color: var(--moss);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

/* Category archive title ("Abruzzo Connections" etc.): match the
   site's Playfair serif and bring the size down a notch. Targets the
   Tribe header title plus common theme archive-title fallbacks. */
body.tax-tribe_events_cat .tribe-events-header__title,
body.tax-tribe_events_cat .tribe-events-header__title .tribe-common-h1,
body.tax-tribe_events_cat .tribe-events-page-title,
body.tax-tribe_events_cat h1.tribe-events-page-title,
body.tax-tribe_events_cat .archive-title,
body.tax-tribe_events_cat .page-title,
body.tax-tribe_events_cat .page-hero-title {
	font-family: var(--serif) !important;
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em !important;
	color: var(--ink) !important;
}
@media (max-width: 768px) {
	body.tax-tribe_events_cat .tribe-events-header__title,
	body.tax-tribe_events_cat .tribe-events-header__title .tribe-common-h1,
	body.tax-tribe_events_cat .tribe-events-page-title,
	body.tax-tribe_events_cat h1.tribe-events-page-title,
	body.tax-tribe_events_cat .archive-title,
	body.tax-tribe_events_cat .page-title,
	body.tax-tribe_events_cat .page-hero-title {
		font-size: 1.25rem !important;
	}
}

/* Give the events archive a proper gutter instead of running hard
   against the left edge: centre the content in a column with side
   margins, like the rest of the site. The banner's full-width sage
   background self-corrects and is unaffected; only the text shifts in
   to line up with a comfortable margin. */
body.tax-tribe_events_cat #main-content,
body.post-type-archive-tribe_events #main-content {
	padding-left: max(28px, calc((100vw - 1240px) / 2)) !important;
	padding-right: max(28px, calc((100vw - 1240px) / 2)) !important;
}

/* Let the sage banner reach the screen edges: stop the calendar's own
   wrappers from clipping the full-width band. Pairs with the 100vw
   banner above. */
body.tax-tribe_events_cat #main-content,
body.tax-tribe_events_cat .tribe-common,
body.tax-tribe_events_cat .tribe-events,
body.tax-tribe_events_cat .tribe-events-before-html,
body.post-type-archive-tribe_events #main-content,
body.post-type-archive-tribe_events .tribe-common,
body.post-type-archive-tribe_events .tribe-events,
body.post-type-archive-tribe_events .tribe-events-before-html {
	overflow: visible !important;
}

/* TEMPORARY: hide the search and location fields (the search popup is
   broken by JS optimisation). The List / Month / Day view switcher is
   not a form, so it stays. Remove this block once the search works. */
body .tribe-events-c-events-bar form,
body .tribe-events-c-events-bar__search,
body .tribe-events-c-search {
	display: none !important;
}

/* Browse-by-category row (sits under the banner, above the listing).
   Lives in Tribe's "before content" HTML after the masthead. Pill
   links in the palette so people can jump between category pages now
   that the search is off. */
.lia-cat-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin: 0 0 26px;
	font-family: var(--sans);
}
.lia-cat-nav-label {
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink-soft);
	margin-right: 2px;
}
.lia-cat-nav a {
	font-size: 0.9rem;
	line-height: 1;
	color: #2e4029;
	text-decoration: none;
	padding: 7px 14px;
	border: 1px solid rgba(46,64,41,0.22);
	border-radius: 999px;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.lia-cat-nav a:hover {
	background: #c1d9bc;
	border-color: #c1d9bc;
	color: #1a1a18;
}

/* Who-pays comparison table for Life in Abruzzo. Paste into
   Appearance > Customize > Additional CSS, then Publish.
   (Or add to your Kadence child theme style.css and deploy as usual.)
   Lives safely outside the post, so the Classic editor cannot strip it. */

.lia-flowtable{
  --moss:#4a6741;
  --moss-dark:#2e4029;
  --sage:#c1d9bc;
  --sage-tint:rgba(193,217,188,.38);
  --paper:#faf9f6;
  --hair:#e6ece2;
  font-family:inherit;
  color:var(--moss-dark);
  max-width:880px;
  margin:2rem auto;
  -webkit-font-smoothing:antialiased;
}
.lia-flowtable table{
  width:100%;
  border-collapse:collapse;
  background:var(--paper);
  font-family:inherit;
  font-size:.9rem;
  line-height:1.5;
}
.lia-flowtable caption{
  caption-side:top;
  text-align:left;
  font-family:inherit;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--moss);
  padding:0 0 .7rem;
}
.lia-flowtable thead th{
  background:var(--sage);
  color:var(--moss-dark);
  font-family:inherit;
  font-weight:700;
  font-size:.72rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-align:left;
  padding:.9rem 1.15rem;
  vertical-align:bottom;
  border-bottom:2px solid var(--moss);
}
.lia-flowtable tbody td{
  padding:1.15rem 1.15rem;
  border-bottom:1px solid var(--hair);
  vertical-align:top;
}
.lia-flowtable tbody td:first-child{
  background:var(--sage);
  color:var(--moss-dark);
  font-weight:700;
  font-size:.95rem;
  width:24%;
  border-bottom:2px solid var(--paper);
}
.lia-flowtable tbody td:nth-child(2){
  color:#5a6b54;
  font-size:.85rem;
  width:26%;
}
.lia-flowtable tr.lia-funds-abruzzo td{ background:var(--sage-tint); }
.lia-flowtable tr.lia-funds-abruzzo td:first-child{
  background:var(--sage);
  box-shadow:inset 5px 0 0 var(--moss);
}
.lia-flowtable .lia-yes{ font-weight:700; color:var(--moss); }
.lia-flowtable .lia-none{ color:#9aa493; font-style:italic; }

@media (max-width:720px){
  .lia-flowtable table,
  .lia-flowtable tbody,
  .lia-flowtable tr,
  .lia-flowtable td{ display:block; width:100%; }
  .lia-flowtable thead{ position:absolute; left:-9999px; }
  .lia-flowtable tbody tr{
    margin:0 0 1.1rem;
    border:1px solid var(--hair);
    border-radius:12px;
    overflow:hidden;
    background:var(--paper);
  }
  .lia-flowtable tbody td{
    border:0;
    border-bottom:1px solid var(--hair);
    padding:.85rem 1.1rem;
    display:grid;
    grid-template-columns:10.5ch 1fr;
    gap:.7rem;
    align-items:baseline;
  }
  .lia-flowtable tbody td:last-child{ border-bottom:0; }
  .lia-flowtable tbody td::before{
    content:attr(data-label);
    font-family:inherit;
    font-size:.66rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--moss);
  }
  .lia-flowtable tbody td:first-child{
    display:block;
    width:auto;
    background:var(--sage);
    color:var(--moss-dark);
    font-size:1rem;
    padding:.9rem 1.1rem;
    border-bottom:0;
  }
  .lia-flowtable tbody td:first-child::before{ display:none; }
  .lia-flowtable tbody td:nth-child(2){ width:auto; }
  .lia-flowtable tr.lia-funds-abruzzo td{ background:var(--paper); }
  .lia-flowtable tr.lia-funds-abruzzo td:first-child{
    background:var(--sage);
    box-shadow:inset 5px 0 0 var(--moss);
  }
}

/* Hero image behind the title - August Events post (115935) only */
body.postid-115935 .entry-hero-container-inner,
body.postid-115935 .article-sage-hero{
  background-image:
    linear-gradient(rgba(26,26,24,.4), rgba(26,26,24,.5)),
    url("https://lifeinabruzzo.com/wp-content/uploads/2026/07/summer.jpg") !important;
  background-size:cover !important;
  background-position:center 32% !important;
  background-repeat:no-repeat !important;
  min-height:460px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
body.postid-115935 .entry-hero-container-inner *,
body.postid-115935 .article-sage-hero *{
  color:#fff !important;
}
/* Left-align the title in the band to match the rest of the site (not centred).
   The inner column keeps its normal max-width:1180 / margin:0 auto, so the title
   sits at the content-column left edge exactly like every other page. */
body.postid-115935 .article-sage-hero{ align-items:flex-start !important; }
body.postid-115935 .article-sage-hero,
body.postid-115935 .article-sage-hero-inner,
body.postid-115935 .article-title,
body.postid-115935 .article-sage-eyebrow{ text-align:left !important; }
body.postid-115935 .article-sage-hero .article-title,
body.postid-115935 .article-sage-hero .article-sage-eyebrow,
body.postid-115935 .article-sage-hero .article-standfirst{ margin-left:0 !important; margin-right:auto !important; }
/* Pin the house display serif so the hero title can't drop to the Georgia
   fallback like the rest of the site's banners. */
body.postid-115935 .article-sage-hero .article-title{
  font-family:'Playfair Display', Georgia, serif !important;
  font-weight:700 !important;
}
@media (max-width:560px){
  body.postid-115935 .entry-hero-container-inner,
  body.postid-115935 .article-sage-hero{ min-height:300px !important; }
}
/* The featured image now sits behind the title, so hide the duplicate inset copy - this post only */
body.postid-115935 .article-featured-inset{ display:none !important; }
/* The hero already shows the title, so hide the widget's repeated heading - keep the intro line beneath it. This post only. */
body.postid-115935 .whatson .wo-head h2{ display:none !important; }

/* =================================================================
   SAFE SPACE ADD-LISTING FORM (v1.0.33 addition)
   Hides Category/Tags (both required to exist behind the scenes
   by GeoDirectory, so hidden rather than removed; Category defaults
   to "Uncategorized" and submits fine even hidden), and restyles the
   form to match the site's moss/sage/paper branding.
================================================================= */
body.geodir-page-cpt-gd_safespace #gd_safespacecategory_row,
body.geodir-page-cpt-gd_safespace [data-argument="post_tags"],
body.geodir-page-cpt-gd_safespace [data-argument="default_category"],
body.geodir-page-cpt-gd_safespace [data-argument="post_title"],
body.geodir-page-cpt-gd_safespace [data-argument="post_content"] {
	display: none !important;
}

body.geodir-page-cpt-gd_safespace {
	background: var(--paper, #faf9f6) !important;
}

body.geodir-page-cpt-gd_safespace #geodir_fieldset_details h3 {
	font-family: var(--serif) !important;
	font-weight: 700 !important;
	color: var(--ink) !important;
	border-bottom: 2px solid var(--moss) !important;
	padding-bottom: 12px !important;
	margin-bottom: 24px !important;
}

body.geodir-page-cpt-gd_safespace .col-form-label {
	font-family: var(--sans) !important;
	font-weight: 600 !important;
	font-size: 0.85rem !important;
	color: var(--ink) !important;
}

body.geodir-page-cpt-gd_safespace .form-text {
	font-family: var(--sans) !important;
	font-size: 0.78rem !important;
	color: var(--ink-soft) !important;
}

body.geodir-page-cpt-gd_safespace .form-control,
body.geodir-page-cpt-gd_safespace select.custom-select {
	font-family: var(--body-serif) !important;
	border: 1px solid var(--rule) !important;
	border-radius: 0 !important;
	color: var(--ink) !important;
	background: #fff !important;
}

body.geodir-page-cpt-gd_safespace .form-control:focus,
body.geodir-page-cpt-gd_safespace select.custom-select:focus {
	border-color: var(--moss) !important;
	box-shadow: 0 0 0 2px rgba(74, 103, 65, 0.15) !important;
}

body.geodir-page-cpt-gd_safespace .custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
	background-color: #c1d9bc !important;
	border-color: #c1d9bc !important;
}

body.geodir-page-cpt-gd_safespace .bsui .btn-primary,
body.geodir-page-cpt-gd_safespace .btn-primary {
	background: #c1d9bc !important;
	border-color: #c1d9bc !important;
	color: var(--moss-dark) !important;
	font-family: var(--sans) !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	font-size: 0.8rem !important;
	border-radius: 0 !important;
	padding: 12px 28px !important;
}
body.geodir-page-cpt-gd_safespace .bsui .btn-primary:hover,
body.geodir-page-cpt-gd_safespace .btn-primary:hover {
	background: #aecaa6 !important;
	border-color: #aecaa6 !important;
	color: var(--moss-dark) !important;
}

body.geodir-page-cpt-gd_safespace .bsui .btn-outline-primary,
body.geodir-page-cpt-gd_safespace .btn-outline-primary {
	color: var(--moss-dark) !important;
	border-color: var(--moss-dark) !important;
	border-radius: 0 !important;
	font-family: var(--sans) !important;
	font-size: 0.8rem !important;
}
body.geodir-page-cpt-gd_safespace .bsui .btn-outline-primary:hover,
body.geodir-page-cpt-gd_safespace .btn-outline-primary:hover {
	background: #c1d9bc !important;
	color: var(--moss-dark) !important;
}

/* Submission confirmation message, sage background / dark moss text
   instead of GeoDirectory's default teal alert-success styling */
body.geodir-page-cpt-gd_safespace .alert-success,
body.geodir-page-cpt-gd_safespace .geodir_message_note .alert,
body.geodir-page-cpt-gd_safespace .geodir_message_success {
	background: #c1d9bc !important;
	border-color: #c1d9bc !important;
	color: var(--moss-dark, #2e4029) !important;
}
body.geodir-page-cpt-gd_safespace .alert-success a,
body.geodir-page-cpt-gd_safespace .geodir_message_note .alert a,
body.geodir-page-cpt-gd_safespace .geodir_message_success a {
	color: var(--moss-dark, #2e4029) !important;
	font-weight: 600 !important;
	text-decoration-color: var(--moss-dark, #2e4029) !important;
}

/* Kill the Kadence boxed-content brown wrapper on the add-listing
   page, same fix as the single event page background. */
body.geodir-page-cpt-gd_safespace .entry-content-wrap,
body.geodir-page-cpt-gd_safespace .content-bg,
body.geodir-page-cpt-gd_safespace .site-container,
body.geodir-page-cpt-gd_safespace article,
body.geodir-page-cpt-gd_safespace .entry.single-entry {
	background: var(--paper, #faf9f6) !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}

/* Safe Space sage masthead band. Pair with an HTML block placed at
   the top of the Add Listing page in the editor, above the
   GeoDirectory shortcode:

   <div class="lia-safespace-masthead">
   	<span class="lia-safespace-eyebrow">Abruzzo Insiders Club · Emergency Housing</span>
   	<h1 class="lia-safespace-title">Offer a Safe Space</h1>
   	<p class="lia-safespace-standfirst">Share a room, a bed, or a home during an emergency. Your exact address stays private, only the site admin ever sees it.</p>
   </div>
*/
.lia-safespace-masthead {
	background: #c1d9bc;
	padding-top: 130px;
	padding-bottom: 56px;
	margin: 0 0 28px;
	box-shadow: 0 0 0 100vmax #c1d9bc;
	clip-path: inset(0 -100vmax 0 -100vmax);
}
.lia-safespace-masthead-inner {
	max-width: var(--max-width, 1280px);
	margin: 0 auto;
	padding: 0 var(--gutter, 28px);
}
.lia-safespace-eyebrow {
	font-family: var(--sans);
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #4a6741;
	display: block;
	margin-bottom: 6px;
}
.lia-safespace-title {
	font-family: var(--serif) !important;
	font-size: 2.2rem !important;
	font-weight: 700 !important;
	color: #2e4029 !important;
	margin: 0 !important;
	line-height: 1.1 !important;
}
.lia-safespace-standfirst {
	font-family: var(--body-serif);
	font-size: 1rem;
	color: #2e4029;
	margin: 12px 0 0;
	max-width: 640px;
}
@media (max-width: 768px) {
	.lia-safespace-masthead { padding-top: 100px; padding-bottom: 40px; }
	.lia-safespace-title { font-size: 1.6rem !important; }
}

/* Comune signup map, sits inside the sage masthead band */
.lia-safespace-map {
	width: 100%;
	height: 320px;
	margin-top: 24px;
	border: 1px solid rgba(46, 64, 41, 0.25);
}
.lia-safespace-map-caption {
	font-family: var(--sans, 'DM Sans', sans-serif);
	font-size: 0.72rem;
	color: #2e4029;
	opacity: 0.75;
	margin: 10px 0 0;
}
@media (max-width: 768px) {
	.lia-safespace-map { height: 240px; }
}