/* main.min.css [hidden] uses display:none!important. A progressive toggle
   must beat it ONLY when the validated audience initializer has run. */
html[data-price-audience] [data-price-toggle].price-toggle[hidden] {
  display: flex !important;
}
/* Inactive button inherits a readable light color on the dark section.
   The existing selected button remains white with #1e4850 text. */
html body main .s-prices.background-dark > .container > .price-toggle {
  color: #fff;
}

/* W25C: reviewed candidate, SPEC-W25-GATES section 7.
   Preserve hero geometry/typography and A1; W25A owns the map.
   Only T4 needs !important: main.min.css .text-justify declares it.
   Source: candidate-align-fixes.css; rejected variants are not included. */

/* T1/T6/T7: centre the existing readable column; long and legal text left. */
html body main .s-about:not(.blog-article):not(.faq-visible-source):not(.blog-hub-group) > .container > .text:not(:has(> .faq)) {
  width: 100%; max-width: 72ch; margin-inline: auto; text-align: left;
}
/* T3: short CTA lead, T4: remove justified rivers without editing copy. */
html body main .s-about .text > p:has(+ p > a.btn:only-child) { text-align: center; margin-inline: auto; }
html body main .s-about .text.text-justify { text-align: left !important; }
html body main .s-about .seo-link-list { margin-bottom: 1.5rem; }
html body main .s-about.blog-article-meta > .container > .text { max-width: none; }
html body main .s-about.legal-document h2,
html body main .s-about.legal-document h3 { line-height: 1.25; }
/* T2: W25A map has its own width/alignment; do not enter that block. */
html body main section:not(.w25-service-area) .top > .descr { margin-inline: auto; }
/* V1/G1 */
html body main .s-video .descr,
html body main .s-tours .descr { margin-inline: auto; text-align: center; }
html body main .w8-content-gallery__more > summary,
html body main .w8-content-before-after__more > summary { text-align: center; }
/* P1/P2 */
html body main .s-prices .wrapper .card .title { justify-content: flex-start; text-align: left; }
@media (min-width: 1100px) {
  html body main .s-prices .wrapper .card .title { min-height: 3lh; }
}
/* N1/N2/C1 */
html body main section.s-garanties.s-garanties--numbered:not(.background-image) .guarantee-item__body { align-self: start; }
html body section.s-garanties.s-garanties--icons:not(.background-image) .guarantee-item { align-content: start; }
html body .s-contacts > .container .wrap .item { justify-content: flex-start; }
/* F1/F2/R1 */
html body .footer .f-links { align-items: flex-start; }
html body .footer .copyright { flex-direction: column; align-items: center; gap: .25rem; }
html body main .s-reviews .detail .title { justify-content: flex-start; }
/* R2: only mobile arrows; keep dots, swipe and desktop unchanged. */
@media (max-width: 768px) {
  html body main .s-reviews .swiper-button-prev,
  html body main .s-reviews .swiper-button-next { display: none; }
}
/* Q1: preserve native select behavior. */
html body .s-feedback form .form-field select {
  width: 100%; min-height: 40px; padding: .375rem .75rem; font-size: 1rem;
  border: .125rem solid #c7b793; background: #fff;
}
/* W2: desktop grid only. Mobile action keeps its own full-width row. */
@media (min-width: 48rem) {
  html body main .w8-pricing:not(.w19-photo-package) .w8-pricing__row > .w8-pricing__action { grid-row: 1; align-self: center; }
}
/* W1: W25B-2 already changes these tables. Same desktop tracks and price/action
   columns; move existing photo delivery cell to track 2, not a new copy. */
@media (min-width: 62rem) {
  html body main .w8-pricing.w19-photo-package .w8-pricing__head,
  html body main .w8-pricing.w19-photo-package .w8-pricing__row,
  html body main .w8-pricing .w8-pricing__head,
  html body main .w8-pricing .w8-pricing__row {
    grid-template-columns: minmax(11rem,1.25fr) minmax(8.5rem,1fr) minmax(7rem,.7fr) minmax(8.5rem,.85fr) minmax(8.5rem,.75fr);
  }
  html body main .w8-pricing.w19-photo-package .w8-pricing__head > :first-child { grid-column: 1; grid-row: 1; }
  html body main .w8-pricing.w19-photo-package .w8-pricing__head > :nth-child(2),
  html body main .w8-pricing.w19-photo-package .w8-pricing__row > .tax-breakdown--table { grid-column: 3 / 5; grid-row: 1; }
  html body main .w8-pricing.w19-photo-package .w8-pricing__head > :nth-child(3),
  html body main .w8-pricing.w19-photo-package .w8-pricing__row > .w19-card__terms { grid-column: 2; grid-row: 1; }
  html body main .w8-pricing.w19-photo-package .w8-pricing__head > :nth-child(4),
  html body main .w8-pricing.w19-photo-package .w8-pricing__row > .w8-pricing__action { grid-column: 5; grid-row: 1; }
}
/* N-4: contain horizontal scrolling; preserve whole words. */
html body main .blog-article-body .seo-data-table-wrap { max-width:100%; overflow-x:auto; }
html body main .blog-article-body .seo-data-table { width:100%; min-width:38rem; table-layout:auto; }
html body main .blog-article-body .seo-data-table th,
html body main .blog-article-body .seo-data-table td { overflow-wrap:normal; word-break:normal; hyphens:none; padding:.5rem; }
/* X1: primary full width, following two actions share a row on 390. */
@media (max-width: 47.9375rem) {
  html body main .service-intro__actions,
  html body main .w8-geo-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
  html body main .service-intro__actions > a:first-child,
  html body main .w8-geo-actions > a:first-child { grid-column: 1 / -1; }
  html body main .service-intro__actions > .btn,
  html body main .w8-geo-actions > .btn { white-space:normal; min-height:44px; height:auto; line-height:1.3; width: 100%; min-width: 0; box-sizing: border-box; margin: 0; padding-inline: .5rem; }
}
/* B1/S1 */
html body main .blog-card-grid { grid-template-columns: repeat(auto-fit,minmax(18rem,23.5rem)); justify-content: center; }
html body main .breadcrumbs + section:not(.background):not(.background-dark) { padding-top: 1.5rem; }

/* N-1/N-3: toggles share the heading axis and retain a breathing space. */
html[data-price-audience] .w8-pricing__top > .price-toggle[hidden] { align-self:center; margin-inline:auto; }
html[data-price-audience] .s-prices [data-price-toggle].price-toggle[hidden] { margin-top:1rem; }
