/* Espacamento aplicado uma vez por secao, sem multiplicar containers internos. */
@media (max-width: 767px) {
  body { font-size: 16px; }
  body :is(main, .elementor, .woocommerce, .competence-cadastro-wrap, .competence-lista-eventos) :is(h1, h2) {
    font-size: 28px !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere;
  }
  body :is(main, .elementor, .woocommerce, .competence-cadastro-wrap, .competence-lista-eventos) :is(h3, h4, h5, h6) {
    font-size: 23px !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere;
  }
  body :is(main, .elementor, .woocommerce, .competence-cadastro-wrap, .competence-lista-eventos) :is(p, li, label, input:not([type=checkbox]):not([type=radio]), select, textarea),
  body .c-home :is(.c-home-btn, .c-home-text-link, .c-home-faq-item summary, .c-home-features small, .c-home-kicker, .c-home-event-status, .c-home-event-cta, .c-home-video-sound),
  body .elementor :is(.elementor-widget-text-editor, .elementor-button-text) {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
  body .c-home-features strong { font-size: 23px; line-height: 1.3; }
  body .c-home > section:not(.c-home-gallery) {
    padding: 70px 15px;
    min-height: 0;
  }
  body .c-home > section > .c-home-shell {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin-inline: auto;
  }
  body .c-home :is(.c-home-hero-grid, .c-home-about-grid, .c-home-fishing-grid, .c-home-faq-layout, .c-home-steps-row, .c-home-event-grid, .c-home-amenities-grid) {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  body .c-home :is(.c-home-about-copy, .c-home-fishing-copy) { padding: 0; }
  body .c-home .c-home-about-slider { min-height: 320px; }
  body .c-home .c-home-features { grid-template-columns: 1fr; gap: 24px; }
  body .c-home .c-home-actions { flex-direction: column; align-items: stretch; }
  body .c-home .c-home-btn { white-space: normal; text-align: center; min-height: 48px; }
  body .c-home .c-home-hero-events { margin-inline: 16px; min-width: 0; }
  body .c-home .c-home-section-head { display: block; }
  body .c-home .c-home-section-head > p { margin: 20px 0 0; }
  body .c-home :is(.c-home-hero-copy h1, .c-home-event h3) { min-height: 0; }
  body .c-home .c-home-step { grid-template-columns: 56px minmax(0, 1fr); gap: 16px; }
  body .c-home .c-home-step-icon { width: 56px; height: 56px; }
  body .c-home .c-home-step p { font-size: 16px; }
  body .c-home .c-home-gallery { padding-block: 15px; }

  body :is(.competence-agenda, .competence-lista-eventos, .competence-cadastro-wrap, .competence-pagamento),
  body.woocommerce-account main > .page-content > .woocommerce,
  body.woocommerce-cart main > .page-content > .woocommerce,
  body .competence-evento-single :is(.competence-evento-hero, .competence-evento-conteudo) {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 70px 15px;
  }
  /* Containers Elementor sem shortcode proprio: preserva apenas um nivel de padding. */
  body .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con:not(:has(.c-home, .competence-agenda, .competence-lista-eventos, .competence-cadastro-wrap, .competence-pagamento, .woocommerce)) {
    padding: 70px 15px;
    --padding-top: 70px;
    --padding-bottom: 70px;
    --padding-left: 15px;
    --padding-right: 15px;
  }
  body .elementor > .e-con:has(.c-home, .competence-agenda, .competence-lista-eventos, .competence-cadastro-wrap, .competence-pagamento) {
    padding: 0;
    --padding-top: 0px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    --padding-right: 0px;
  }
  body :is(.competence-evento-hero-inner, .competence-evento-conteudo-inner, .competence-pagamento-grid) { grid-template-columns: minmax(0, 1fr); }
  body .competence-agenda-workspace { display: block; }
  body .competence-agenda-calendario { padding: 18px 8px; min-width: 0; }
  body .competence-agenda-resumo { display: block; position: static; padding: 24px 15px; }
  body .competence-agenda-total { display: flex; flex-wrap: wrap; min-width: 0; border-left: 0; padding-left: 0; }
  body .competence-cadastro-form { padding-inline: 15px; }
  body .competence-pagamento-etapa { flex: 1 1 0; min-width: 0; }
  body .competence-pagamento-reserva { flex-wrap: wrap; gap: 10px; }
  body .competence-conta-reservas-header { flex-direction: column; align-items: flex-start; }
  body .competence-conta-reserva { grid-template-columns: minmax(0, 1fr); }
  body :is(.competence-modal-participante-dialog, .competence-pagamento-box) { max-width: 100%; box-sizing: border-box; }
  body :is(main, .woocommerce) :is(input, select, textarea) { max-width: 100%; box-sizing: border-box; }
}

/* Alinhamento central de conteudo e widgets na versao mobile. */
@media (max-width: 767px) {
  body :is(main, .elementor:not(.elementor-location-footer):not([data-elementor-type="footer"]):not(footer *), .woocommerce, .competence-cadastro-wrap, .competence-lista-eventos),
  body :is(main, .elementor:not(.elementor-location-footer):not([data-elementor-type="footer"]):not(footer *), .woocommerce, .competence-cadastro-wrap, .competence-lista-eventos) :is(h1, h2, h3, h4, h5, h6, p, li, label, summary, small, figcaption, .elementor-widget-container, .elementor-heading-title, .elementor-button-wrapper, .elementor-widget-text-editor) {
    text-align: center !important;
  }
  body .elementor:not(.elementor-location-footer):not([data-elementor-type="footer"]):not(footer *) .e-con {
    --align-items: center;
    --justify-content: center;
  }
  body .elementor:not(.elementor-location-footer):not([data-elementor-type="footer"]):not(footer *) :is(.elementor-widget-heading, .elementor-widget-text-editor, .elementor-widget-button, .elementor-widget-image, .elementor-widget-icon, .elementor-widget-icon-box, .elementor-widget-image-box) {
    align-self: center;
    text-align: center !important;
  }
  body .elementor:not(.elementor-location-footer):not([data-elementor-type="footer"]):not(footer *) :is(.elementor-icon-box-wrapper, .elementor-image-box-wrapper) {
    text-align: center !important;
  }
  body .elementor:not(.elementor-location-footer):not([data-elementor-type="footer"]):not(footer *) :is(.elementor-icon-list-item, .elementor-social-icons-wrapper, .elementor-button, .elementor-nav-menu--dropdown a) { justify-content: center; }
  body .elementor:not(.elementor-location-footer):not([data-elementor-type="footer"]):not(footer *) .elementor-icon-list-items { justify-content: center; }
  body .elementor:not(.elementor-location-footer):not([data-elementor-type="footer"]):not(footer *) :is(.elementor-image-box-img, .elementor-icon-box-icon) { margin-inline: auto !important; }
  body .c-home :is(.c-home-new-heading, .c-home-hero-copy h1, .c-home-hero-copy > p, .c-home-new-heading > p, .c-home-section-head > p, .c-home-amenity-icon, .c-home-fishing-copy > p) { margin-inline: auto; }
  body .c-home :is(.c-home-actions, .c-home-event-detail, .c-home-location-inner) { justify-content: center; }
  body .c-home .c-home-event-status { align-self: center; }
  body .c-home .c-home-features > div { justify-items: center; text-align: center; }
  body .c-home .c-home-step { grid-template-columns: minmax(0, 1fr); justify-items: center; }
  body .c-home .c-home-faq-item summary { justify-content: center; position: relative; padding-inline: 28px; }
  body .c-home .c-home-faq-item summary > span { position: absolute; right: 0; }
  body .c-home .c-home-faq-item > p { padding-inline: 0; }
  body .competence-conta-reservas-header { align-items: center; }
  body .competence-conta-reserva { justify-items: center; }
  body :is(.competence-agenda-hero, .competence-agenda-resumo, .competence-cadastro-form, .competence-pagamento-box) { text-align: center; }
}
@media (max-width: 767px) {
  body .c-home .c-home-kicker {
    text-align: center !important;
  }
}