/*
Theme Name: Asian Tourism Fair Full Editable Block Theme
Theme URI: https://asiantourismfair.com/
Author: M360 ICT Ltd.
Author URI: https://m360ict.com/
Description: Full editable WordPress block theme for Asian Tourism Fair with responsive navigation, countdown, dynamic post slider, speakers module, enquiry form dashboard, yellow ATF brand styling, and theme-level security hardening.
Requires at least: 6.2
Tested up to: 6.6
Requires PHP: 7.4
Version: 2.4.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: atf-editable-block-theme
Tags: full-site-editing, block-patterns, custom-colors, custom-logo, editor-style, responsive-layout
*/
:root {
  --yellow: #ffc700;
  --yellow-soft: #fff4bf;
  --yellow-pale: #fff9dc;
  --black: #070707;
  --dark: #111827;
  --muted: #64748b;
  --bg: #fffaf0;
  --white: #fff;
  --green: #063b2e;
  --orange: #ff7a00;
  --line: #eadfba;
  --radius: 22px;
  --shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  font-family: 'Open Sans', Arial, sans-serif;
  color: #172033;
  background:
    radial-gradient(
      circle at top left,
      rgba(255, 199, 0, 0.2),
      transparent 34%
    ),
    linear-gradient(180deg, #fffaf0 0%, #fff 38%, #fffaf0 100%);
  line-height: 1.65;
}

.container {
  width: min(1180px, 92%);
  margin: auto;
}
[id] {
  scroll-margin-top: 190px;
}
@media (max-width: 980px) {
  [id] {
    scroll-margin-top: 115px;
  }
}
img {
  max-width: 100%;
  display: block;
}
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  background: rgba(5, 5, 5, 0.28);
  backdrop-filter: blur(14px);
  transition: 0.25s;
}
.site-header.scrolled,
.site-header:not(.home-header) {
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  border-bottom: 3px solid var(--yellow);
}
.topbar {
  background: linear-gradient(90deg, #050505, #1f1900, #050505);
  color: white;
  font-size: 13px;
}
.topbar .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 7px 0;
}
.topbar a {
  color: white;
  text-decoration: none;
  margin-right: 18px;
}
.topbar a:hover {
  color: var(--yellow);
}
.top-note {
  white-space: nowrap;
  color: var(--yellow);
  font-weight: 800;
}
.brand-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}
.site-header.scrolled .brand-row,
.site-header:not(.home-header) .brand-row {
  border-bottom: 1px solid var(--line);
}
.brand {
  display: flex;
  gap: 14px;
  align-items: center;
  text-decoration: none;
  color: #fff;
}
.site-header.scrolled .brand,
.site-header:not(.home-header) .brand {
  color: var(--dark);
}
.brand img {
  width: 70px;
  height: 58px;
  object-fit: contain;
}
.brand-title {
  font-size: 24px;
  font-weight: 900;
  letter-spacing: -0.5px;
}
.brand-meta {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.82);
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.site-header.scrolled .brand-meta,
.site-header:not(.home-header) .brand-meta {
  color: #425466;
}
.header-actions {
  display: flex;
  gap: 10px;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 999px;
  padding: 8px 20px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition: 0.25s;
  white-space: nowrap;
}
.btn-primary {
  background: linear-gradient(135deg, var(--yellow), #ffde4c);
  color: #111;
  border: 1px solid rgba(255, 199, 0, 0.75);
}
.btn-dark {
  background: var(--green);
  color: white;
}
.btn-outline {
  background: rgba(255, 255, 255, 0.95);
  color: #111;
  border: 1px solid rgba(255, 199, 0, 0.65);
}
.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
}
.nav-row {
  display: flex;
  align-items: center;
  justify-content: center;
}
.nav {
  display: flex;
  gap: 2px;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  justify-content: center;
}
.nav > li {
  position: relative;
}
.nav > li > a {
  display: block;
  padding: 13px 12px;
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  font-size: 13.5px;
}
.site-header.scrolled .nav > li > a,
.site-header:not(.home-header) .nav > li > a {
  color: #111;
}
.nav > li:hover > a,
.nav > li > a:focus {
  background: var(--yellow);
  color: #111;
  border-radius: 0px;
}
.site-header.scrolled .nav > li:hover > a,
.site-header:not(.home-header) .nav > li:hover > a {
  background: var(--yellow);
  color: #111;
}
.submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: white;
  min-width: 260px;
  box-shadow: var(--shadow);
  border-radius: 0 0 16px 16px;
  padding: 10px;
  list-style: none;
  margin: 0;
}
.nav li:hover .submenu {
  display: block;
}
.submenu a {
  display: block;
  padding: 10px 12px;
  color: #111;
  text-decoration: none;
  border-radius: 10px;
  font-weight: 700;
}
.submenu a:hover {
  background: var(--yellow-soft);
  color: #111;
}
.hamburger {
  display: none;
  border: 0;
  background: var(--yellow);
  color: #111;
  border-radius: 12px;
  padding: 9px 13px;
  font-size: 22px;
  line-height: 1;
  font-weight: 900;
}
.hero {
  min-height: 100vh;
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: white;
  padding-top: 220px;
}
.hero iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 177.78vh;
  height: 100vh;
  min-width: 100vw;
  min-height: 56.25vw;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.hero:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.78),
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0.78)
  );
}
.hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  width: min(980px, 92%);
  padding-bottom: 60px;
}
.kicker {
  display: inline-flex;
  background: rgba(255, 199, 0, 0.16);
  border: 1px solid rgba(255, 199, 0, 0.45);
  color: var(--yellow);
  padding: 8px 18px;
  border-radius: 999px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1.8px;
}
.hero-logo {
  width: min(260px, 52vw);
  margin: 26px auto 12px;
}
.hero h1 {
  font-size: clamp(46px, 8vw, 104px);
  line-height: 0.95;
  margin: 20px 0 10px;
  font-weight: 1000;
}
.hero h2 {
  font-size: clamp(26px, 4vw, 58px);
  margin: 0 0 22px;
}
.event-meta {
  display: flex;
  gap: 18px;
  justify-content: center;
  flex-wrap: wrap;
  font-weight: 800;
  margin-bottom: 28px;
}
.hero-actions {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}
.section {
  padding: 86px 0;
}
.section-title {
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.1;
  margin: 0 0 16px;
}
.lead {
  font-size: 18px;
  color: #475569;
  /* max-width: 850px; */
}
.grid {
  display: grid;
  gap: 34px;
}
.grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.card {
  background: linear-gradient(180deg, #fff, #fffdf4);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 20px;
  box-shadow:
    0 12px 40px rgba(255, 199, 0, 0.1),
    0 12px 40px rgba(20, 20, 20, 0.045);
  height: 100%;
}
.card h3 {
  margin-top: 20px;
  font-size: 23px;
}
.card h3:after {
  content: "";
  display: block;
  width: 54px;
  height: 4px;
  background: var(--yellow);
  border-radius: 999px;
  margin-top: 10px;
}
.stat {
  background: #111;
  color: white;
  border-radius: 24px;
  padding: 28px;
}
.stat b {
  display: block;
  font-size: 42px;
  color: var(--yellow);
}
.highlight {
  background: #ffcc00;
  color: white;
}
.highlight .lead {
  color: #d9f5e8;
}
.highlight .card {
  color: #172033;
}
.placeholder {
  min-height: 230px;
  border: 2px dashed #d6b600;
  border-radius: 22px;
  background: linear-gradient(135deg, #fff, var(--yellow-pale));
  display: grid;
  place-items: center;
  text-align: center;
  font-weight: 900;
  color: #5f4a00;
  margin-top: 22px;
}
.rate-table {
  width: 100%;
  border-collapse: collapse;
  background: white;
  border-radius: 18px;
  overflow: hidden;
}
.rate-table th {
  background: #111;
  color: white;
}
.rate-table th,
.rate-table td {
  padding: 15px;
  border-bottom: 1px solid #eee;
  text-align: left;
}
.timeline {
  display: grid;
  gap: 16px;
}
.timeline .item {
  background: white;
  border-left: 6px solid var(--yellow);
  padding: 20px 22px;
  border-radius: 16px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06);
}
.footer {
  background: linear-gradient(135deg, #050505, #191300, #050505);
  color: white;
  padding: 70px 0 25px;
  border-top: 5px solid var(--yellow);
}
.footer a {
  color: #fff;
  text-decoration: none;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.7fr 1fr 1fr 1.3fr;
  gap: 30px;
}
.copyright {
  border-top: 1px solid #333;
  margin-top: 35px;
  padding-top: 18px;
  color: #aaa;
}
.drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 90;
  display: none;
}
.drawer {
  position: fixed;
  right: -390px;
  top: 0;
  height: 100vh;
  width: min(390px, 88vw);
  background: white;
  z-index: 100;
  transition: 0.3s;
  padding: 22px;
  overflow: auto;
}
.drawer.open {
  right: 0;
}
.drawer-backdrop.open {
  display: block;
}
.drawer .brand {
  color: #111;
}
.drawer .brand-meta {
  color: #425466;
}
.drawer .close {
  float: right;
  border: 0;
  background: #111;
  color: white;
  border-radius: 50%;
  width: 36px;
  height: 36px;
}
.mobile-menu {
  clear: both;
  list-style: none;
  padding: 20px 0;
  margin: 0;
}
.mobile-menu a {
  display: block;
  color: #111;
  text-decoration: none;
  font-weight: 800;
  padding: 12px;
  border-bottom: 1px solid #eee;
  border-radius: 10px;
}
.mobile-menu a:hover {
  background: var(--yellow-soft);
}
.mobile-sub {
  padding-left: 15px;
  list-style: none;
}
.mobile-sub a {
  font-weight: 700;
  color: #4b5563;
}
.inner-hero {
  background: linear-gradient(135deg, #111 0%, #443500 38%, #063b2e 100%);
  color: white;
  padding: 210px 0 90px;
  position: relative;
  overflow: hidden;
}
.inner-hero:after {
  content: "";
  position: absolute;
  right: -100px;
  top: -120px;
  width: 360px;
  height: 360px;
  background: rgba(255, 199, 0, 0.22);
  border-radius: 50%;
  filter: blur(3px);
}
.inner-hero .container {
  position: relative;
  z-index: 1;
}
.breadcrumb {
  color: var(--yellow);
  font-weight: 900;
}
.content p,
.content li {
  font-size: 16px;
}
.image-card {
  height: 240px;
  border-radius: 22px;
  overflow: hidden;
  background: #ddd;
}
.image-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.form {
  display: grid;
  gap: 14px;
}
.form input,
.form textarea,
.form select {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 14px;
  padding: 14px 15px;
  font: inherit;
}
.form textarea {
  min-height: 130px;
}
.logo-wall {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}
.logo-placeholder {
  height: 92px;
  border: 1px dashed #c9c2a8;
  border-radius: 16px;
  background: #fff;
  display: grid;
  place-items: center;
  font-weight: 900;
  color: #827039;
}
@media (max-width: 1120px) {
  .nav > li > a {
    padding: 11px 8px;
    font-size: 12.5px;
  }
  .header-actions .btn {
    padding: 8px 14px;
  }
}
@media (max-width: 980px) {
  .header-actions,
  .nav-row {
    display: none;
  }
  .hamburger {
    display: block;
  }
  .site-header {
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  }
  .brand,
  .site-header .brand {
    color: var(--dark);
  }
  .brand-meta,
  .site-header .brand-meta {
    color: #425466;
  }
  .brand-row {
    border-bottom: 0;
  }
  .brand-title {
    font-size: 20px;
  }
  .topbar {
    display: none;
  }
  .grid-4,
  .grid-3,
  .grid-2,
  .footer-grid,
  .logo-wall {
    grid-template-columns: 1fr;
  }
  .section {
    padding: 54px 0;
  }
  .hero {
    padding-top: 96px;
    min-height: 92vh;
  }
  .hero h1 {
    font-size: 50px;
  }
  .brand-meta {
    font-size: 12px;
  }
  .rate-table {
    font-size: 13px;
  }
  .inner-hero {
    padding: 130px 0 55px;
  }
  .card {
    padding: 24px;
  }
  .grid {
    gap: 24px;
  }
}
@media (max-width: 520px) {
  .container {
    width: min(94%, 1180px);
  }
  .brand img {
    width: 52px;
    height: 48px;
  }
  .brand-meta span:nth-child(2) {
    display: none;
  }
  .hero {
    min-height: 86vh;
  }
  .hero iframe {
    display: none;
  }
  .hero {
    background: url("https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=1600&q=80")
      center/cover;
  }
  .btn {
    width: 100%;
  }
  .hero-actions {
    width: 100%;
  }
  .event-meta {
    font-size: 14px;
  }
  .card {
    padding: 20px;
  }
  .section-title {
    font-size: 31px;
  }
  .drawer {
    width: 92vw;
  }
  .hero h1 {
    font-size: 42px;
  }
  .hero h2 {
    font-size: 26px;
  }
}
/* === Update: topbar, submenu arrows, mobile accordion, back-to-top === */
.site-header.scrolled .topbar {
  display: none;
}
.site-header.scrolled .brand-row {
  padding: 9px 0;
}
.nav > li:has(.submenu) > a {
  display: flex;
  align-items: center;
  gap: 6px;
}
.nav > li:has(.submenu) > a::after {
  content: "▾";
  font-size: 11px;
  font-weight: 900;
  color: var(--yellow);
  line-height: 1;
  transition: 0.2s;
}
.nav > li:hover > a::after {
  color: #111;
  transform: rotate(180deg);
}
.site-header.scrolled .nav > li:has(.submenu) > a::after,
.site-header:not(.home-header) .nav > li:has(.submenu) > a::after {
  color: #6b5400;
}
.site-header.scrolled .nav > li:hover > a::after,
.site-header:not(.home-header) .nav > li:hover > a::after {
  color: #111;
}
.mobile-quick-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 18px 0 8px;
  clear: both;
}
.mobile-quick-actions .btn {
  width: 100%;
  padding: 11px 14px;
  font-size: 14px;
}
.mobile-menu > li {
  position: relative;
}
.mobile-menu > li.has-sub > a {
  padding-right: 44px;
  position: relative;
}
.mobile-menu > li.has-sub > a::after {
  content: "▾";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  background: var(--yellow);
  color: #111;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 900;
  transition: 0.2s;
}
.mobile-menu > li.has-sub.open > a::after {
  transform: translateY(-50%) rotate(180deg);
}
.mobile-sub {
  display: none;
  padding: 4px 0 8px 16px;
  margin: 0;
  list-style: none;
  background: #fffdf2;
  border-left: 3px solid var(--yellow);
  border-radius: 0 0 14px 14px;
}
.mobile-menu > li.open > .mobile-sub {
  display: block;
}
.mobile-sub a {
  font-size: 14px;
  padding: 10px 12px;
  border-bottom: 1px solid #f2e7ba;
  color: #394150;
}
.back-to-top {
  position: fixed;
  right: 22px;
  bottom: 22px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 0;
  background: var(--yellow);
  color: #111;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
  font-size: 22px;
  font-weight: 900;
  z-index: 70;
  cursor: pointer;
  display: grid;
  place-items: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: 0.25s;
}
.back-to-top.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.back-to-top:hover {
  background: #111;
  color: var(--yellow);
}
[id] {
  scroll-margin-top: 138px;
}
@media (max-width: 980px) {
  [id] {
    scroll-margin-top: 102px;
  }
  .drawer .brand {
    margin-top: 8px;
  }
  .topbar {
    display: none !important;
  }
}
@media (max-width: 520px) {
  .back-to-top {
    right: 16px;
    bottom: 16px;
    width: 44px;
    height: 44px;
  }
}
.event-info {
  align-self: center;
}
.event-info .event-meta {
  justify-content: start;
}
.image-card-2 {
  height: 320px;
}

/* WordPress block-theme compatibility */
.wp-site-blocks { min-height: 100vh; }
.wp-block-post-content { margin-block-start: 0; }
.wp-block-post-content > *:first-child { margin-top: 0; }
.wp-block-post-content > *:last-child { margin-bottom: 0; }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header.scrolled { top: 0; } }
.site-header a, .footer a { cursor: pointer; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }


