/* Shared by the private sections and the standalone/legacy marketing shortcodes.
   Keep selectors scoped: the public theme and its footer manage their own layout. */
:is(.ap-proveedor-provider-page, .ap-proveedor-portal, .ap-proveedor-wizard, .ap-proveedor-espacios, .ap-proveedor-content, .sma-area-full, .ceco-portal-reservas) {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
:is(.ap-proveedor-portal, .ap-proveedor-wizard, .ap-proveedor-espacios, .ap-proveedor-content, .sma-area-full, .ceco-portal-reservas),
:is(.ap-proveedor-portal, .ap-proveedor-wizard, .ap-proveedor-espacios, .ap-proveedor-content, .sma-area-full, .ceco-portal-reservas) * {
  box-sizing: border-box;
}
:is(.ap-proveedor-provider-page, .ap-proveedor-portal, .ap-proveedor-wizard, .ap-proveedor-espacios, .ap-proveedor-content, .sma-area-full, .ceco-portal-reservas) :where(div, section, article, form, fieldset, dl, dt, dd) {
  min-width: 0;
}
:is(.ap-proveedor-keyword-chip, .ap-proveedor-category-chip, .ap-proveedor-wizard-pill, .ap-proveedor-panel-status, .ap-proveedor-content-date, .sma-chip, .sma-file a) {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
:is(.ap-proveedor-contacts-table, .ap-proveedor-documents-table) :is(th, td) > * {
  min-width: 0;
  max-width: 100%;
}
.ap-proveedor-section-notice { align-items: flex-start; }
.ap-proveedor-proveedor-header.ap-proveedor-proveedor-header--compact a.ap-proveedor-logout.ap-proveedor-logout--icon {
  flex-basis: 44px;
  width: 44px;
}

/* Allow content to shrink instead of hiding overflowing form controls. */
.ap-proveedor-wizard.ap-proveedor-wizard,
.ap-proveedor-espacios.ap-proveedor-espacios { overflow-x: visible; }
:is(.ap-proveedor-portal, .ap-proveedor-wizard, .ap-proveedor-espacios, .ap-proveedor-content, .ceco-portal-reservas) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  font-size: 16px;
}
:is(.ap-proveedor-portal, .ap-proveedor-wizard, .ap-proveedor-espacios, .ap-proveedor-content, .ceco-portal-reservas) :is(button, .ap-proveedor-btn, .ap-proveedor-btn-next, .ap-proveedor-btn-save, .button) {
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  white-space: normal;
  overflow-wrap: anywhere;
}
:is(.ap-proveedor-marketing-content, .ap-proveedor-portal, .ap-proveedor-content, .sma-area-full) :is(img, video, iframe) {
  max-width: 100%;
}
:is(.ap-proveedor-marketing-content, .ap-proveedor-content, .sma-area-full) :is(video, img) { height: auto; }
.ap-proveedor-provider-content .elementor :is(.elementor-column, .elementor-widget, .elementor-widget-container, .e-con, .e-con-inner) {
  min-width: 0;
}
.ap-proveedor-portal .ap-proveedor-content-grid,
.ap-proveedor-portal .ap-proveedor-reservas-grid { grid-template-columns: minmax(0, 1fr); }
.ap-proveedor-reservas-3col.ap-proveedor-reservas-3col { grid-template-columns: minmax(0, 1fr); }
.sma-area-full .sma-pack-grid { grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); }
.sma-area-full .sma-pack-amount { flex-shrink: 0; max-width: 100%; white-space: normal; }
:is(.ap-proveedor-actions, .ap-proveedor-box-actions, .ap-proveedor-wizard-topbar, .ap-proveedor-content-row, .sma-space-title, .sma-totals) { flex-wrap: wrap; }
.ap-proveedor-espacios .ap-proveedor-actions { flex-wrap: wrap; }
.ap-proveedor-content .ap-proveedor-c-actions input[type="file"] { flex: 1 1 240px; }
.ap-proveedor-wizard .ap-proveedor-step-num { flex-shrink: 0; }
.ceco-portal-reservas > div:first-child,
.ceco-portal-reservas label > div { flex-wrap: wrap; }
.ceco-portal-reservas input[type="checkbox"] { flex-shrink: 0; }

