/* ============================================================
   Guyana Theme — Mobile Optimizations
   Breakpoints: 980px (tablet / Divi mobile nav), 767px (phone)
   ============================================================ */

html {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.guyana-theme {
  overflow-x: hidden;
}

img,
video,
svg,
iframe {
  max-width: 100%;
  height: auto;
}

/* ---- Tablet & Mobile (≤980px) ---- */
@media (max-width: 980px) {
  #top-menu-nav {
    display: none !important;
  }

  .mobile_menu_bar {
    display: block !important;
  }

  #main-header {
    padding: 0 !important;
  }

  #main-header .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 14px !important;
  }

  #main-header .et_menu_container {
    padding: 8px 0 !important;
  }

  #logo {
    max-height: 52px !important;
  }

  #top-header {
    padding: 6px 12px !important;
  }

  #header_donate .gy-donate-btn,
  #header_donate .text_donate {
    font-size: 11px !important;
    padding: 8px 16px !important;
  }

  .mobile_menu_bar {
    padding: 10px !important;
    min-width: 44px;
    min-height: 44px;
  }

  .mobile_menu_bar:before {
    font-size: 30px !important;
  }

  .et_mobile_menu {
    border-top: 3px solid var(--gy-gold) !important;
    background: var(--gy-white) !important;
    max-height: calc(100dvh - 110px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    box-shadow: var(--gy-shadow-lg) !important;
  }

  .et_mobile_menu li a {
    padding: 14px 18px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--gy-green-dark) !important;
    border-bottom: 1px solid var(--gy-gray-100) !important;
    line-height: 1.4 !important;
  }

  .et_mobile_menu li li a {
    padding: 12px 18px 12px 30px !important;
    font-size: 14px !important;
    background: var(--gy-gray-50) !important;
  }

  #main-content .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #left-area,
  #content-area {
    width: 100% !important;
    float: none !important;
  }

  .et_pb_section {
    padding: 36px 0 !important;
  }

  .et_pb_row {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .home-hero-banner .et_pb_image_wrap,
  .home-hero-banner .et_pb_image_wrap img {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .home-hero-banner .et_pb_image_wrap img,
  .gy-event-hero img {
    min-height: 28vh !important;
    object-position: center top !important;
  }

  .et_pb_contact_form .et_pb_contact_field,
  .et_pb_contact_form .et_pb_contact_field input,
  .et_pb_contact_form .et_pb_contact_field textarea {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .et_pb_contact_submit {
    width: 100% !important;
  }

  .et_pb_newsletter_form .et_pb_newsletter_field,
  .et_pb_newsletter_form .et_pb_newsletter_field input[type="email"] {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .et_pb_newsletter_button_wrap {
    width: 100% !important;
  }

  .et_pb_newsletter_button {
    width: 100% !important;
    min-height: 48px;
  }

  .gform_wrapper .gfield {
    width: 100% !important;
  }

  .gform_wrapper .ginput_container {
    width: 100% !important;
  }

  .gy-welcome-section {
    padding: 36px 16px !important;
  }

  .gy-welcome-section .et_pb_text_inner h2 {
    font-size: 1.55rem !important;
  }

  .gy-welcome-section .et_pb_text_inner p {
    font-size: 0.95rem !important;
    padding: 0 4px;
  }

  .gy-quick-links.et_pb_row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .gy-quick-links .et_pb_column {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .gy-quick-links .et_pb_button,
  .gy-quick-links .gy-events-popup__trigger {
    width: 100% !important;
    min-height: 48px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }

  .gy-vending__highlights,
  .gy-media-accred__highlights,
  .gy-parade-rules__highlights,
  .gy-news__stats,
  .gy-gallery__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .gy-gala-btn,
  .gy-parade__actions .gy-gala-btn,
  .gy-concert__actions .gy-gala-btn,
  .gy-flag-raising__actions .gy-gala-btn,
  .gy-vending__actions .gy-gala-btn,
  .gy-parade-rules__actions .gy-gala-btn,
  .gy-parade-rules__cta-btn,
  .gy-sponsors-page__cta-actions .gy-gala-btn {
    min-height: 44px;
  }

  .gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
  .gform_wrapper select,
  .gform_wrapper textarea,
  .gy-contact__field input,
  .gy-contact__field textarea,
  .et_pb_contact_form .et_pb_contact_field input,
  .et_pb_contact_form .et_pb_contact_field textarea {
    font-size: 16px !important;
    min-height: 44px;
  }

  .gform_wrapper .gform_button,
  .gform_wrapper .gform_next_button,
  .gform_wrapper .gform_previous_button,
  .et_pb_contact_submit {
    min-height: 48px !important;
  }

  .gform_wrapper .gfield_checkbox li,
  .gform_wrapper .gfield_radio li {
    margin-bottom: 10px !important;
  }

  .gform_wrapper .gfield_checkbox li label,
  .gform_wrapper .gfield_radio li label {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  .et_pb_countdown_timer {
    padding: 22px 14px !important;
  }

  .et_pb_countdown_timer .section p {
    font-size: 1.35rem !important;
  }

  #main-footer .container {
    padding: 24px 16px !important;
  }

  #footer-widgets .footer-widget {
    margin-bottom: 20px !important;
  }

  .gy-flyer-lightbox,
  .gy-gallery-lightbox,
  .gy-events-popup {
    width: min(100vw, 100%) !important;
    max-width: 100vw !important;
    margin: 0 auto;
  }

  .gy-events-popup__panel {
    max-height: 92dvh;
  }

  body.page-id-2022 #main-content,
  body.page-id-25807 #main-content {
    padding: 24px 0 48px !important;
  }

  body.page-id-2022 .entry-title,
  body.page-id-25807 .entry-title {
    text-align: center;
    font-size: clamp(1.35rem, 4vw, 1.85rem) !important;
    padding: 0 16px 16px !important;
    line-height: 1.25 !important;
  }

  body.page-id-2022 .entry-content,
  body.page-id-25807 .entry-content {
    max-width: 680px;
    margin: 0 auto;
    padding: 0 16px !important;
  }

  .et_social_sidebar_networks {
    display: none !important;
  }
}

/* ---- Phone (≤767px) ---- */
@media (max-width: 767px) {
  .gy-welcome-section {
    padding: 28px 14px !important;
  }

  .gy-welcome-section .et_pb_text_inner h2 {
    font-size: 1.3rem !important;
  }

  .et_pb_section {
    padding: 28px 0 !important;
  }

  .gy-quick-links.et_pb_row {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .gy-home-cards__body,
  .gy-home-cards {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .gy-home-card__body {
    padding: 18px 16px 20px !important;
  }

  .gy-home-card__title {
    font-size: 1.05rem !important;
  }

  .gy-vending__highlights,
  .gy-media-accred__highlights,
  .gy-parade-rules__highlights,
  .gy-news__stats,
  .gy-gallery__stats,
  .gy-honorees__stats {
    grid-template-columns: 1fr !important;
  }

  .gy-vending__body,
  .gy-media-accred__body,
  .gy-parade-rules__body,
  .gy-news__body,
  .gy-gallery__body,
  .gy-honorees__hero,
  .gy-sponsors-page__hero,
  .gy-contact__body,
  .gy-chairman__layout,
  .gy-executive,
  .gy-executive__section,
  .gy-news-article__body,
  .gy-parade,
  .gy-concert,
  .gy-flag-raising,
  .gy-gala {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .gy-news-article__content img,
  .gy-news-article__content iframe,
  .gy-news-article__content video,
  .gy-news-article__content table {
    max-width: 100%;
    height: auto;
  }

  .gy-news-article__content {
    overflow-wrap: break-word;
    word-wrap: break-word;
  }

  .gy-vending__card,
  .gy-media-accred__card,
  .gy-parade-rules__card,
  .gy-news-article__content,
  .gy-chairman__card,
  .gy-honorees__card,
  .gy-sponsors-page__cta-card {
    padding: 20px 16px !important;
  }

  .gy-news__card--featured {
    grid-template-columns: 1fr !important;
  }

  .gy-news__card--featured .gy-news__card-media {
    min-height: auto;
  }

  .gy-news__card--featured .gy-news__card-image {
    min-height: 200px;
  }

  .gy-news__grid {
    grid-template-columns: 1fr !important;
  }

  .gy-chairman__highlights,
  .gy-chairman__layout {
    grid-template-columns: 1fr !important;
  }

  .gy-honorees__grid,
  .gy-executive__grid,
  .gy-sponsors-page__grid {
    grid-template-columns: 1fr !important;
    max-width: 400px;
    margin: 0 auto;
  }

  .gy-sponsors-page__stats {
    flex-direction: column;
    align-items: stretch;
  }

  .gy-gallery__toolbar {
    flex-direction: column;
    align-items: stretch;
    padding: 14px !important;
  }

  .gy-gallery__filters {
    justify-content: flex-start;
  }

  .gy-gallery__filter {
    flex: 1 1 auto;
    text-align: center;
  }

  .gy-gallery__grid {
    grid-template-columns: 1fr !important;
    max-width: 420px;
    margin: 0 auto;
  }

  .gy-gallery-lightbox__nav {
    width: 40px !important;
    height: 40px !important;
  }

  .gy-events-popup__grid {
    grid-template-columns: 1fr !important;
  }

  .gy-contact__field-row,
  .gy-contact__sidebar {
    flex-direction: column;
  }

  .gy-contact__field {
    width: 100% !important;
  }

  .gy-contact__submit,
  .gform_wrapper .gform_button {
    width: 100% !important;
  }

  .gy-parade__actions,
  .gy-concert__actions,
  .gy-flag-raising__actions,
  .gy-vending__actions,
  .gy-parade-rules__actions,
  .gy-sponsors-page__cta-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .gy-gala-btn,
  .gy-parade__actions .gy-gala-btn,
  .gy-concert__actions .gy-gala-btn,
  .gy-flag-raising__actions .gy-gala-btn,
  .gy-vending__actions .gy-gala-btn,
  .gy-parade-rules__actions .gy-gala-btn,
  .gy-parade-rules__cta-btn,
  .gy-sponsors-page__cta-actions .gy-gala-btn,
  .et_pb_button {
    width: 100% !important;
    text-align: center;
    justify-content: center;
  }

  .gy-gala-jump {
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    justify-content: flex-start;
    gap: 10px;
    padding-bottom: 4px;
  }

  .gy-gala-jump a {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .gy-news-article__title,
  .gy-parade-rules__title,
  .gy-vending__title,
  .gy-media-accred__title,
  .gy-honorees__heading,
  .gy-news__title,
  .gy-gallery__title,
  .gy-sponsors-page__title,
  .gy-contact__title,
  .gy-chairman__title,
  .gy-parade__title,
  .gy-concert__title,
  .gy-gala-hero__title {
    font-size: clamp(1.3rem, 5vw, 1.75rem) !important;
    line-height: 1.25 !important;
  }

  .gy-news__card-title,
  .gy-home-card__title {
    font-size: 1rem !important;
  }

  .gy-news__pagination-item .page-numbers {
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
  }

  .et_pb_countdown_timer .section.values {
    min-width: 52px !important;
  }

  .et_pb_countdown_timer .section p {
    font-size: 1.1rem !important;
  }

  .et_pb_text_inner ul.gy-social-links {
    gap: 1rem !important;
  }

  .et_pb_text_inner ul.gy-social-links img {
    width: 52px !important;
    height: 52px !important;
  }

  body.gy-news-article-page #main-content,
  body.gy-gallery-page #main-content,
  body.gy-news-page #main-content,
  body.gy-parade-rules-page #main-content,
  body.gy-media-accred-page #main-content,
  body.gy-honorees-page #main-content,
  body.gy-chairman-page #main-content,
  body.gy-contact-page #main-content {
    padding-top: 20px !important;
    padding-bottom: 48px !important;
  }
}

/* ---- Small phones (≤480px) ---- */
@media (max-width: 480px) {
  #header_donate .gy-donate-btn,
  #header_donate .text_donate {
    font-size: 10px !important;
    padding: 7px 12px !important;
  }

  #logo {
    max-height: 46px !important;
  }

  .gy-sponsors-carousel__track {
    animation-duration: 28s;
  }

  .gy-sponsors-carousel__link {
    width: 100%;
    text-align: center;
  }

  .gy-events-popup__header,
  .gy-events-popup__grid {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .gy-gallery__filter {
    font-size: 12px !important;
    padding: 9px 12px !important;
  }

  .gy-flyer-lightbox__close,
  .gy-flag-lightbox__close {
    top: max(12px, env(safe-area-inset-top));
    right: max(12px, env(safe-area-inset-right));
  }
}

@supports (padding: max(0px)) {
  @media (max-width: 767px) {
    #top-header .container,
    #main-header .container,
    #main-footer .container {
      padding-left: max(16px, env(safe-area-inset-left)) !important;
      padding-right: max(16px, env(safe-area-inset-right)) !important;
    }
  }
}