/* === Editable Gutenberg page blocks === */
.wp-block-group.section,
.wp-block-group.inner-hero,
.wp-block-group.hero { margin-block-start: 0; }
.wp-block-group.container { width: min(1180px, 92%); margin-left: auto; margin-right: auto; }
.wp-block-group.card { height: auto; }
.wp-block-buttons .wp-block-button__link.btn { text-decoration: none; }
.wp-block-image.hero-logo { width: min(260px, 52vw); margin: 26px auto 12px; }
.wp-block-image.hero-logo img { width: 100%; height: auto; }
.wp-block-image.image-card,
.wp-block-group.image-card { height: 240px; border-radius: 22px; overflow: hidden; background: #ddd; }
.wp-block-image.image-card img,
.wp-block-group.image-card img { width: 100%; height: 100%; object-fit: cover; }
.hero .wp-block-embed.hero-video-embed { position: absolute; inset: 0; margin: 0; z-index: 0; }
.hero .wp-block-embed.hero-video-embed .wp-block-embed__wrapper { position: absolute; inset: 0; }
.hero .wp-block-embed.hero-video-embed iframe { position: absolute; top: 50%; left: 50%; width: 177.78vh; height: 100vh; min-width: 100vw; min-height: 56.25vw; transform: translate(-50%, -50%); pointer-events: none; }
.hero > .wp-block-group__inner-container,
.hero > .wp-block-group { position: relative; z-index: 2; }
.atf-map-wrap iframe { display:block; width:100%; min-height:450px; box-shadow: var(--shadow); }
.atf-contact-form button { width: fit-content; }
.editor-styles-wrapper .site-header { position: relative; }
.editor-styles-wrapper .hero { min-height: 720px; }
.editor-styles-wrapper .topbar { display: block; }


/* === Version 1.2: full editable header/footer + button color restore === */
.site-header.wp-block-group,
.footer.wp-block-group { margin-block-start: 0; }
.site-header .wp-block-group,
.footer .wp-block-group { margin-block-start: 0; }
.atf-topbar-inner p { margin: 0; }
.brand .wp-block-image { margin: 0; flex: 0 0 auto; }
.brand .brand-text { margin: 0; }
.brand-title,
.brand-title a,
.wp-block-site-title.brand-title a {
  color: inherit;
  text-decoration: none;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: -0.5px;
  line-height: 1.1;
}
.brand-meta,
.brand-meta p { margin: 0; }
.site-header .wp-block-buttons.header-actions { gap: 10px; margin: 0; }
.wp-block-button .wp-block-button__link.btn,
.wp-block-button.btn .wp-block-button__link,
.wp-block-button .wp-block-button__link.btn-primary,
.wp-block-button.btn-primary .wp-block-button__link,
.wp-block-button .wp-block-button__link.btn-dark,
.wp-block-button.btn-dark .wp-block-button__link,
.wp-block-button .wp-block-button__link.btn-outline,
.wp-block-button.btn-outline .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px !important;
  padding: 8px 20px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  box-shadow: none;
}
.wp-block-button .wp-block-button__link.btn-primary,
.wp-block-button.btn-primary .wp-block-button__link {
  background: linear-gradient(135deg, var(--yellow), #ffde4c) !important;
  color: #111 !important;
  border: 1px solid rgba(255, 199, 0, 0.75) !important;
}
.wp-block-button .wp-block-button__link.btn-dark,
.wp-block-button.btn-dark .wp-block-button__link {
  background: var(--green) !important;
  color: #fff !important;
  border: 1px solid var(--green) !important;
}
.wp-block-button .wp-block-button__link.btn-outline,
.wp-block-button.btn-outline .wp-block-button__link {
  background: rgba(255,255,255,.95) !important;
  color: #111 !important;
  border: 1px solid rgba(255, 199, 0, 0.65) !important;
}
.wp-block-button .wp-block-button__link.btn:hover,
.wp-block-button.btn .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.14); }

/* Native Gutenberg Navigation styling */
.nav-row.wp-block-group { display: flex; align-items: center; justify-content: center; }
.atf-main-nav.wp-block-navigation { gap: 2px; }
.atf-main-nav.wp-block-navigation .wp-block-navigation-item__content {
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  font-size: 13.5px;
  padding: 13px 12px;
  border-radius: 0;
}
.site-header.scrolled .atf-main-nav.wp-block-navigation .wp-block-navigation-item__content,
.site-header:not(.home-header) .atf-main-nav.wp-block-navigation .wp-block-navigation-item__content { color: #111; }
.atf-main-nav.wp-block-navigation .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.atf-main-nav.wp-block-navigation .wp-block-navigation-item__content:focus {
  background: var(--yellow);
  color: #111 !important;
}
.atf-main-nav.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
  background: #fff;
  border: 0;
  min-width: 260px !important;
  box-shadow: var(--shadow);
  border-radius: 0 0 16px 16px;
  padding: 10px;
}
.atf-main-nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  color: #111 !important;
  padding: 10px 12px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 14px;
}
.atf-main-nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  background: var(--yellow-soft);
  color: #111 !important;
}
.atf-main-nav .wp-block-navigation__submenu-icon { color: var(--yellow); margin-left: 3px; }
.site-header.scrolled .atf-main-nav .wp-block-navigation__submenu-icon,
.site-header:not(.home-header) .atf-main-nav .wp-block-navigation__submenu-icon { color: #6b5400; }
.atf-main-nav .wp-block-navigation__responsive-container-open {
  background: var(--yellow);
  color: #111;
  border-radius: 12px;
  padding: 9px 13px;
  font-weight: 900;
}
.atf-main-nav .wp-block-navigation__responsive-container.is-menu-open {
  background: #fffaf0;
  color: #111;
  padding: 28px;
}
.atf-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  color: #111 !important;
  width: 100%;
  padding: 13px 10px;
  border-bottom: 1px solid #f2e7ba;
}
.atf-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  padding-left: 16px;
  background: #fffdf2;
  border-left: 3px solid var(--yellow);
  box-shadow: none;
  border-radius: 0 0 14px 14px;
}
.atf-main-nav .wp-block-navigation__responsive-container-close {
  background: var(--yellow);
  color: #111;
  border-radius: 999px;
  padding: 8px;
}