@media (min-width: 1101px) {
  .ap-proveedor-portal .ap-proveedor-content-grid,
  .ap-proveedor-portal .ap-proveedor-reservas-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1281px) {
  .ap-proveedor-reservas-3col.ap-proveedor-reservas-3col { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1280px) {
  .ap-proveedor-navigation-top { grid-template-columns: 170px minmax(0, 1fr); }
  .ap-proveedor-navigation-account { grid-column: 2; grid-row: 1; }
  .ap-proveedor-topnav { grid-column: 1 / -1; }
  .ap-proveedor-topnav ul { column-gap: 24px; }
}
@media (max-width: 1100px) {
  .ap-proveedor-wizard .ap-proveedor-fecha-row,
  .ap-proveedor-portal .ap-proveedor-fecha-row { grid-template-columns: minmax(0, 1fr) !important; }
  .ap-proveedor-content .ap-proveedor-content-head,
  .ap-proveedor-content .ap-proveedor-c-line { grid-template-columns: minmax(0, 1fr); }
  .ap-proveedor-content .ap-proveedor-content-date { justify-self: start; }
  .ap-proveedor-content .ap-proveedor-c-label { padding-top: 0; }
}
@media (max-width: 980px) {
  .ap-proveedor-espacios .ap-proveedor-plan-card { min-height: 0; }
  .ap-proveedor-espacios .ap-proveedor-plan-head { min-height: 0; }
}
@media (max-width: 720px) {
  .ap-proveedor-provider-page { --ap-proveedor-gutter: 20px; }
  .ap-proveedor-marketing-content .elementor-section > .elementor-container { flex-wrap: wrap; }
  .ap-proveedor-marketing-content .elementor-column.elementor-column { width: 100%; }
  .ap-proveedor-marketing-content .e-con.e-con { --flex-wrap: wrap; flex-wrap: wrap; }
  .ap-proveedor-marketing-content .e-con > .e-con,
  .ap-proveedor-marketing-content .e-con-inner > .e-con { --width: 100%; width: 100%; max-width: 100%; }
  .ap-proveedor-wizard .ap-proveedor-panel-inner { padding: 12px; }
  .ap-proveedor-wizard.is-choosing-plan > .ap-proveedor-panel[data-panel="espacios"] > .ap-proveedor-panel-inner { padding: 0; }
  .ap-proveedor-wizard .ap-proveedor-wizard-topbar { gap: 12px; }
  .ap-proveedor-content .ap-proveedor-content-entry,
  .ap-proveedor-portal .ap-proveedor-card { padding: 12px; }
  .ap-proveedor-content .ap-proveedor-c-line,
  .ap-proveedor-portal .ap-proveedor-fecha-row { padding: 10px; }
  .ap-proveedor-wizard .ap-proveedor-step { line-height: 1.35; }
}
@media (max-width: 520px) {
  .ap-proveedor-provider-page { --ap-proveedor-gutter: 16px; }
  .ap-proveedor-navigation-top { grid-template-columns: 130px minmax(0, 1fr); }
  .ap-proveedor-proveedor-header.ap-proveedor-proveedor-header--compact { grid-template-columns: minmax(44px, 1fr) 44px; }
  .ap-proveedor-topnav ul { gap: 4px 16px; }
  .ap-proveedor-marketing-nav ul { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
  .ap-proveedor-marketing-nav a { width: 100%; max-width: none; }
  .ap-proveedor-information-identity { flex-wrap: wrap; }
  .ap-proveedor-information-identity-text { flex: 1 1 160px; }
  .ap-proveedor-contacts-table tbody :is(th, td),
  .ap-proveedor-documents-table tbody :is(th, td) { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 10px 0; }
  .ap-proveedor-contacts-table tbody [data-label]::before,
  .ap-proveedor-documents-table tbody [data-label]::before { font-size: 14px; }
  :is(.ap-proveedor-wizard-nav, .ap-proveedor-wizard-actions, .ap-proveedor-actions, .ap-proveedor-box-actions) { width: 100%; }
  :is(.ap-proveedor-wizard, .ap-proveedor-portal, .ap-proveedor-espacios, .ap-proveedor-content) :is(.ap-proveedor-wizard-nav, .ap-proveedor-wizard-actions, .ap-proveedor-actions, .ap-proveedor-box-actions) > :is(button, .button, .ap-proveedor-btn) { flex: 1 1 100%; width: 100%; }
  .ap-proveedor-actions .ap-proveedor-status { flex: 1 1 100%; }
  .sma-area-full.sma-bookings .sma-booking-summary { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 16px; }
  .sma-area-full .sma-booking-meta { grid-column: 1; grid-row: auto; grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .sma-area-full .sma-booking-action { justify-content: stretch; }
  .sma-area-full.sma-bookings .sma-booking-toggle { width: 100%; }
  .sma-area-full .sma-pack-card { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 360px) {
  .ap-proveedor-navigation-top { grid-template-columns: 110px minmax(0, 1fr); }
}
