body,
html {
  max-width: 100%;
  width: 100%;
  overflow-x: hidden;
  min-width: 0;
}

body.site-layout,
.post-layout {
  min-width: 0;
  width: 100%;
  overflow-x: hidden;
  margin: 0;
}

main {
  width: min(100%, 100%);
  max-width: 100%;
}

:root {
  --deh-content-max: 1078px;
  --deh-content-gap: clamp(12px, 2vw, 24px);
  --site-width: min(100%, var(--deh-content-max));
  --root-width: min(100%, var(--deh-content-max));
  --section-max-width: min(100%, var(--deh-content-max));
  --wix-img-max-width: 100%;
}

body.site-layout > main > *:first-child,
main > *:first-child {
  overflow-x: hidden;
}


*,
*::before,
*::after {
  box-sizing: border-box;
}


.site-layout body,
.site-layout main,
.site-layout main > *,
.post-layout main,
.post-layout-main,
.post-layout-main > *,
:where(body.site-layout,
body.post-layout) :where(
  .home-index,
.landing-page,
.clients-page,
.af-page,
.alicante-page,
.services-page,
.apttcb-page,
.certibox-page,
.blog-page,
.booking-page,
.certificado-eidas-page,
.legal-page,
.contact-page,
.documbox-page,
.tc-activation-page,
.faq-page,
.cen-page,
.lexbox-page,
.lexbox-prl-page,
.plans-page,
.plans-as-page,
.reviews-page,
.post-page,
.main,
.home
) {
  min-width: 0 !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.site-layout > main > .site-header,
body.site-layout > main > .site-footer {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.site-layout > main {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.site-layout > main > :where(
  .plans-page,
.certibox-page,
.contact-page,
.services-page,
.faq-page,
.tc-activation-page {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.site-layout main > *,
.post-layout main > * {
  padding-left: 0;
  padding-right: 0;
}

:where(body.site-layout,
body.post-layout) :where(
  .certibox-shell,
.service-band__inner,
.contract__inner,
.post-page__inner,
.post-page__content,
.booking-shell {
  width: min(var(--deh-content-max), calc(100% - (2 * var(--deh-content-gap)))) !important;
  max-width: 100% !important;
}

.tc-activation-page,
.tc-activation-page .tc-hero__inner,
.tc-activation-page .tc-footer__inner,
.certibox-shell,
.service-band__inner,
.contract__inner,
.blog-page,
.post-page,
.post-page__inner,
.post-page__content,
.booking-shell,
.landing-page,
.legal-page,
.faq-page {
  width: min(100%, var(--deh-content-max));
  margin-left: auto;
  margin-right: auto;
}

.tc-hero__inner,
.blog-page,
.post-page,
.booking-shell,
.certibox-shell,
.service-band__inner,
.contract__inner {
  padding-left: var(--deh-content-gap);
  padding-right: var(--deh-content-gap);
  width: min(var(--deh-content-max), calc(100% - (2 * var(--deh-content-gap))));
}

.tc-form-card,
.hero__image,
.blog-page .post-grid {
  width: 100%;
}

.post-page__recent-grid,
.blog-page .post-grid,
.main_MF .post-grid,
.booking-calendar__body,
.booking-layout {
  width: 100% !important;
}

.blog-page .post-grid,
.post-page__recent-grid,
.main_MF .post-grid,
.post-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 16px;
}

.post-layout .post-page,
.post-layout .post-page__inner,
.post-layout .post-page__content {
  width: min(100%, var(--deh-content-max)) !important;
}

body.site-layout img,
body.post-layout img {
  max-width: 100%;
}

body[class*='device-mobile-'],
body:not(.responsive) #site-root {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.blog-page .post-grid {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.booking-calendar__body,
.booking-layout {
  width: 100%;
}

@media (max-width: 1024px) {
  :root {
    --deh-content-max: 1078px;
    --deh-content-gap: 24px;
  }

  .certibox-shell--hero,
  .service-band__inner,
  .booking-layout,
  .booking-calendar__body {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .booking-calendar__body {
    gap: 20px;
  }

  :where(body.site-layout,
body.post-layout) :where(
    body:has(.tc-activation-page),
body:has(.certibox-page),
body:has(.certificado-eidas-page),
body:has(.legal-page),
body:has(.blog-page),
body:has(.post-page),
body:has(.faq-page),
body:has(.home-index),
body:has(.main),
body:has(.booking-page) {
    min-width: 0 !important;
  }

  :where(body.site-layout,
body.post-layout) :is(.service-band__inner,
.contract__inner,
.certibox-shell,
.legal-page) {
    width: min(100%, 100%) !important;
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 768px) {
  :root {
    --deh-content-max: 1078px;
    --deh-content-gap: 24px;
  }

  .blog-page .post-card,
.booking-slot,
.booking-day {
    width: 100%;
  }

  .booking-layout,
.booking-calendar__body {
    grid-template-columns: 1fr;
  }

  :where(body.site-layout,
body.post-layout) :where(
    .tc-activation-page .tc-hero__inner,
.certibox-shell--hero,
.contract__inner,
.post-page__inner,
.post-page__content,
.blog-page .post-card {
    width: min(100%, 100%) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .blog-page .post-grid,
  .post-page__recent-grid,
  .main_MF .post-grid,
  .post-grid {
    grid-template-columns: 1fr !important;
  }

  .post-page {
    padding-top: 28px;
    padding-bottom: 28px;
  }
}

@media (max-width: 980px) {
  body.site-layout:has(.blog-page),
  body.post-layout.site-layout:has(.post-page) {
    width: 980px !important;
    max-width: none !important;
    overflow-x: visible !important;
  }

  body.site-layout:has(.blog-page) main,
  body.post-layout.site-layout:has(.post-page) main {
    width: 980px !important;
    max-width: none !important;
    overflow-x: visible !important;
  }
}

@media (max-width: 1080px) {
  body.site-layout > main > .site-header,
  .site-header {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.site-layout > main > .site-footer,
  .site-footer {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