.footer .footer-grid { align-items: start; }
.footer .footer-links { list-style: none; padding-left: 0; margin: 0; }
.footer .footer-links li { margin: 0 0 8px; }
.footer .footer-subscribe { margin: 10px 0 12px; }
.footer .wp-block-search__inside-wrapper { display: flex; gap: 8px; }
.footer .wp-block-search__input {
  border: 1px solid #ddd;
  border-radius: 14px;
  padding: 12px 14px;
  min-width: 0;
}
.footer .wp-block-search__button {
  border: 0;
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 800;
  background: linear-gradient(135deg, var(--yellow), #ffde4c);
  color: #111;
}
.footer .copyright p { margin: 0; }

/* Disable old custom drawer dependency after switching to core Navigation block. */
.drawer,
.drawer-backdrop { display: none !important; }

@media (max-width: 1120px) {
  .wp-block-button .wp-block-button__link.btn,
  .wp-block-button.btn .wp-block-button__link { padding: 8px 14px !important; }
  .atf-main-nav.wp-block-navigation .wp-block-navigation-item__content { padding: 11px 8px; font-size: 12.5px; }
}
@media (max-width: 980px) {
  .nav-row.wp-block-group { display: flex; justify-content: flex-end; }
  .brand-row.wp-block-group { gap: 12px; }
  .site-header .wp-block-buttons.header-actions {
    display: flex;
    width: 100%;
    order: 3;
    justify-content: center;
  }
  .site-header .wp-block-buttons.header-actions .wp-block-button { flex: 1 1 0; }
  .site-header .wp-block-buttons.header-actions .wp-block-button__link { width: 100%; font-size: 13px; padding: 9px 10px !important; }
  .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
  .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container-open { display: flex; }
  .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch; }
  .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { width: 100%; align-items: stretch; gap: 0; }
  .brand-title,
  .brand-title a,
  .wp-block-site-title.brand-title a { font-size: 20px; }
}
@media (max-width: 520px) {
  .site-header .wp-block-buttons.header-actions { gap: 7px; }
  .site-header .wp-block-buttons.header-actions .wp-block-button__link { font-size: 12px; padding: 8px 8px !important; }
  .footer .wp-block-search__inside-wrapper { flex-direction: column; }
}
.editor-styles-wrapper .site-header { position: relative !important; top: auto !important; }
.editor-styles-wrapper .nav-row.wp-block-group { display: flex !important; }
.editor-styles-wrapper .footer .footer-grid { display: grid; }


/* === Version 1.3: active menu, reliable mobile nav, category post sliders === */
.atf-main-nav.wp-block-navigation .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.atf-main-nav.wp-block-navigation .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content,
.atf-main-nav.wp-block-navigation .wp-block-navigation-item.atf-current > .wp-block-navigation-item__content,
.atf-main-nav.wp-block-navigation .wp-block-navigation-item__content.atf-active-menu {
  background: var(--yellow);
  color: #111 !important;
}
.atf-main-nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.atf-main-nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item.atf-current > .wp-block-navigation-item__content,
.atf-main-nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content.atf-active-menu {
  background: var(--yellow-soft);
  color: #111 !important;
}

@media (min-width: 981px) {
  .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: flex !important;
    position: static;
    background: transparent;
  }
  .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container-open {
    display: none !important;
  }
}
@media (max-width: 980px) {
  .nav-row.wp-block-group {
    width: 100%;
    justify-content: flex-end !important;
    margin-top: 6px;
  }
  .atf-main-nav.wp-block-navigation {
    width: 100%;
    justify-content: flex-end;
  }
  .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container-open {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 46px;
    min-width: 46px;
    height: 42px;
    margin-left: auto;
    z-index: 100002;
    box-shadow: 0 10px 24px rgba(0,0,0,.12);
  }
  .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container-open svg {
    width: 24px;
    height: 24px;
  }
  .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }
  .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(390px, 90vw) !important;
    height: 100vh !important;
    z-index: 100001 !important;
    overflow-y: auto;
    box-shadow: -22px 0 55px rgba(0,0,0,.22);
    border-left: 4px solid var(--yellow);
  }
  .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open::before {
    content: "Asian Tourism Fair";
    display: block;
    font-size: 20px;
    font-weight: 900;
    color: #111;
    margin-bottom: 18px;
  }
  .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding-top: 30px;
  }
  .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
  .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
  .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu {
    width: 100%;
  }
  .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon {
    display: inline-flex;
    color: #111;
  }
  .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container-close {
    display: inline-flex !important;
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 2;
  }
  body.has-modal-open .site-header {
    z-index: 100000;
  }
}

.atf-home-posts-section {
  background: linear-gradient(180deg, #fff, #fff9dc 100%);
}
.atf-post-sliders {
  display: grid;
  gap: 34px;
  margin-top: 28px;
}
.atf-empty-posts {
  background: #fff;
  border: 1px dashed #d6b600;
  border-radius: 18px;
  padding: 24px;
  color: #5f4a00;
  box-shadow: 0 12px 34px rgba(255,199,0,.1);
}
.atf-post-slider {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 26px;
  padding: 22px;
  box-shadow: var(--shadow);
  overflow: hidden;
}
.atf-post-slider-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.atf-slider-kicker {
  padding: 6px 13px;
  font-size: 11px;
  background: var(--yellow-pale);
  color: #6b5400;
  border-color: rgba(255,199,0,.75);
}
.atf-post-slider h3 {
  margin: 8px 0 0;
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.1;
  color: #111827;
}
.atf-slider-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.atf-view-all {
  color: #111;
  font-weight: 900;
  text-decoration: none;
  background: var(--yellow-pale);
  border: 1px solid rgba(255,199,0,.6);
  border-radius: 999px;
  padding: 9px 15px;
}
.atf-view-all:hover { background: var(--yellow); }
.atf-slider-btn {
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-size: 26px;
  line-height: 1;
  font-weight: 900;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: .2s;
}
.atf-slider-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0,0,0,.14); }
.atf-slider-btn:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.atf-slider-viewport { overflow: hidden; }
.atf-slider-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(280px, 32%);
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 4px 2px 14px;
  scrollbar-width: thin;
}
.atf-post-card {
  scroll-snap-align: start;
  min-width: 0;
  background: linear-gradient(180deg, #fff, #fffdf4);
  border: 1px solid var(--line);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 12px 35px rgba(0,0,0,.06);
}
.atf-post-thumb {
  display: block;
  height: 190px;
  overflow: hidden;
  background: var(--yellow-pale);
}
.atf-post-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: .35s;
}
.atf-post-card:hover .atf-post-thumb img { transform: scale(1.05); }
.atf-post-card-body { padding: 18px; }
.atf-post-meta {
  color: #6b5400;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .7px;
}
.atf-post-card h4 {
  margin: 8px 0 9px;
  font-size: 20px;
  line-height: 1.25;
}
.atf-post-card h4 a {
  color: #111827;
  text-decoration: none;
}
.atf-post-card h4 a:hover { color: #6b5400; }
.atf-post-card p {
  margin: 0 0 14px;
  color: #64748b;
}
.atf-read-more {
  color: var(--green);
  font-weight: 900;
  text-decoration: none;
}
.atf-read-more:hover { color: #111; }
@media (max-width: 900px) {
  .atf-post-slider-head { align-items: flex-start; flex-direction: column; }
  .atf-slider-actions { justify-content: flex-start; }
  .atf-slider-track { grid-auto-columns: minmax(260px, 78%); }
}
@media (max-width: 520px) {
  .atf-post-slider { padding: 16px; border-radius: 20px; }
  .atf-slider-track { grid-auto-columns: minmax(238px, 88%); gap: 14px; }
  .atf-post-thumb { height: 165px; }
}


/* === Version 1.4: mobile one-line header + single-post slider === */
.site-header .brand-row.wp-block-group {
  align-items: center;
}
.site-header .nav-row.wp-block-group {
  flex: 1 1 100%;
  width: 100%;
  justify-content: center;
  margin-top: 10px;
}
.atf-main-nav.wp-block-navigation .atf-mobile-action {
  display: none !important;
}

@media (max-width: 980px) {
  .site-header .topbar {
    display: none !important;
  }
  .site-header .container {
    width: min(100% - 24px, var(--container));
  }
  .site-header .brand-row.wp-block-group {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-height: 62px;
    padding: 8px 0 !important;
  }
  .site-header .brand.wp-block-group {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: 8px !important;
  }
  .site-header .brand .wp-block-image.atf-header-logo {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
  }
  .site-header .brand .wp-block-image.atf-header-logo img {
    width: 44px !important;
    height: 44px !important;
    object-fit: contain;
  }
  .site-header .brand-text.wp-block-group {
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .site-header .brand-title,
  .site-header .brand-title a,
  .site-header .wp-block-site-title.brand-title a {
    display: block !important;
    font-size: 16px !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 52vw !important;
  }
  .site-header .brand-meta {
    display: none !important;
  }
  .site-header .wp-block-buttons.header-actions {
    display: none !important;
  }
  .site-header .nav-row.wp-block-group {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 0 0 auto !important;
    justify-content: flex-end !important;
    order: 3 !important;
  }
  .site-header .atf-main-nav.wp-block-navigation {
    width: auto !important;
    min-width: 46px;
    justify-content: flex-end !important;
  }
  .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container-open {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 9px !important;
    background: var(--yellow) !important;
    color: #111 !important;
    border: 1px solid rgba(0,0,0,.08) !important;
    border-radius: 13px !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.12) !important;
  }
  .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container-open svg {
    width: 24px !important;
    height: 24px !important;
  }
  .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }
  .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(390px, 92vw) !important;
    max-width: 92vw !important;
    height: 100vh !important;
    padding: 28px 22px !important;
    background: #fffaf0 !important;
    color: #111 !important;
    z-index: 100001 !important;
    overflow-y: auto !important;
    box-shadow: -22px 0 55px rgba(0,0,0,.22) !important;
    border-left: 4px solid var(--yellow) !important;
  }
  .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    display: flex !important;
    align-items: stretch !important;
    padding-top: 34px !important;
    width: 100% !important;
  }
  .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
  .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 0 !important;
  }
  .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
  .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu {
    width: 100% !important;
    align-items: stretch !important;
  }
  .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    padding: 13px 10px !important;
    color: #111 !important;
    border-bottom: 1px solid #f2e7ba !important;
    border-radius: 0 !important;
    font-size: 15px !important;
  }
  .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 4px 0 8px 14px !important;
    margin: 0 !important;
    background: #fffdf2 !important;
    border-left: 3px solid var(--yellow) !important;
    box-shadow: none !important;
    border-radius: 0 0 12px 12px !important;
  }
  .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon {
    display: inline-flex !important;
    color: #111 !important;
  }
  .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container-close {
    display: inline-flex !important;
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    z-index: 2 !important;
    background: var(--yellow) !important;
    color: #111 !important;
    border-radius: 999px !important;
    padding: 8px !important;
  }
  .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .atf-mobile-action {
    display: flex !important;
    margin-top: 10px !important;
  }
  .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .atf-mobile-action > .wp-block-navigation-item__content {
    justify-content: center !important;
    border: 1px solid rgba(255,199,0,.72) !important;
    border-radius: 999px !important;
    padding: 12px 16px !important;
    font-weight: 900 !important;
    text-align: center !important;
  }
  .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .atf-mobile-action-primary > .wp-block-navigation-item__content {
    background: linear-gradient(135deg, var(--yellow), #ffde4c) !important;
    color: #111 !important;
  }
  .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .atf-mobile-action-dark > .wp-block-navigation-item__content {
    background: var(--green) !important;
    border-color: var(--green) !important;
    color: #fff !important;
  }
  .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .atf-mobile-action-outline > .wp-block-navigation-item__content {
    background: #fff !important;
    color: #111 !important;
  }
}

