/* ==========================================
   BETZAVTA MOBILE — POCKET EDITORIAL

   Load this file last.
========================================== */

@media (max-width: 767px) {
  :root {
    --page-gutter: 16px;
    --section-padding: 56px;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    --shadow-soft: 0 5px 16px rgba(24, 34, 58, 0.07);
    --shadow-medium: 0 10px 28px rgba(24, 34, 58, 0.11);
  }

  html {
    font-size: 15px;
  }

  body {
    font-size: 1rem;
    line-height: 1.68;
  }

  h1 { font-size: clamp(2.55rem, 12vw, 3.4rem); }
  h2 { font-size: clamp(2rem, 9vw, 2.65rem); }
  h3 { font-size: clamp(1.55rem, 7vw, 2rem); }

  p {
    margin-bottom: 1.1rem;
  }

  .section-label {
    padding: 6px 10px;
    font-size: 0.67rem;
  }

  .btn-primary,
  .btn-secondary,
  .btz-btn .elementor-button {
    min-height: 40px !important;
    padding: 12px 18px !important;
    font-size: 0.7rem !important;
  }

  /* ------------------------------------------
     HEADER
  ------------------------------------------ */

  .btz-header {
    flex-direction: row;
    align-items: center;
    width: calc(100% - 24px);
    margin-top: 10px;
    padding: 12px 14px;
    border-radius: 14px;
    gap: 12px;
  }

  .btz-header__logo,
  .btz-header__actions {
    display: flex;
    justify-content: flex-start;
  }

  .btz-logo {
    font-size: 1.7rem;
  }

  .btz-header__logo img {
    height: 32px;
  }

  .btz-header__nav {
    margin-left: auto;
  }

  .btz-header__nav .elementor-nav-menu {
    justify-content: flex-end;
  }

  .btz-header__nav .elementor-item {
    padding: 7px 8px !important;
    font-size: 0.65rem;
    letter-spacing: 0.04em;
  }

  .btz-header__actions {
    display: none;
  }

  /* ------------------------------------------
     HOMEPAGE
  ------------------------------------------ */

  .btz-hero,
  .btz-about__label,
  .btz-about__content,
  .btz-events__label,
  .btz-events__grid,
  .btz-events__all {
    width: calc(100% - 32px);
  }

  .btz-hero {
    grid-template-columns: 1fr;
    padding: 48px 0 58px;
    gap: 32px;
  }

  .btz-hero__content {
    padding: 14px 0 14px 18px;
    border-left-width: 4px;
  }

  .btz-hero__title {
    margin-bottom: 14px;
    font-size: clamp(3rem, 18vw, 4.15rem);
    line-height: 0.96;
  }

  .btz-hero__subtitle {
    margin-bottom: 16px;
    font-size: clamp(1.5rem, 8vw, 2rem);
  }

  .btz-hero__text {
    max-width: 34ch;
    margin-bottom: 22px;
    font-size: 0.96rem;
  }

  .btz-hero__buttons {
    gap: 10px;
  }

  .btz-hero__image img {
    height: 250px;
    border-radius: 48% 48% 14px 14px;
    box-shadow: 7px 7px 0 var(--color-accent-yellow);
  }

  .btz-about,
  .btz-events {
    padding: 54px 0;
  }

  .btz-about__label,
  .btz-events__label {
    margin-bottom: 28px;
  }

  .btz-about__content {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .btz-about__title {
    padding: 0;
  }

  .btz-about__title h2,
  .btz-about__title .elementor-heading-title {
    font-size: 2.15rem;
  }

  .btz-about__text {
    padding: 20px 0 0;
    border-top: 1px solid rgba(24, 34, 58, 0.22);
    border-left: 0;
  }

  .btz-events__grid .elementor-loop-container {
    grid-template-columns: 1fr !important;
    gap: 14px;
  }

  /* ------------------------------------------
     EVENT CARDS
  ------------------------------------------ */

  .btz-event-card,
  .elementor-155 .elementor-element.elementor-element-885d660 {
    min-height: 0 !important;
    --min-height: 0px;
  }

  .btz-event-card {
    padding: 14px;
    border-width: 1px;
    border-radius: 16px;
    box-shadow: 4px 4px 0 var(--color-text);
  }

  .btz-event-card:hover {
    box-shadow: 2px 2px 0 var(--color-text);
    transform: translate(2px, 2px);
  }

  .btz-event-card__image {
    height: 176px;
    margin-bottom: 18px;
    border-radius: 11px !important;
  }

  .btz-event-card__image img {
    border-radius: 11px !important;
  }

  .btz-event-card__top {
    margin-bottom: 14px;
  }

  .btz-event-card__category {
    margin-bottom: 14px;
    padding: 5px 9px;
    font-size: 0.62rem;
  }

  .btz-event-card__title,
  .btz-event-card__title a {
    font-size: 1.4rem;
    line-height: 1.18;
  }

  .btz-event-card__title {
    margin-bottom: 22px;
  }

  .btz-event-card__bottom {
    gap: 16px;
  }

  .btz-event-card__arrow {
    width: 38px;
    height: 38px;
    font-size: 1.2rem;
  }

  /* ------------------------------------------
     SINGLE EVENT
  ------------------------------------------ */

  .btz-single-event,
  .elementor-253 .elementor-element.elementor-element-a4dd7ba {
    grid-template-columns: 1fr;
    width: calc(100% - 32px);
    padding: 40px 0 64px;
    gap: 42px;
  }

  .btz-back-link {
    margin-bottom: 22px;
    padding: 6px 10px;
    font-size: 0.64rem;
  }

  .btz-event-main h1,
  .btz-event-main .elementor-heading-title {
    max-width: 14ch;
    margin-bottom: 22px;
    font-size: clamp(2.6rem, 13vw, 3.45rem);
  }

  .btz-event-main h1::after,
  .btz-event-main .elementor-heading-title::after {
    width: 62px;
    height: 5px;
    margin-top: 18px;
  }

  .btz-event-main img,
  .elementor-253 .elementor-element.elementor-element-ca3c4ca img {
    height: 260px !important;
    margin: 22px 0 36px;
    border-radius: 14px;
    box-shadow: 7px 7px 0 var(--color-accent-yellow);
  }

  .btz-event-main p {
    font-size: 1rem;
    line-height: 1.72;
  }

  .btz-event-main h2,
  .btz-event-main .wp-block-heading:is(h2) {
    margin-top: 44px;
    font-size: 2rem;
  }

  .btz-event-main h3,
  .btz-event-main .wp-block-heading:is(h3) {
    margin-top: 36px;
    font-size: 1.65rem;
  }

  .btz-event-main h4,
  .btz-event-main .wp-block-heading:is(h4) {
    margin-top: 30px;
    font-size: 1.18rem;
  }

  .btz-event-sidebar {
    position: static;
    padding: 20px;
    border-top-width: 4px;
    border-radius: 16px;
    box-shadow: var(--shadow-soft);
  }

  .btz-event-detail {
    grid-template-columns: 34px 1fr;
    margin-bottom: 15px;
    padding-bottom: 15px;
    gap: 13px;
  }

  .btz-event-detail .elementor-icon {
    width: 34px;
    height: 34px;
  }

  .btz-event-info-box {
    margin-top: 38px;
    padding: 20px;
    border-radius: 14px;
  }

  /* ------------------------------------------
     GENERIC SINGLE PAGE
  ------------------------------------------ */

  .btz-page {
    padding: 48px 0 70px;
  }

  .btz-page__layout {
    grid-template-columns: 1fr;
    width: calc(100% - 32px);
    gap: 54px;
  }

  .btz-page__title,
  .btz-page__title .elementor-heading-title {
    margin-bottom: 34px;
    padding-left: 18px;
    font-size: clamp(2.6rem, 13vw, 3.35rem);
  }

  .btz-page__content p,
  .btz-page__content .elementor-widget-theme-post-content p {
    margin-bottom: 1.25rem;
    font-size: 1rem;
    line-height: 1.72;
  }

  .btz-page__content h2,
  .btz-page__content .elementor-widget-theme-post-content h2 {
    margin-top: 48px;
    font-size: 2rem;
  }

  .btz-page__content h3,
  .btz-page__content .elementor-widget-theme-post-content h3 {
    margin-top: 38px;
    font-size: 1.55rem;
  }

  .btz-page__content ul,
  .btz-page__content ol,
  .btz-page__content .elementor-widget-theme-post-content ul,
  .btz-page__content .elementor-widget-theme-post-content ol {
    padding-left: 1.2rem;
    gap: 8px;
  }

  .post-content {
    max-width: none;
    font-size: 0.98rem;
    line-height: 1.72;
  }

  .post-content p {
    margin-bottom: 1.25em;
  }

  .post-content h2 {
    margin-top: 2.7rem;
    font-size: 1.75rem;
  }

  .post-content h3 {
    margin-top: 2.2rem;
    font-size: 1.38rem;
  }

  .post-content figure,
  .post-content .wp-block-image,
  .post-content .wp-caption {
    margin: 2.25rem 0;
  }

  .post-content img {
    max-height: 68vh;
    border-radius: 15px;
    box-shadow: 6px 6px 0 var(--color-accent-yellow);
  }

  .post-content figure:nth-of-type(even) img,
  .post-content .wp-block-image:nth-of-type(even) img {
    box-shadow: -6px 6px 0 var(--color-accent-blue);
  }

  .post-content .wp-block-gallery {
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 2.25rem 0;
  }

  .post-content .wp-block-gallery img {
    min-height: 0;
  }

  .btz-page__sidebar {
    position: static;
    padding-top: 38px;
  }

  .btz-page__sidebar-title,
  .btz-page__sidebar-title .elementor-heading-title {
    margin-bottom: 22px;
    font-size: 2.1rem;
  }

  .btz-page__updates .elementor-loop-container {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .btz-update-card {
    padding: 12px;
    border-radius: 14px;
  }

  .btz-update-card__image {
    height: 170px;
    margin-bottom: 14px;
  }

  /* ------------------------------------------
     PRIVACY PAGE
  ------------------------------------------ */

  .btz-privacy {
    width: calc(100% - 32px);
    padding: 48px 0 68px;
  }

  .btz-privacy__header,
  .btz-privacy__layout {
    grid-template-columns: 1fr;
  }

  .btz-privacy__header {
    margin-bottom: 38px;
    padding-bottom: 24px;
    gap: 20px;
  }

  .btz-privacy__title,
  .btz-privacy__title .elementor-heading-title {
    font-size: 2.8rem;
  }

  .btz-privacy__toc {
    position: static;
    padding: 18px;
    border-width: 1px;
    border-radius: 14px;
    box-shadow: 4px 4px 0 var(--color-text);
  }

  .btz-privacy__content h2,
  .btz-privacy .elementor-widget-theme-post-content h2 {
    margin-top: 44px;
    font-size: 2rem;
  }

  .btz-privacy__content table,
  .btz-privacy .elementor-widget-theme-post-content table {
    display: block;
    overflow-x: auto;
    font-size: 0.86rem;
  }

  /* ------------------------------------------
     COOKIE CONSENT
  ------------------------------------------ */

  .ikz-consent-manage {
    right: 12px;
    bottom: 12px;
    left: 12px;
    width: calc(100% - 24px);
    min-height: 40px;
    padding: 9px 14px;
    border-width: 1px;
    box-shadow: 3px 3px 0 var(--color-text);
    font-size: 0.7rem;
  }

  .ikz-consent-banner {
    right: 10px;
    bottom: 10px;
    left: 10px;
    width: calc(100% - 20px);
    max-height: calc(100dvh - 20px);
    padding: 20px 16px;
    border-width: 1px;
    border-radius: 16px;
    box-shadow: 5px 5px 0 var(--color-text);
  }

  .ikz-consent-title {
    font-size: 2rem;
  }

  .ikz-consent-copy {
    margin-bottom: 18px;
    font-size: 0.92rem;
  }

  .ikz-consent-choice {
    padding: 12px;
    border-radius: 11px;
  }

  .ikz-consent-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .ikz-consent-button {
    width: 100%;
    min-height: 40px;
    padding: 11px 14px;
  }

  /* ------------------------------------------
     FOOTER
  ------------------------------------------ */

  .elementor-location-footer,
  .btz-footer {
    border-top-width: 5px;
  }

  .btz-footer__top,
  .elementor-147 .elementor-element.elementor-element-52a29a8 {
    grid-template-columns: 1fr;
    width: calc(100% - 32px);
    padding: 46px 0 38px !important;
    gap: 34px;
  }

  .btz-footer__logo {
    margin-bottom: 14px;
    font-size: 2.3rem;
  }

  .btz-footer__tagline {
    max-width: 30ch;
    font-size: 0.92rem;
  }

  .btz-footer__title {
    margin-bottom: 18px;
    font-size: 0.7rem;
  }

  .btz-footer__title::after {
    margin-top: 10px;
  }

  .elementor-location-footer a,
  .elementor-location-footer .elementor-icon-list-text,
  .elementor-location-footer .elementor-item,
  .btz-footer a,
  .btz-footer .elementor-icon-list-text,
  .btz-footer .elementor-item {
    font-size: 0.92rem;
    line-height: 1.65;
  }

  .btz-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    width: calc(100% - 32px);
    padding: 22px 0 26px !important;
    gap: 14px;
  }

  .btz-footer__legal .elementor-nav-menu {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 14px;
  }
}

@media (max-width: 420px) {
  .btz-header__nav .elementor-item {
    padding-inline: 6px !important;
    font-size: 0.6rem;
  }

  .btz-hero__buttons,
  .btz-cookie-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .btz-hero__buttons .elementor-widget,
  .btz-hero__buttons .elementor-button,
  .btz-hero__buttons a {
    width: 100%;
  }

  .btz-event-main img,
  .elementor-253 .elementor-element.elementor-element-ca3c4ca img {
    height: 220px !important;
  }

  .btz-update-card__image {
    height: 150px;
  }
}
