/* =========================================================
   OXVA SITEWIDE MOBILE IMPROVEMENTS
   ========================================================= */

@media (max-width: 768px) {

  /* Global page spacing */
  body,
  .site,
  .site-content,
  .entry-content,
  .elementor-section,
  .elementor-container,
  .e-con-inner {
    max-width: 100%;
  }

  .site-content,
  .entry-content {
    overflow-x: hidden;
  }

  /* Main content padding */
  .entry-content > *,
  .elementor-widget-container,
  .elementor-container,
  .e-con-inner {
    box-sizing: border-box;
  }

  /* Headings */
  h1,
  .entry-content h1,
  .elementor-widget-heading h1.elementor-heading-title {
    font-size: 32px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    word-break: balance;
  }

  h2,
  .entry-content h2,
  .elementor-widget-heading h2.elementor-heading-title {
    font-size: 26px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em !important;
  }

  h3,
  .entry-content h3,
  .elementor-widget-heading h3.elementor-heading-title {
    font-size: 22px !important;
    line-height: 1.25 !important;
  }

  h4,
  .entry-content h4,
  .elementor-widget-heading h4.elementor-heading-title {
    font-size: 18px !important;
    line-height: 1.3 !important;
  }

  p,
  li,
  .elementor-widget-text-editor,
  .elementor-widget-text-editor p,
  .elementor-widget-icon-box .elementor-icon-box-description {
    font-size: 15px !important;
    line-height: 1.75 !important;
  }

  /* Images */
  img,
  .elementor img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* Buttons */
  .elementor-button,
  .ast-button,
  .button,
  .wp-block-button__link,
  a.oxva-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 48px !important;
    padding: 13px 18px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  /* Button groups / CTA rows */
  .elementor-button-wrapper,
  .oxva-button-row,
  .cta-row {
    width: 100%;
  }

  .cta-row,
  .oxva-cta-row,
  .elementor-widget-wrap .elementor-element.elementor-widget-button {
    margin-bottom: 12px;
  }

  /* Force multi-column layouts to stack */
  .elementor-column,
  .elementor-col-50,
  .elementor-col-33,
  .elementor-col-25,
  .wp-block-column {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-column-gap-default > .elementor-column > 
.elementor-element-populated {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Grids and cards */
  [style*="grid-template-columns"],
  .oxva-hub-grid,
  .oxva-why-grid,
  .oxva-buying-grid,
  .oxva-switch-top,
  .oxva-pod-block {
    grid-template-columns: 1fr !important;
  }

  /* Tables */
  table {
    display: block !important;
    width: 100% !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }

  /* Embedded widgets / iframes */
  iframe,
  .elementor-widget-video iframe {
    max-width: 100% !important;
  }

  /* Prevent oversized inline HTML sections */
  section[style],
  div[style] {
    max-width: 100% !important;
  }

  /* Common spacing cleanup */
  .elementor-section {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Cards */
  .oxva-hub-card,
  .oxva-why-card,
  .oxva-buying-card,
  .oxva-faq-item,
  .oxva-tip {
    border-radius: 16px !important;
  }

  /* FAQ buttons */
  .oxva-faq-question {
    font-size: 15px !important;
    line-height: 1.5 !important;
    text-align: left !important;
  }
}

/* Smaller phones */
@media (max-width: 480px) {
  h1,
  .entry-content h1,
  .elementor-widget-heading h1.elementor-heading-title {
    font-size: 28px !important;
  }

  h2,
  .entry-content h2,
  .elementor-widget-heading h2.elementor-heading-title {
    font-size: 23px !important;
  }

  p,
  li {
    font-size: 14px !important;
  }

  .elementor-section {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .elementor-button,
  .ast-button,
  .button,
  a.oxva-btn {
    width: 100% !important;
  }
}

/* =========================================
   OXVA global mobile fixes for custom pages
   ========================================= */

@media (max-width: 768px) {

  /* Hide top strip on mobile */
  .oxva-top-strip {
    display: none !important;
  }

  /* Tighter page spacing */
  .oxva-eliquid-hub,
  .oxva-hub-section,
  .oxva-why-section,
  .oxva-switch-section,
  .oxva-buying-guide-section,
  .oxva-pods-liquid-section,
  .oxva-eeat-section,
  .oxva-faq-section {
    padding-top: 0 !important;
    padding-bottom: 40px !important;
  }

  /* Consistent side padding */
  .oxva-eliquid-wrap,
  .oxva-hub-wrap,
  .oxva-why-wrap,
  .oxva-switch-wrap,
  .oxva-buying-guide-wrap,
  .oxva-pods-wrap,
  .oxva-eeat-wrap,
  .oxva-faq-wrap {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  /* Hero tighter */
  .oxva-hero {
    padding-top: 10px !important;
    padding-bottom: 8px !important;
  }

  .oxva-hero-card,
  .oxva-faq-wrap,
  .oxva-bottom-cta,
  .oxva-switch-table,
  .oxva-pod-block,
  .oxva-buying-card,
  .oxva-why-card,
  .oxva-hub-card,
  .oxva-card {
    border-radius: 16px !important;
  }

  .oxva-hero-grid,
  .oxva-switch-top,
  .oxva-pod-block,
  .oxva-hub-feature,
  .oxva-buying-grid,
  .oxva-why-grid,
  .oxva-hub-grid,
  .oxva-card-grid,
  .oxva-card-grid-3,
  .oxva-info-grid,
  .oxva-compare-grid,
  .oxva-trust-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  /* Less padding inside large boxes */
  .oxva-hero-grid,
  .oxva-faq-wrap,
  .oxva-bottom-cta,
  .oxva-pod-block,
  .oxva-switch-content,
  .oxva-card-body,
  .oxva-hub-feature-content,
  .oxva-buying-card .oxva-content,
  .oxva-why-card,
  .oxva-hub-card,
  .oxva-info-panel,
  .oxva-compare-panel,
  .oxva-faq-item {
    padding: 16px !important;
  }

  /* Headings tighter */
  .oxva-hero h1 {
    font-size: clamp(2rem, 9vw, 3rem) !important;
    line-height: 0.98 !important;
    margin-bottom: 10px !important;
  }

  .oxva-section-head h2,
  .oxva-faq-wrap h2,
  .oxva-buying-guide-header h2,
  .oxva-pods-header h2,
  .oxva-eeat-wrap h2,
  .oxva-why-header h2,
  .oxva-switch-header h2,
  .oxva-hub-header h2 {
    font-size: 26px !important;
    line-height: 1.08 !important;
    margin-bottom: 8px !important;
  }

  /* Reduce section gaps */
  .oxva-section {
    padding-top: 24px !important;
  }

  .oxva-section-head {
    margin-bottom: 14px !important;
  }

  /* Buttons stacked and neat */
  .oxva-hero-actions,
  .oxva-card-actions {
    flex-direction: column !important;
    gap: 10px !important;
  }

  .oxva-btn,
  .oxva-btn-outline,
  .oxva-card-action,
  .oxva-pill-link,
  .oxva-mini-btn,
  a.oxva-btn {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }

  /* Card images less tall */
  .oxva-card-media {
    aspect-ratio: 16 / 10 !important;
    min-height: 0 !important;
  }

  .oxva-buying-card .oxva-img {
    height: 180px !important;
  }

  .oxva-hub-feature img,
  .oxva-switch-top img,
  .oxva-card-media img,
  .oxva-buying-card img {
    height: 100% !important;
    object-fit: cover !important;
  }

  /* Trust boxes smaller */
  .oxva-trust-item {
    min-height: 46px !important;
    padding: 10px 12px !important;
  }

  .oxva-trust-item span {
    font-size: 0.72rem !important;
    line-height: 1.25 !important;
  }

  /* Floating panel below hero image */
  .oxva-floating-panel {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 12px 0 0 !important;
  }

  .oxva-hero-visual {
    min-height: auto !important;
    padding-top: 0 !important;
  }

  .oxva-hero-image {
    max-width: 100% !important;
  }

  /* Tables scroll correctly */
  .oxva-switch-table,
  table {
    display: block !important;
    width: 100% !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 480px) {

  .oxva-eliquid-wrap,
  .oxva-hub-wrap,
  .oxva-why-wrap,
  .oxva-switch-wrap,
  .oxva-buying-guide-wrap,
  .oxva-pods-wrap,
  .oxva-eeat-wrap,
  .oxva-faq-wrap {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .oxva-hero-grid,
  .oxva-faq-wrap,
  .oxva-bottom-cta,
  .oxva-pod-block,
  .oxva-card-body,
  .oxva-hub-feature-content,
  .oxva-buying-card .oxva-content,
  .oxva-why-card,
  .oxva-hub-card,
  .oxva-info-panel,
  .oxva-compare-panel,
  .oxva-faq-item {
    padding: 14px !important;
  }

  .oxva-hero h1 {
    font-size: 30px !important;
  }

  .oxva-section-head h2,
  .oxva-faq-wrap h2,
  .oxva-buying-guide-header h2,
  .oxva-pods-header h2,
  .oxva-eeat-wrap h2,
  .oxva-why-header h2,
  .oxva-switch-header h2,
  .oxva-hub-header h2 {
    font-size: 23px !important;
  }

  .oxva-buying-card .oxva-img {
    height: 160px !important;
  }

  .oxva-card-title,
  .oxva-info-panel h3,
  .oxva-compare-panel h3,
  .oxva-faq-item h3 {
    font-size: 0.95rem !important;
  }

  .oxva-card-desc,
  .oxva-info-panel p,
  .oxva-compare-panel p,
  .oxva-faq-item p,
  .oxva-hero-intro,
  .oxva-hero-subtext {
    font-size: 0.9rem !important;
    line-height: 1.65 !important;
  }
}


/* =========================================================
   OXVA GLOBAL MOBILE FIXES FOR REPEATED CUSTOM SECTION BLOCKS
   ========================================================= */

@media (max-width: 768px) {

  /* hide thin top utility strip on mobile */
  .oxva-top-strip {
    display: none !important;
  }

  /* tighten repeated section spacing */
  .oxva-eliquid-hub,
  .oxva-hub-section,
  .oxva-why-section,
  .oxva-switch-section,
  .oxva-buying-guide-section,
  .oxva-pods-liquid-section,
  .oxva-eeat-section,
  .oxva-faq-section {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }

  /* reduce large gaps between stacked blocks */
  .oxva-section {
    padding-top: 22px !important;
  }

  .oxva-section-head {
    margin-bottom: 14px !important;
  }

  .oxva-hero {
    padding: 8px 0 6px !important;
  }

  .oxva-hero-card {
    border-radius: 18px !important;
  }

  .oxva-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 18px 16px 16px !important;
  }

  .oxva-kicker {
    margin-bottom: 10px !important;
    font-size: .72rem !important;
    padding: 7px 11px !important;
  }

  .oxva-hero h1 {
    font-size: 32px !important;
    line-height: 1.02 !important;
    margin-bottom: 10px !important;
    max-width: 100% !important;
  }

  .oxva-hero-intro,
  .oxva-hero-subtext {
    font-size: .92rem !important;
    line-height: 1.58 !important;
    margin-bottom: 12px !important;
  }

  .oxva-hero-actions {
    gap: 10px !important;
    margin-bottom: 12px !important;
  }

  .oxva-hero-actions .oxva-btn,
  .oxva-hero-actions .oxva-btn-outline,
  .oxva-bottom-cta .oxva-btn,
  .oxva-bottom-cta .oxva-btn-outline {
    width: 100% !important;
    min-height: 44px !important;
    padding: 12px 16px !important;
    font-size: .9rem !important;
  }

  .oxva-popular {
    gap: 8px !important;
    margin-top: 4px !important;
  }

  .oxva-chip-link {
    width: 100% !important;
    justify-content: center !important;
  }

  /* keep image compact */
  .oxva-hero-visual {
    min-height: auto !important;
    padding-top: 0 !important;
  }

  .oxva-hero-image-wrap {
    max-width: 100% !important;
  }

  .oxva-hero-image {
    max-width: 100% !important;
    width: 100% !important;
    max-height: 240px !important;
    object-fit: contain !important;
  }

  /* floating panel should not create awkward overlap/gaps */
  .oxva-floating-panel {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 0 !important;
  }

  /* trust boxes */
  .oxva-trust-strip {
    padding: 12px 0 0 !important;
  }

  .oxva-trust-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .oxva-trust-item {
    min-height: 44px !important;
    padding: 9px 10px !important;
    border-radius: 12px !important;
  }

  .oxva-trust-item span {
    font-size: .68rem !important;
    line-height: 1.2 !important;
  }

  /* repeated card systems */
  .oxva-card-grid,
  .oxva-card-grid-3,
  .oxva-info-grid,
  .oxva-compare-grid,
  .oxva-hub-grid,
  .oxva-why-grid,
  .oxva-buying-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .oxva-card,
  .oxva-info-panel,
  .oxva-compare-panel,
  .oxva-hub-card,
  .oxva-why-card,
  .oxva-buying-card,
  .oxva-faq-item,
  .oxva-bottom-cta,
  .oxva-faq-wrap,
  .oxva-pod-block,
  .oxva-tip,
  .oxva-switch-table {
    border-radius: 16px !important;
  }

  .oxva-card-body,
  .oxva-info-panel,
  .oxva-compare-panel,
  .oxva-hub-card,
  .oxva-why-card,
  .oxva-buying-card .oxva-content,
  .oxva-pod-block,
  .oxva-tip,
  .oxva-faq-item,
  .oxva-bottom-cta,
  .oxva-faq-wrap {
    padding: 16px !important;
  }

  /* stop weird image sizing in cards */
  .oxva-card-media {
    aspect-ratio: 16 / 10 !important;
  }

  .oxva-card-media img,
  .oxva-hub-feature img,
  .oxva-switch-top img,
  .oxva-buying-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .oxva-buying-card .oxva-img {
    height: 180px !important;
  }

  .oxva-pod-block {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    text-align: left !important;
  }

  .oxva-pod-image {
    justify-content: flex-start !important;
  }

  .oxva-pod-image img {
    max-width: 120px !important;
  }

  .oxva-hub-feature {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .oxva-hub-feature-content {
    padding: 16px !important;
  }

  .oxva-switch-top {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  /* prevent giant heading gaps */
  .oxva-hub-header,
  .oxva-why-header,
  .oxva-switch-header,
  .oxva-buying-guide-header,
  .oxva-pods-header,
  .oxva-section-head {
    margin-bottom: 16px !important;
  }

  .oxva-hub-header h2,
  .oxva-why-header h2,
  .oxva-switch-header h2,
  .oxva-buying-guide-header h2,
  .oxva-pods-header h2,
  .oxva-eeat-wrap h2,
  .oxva-faq-wrap h2,
  .oxva-section-head h2 {
    font-size: 24px !important;
    line-height: 1.15 !important;
    margin-bottom: 8px !important;
  }

  .oxva-hub-header p,
  .oxva-why-header p,
  .oxva-switch-header p,
  .oxva-buying-guide-header p,
  .oxva-pods-header p,
  .oxva-section-head p,
  .oxva-eeat-wrap p,
  .oxva-faq-sub {
    font-size: .92rem !important;
    line-height: 1.62 !important;
  }

  /* FAQ buttons */
  .oxva-faq-question {
    padding: 15px 16px !important;
    font-size: .95rem !important;
    line-height: 1.4 !important;
    text-align: left !important;
  }

  .oxva-faq-answer {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .oxva-faq-item.active .oxva-faq-answer {
    padding-bottom: 16px !important;
  }

  /* tables */
  .oxva-switch-table {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    width: 100% !important;
  }

  .oxva-switch-table th,
  .oxva-switch-table td {
    padding: 12px !important;
    font-size: .86rem !important;
  }
}

@media (max-width: 480px) {

  .oxva-eliquid-wrap,
  .oxva-hub-wrap,
  .oxva-why-wrap,
  .oxva-switch-wrap,
  .oxva-buying-guide-wrap,
  .oxva-pods-wrap,
  .oxva-eeat-wrap,
  .oxva-faq-wrap {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .oxva-hero-grid,
  .oxva-card-body,
  .oxva-info-panel,
  .oxva-compare-panel,
  .oxva-hub-card,
  .oxva-why-card,
  .oxva-buying-card .oxva-content,
  .oxva-pod-block,
  .oxva-tip,
  .oxva-faq-item,
  .oxva-bottom-cta,
  .oxva-faq-wrap,
  .oxva-hub-feature-content {
    padding: 14px !important;
  }

  .oxva-hero h1 {
    font-size: 28px !important;
  }

  .oxva-hub-header h2,
  .oxva-why-header h2,
  .oxva-switch-header h2,
  .oxva-buying-guide-header h2,
  .oxva-pods-header h2,
  .oxva-eeat-wrap h2,
  .oxva-faq-wrap h2,
  .oxva-section-head h2 {
    font-size: 22px !important;
  }

  .oxva-buying-card .oxva-img {
    height: 160px !important;
  }

  .oxva-card-title,
  .oxva-info-panel h3,
  .oxva-compare-panel h3,
  .oxva-faq-item h3,
  .oxva-pod-content h3,
  .oxva-hub-feature-content h3,
  .oxva-buying-card .oxva-content h3 {
    font-size: .98rem !important;
    line-height: 1.35 !important;
  }

  .oxva-card-desc,
  .oxva-info-panel p,
  .oxva-compare-panel p,
  .oxva-faq-item p,
  .oxva-hero-intro,
  .oxva-hero-subtext,
  .oxva-pod-content p,
  .oxva-eeat-wrap p {
    font-size: .88rem !important;
    line-height: 1.58 !important;
  }

  .oxva-trust-grid {
    grid-template-columns: 1fr !important;
  }
}