@media (max-width: 420px) {
  .site-header .brand-title,
  .site-header .brand-title a,
  .site-header .wp-block-site-title.brand-title a {
    max-width: 46vw !important;
    font-size: 15px !important;
  }
  .site-header .brand .wp-block-image.atf-header-logo,
  .site-header .brand .wp-block-image.atf-header-logo img {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
  }
}

.atf-single-post-slider-wrap.atf-post-sliders {
  display: block;
}
.atf-single-post-slider .atf-slider-track {
  grid-auto-columns: 100% !important;
  gap: 18px !important;
}
.atf-single-post-slider .atf-post-card {
  display: grid;
  grid-template-columns: minmax(280px, 60%) 1fr;
  min-height: 320px;
}
.atf-single-post-slider .atf-post-thumb {
  height: 100%;
  min-height: 320px;
}
.atf-post-meta {
  display: none !important;
}
.atf-post-category {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--yellow-pale);
  border: 1px solid rgba(255,199,0,.62);
  color: #6b5400;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .3px;
  text-transform: uppercase;
}
.atf-single-post-slider .atf-post-card-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(20px, 4vw, 42px);
}
.atf-single-post-slider .atf-post-card h4 {
  font-size: clamp(24px, 3vw, 26px);
  line-height: 1.1;
  margin: 0 0 14px;
}
.atf-single-post-slider .atf-post-card p {
  font-size: 16px;
  line-height: 1.75;
  max-width: 680px;
}
@media (max-width: 760px) {
  .atf-single-post-slider .atf-post-card {
    display: block;
    min-height: 0;
  }
  .atf-single-post-slider .atf-post-thumb {
    height: 210px;
    min-height: 210px;
  }
  .atf-single-post-slider .atf-post-card-body {
    padding: 20px;
  }
  .atf-single-post-slider .atf-post-card h4 {
    font-size: 24px;
  }
}

/* === Version 1.5: fixed mobile drawer actions, collapsed submenus, single post layout, auto slider support === */
@media (max-width: 980px) {
  body:not(.wp-admin) .site-header .brand-row.wp-block-group {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 50px !important;
    align-items: center !important;
    gap: 10px !important;
  }
  body:not(.wp-admin) .site-header .brand.wp-block-group {
    grid-column: 1 !important;
    max-width: 100% !important;
  }
  body:not(.wp-admin) .site-header .nav-row.wp-block-group {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 50px !important;
    min-width: 50px !important;
    margin-left: 0 !important;
    justify-self: end !important;
  }
  body:not(.wp-admin) .site-header .wp-block-buttons.header-actions {
    display: none !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation {
    display: flex !important;
    width: 50px !important;
    min-width: 50px !important;
    justify-content: flex-end !important;
    position: relative !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container-open {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  /* Hide all Gutenberg mobile submenu panels until parent is clicked. */
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.atf-submenu-open > .wp-block-navigation__submenu-container {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-height: 1200px !important;
    overflow: visible !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 4px 0 8px 14px !important;
    margin: 0 !important;
    background: #fffdf2 !important;
    border-left: 3px solid var(--yellow) !important;
    box-shadow: none !important;
    border-radius: 0 0 12px 12px !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu .wp-block-navigation-submenu__toggle,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content {
    cursor: pointer !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.atf-submenu-open > .wp-block-navigation-submenu__toggle,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.atf-submenu-open > .wp-block-navigation-item__content {
    color: #6b5400 !important;
    font-weight: 900 !important;
  }

  /* Real cloned header buttons inside mobile hamburger drawer. */
  body:not(.wp-admin) .atf-mobile-quick-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid #f2e7ba !important;
  }
  body:not(.wp-admin) .atf-mobile-quick-actions .wp-block-button,
  body:not(.wp-admin) .atf-mobile-quick-actions .wp-block-button__link,
  body:not(.wp-admin) .atf-mobile-quick-actions .wp-element-button,
  body:not(.wp-admin) .atf-mobile-quick-actions a {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
}

/* Desktop should not show cloned mobile action box. */
.atf-mobile-quick-actions {
  display: none;
}

/* Single blog page container + featured image first. */
.atf-single-post-page {
  padding-top: clamp(130px, 12vw, 180px) !important;
  padding-bottom: clamp(56px, 7vw, 100px) !important;
}
.atf-single-post-container {
  width: min(900px, 92%) !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.atf-single-featured-image {
  margin: 0 0 clamp(24px, 4vw, 42px) !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  box-shadow: var(--shadow) !important;
  background: #fff !important;
}
.atf-single-featured-image img {
  width: 100% !important;
  max-height: 520px !important;
  object-fit: cover !important;
  border-radius: 28px !important;
}
.atf-single-title {
  width: min(860px, 100%) !important;
  max-width: 860px !important;
  margin: 0 auto 22px !important;
  font-size: clamp(34px, 5vw, 58px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.04em !important;
  color: #111827 !important;
}
.atf-single-content {
  width: min(860px, 100%) !important;
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
.atf-single-content > * {
  max-width: 100% !important;
}
.atf-single-content p,
.atf-single-content li {
  font-size: 17px;
  line-height: 1.85;
}
.atf-single-content img,
.atf-single-content figure,
.atf-single-content table,
.atf-single-content iframe,
.atf-single-content video {
  max-width: 100% !important;
}
.atf-single-content table {
  display: block;
  overflow-x: auto;
  border-collapse: collapse;
}
.atf-single-content .alignfull,
.atf-single-content .alignwide {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
@media (max-width: 760px) {
  .atf-single-post-page {
    padding-top: 104px !important;
  }
  .atf-single-featured-image,
  .atf-single-featured-image img {
    border-radius: 20px !important;
  }
  .atf-single-featured-image img {
    max-height: 340px !important;
  }
}
@media (max-width: 980px) {
  body:not(.wp-admin) .site-header .container {
    width: calc(100% - 24px) !important;
    max-width: 1180px !important;
  }
}


/* === Version 1.6: requested fonts, transparent header on all pages, stronger mobile drawer/header fix === */
:root {
  --atf-body-font: 'Open Sans', Arial, sans-serif;
  --atf-menu-font: 'Cabin', 'Cabin Sans', Arial, sans-serif;
  --atf-hero-font: 'Berlin Sans FB Demi', 'Berlin Sans FB', 'Arial Rounded MT Bold', 'Arial Black', sans-serif;
}
body {
  font-family: var(--atf-body-font) !important;
  font-weight: 400;
}
.atf-main-nav.wp-block-navigation .wp-block-navigation-item__content,
.site-header .wp-block-navigation-item__content,
.site-header .wp-block-button__link,
.site-header .btn,
.mobile-quick-actions,
.atf-mobile-quick-actions,
.nav,
.nav a,
button.wp-block-navigation__responsive-container-open,
button.wp-block-navigation__responsive-container-close {
  font-family: var(--atf-menu-font) !important;
  font-weight: 600 !important;
}
.hero h1,
.hero .wp-block-heading,
.hero-title,
h1.hero-title {
  font-family: var(--atf-hero-font) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
}

/* Keep every page header transparent like home until the visitor scrolls. */
@media (min-width: 981px) {
  body:not(.wp-admin) .site-header:not(.scrolled) {
    background: rgba(5, 5, 5, 0.28) !important;
    box-shadow: none !important;
    border-bottom: 0 !important;
    backdrop-filter: blur(14px);
  }
  body:not(.wp-admin) .site-header:not(.scrolled) .brand,
  body:not(.wp-admin) .site-header:not(.scrolled) .brand-title,
  body:not(.wp-admin) .site-header:not(.scrolled) .brand-title a,
  body:not(.wp-admin) .site-header:not(.scrolled) .wp-block-site-title.brand-title a,
  body:not(.wp-admin) .site-header:not(.scrolled) .atf-main-nav.wp-block-navigation .wp-block-navigation-item__content {
    color: #fff !important;
  }
  body:not(.wp-admin) .site-header:not(.scrolled) .brand-meta,
  body:not(.wp-admin) .site-header:not(.scrolled) .brand-meta span {
    color: rgba(255,255,255,.84) !important;
  }
  body:not(.wp-admin) .site-header:not(.scrolled) .atf-main-nav.wp-block-navigation .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
  body:not(.wp-admin) .site-header:not(.scrolled) .atf-main-nav.wp-block-navigation .wp-block-navigation-item__content:focus,
  body:not(.wp-admin) .site-header:not(.scrolled) .atf-main-nav.wp-block-navigation .wp-block-navigation-item__content.atf-active-menu {
    color: #111 !important;
  }
  body:not(.wp-admin) .site-header:not(.scrolled) .atf-main-nav .wp-block-navigation__submenu-icon {
    color: var(--yellow) !important;
  }
}

@media (max-width: 980px) {
  /* Closed mobile header: logo + title + hamburger in exactly one row. */
  body:not(.wp-admin) .site-header {
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,.08) !important;
    border-bottom: 0 !important;
  }
  body:not(.wp-admin) .site-header .topbar {
    display: none !important;
  }
  body:not(.wp-admin) .site-header > .container,
  body:not(.wp-admin) .site-header .container.wp-block-group {
    width: calc(100% - 24px) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body:not(.wp-admin) .site-header .brand-row.wp-block-group {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 54px !important;
    grid-template-rows: 1fr !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 10px !important;
    min-height: 72px !important;
    padding: 10px 0 !important;
    border-bottom: 0 !important;
    flex-wrap: nowrap !important;
  }
  body:not(.wp-admin) .site-header .brand.wp-block-group {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
    max-width: 100% !important;
    gap: 8px !important;
    color: var(--dark) !important;
  }
  body:not(.wp-admin) .site-header .brand .wp-block-image.atf-header-logo,
  body:not(.wp-admin) .site-header .brand .wp-block-image.atf-header-logo img,
  body:not(.wp-admin) .site-header .brand img {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    max-height: 46px !important;
    object-fit: contain !important;
    margin: 0 !important;
  }
  body:not(.wp-admin) .site-header .brand-text.wp-block-group {
    min-width: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
  }
  body:not(.wp-admin) .site-header .brand-title,
  body:not(.wp-admin) .site-header .brand-title a,
  body:not(.wp-admin) .site-header .wp-block-site-title.brand-title a {
    display: block !important;
    max-width: calc(100vw - 128px) !important;
    font-family: var(--atf-menu-font) !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    color: #111827 !important;
  }
  body:not(.wp-admin) .site-header .brand-meta {
    display: none !important;
  }
  body:not(.wp-admin) .site-header .wp-block-buttons.header-actions,
  body:not(.wp-admin) .site-header .header-actions {
    display: none !important;
  }
  body:not(.wp-admin) .site-header .nav-row.wp-block-group {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    justify-self: end !important;
    align-self: center !important;
    flex: 0 0 54px !important;
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    order: 0 !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation {
    display: flex !important;
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-content: flex-end !important;
    align-items: center !important;
    position: static !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container-open {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    align-items: center !important;
    justify-content: center !important;
    width: 50px !important;
    min-width: 50px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 10px !important;
    background: var(--yellow) !important;
    color: #111 !important;
    border: 1px solid rgba(0,0,0,.08) !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.14) !important;
    z-index: 100003 !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container-open svg {
    width: 25px !important;
    height: 25px !important;
  }

  /* Mobile drawer: closed until hamburger click; no title/logo at the top; close button fixed top-right. */
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    inset: 0 0 0 auto !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(365px, 90vw) !important;
    max-width: 90vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 88px 20px 22px !important;
    background: #fffaf0 !important;
    color: #111 !important;
    border-left: 4px solid var(--yellow) !important;
    border-radius: 0 !important;
    box-shadow: -24px 0 60px rgba(0,0,0,.28) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    transform: none !important;
    z-index: 2147483000 !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-site-title,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .brand,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .brand-title,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .brand-meta {
    display: none !important;
  }
  body.has-modal-open:not(.wp-admin) .site-header .brand {
    opacity: 0 !important;
    visibility: hidden !important;
  }
  body.has-modal-open:not(.wp-admin) .site-header .nav-row.wp-block-group,
  body.has-modal-open:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation {
    opacity: 1 !important;
    visibility: visible !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container-close {
    display: inline-flex !important;
    position: fixed !important;
    top: 22px !important;
    right: 22px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 10px !important;
    background: var(--yellow) !important;
    color: #111 !important;
    border: 1px solid rgba(0,0,0,.08) !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.16) !important;
    z-index: 2147483001 !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container-close svg {
    width: 24px !important;
    height: 24px !important;
  }

  /* Only show cloned header buttons at the top of the drawer. Hide the fallback nav-link buttons to avoid duplicates. */
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .atf-mobile-action {
    display: none !important;
  }
  body:not(.wp-admin) .atf-mobile-quick-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 0 18px !important;
    border-bottom: 1px solid #f2e7ba !important;
  }
  body:not(.wp-admin) .atf-mobile-quick-actions .wp-block-button,
  body:not(.wp-admin) .atf-mobile-quick-actions .wp-block-button__link,
  body:not(.wp-admin) .atf-mobile-quick-actions a {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
  }

  /* Top-level menu closed by default; submenu opens only after JS adds .atf-submenu-open. */
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 0 !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu {
    width: 100% !important;
    align-items: stretch !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 13px 10px !important;
    color: #111 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid #f2e7ba !important;
    border-radius: 0 !important;
    font-family: var(--atf-menu-font) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-align: left !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content.atf-active-menu,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.atf-current > .wp-block-navigation-item__content {
    background: var(--yellow) !important;
    color: #111 !important;
    border-radius: 0 !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fffdf2 !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.atf-submenu-open > .wp-block-navigation__submenu-container {
    display: flex !important;
    flex-direction: column !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-height: 1200px !important;
    overflow: visible !important;
    padding: 4px 0 8px 14px !important;
    border-left: 3px solid var(--yellow) !important;
    border-radius: 0 0 12px 12px !important;
  }
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    font-size: 14px !important;
    padding: 10px 10px !important;
    border-bottom: 1px solid #f7edc5 !important;
  }
}

@media (max-width: 420px) {
  body:not(.wp-admin) .site-header .brand-title,
  body:not(.wp-admin) .site-header .brand-title a,
  body:not(.wp-admin) .site-header .wp-block-site-title.brand-title a {
    max-width: calc(100vw - 120px) !important;
    font-size: 16px !important;
  }
  body:not(.wp-admin) .site-header .brand .wp-block-image.atf-header-logo,
  body:not(.wp-admin) .site-header .brand .wp-block-image.atf-header-logo img,
  body:not(.wp-admin) .site-header .brand img {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
  }
}

/* Make the single blog content impossible to overflow the container. */
.atf-single-post-container,
.atf-single-content {
  overflow-wrap: anywhere !important;
  word-wrap: break-word !important;
}
.atf-single-content .wp-block-image,
.atf-single-content .wp-block-gallery,
.atf-single-content .wp-block-table,
.atf-single-content .wp-block-embed,
.atf-single-content iframe,
.atf-single-content img,
.atf-single-content video {
  max-width: 100% !important;
}
.atf-single-content .wp-block-table {
  overflow-x: auto !important;
}

/* Slider remains a single card and auto-slide JS can read this section. */
.atf-single-post-slider[data-atf-slider] .atf-slider-track {
  scroll-snap-type: x mandatory;
}
.atf-single-post-slider[data-atf-slider] .atf-post-card {
  scroll-snap-align: start;
}


/* === Version 1.7: mobile navigation row/submenu layout + dropdown text color fix === */
/* Desktop transparent header must keep dropdown submenu text readable. */
@media (min-width: 981px) {
  body:not(.wp-admin) .site-header:not(.scrolled) .atf-main-nav.wp-block-navigation .wp-block-navigation__submenu-container,
  body:not(.wp-admin) .site-header:not(.scrolled) .atf-main-nav.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
    background: #fff !important;
    color: #111 !important;
  }
  body:not(.wp-admin) .site-header:not(.scrolled) .atf-main-nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
  body:not(.wp-admin) .site-header:not(.scrolled) .atf-main-nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__label,
  body:not(.wp-admin) .site-header:not(.scrolled) .atf-main-nav.wp-block-navigation .wp-block-navigation__submenu-container a {
    color: #111 !important;
  }
  body:not(.wp-admin) .site-header:not(.scrolled) .atf-main-nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
  body:not(.wp-admin) .site-header:not(.scrolled) .atf-main-nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus {
    background: var(--yellow-soft) !important;
    color: #111 !important;
  }
}

@media (max-width: 980px) {
  /* Remove the generated drawer title so the first visible content is the 3 buttons. */
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open::before {
    content: none !important;
    display: none !important;
  }

  /* Keep the mobile drawer menu as full-width clean rows. */
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list {
    width: 100% !important;
    max-width: 100% !important;
    align-items: stretch !important;
  }

  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:not(.wp-block-navigation-submenu) > .wp-block-navigation-item__content,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 54px 14px 12px !important;
    color: #111 !important;
    background: transparent !important;
    border-bottom: 1px solid #f2e7ba !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    white-space: normal !important;
  }

  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__label {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    color: inherit !important;
    line-height: 1.35 !important;
  }

  /* WordPress outputs submenu arrow as a separate button. Keep it on the same row at right. */
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu {
    position: relative !important;
    display: block !important;
    min-height: 52px !important;
    color: #111 !important;
  }

  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation__submenu-icon,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > button.wp-block-navigation__submenu-icon,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    left: auto !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #111 !important;
    transform: none !important;
    z-index: 5 !important;
  }

  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation__submenu-icon svg,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > button.wp-block-navigation__submenu-icon svg,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle svg {
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
    stroke: currentColor !important;
    fill: currentColor !important;
  }

  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.atf-submenu-open > .wp-block-navigation__submenu-icon,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.atf-submenu-open > button.wp-block-navigation__submenu-icon,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.atf-submenu-open > .wp-block-navigation-submenu__toggle {
    background: var(--yellow) !important;
    color: #111 !important;
    transform: rotate(180deg) !important;
  }

  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content.atf-active-menu,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.atf-current:not(.wp-block-navigation-submenu) > .wp-block-navigation-item__content,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item:not(.wp-block-navigation-submenu) > .wp-block-navigation-item__content {
    background: var(--yellow) !important;
    color: #111 !important;
  }

  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.atf-current > .wp-block-navigation-item__content,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.current-menu-ancestor > .wp-block-navigation-item__content {
    color: #111 !important;
    background: transparent !important;
  }

  /* Submenu panel: black text, not white; full-width under parent row. */
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
    width: 100% !important;
    max-width: 100% !important;
    color: #111 !important;
    background: #fffdf2 !important;
  }

  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.atf-submenu-open > .wp-block-navigation__submenu-container {
    display: flex !important;
    flex-direction: column !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 4px 0 8px 14px !important;
    background: #fffdf2 !important;
    border-left: 3px solid var(--yellow) !important;
    box-shadow: none !important;
  }

  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
    color: #111 !important;
    background: transparent !important;
  }

  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
  body:not(.wp-admin) .site-header .atf-main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus {
    background: var(--yellow-soft) !important;
    color: #111 !important;
  }
}


/* === Version 1.9: dashboard countdown + stronger full-site responsiveness === */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

.wp-site-blocks,
.wp-block-post-content,
.site-main,
main,
section,
.wp-block-group {
  max-width: 100%;
}

.wp-block-group.container,
.container {
  width: min(1180px, calc(100% - 40px));
  max-width: 1180px;
}

.wp-block-cover,
.wp-block-embed,
.wp-block-video,
.wp-block-image,
.wp-block-gallery,
.wp-block-table,
.card,
.image-card,
.atf-post-card,
.atf-single-post-container {
  max-width: 100%;
}

.wp-block-table,
.table-wrap,
.atf-single-content .wp-block-table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.wp-block-table table,
table {
  max-width: 100%;
}

/* Hero video cover fix for large monitors, ultrawide screens, tablets and phones. */
.hero {
  min-height: clamp(720px, 100svh, 980px);
  isolation: isolate;
  padding-top: clamp(150px, 17vh, 230px);
}

.hero iframe,
.hero video,
.hero .wp-block-embed.hero-video-embed iframe,
.hero .wp-block-embed.hero-video-embed video,
.hero .wp-block-embed.hero-video-embed .wp-block-embed__wrapper > iframe {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: max(100vw, 177.78svh) !important;
  height: max(56.25vw, 100svh) !important;
  min-width: 100vw !important;
  min-height: 100svh !important;
  transform: translate(-50%, -50%) !important;
  object-fit: cover !important;
  border: 0 !important;
  pointer-events: none;
}

.hero .wp-block-embed.hero-video-embed,
.hero .wp-block-embed.hero-video-embed .wp-block-embed__wrapper {
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

.hero-content {
  width: min(980px, calc(100% - 32px));
  margin-inline: auto;
}

.hero h1,
.hero .wp-block-heading:first-of-type {
  overflow-wrap: balance;
  text-wrap: balance;
}

.atf-home-countdown-section {
  position: relative;
  z-index: 3;
  margin-block-start: 0 !important;
  background: linear-gradient(180deg, #fffaf0 0%, #fffdf2 100%);
  padding: clamp(28px, 5vw, 58px) 0;
}

.atf-countdown-wrap {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  border-radius: 30px;
  padding: 2px;
  background:
    linear-gradient(135deg, rgba(255,199,0,.95), rgba(255,122,0,.75), rgba(6,59,46,.9));
  box-shadow: 0 28px 80px rgba(6, 59, 46, .14), 0 16px 50px rgba(255, 199, 0, .16);
}

.atf-countdown-inner {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr);
  align-items: center;
  gap: clamp(18px, 3vw, 44px);
  border-radius: 28px;
  padding: clamp(22px, 4.5vw, 46px);
  background:
    radial-gradient(circle at top left, rgba(255,199,0,.22), transparent 36%),
    linear-gradient(135deg, #063b2e 0%, #092c24 48%, #111827 100%);
  color: #fff;
  overflow: hidden;
  position: relative;
}

.atf-countdown-inner::before {
  content: "";
  position: absolute;
  inset: auto -110px -150px auto;
  width: 330px;
  height: 330px;
  border-radius: 999px;
  background: rgba(255, 199, 0, .16);
  pointer-events: none;
}

.atf-countdown-copy,
.atf-countdown-timer {
  position: relative;
  z-index: 2;
}

.atf-countdown-kicker {
  background: rgba(255,199,0,.16) !important;
  color: var(--yellow) !important;
  border-color: rgba(255,199,0,.44) !important;
  margin-bottom: 14px;
}

.atf-countdown-copy h2 {
  margin: 0;
  color: #fff;
  font-family: 'Cabin', 'Cabin Sans', Arial, sans-serif;
  font-size: clamp(28px, 3.6vw, 52px);
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -1px;
}

.atf-countdown-copy p {
  margin: 12px 0 0;
  color: rgba(255,255,255,.78);
  font-size: clamp(14px, 1.4vw, 18px);
  font-weight: 600;
}

.atf-countdown-timer {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(10px, 1.4vw, 18px);
}

.atf-countdown-item {
  min-width: 0;
  text-align: center;
  border-radius: 22px;
  padding: clamp(14px, 2.2vw, 24px) 10px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.15);
  backdrop-filter: blur(10px);
}

.atf-countdown-item strong {
  display: block;
  color: var(--yellow);
  font-family: 'Cabin', 'Cabin Sans', Arial, sans-serif;
  font-size: clamp(32px, 4vw, 66px);
  line-height: .95;
  font-weight: 700;
  letter-spacing: -1.8px;
  font-variant-numeric: tabular-nums;
}

.atf-countdown-item span {
  display: block;
  margin-top: 9px;
  color: rgba(255,255,255,.82);
  font-size: clamp(11px, 1vw, 13px);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.1px;
}

.atf-countdown-finished {
  border-radius: 0 0 28px 28px;
  background: var(--yellow);
  color: #111;
  padding: 12px 20px;
  text-align: center;
  font-weight: 900;
}

.atf-countdown-wrap.atf-countdown-ended .atf-countdown-timer {
  opacity: .42;
}

.atf-countdown-error {
  width: min(1180px, calc(100% - 40px));
  margin: 20px auto;
  padding: 16px 18px;
  border-radius: 14px;
  background: #fff0f0;
  color: #b00020;
  border: 1px solid #ffc5c5;
  font-weight: 700;
}

/* Responsive grids and cards across inner pages. */
@media (max-width: 1180px) {
  .grid-4,
  .wp-block-group.grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-header .header-actions .wp-block-button__link {
    padding-inline: 16px !important;
  }
}

@media (max-width: 980px) {
  .wp-block-group.container,
  .container,
  .atf-countdown-wrap {
    width: min(100% - 28px, 720px);
  }

  .section,
  .wp-block-group.section {
    padding: 56px 0;
  }

  .hero {
    min-height: 100svh;
    padding-top: 116px;
    padding-bottom: 42px;
  }

  .hero h1,
  .hero .wp-block-heading:first-of-type {
    font-size: clamp(44px, 13vw, 82px) !important;
    line-height: .96 !important;
  }

  .hero h2 {
    font-size: clamp(24px, 7.2vw, 44px) !important;
  }

  .hero-logo,
  .wp-block-image.hero-logo {
    width: min(220px, 56vw) !important;
  }

  .grid,
  .grid-2,
  .grid-3,
  .grid-4,
  .wp-block-group.grid,
  .wp-block-group.grid-2,
  .wp-block-group.grid-3,
  .wp-block-group.grid-4 {
    grid-template-columns: 1fr !important;
  }

  .atf-countdown-inner {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .atf-countdown-timer {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .wp-block-group.container,
  .container,
  .atf-countdown-wrap {
    width: min(100% - 24px, 540px);
  }

  .section,
  .wp-block-group.section {
    padding: 46px 0;
  }

  .hero {
    min-height: max(760px, 100svh);
    padding-top: 104px;
    padding-bottom: 30px;
  }

  .event-meta {
    gap: 8px;
    font-size: 13px;
  }

  .event-meta p {
    margin: 0;
  }

  .hero-actions .wp-block-buttons,
  .hero-actions {
    width: 100%;
  }

  .hero-actions .wp-block-button,
  .hero-actions .wp-block-button__link {
    width: 100%;
  }

  .atf-countdown-inner {
    padding: 22px 14px;
    border-radius: 22px;
  }

  .atf-countdown-wrap {
    border-radius: 24px;
  }

  .atf-countdown-timer {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .atf-countdown-item {
    border-radius: 18px;
    padding: 16px 8px;
  }

  .card,
  .wp-block-group.card {
    padding: 16px;
    border-radius: 18px;
  }

  .section-title {
    font-size: clamp(28px, 9vw, 42px);
  }

  .lead {
    font-size: 16px;
  }
}

@media (max-width: 420px) {
  .atf-countdown-timer {
    gap: 8px;
  }

  .atf-countdown-item strong {
    font-size: 34px;
  }

  .atf-countdown-item span {
    font-size: 10px;
    letter-spacing: .7px;
  }
}


/* === Version 2.0: ATF speakers module === */
.atf-speakers-page-hero.inner-hero {
  background:
    radial-gradient(circle at 96% 0%, rgba(255,199,0,.24), transparent 18%),
    linear-gradient(112deg, #161208 0%, #3d3000 34%, #073b2c 100%) !important;
  padding: clamp(120px, 15vw, 185px) 0 clamp(54px, 8vw, 88px) !important;
  color: #fff;
}

.atf-speakers-page-hero .kicker {
  color: var(--yellow);
  font-family: 'Cabin', 'Cabin Sans', Arial, sans-serif;
  font-weight: 800;
  margin-bottom: 8px;
}

.atf-speakers-page-hero h1 {
  margin: 0;
  color: #fff;
  font-family: 'Cabin', 'Cabin Sans', Arial, sans-serif;
  font-weight: 800;
  line-height: 1.05;
  font-size: clamp(42px, 5.4vw, 74px);
  letter-spacing: -.04em;
}

.atf-speakers-page-section {
  background: #fffaf0;
}

.atf-speakers-module {
  width: 100%;
}

.atf-speakers-intro {
  max-width: 760px;
  margin: 0 auto 28px;
  text-align: center;
}

.atf-speakers-intro h2 {
  margin: 0 0 10px;
  color: var(--green);
  font-family: 'Cabin', 'Cabin Sans', Arial, sans-serif;
  font-size: clamp(32px, 4vw, 54px);
  line-height: 1.08;
}

.atf-speakers-intro p {
  margin: 0;
  color: var(--muted);
  font-size: 17px;
}

.atf-speaker-filter {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0 0 clamp(24px, 4vw, 42px);
}

.atf-speaker-filter a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border-radius: 999px;
  padding: 9px 18px;
  border: 1px solid rgba(6,59,46,.18);
  background: #fff;
  color: var(--green);
  text-decoration: none;
  font-family: 'Cabin', 'Cabin Sans', Arial, sans-serif;
  font-size: 14px;
  font-weight: 800;
  box-shadow: 0 10px 28px rgba(7,7,7,.06);
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.atf-speaker-filter a:hover,
.atf-speaker-filter a:focus,
.atf-speaker-filter a.is-active {
  background: var(--yellow);
  color: #111;
  border-color: var(--yellow);
  transform: translateY(-1px);
}

.atf-speakers-grid {
  --speaker-columns: 4;
  display: grid;
  grid-template-columns: repeat(var(--speaker-columns), minmax(0, 1fr));
  gap: clamp(18px, 2vw, 30px);
  align-items: stretch;
}

.atf-speakers-module[data-speaker-columns="1"] .atf-speakers-grid { --speaker-columns: 1; }
.atf-speakers-module[data-speaker-columns="2"] .atf-speakers-grid { --speaker-columns: 2; }
.atf-speakers-module[data-speaker-columns="3"] .atf-speakers-grid { --speaker-columns: 3; }
.atf-speakers-module[data-speaker-columns="4"] .atf-speakers-grid { --speaker-columns: 4; }

.atf-speaker-card {
  min-width: 0;
  height: 100%;
  background: rgba(255,255,255,.92);
  border: 1px solid var(--yellow);
  border-radius: 0;
  padding: clamp(22px, 2.5vw, 32px) 18px 26px;
  text-align: center;
  box-shadow: 0 18px 48px rgba(6,59,46,.07);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.atf-speaker-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 70px rgba(6,59,46,.13);
  border-color: #d6aa00;
}

.atf-speaker-photo {
  width: clamp(150px, 15vw, 220px);
  aspect-ratio: 1 / 1;
  display: block;
  margin: 0 auto 18px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--yellow-soft);
  box-shadow: 0 12px 36px rgba(6,59,46,.11);
  text-decoration: none;
}

.atf-speaker-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .28s ease;
}

.atf-speaker-card:hover .atf-speaker-photo img {
  transform: scale(1.045);
}

.atf-speaker-card h3 {
  margin: 0 0 4px;
  font-family: 'Cabin', 'Cabin Sans', Arial, sans-serif;
  font-size: clamp(18px, 1.45vw, 22px);
  line-height: 1.2;
  font-weight: 800;
  color: #061427;
}

.atf-speaker-card h3 a {
  color: inherit;
  text-decoration: none;
}

.atf-speaker-card h3 a:hover {
  color: #7a6100;
}

.atf-speaker-card p {
  margin: 0 auto 16px;
  max-width: 260px;
  color: #0f172a;
  font-size: 14px;
  line-height: 1.45;
}

.atf-speaker-view {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 2px;
  min-height: 40px;
  padding: 8px 18px;
  border-radius: 999px;
  background: var(--green);
  color: #fff !important;
  text-decoration: none;
  font-family: 'Cabin', 'Cabin Sans', Arial, sans-serif;
  font-weight: 800;
  font-size: 14px;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.atf-speaker-view:hover,
.atf-speaker-view:focus {
  background: var(--yellow);
  color: #111 !important;
  transform: translateY(-1px);
}

.atf-empty-speakers {
  border: 1px dashed rgba(6,59,46,.35);
  background: #fff;
  color: #0f172a;
  border-radius: 18px;
  padding: 22px;
  text-align: center;
}

.atf-single-speaker-page {
  background: #fffaf0;
}

.atf-single-speaker-card {
  display: grid;
  grid-template-columns: minmax(260px, 420px) minmax(0, 1fr);
  gap: clamp(26px, 4vw, 58px);
  align-items: start;
  background: #fff;
  border: 1px solid rgba(255,199,0,.75);
  border-radius: 30px;
  padding: clamp(22px, 4vw, 52px);
  box-shadow: 0 22px 70px rgba(6,59,46,.10);
}

.atf-single-speaker-photo {
  margin: 0 !important;
  border-radius: 26px;
  overflow: hidden;
  background: var(--yellow-soft);
  box-shadow: 0 18px 54px rgba(6,59,46,.13);
}

.atf-single-speaker-photo img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center;
}

.atf-single-speaker-content {
  min-width: 0;
}

.atf-single-speaker-title {
  margin: 0 0 16px !important;
  color: var(--green);
  font-family: 'Cabin', 'Cabin Sans', Arial, sans-serif;
  font-size: clamp(34px, 4vw, 58px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em;
}

.atf-speaker-profile-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.atf-speaker-profile-cats span {
  display: inline-flex;
  border-radius: 999px;
  background: var(--yellow);
  color: #111;
  padding: 7px 13px;
  font-family: 'Cabin', 'Cabin Sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 800;
}

.atf-speaker-info-list {
  display: grid;
  gap: 8px;
  margin: 0 0 22px;
}

.atf-speaker-info-list p {
  margin: 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: #fff8d6;
  color: #172033;
  font-size: 15px;
}

.atf-speaker-info-list strong {
  color: var(--green);
  font-family: 'Cabin', 'Cabin Sans', Arial, sans-serif;
}

.atf-single-speaker-bio {
  overflow-wrap: anywhere;
}

.atf-single-speaker-bio > *:first-child {
  margin-top: 0;
}

.atf-single-speaker-bio p {
  color: #1f2937;
  font-size: 16px;
}

@media (max-width: 1180px) {
  .atf-speakers-grid {
    --speaker-columns: 3;
  }
}

@media (max-width: 860px) {
  .atf-speakers-page-hero.inner-hero {
    padding-top: 112px !important;
  }
  .atf-speakers-grid,
  .atf-speakers-module[data-speaker-columns] .atf-speakers-grid {
    --speaker-columns: 2;
  }
  .atf-single-speaker-card {
    grid-template-columns: 1fr;
  }
  .atf-single-speaker-photo {
    max-width: 460px;
    width: 100%;
    margin-inline: auto !important;
  }
}

@media (max-width: 560px) {
  .atf-speakers-page-hero h1 {
    font-size: clamp(34px, 11vw, 46px);
  }
  .atf-speaker-filter {
    justify-content: flex-start;
    overflow-x: auto;
    padding-bottom: 6px;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  .atf-speaker-filter a {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .atf-speakers-grid,
  .atf-speakers-module[data-speaker-columns] .atf-speakers-grid {
    --speaker-columns: 1;
  }
  .atf-speaker-card {
    padding: 22px 16px 24px;
  }
  .atf-speaker-photo {
    width: min(205px, 64vw);
  }
  .atf-single-speaker-card {
    border-radius: 22px;
    padding: 18px;
  }
}


/* ATF v2.1 WTM-inspired editable content pages */
.atf-info-page-hero {
  min-height: 310px;
  padding-top: 190px;
  padding-bottom: 80px;
  background:
    radial-gradient(circle at 88% 10%, rgba(255, 199, 0, 0.22), transparent 22%),
    linear-gradient(110deg, rgba(31, 27, 0, 0.96), rgba(6, 59, 46, 0.98));
}
.atf-info-page-hero h1 {
  color: #fff;
  max-width: 900px;
  margin-top: 8px;
  font-size: clamp(2.25rem, 5vw, 4.8rem);
  line-height: 0.98;
}
.atf-info-page-hero .kicker {
  color: var(--yellow);
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.atf-info-lead {
  color: rgba(255,255,255,.88);
  max-width: 760px;
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  font-weight: 600;
}
.atf-info-page {
  background: #fffaf0;
  padding-top: clamp(38px, 5vw, 72px);
}
.atf-info-stack {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  margin-bottom: 26px;
}
.atf-info-card,
.atf-feature-card,
.atf-info-cta {
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(255,199,0,.36);
  border-radius: 26px;
  box-shadow: 0 22px 60px rgba(6,59,46,.08);
  padding: clamp(24px, 3vw, 42px);
  overflow: hidden;
}
.atf-info-card h2,
.atf-info-cta h2 {
  margin-top: 0;
  color: var(--green);
  font-size: clamp(1.75rem, 3vw, 3rem);
  line-height: 1.05;
}
.atf-info-card p,
.atf-feature-card p,
.atf-info-cta p {
  color: #26354f;
  font-size: 1rem;
}
.atf-info-grid {
  gap: 22px;
  margin-top: 26px;
  margin-bottom: 26px;
}
.atf-info-grid .wp-block-column {
  min-width: 0;
}
.atf-feature-card {
  height: 100%;
  position: relative;
  transition: transform .22s ease, box-shadow .22s ease;
}
.atf-feature-card::before {
  content: "";
  display: block;
  width: 48px;
  height: 6px;
  border-radius: 999px;
  background: var(--yellow);
  margin-bottom: 18px;
}
.atf-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 70px rgba(6,59,46,.14);
}
.atf-feature-card h3 {
  margin-top: 0;
  color: var(--dark);
  font-size: 1.25rem;
}
.atf-check-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 20px;
  padding-left: 0 !important;
  list-style: none !important;
}
.atf-check-list li {
  position: relative;
  padding: 12px 14px 12px 42px;
  border-radius: 16px;
  background: var(--yellow-pale);
  color: #1c2a3d;
  font-weight: 700;
}
.atf-check-list li::before {
  content: "✓";
  position: absolute;
  left: 14px;
  top: 11px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 12px;
}
.atf-info-cta {
  text-align: center;
  background:
    radial-gradient(circle at 10% 20%, rgba(255,199,0,.26), transparent 24%),
    linear-gradient(120deg, #063b2e, #102a22);
  color: #fff;
  margin-top: 30px;
}
.atf-info-cta h2,
.atf-info-cta p {
  color: #fff;
}
.atf-info-cta .wp-block-buttons {
  justify-content: center;
}
.atf-info-cta .wp-block-button__link {
  min-width: 175px;
  text-align: center;
}

@media (max-width: 900px) {
  .atf-info-page-hero {
    min-height: 250px;
    padding-top: 140px;
    padding-bottom: 54px;
  }
  .atf-info-grid {
    display: grid !important;
    grid-template-columns: 1fr;
  }
  .atf-info-grid .wp-block-column {
    flex-basis: 100% !important;
  }
  .atf-check-list {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 600px) {
  .atf-info-page-hero {
    padding-top: 120px;
    padding-bottom: 42px;
  }
  .atf-info-page {
    padding-top: 34px;
  }
  .atf-info-card,
  .atf-feature-card,
  .atf-info-cta {
    border-radius: 20px;
    padding: 22px 18px;
  }
  .atf-info-card h2,
  .atf-info-cta h2 {
    font-size: 1.7rem;
  }
}


/* === Version 2.2: WTM-inspired editable reference page layouts === */
.atf-wtm-hero.inner-hero {
  min-height: 360px;
  padding-top: clamp(150px, 16vw, 210px);
  padding-bottom: clamp(54px, 7vw, 96px);
  background:
    radial-gradient(circle at 92% 0%, rgba(255,199,0,.28), transparent 18rem),
    linear-gradient(120deg, rgba(11, 10, 0, .96), rgba(89, 69, 0, .86) 42%, rgba(6, 59, 46, .96));
}
.atf-wtm-hero h1 {
  max-width: 920px;
  font-size: clamp(42px, 6vw, 78px);
  line-height: .98;
  letter-spacing: -.045em;
  margin: 0;
}
.atf-wtm-hero-lead {
  max-width: 760px;
  color: rgba(255,255,255,.86);
  font-size: clamp(17px, 2vw, 22px);
  font-weight: 700;
  margin-top: 24px;
}
.atf-wtm-page {
  background: linear-gradient(180deg, #fffaf0 0%, #fff 40%, #fff9dc 100%);
  padding-top: clamp(46px, 6vw, 84px);
  padding-bottom: clamp(48px, 7vw, 96px);
}
.atf-wtm-split,
.atf-wtm-feature-row {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: clamp(24px, 4vw, 58px);
  align-items: center;
  margin-bottom: clamp(42px, 6vw, 84px);
}
.atf-wtm-split > .wp-block-image,
.atf-wtm-feature-row > .wp-block-image {
  margin: 0;
}
.atf-wtm-copy,
.atf-wtm-feature-copy,
.atf-wtm-card,
.atf-wtm-cta,
.atf-wtm-timeline-content,
.atf-wtm-section-head {
  min-width: 0;
}
.atf-wtm-copy h2,
.atf-wtm-feature-copy h2,
.atf-wtm-section-head h2,
.atf-wtm-cta h2 {
  color: var(--dark);
  font-size: clamp(30px, 4vw, 56px);
  line-height: 1.04;
  letter-spacing: -.035em;
  margin-top: 0;
}
.atf-wtm-lead,
.atf-wtm-section-head .atf-wtm-lead {
  color: #34445e;
  font-size: clamp(16px, 1.45vw, 19px);
  line-height: 1.78;
}
.atf-wtm-image,
.atf-wtm-feature-img,
.atf-wtm-card-img {
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid rgba(255,199,0,.48);
  box-shadow: 0 22px 54px rgba(6,59,46,.13);
  background: linear-gradient(135deg, #fff6ce, #fff);
}
.atf-wtm-image img,
.atf-wtm-feature-img img,
.atf-wtm-card-img img {
  width: 100%;
  height: 100%;
  min-height: 240px;
  object-fit: cover;
  display: block;
}
.atf-wtm-image-tall img {
  min-height: 420px;
}
.atf-wtm-section-head {
  max-width: 860px;
  margin: 0 0 28px;
}
.atf-wtm-grid {
  display: grid;
  gap: 22px;
  margin: 0 0 clamp(42px, 6vw, 84px);
}
.atf-wtm-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.atf-wtm-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.atf-wtm-grid-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.atf-wtm-card,
.atf-wtm-timeline-content,
.atf-wtm-cta {
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(255,199,0,.62);
  border-radius: 28px;
  padding: clamp(20px, 3vw, 30px);
  box-shadow: 0 18px 46px rgba(6,59,46,.08);
  transition: transform .22s ease, box-shadow .22s ease;
}
.atf-wtm-card:hover,
.atf-wtm-timeline-content:hover {
  transform: translateY(-4px);
  box-shadow: 0 26px 70px rgba(6,59,46,.14);
}
.atf-wtm-card .wp-block-image {
  margin: -8px -8px 20px;
  border-radius: 22px;
}
.atf-wtm-card-img img {
  min-height: 176px;
}
.atf-wtm-card h3,
.atf-wtm-timeline-content h3,
.atf-wtm-year h3 {
  margin: 0 0 10px;
  color: #061b35;
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.16;
}
.atf-wtm-card p,
.atf-wtm-feature-copy p,
.atf-wtm-timeline-content p {
  color: #34445e;
}
.atf-wtm-card-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  font-weight: 900;
  color: var(--green) !important;
}
.atf-wtm-card-link::after {
  content: "→";
  color: var(--yellow);
}
.atf-wtm-checks {
  list-style: none !important;
  padding-left: 0 !important;
  display: grid;
  gap: 12px;
  margin-top: 22px;
}
.atf-wtm-checks li {
  position: relative;
  padding: 13px 16px 13px 46px;
  border-radius: 16px;
  background: var(--yellow-pale);
  color: #172033;
  font-weight: 800;
}
.atf-wtm-checks li::before {
  content: "✓";
  position: absolute;
  left: 14px;
  top: 12px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--green);
  color: #fff;
  font-size: 12px;
}
.atf-wtm-checks-wide {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.atf-wtm-feature-row {
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(234,223,186,.9);
  border-radius: 34px;
  padding: clamp(18px, 3vw, 32px);
}
.atf-wtm-feature-row-reverse {
  grid-template-columns: minmax(320px, .95fr) minmax(0, 1.05fr);
}
.atf-wtm-timeline {
  position: relative;
  display: grid;
  gap: 24px;
  margin-bottom: clamp(42px, 6vw, 84px);
}
.atf-wtm-timeline::before {
  content: "";
  position: absolute;
  left: 110px;
  top: 10px;
  bottom: 10px;
  width: 3px;
  background: linear-gradient(var(--yellow), var(--green));
  border-radius: 999px;
}
.atf-wtm-timeline-item {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  position: relative;
}
.atf-wtm-year {
  position: sticky;
  top: 110px;
  z-index: 1;
  background: var(--yellow);
  border-radius: 20px;
  padding: 18px;
  text-align: center;
  box-shadow: 0 18px 40px rgba(0,0,0,.12);
}
.atf-wtm-year h3 {
  font-size: clamp(24px, 4vw, 42px);
  color: #0b0b0b;
}
.atf-wtm-timeline-content .wp-block-image {
  margin: 0 0 20px;
}
.atf-wtm-cta {
  text-align: center;
  background:
    radial-gradient(circle at 8% 0%, rgba(255,199,0,.32), transparent 20rem),
    linear-gradient(135deg, #063b2e, #111827);
  color: #fff;
  border-color: rgba(255,255,255,.18);
}
.atf-wtm-cta h2,
.atf-wtm-cta p {
  color: #fff;
}
.atf-wtm-buttons {
  justify-content: center;
  margin-top: 22px;
}
.atf-wtm-buttons .wp-block-button__link {
  border-radius: 999px;
  min-width: 170px;
  font-weight: 900;
  padding: 14px 24px;
}
.atf-wtm-buttons .btn-primary .wp-block-button__link,
.atf-wtm-buttons .is-style-fill .wp-block-button__link {
  background: var(--yellow);
  color: #111;
}
.atf-wtm-buttons .btn-dark .wp-block-button__link {
  background: var(--green);
  color: #fff;
}
.atf-wtm-buttons .btn-outline .wp-block-button__link {
  background: #fff;
  color: #111;
  border: 2px solid var(--yellow);
}
@media (max-width: 1100px) {
  .atf-wtm-grid-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .atf-wtm-grid-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .atf-wtm-split,
  .atf-wtm-feature-row,
  .atf-wtm-feature-row-reverse {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .atf-wtm-feature-row-reverse .wp-block-image { order: -1; }
  .atf-wtm-image-tall img { min-height: 280px; }
  .atf-wtm-checks-wide { grid-template-columns: 1fr; }
  .atf-wtm-timeline::before { left: 24px; }
  .atf-wtm-timeline-item {
    grid-template-columns: 1fr;
    padding-left: 52px;
  }
  .atf-wtm-year {
    position: relative;
    top: auto;
    width: max-content;
    min-width: 130px;
  }
}
@media (max-width: 640px) {
  .atf-wtm-hero.inner-hero {
    padding-top: 126px;
    padding-bottom: 48px;
    min-height: 280px;
  }
  .atf-wtm-page {
    padding-top: 36px;
    padding-bottom: 54px;
  }
  .atf-wtm-grid,
  .atf-wtm-grid-two,
  .atf-wtm-grid-three,
  .atf-wtm-grid-four {
    grid-template-columns: 1fr;
  }
  .atf-wtm-card,
  .atf-wtm-feature-row,
  .atf-wtm-cta,
  .atf-wtm-timeline-content {
    border-radius: 22px;
    padding: 18px;
  }
  .atf-wtm-card-img img { min-height: 150px; }
  .atf-wtm-timeline-item { padding-left: 42px; }
}


/* Version 2.4: ATF enquiry form module */
.atf-enquiry-page-section {
  background: linear-gradient(180deg, #fffaf0 0%, #ffffff 100%);
}
.atf-enquiry-module {
  width: 100%;
}
.atf-enquiry-shell {
  background:
    radial-gradient(circle at top right, rgba(255, 199, 0, .22), transparent 34%),
    #ffffff;
  border: 1px solid var(--line);
  border-radius: 30px;
  box-shadow: 0 24px 70px rgba(6, 59, 46, .11);
  padding: clamp(24px, 4vw, 46px);
  overflow: hidden;
}
.atf-enquiry-intro {
  max-width: 760px;
  margin-bottom: 26px;
}
.atf-enquiry-intro h2 {
  margin: 7px 0 10px;
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.05;
  color: var(--green);
  font-weight: 900;
}
.atf-enquiry-intro p {
  margin: 0;
  color: #475569;
  font-size: clamp(15px, 1.7vw, 18px);
}
.atf-enquiry-notice {
  border-radius: 18px;
  padding: 14px 16px;
  margin: 0 0 22px;
  font-weight: 700;
}
.atf-enquiry-notice-success {
  color: #064e3b;
  background: #d1fae5;
  border: 1px solid #86efac;
}
.atf-enquiry-notice-error {
  color: #991b1b;
  background: #fee2e2;
  border: 1px solid #fecaca;
}
.atf-enquiry-form {
  display: grid;
  gap: 18px;
}
.atf-enquiry-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.atf-enquiry-form label {
  display: grid;
  gap: 8px;
  color: #0f172a;
  font-weight: 800;
}
.atf-enquiry-form label span {
  font-family: 'Cabin', 'Open Sans', Arial, sans-serif;
  font-size: 14px;
  letter-spacing: .01em;
}
.atf-enquiry-form label em {
  color: #e11d48;
  font-style: normal;
}
.atf-enquiry-form input,
.atf-enquiry-form textarea {
  width: 100%;
  min-height: 54px;
  border: 1.5px solid #eadfba;
  border-radius: 17px;
  background: #fffdf6;
  color: #0f172a;
  font: 600 15px/1.45 'Open Sans', Arial, sans-serif;
  padding: 14px 16px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.atf-enquiry-form textarea {
  min-height: 150px;
  resize: vertical;
}
.atf-enquiry-form input:focus,
.atf-enquiry-form textarea:focus {
  border-color: var(--yellow);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(255, 199, 0, .16);
}
.atf-enquiry-wide {
  grid-column: 1 / -1;
}
.atf-hp-field {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.atf-enquiry-submit {
  justify-self: start;
  min-width: 190px;
  border: 0;
  cursor: pointer;
}
@media (max-width: 760px) {
  .atf-enquiry-shell {
    border-radius: 22px;
    padding: 22px 16px;
  }
  .atf-enquiry-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .atf-enquiry-form {
    gap: 14px;
  }
  .atf-enquiry-submit {
    width: 100%;
  }
}


/* Version 2.4: Visit & Exhibit overview pages, non-destructive update support */
.atf-main-page .atf-wtm-buttons {
  justify-content: flex-start;
}
.atf-main-page-hero .kicker {
  color: var(--yellow);
  font-family: 'Cabin', Arial, sans-serif;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.atf-stats-strip {
  margin-top: -18px;
  margin-bottom: clamp(38px, 5vw, 76px);
}
.atf-stat-card {
  background: linear-gradient(135deg, #063b2e, #10251e);
  color: #fff;
  border-radius: 28px;
  padding: clamp(22px, 3vw, 34px);
  box-shadow: 0 22px 54px rgba(6,59,46,.15);
  border: 1px solid rgba(255,199,0,.35);
  min-width: 0;
}
.atf-stat-card h3 {
  margin: 0 0 8px;
  color: var(--yellow);
  font-family: 'Cabin', Arial, sans-serif;
  font-size: clamp(32px, 4vw, 56px);
  line-height: 1;
}
.atf-stat-card p {
  margin: 0;
  color: rgba(255,255,255,.9);
  font-weight: 800;
}
.atf-number-grid {
  counter-reset: atfReason;
}
.atf-number-grid .atf-wtm-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.atf-number-badge {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin: 0 14px 10px 0;
  border-radius: 16px;
  background: var(--yellow);
  color: #111;
  font-family: 'Cabin', Arial, sans-serif;
  font-size: 18px;
  font-weight: 900;
  vertical-align: middle;
  box-shadow: 0 12px 28px rgba(255,199,0,.28);
}
.atf-testimonial-grid .atf-wtm-card {
  position: relative;
  padding-top: 54px;
}
.atf-testimonial-grid .atf-wtm-card::before {
  content: "“";
  position: absolute;
  top: 12px;
  left: 26px;
  font-size: 72px;
  line-height: 1;
  font-family: Georgia, serif;
  color: rgba(255,199,0,.8);
}
.atf-page-intro-split .atf-wtm-buttons {
  margin-top: 26px;
}
.atf-main-page .atf-wtm-card-link a {
  color: var(--green);
  text-decoration: none;
}
.atf-main-page .atf-wtm-card-link a:hover {
  color: #111;
}
@media (max-width: 1100px) {
  .atf-stats-strip.atf-wtm-grid-four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .atf-main-page .atf-wtm-buttons {
    justify-content: stretch;
  }
  .atf-main-page .atf-wtm-buttons .wp-block-button,
  .atf-main-page .atf-wtm-buttons .wp-block-button__link {
    width: 100%;
    text-align: center;
  }
  .atf-stats-strip.atf-wtm-grid-four {
    grid-template-columns: 1fr;
  }
  .atf-number-badge {
    width: 40px;
    height: 40px;
    border-radius: 13px;
    font-size: 16px;
  }
}
