/* devisgratuits.ch V2 — 4.9.32 — Harmonisation du site public.
   Ne s'applique jamais aux portails privés ni à wp-admin (chargement PHP conditionnel).
   Les fonds de campagnes, le simulateur, les formulaires interactifs et les encarts
   sombres possèdent leurs styles dédiés et ne sont pas recolorés globalement. */
body:not(.wp-admin) #main {
  --dg-card-radius: 18px;
  --dg-card-border: #e1e5e9;
  --dg-card-shadow: 0 8px 24px rgba(20,24,32,.055);
  --dg-card-hover: 0 13px 32px rgba(20,24,32,.095);
  --dg-text-secondary: #555e68;
  --dg-focus-ring: 0 0 0 3px rgba(225,6,0,.17);
}
/* Avoid clipped titles, inputs and controls in grids across widths. */
body:not(.wp-admin) #main :is(
  .hero-layout-v198,.directory-hero-grid,.faq-hero-grid-v130,.info-hero-grid-v159,
  .category-hero-grid-v180,.partners-hero-grid,.region-hero-grid-v100,
  .dgv2-quote-hero-grid,.contact-grid-v159,.payment-grid-v459,
  .region-index-grid-v496,.dgv2-selection-head-v220,.partner-form-layout-v202
) > * { min-width:0; }
body:not(.wp-admin) #main :is(h1,h2,h3,p,small,strong) { overflow-wrap:break-word; }

/* Unify clickable cards / vignettes across the entire public catalog. */
body:not(.wp-admin) #main :is(
  .category-card,.directory-category-card,.flow-trade-card,.flow-region-card,.flow-city-card,
  .dgv2-choice-card-v220,.dgv2-work-card-v220,.dgv2-canton-card-v220,.dgv2-local-card-v220,
  .region-category-card-v441,.region-trade-card-v441,.region-card-v496,
  .geo-card-v210,.category-prof-grid-v180 > a,
  .partner-directory-card,.profession-direct-card-v186,.profession-related-grid > a,
  .dgv2-seo-card-v351,.seo-district-card-v280,.dgv2-doc-card,
  .profession-service-choice-grid-v186 a
) {
  border:1px solid var(--dg-card-border) !important;
  border-radius:var(--dg-card-radius) !important;
  box-shadow:var(--dg-card-shadow) !important;
  background-color:#fff !important;
  color:#171b20;
  transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease;
}
/* User selections must stay visually selected even when the base cards are unified. */
body:not(.wp-admin) #main :is(
  .dgv2-choice-card-v220,.directory-category-card,.flow-trade-card,.flow-region-card,
  .flow-city-card,.dgv2-work-card-v220,.dgv2-canton-card-v220,.dgv2-local-card-v220,
  .region-category-card-v441,.region-trade-card-v441
).is-selected,
body:not(.wp-admin) #main [aria-pressed="true"]:is(.dgv2-choice-card-v220,.flow-option) {
  border-color:#d71920 !important;
  background-color:#fff7f7 !important;
  box-shadow:0 0 0 2px rgba(225,6,0,.12),var(--dg-card-shadow) !important;
}
@media (hover:hover) and (pointer:fine) {
  body:not(.wp-admin) #main :is(
    .category-card,.directory-category-card,.flow-trade-card,.flow-region-card,.flow-city-card,
    .dgv2-choice-card-v220,.dgv2-work-card-v220,.dgv2-canton-card-v220,.dgv2-local-card-v220,
    .region-category-card-v441,.region-trade-card-v441,.region-card-v496,
    .geo-card-v210,.category-prof-grid-v180 > a,.partner-directory-card,
    .profession-direct-card-v186,.profession-related-grid > a,.dgv2-seo-card-v351,
    .seo-district-card-v280,.dgv2-doc-card
  ):hover {
    border-color:#e9a3a3 !important;
    box-shadow:var(--dg-card-hover) !important;
    transform:translateY(-2px);
  }
}
/* Consistent static content and form cards, with their original colors and functions. */
body:not(.wp-admin) #main :is(
  .dgv2-step-card-v193,.how-card-v188,.how-summary-card-v188,
  .info-card-grid-v159 > article,.info-highlight-v159,.swiss-mark-v159,
  .benefit-grid > div,.partner-benefit-grid-v202 > article,
  .partner-process-grid-v202 > article,.partner-trust-card,
  .dgv2-bgs-about-card,.payment-card-v459,.payment-card-bank-v459,.payment-safe-v459,
  .contact-form-card-v159,.beta-form-card-v493,.account-delete-form-card-v4919,
  .faq-help-card-v130,.faq-search-wrap-v130,.faq-item-v130,
  .dgv2-site-form-stage-v4914,.dgv2-site-form-summary-v4914,
  .review-card,.review-panel,.live-stats > div,
  .partner-model-card-v487,.dgv2-doc-intro
) {
  border-radius:var(--dg-card-radius) !important;
  border-color:var(--dg-card-border) !important;
  box-shadow:var(--dg-card-shadow) !important;
}
/* Selectable cards in the quote funnel: round corners only; keep all active-state colors. */
body:not(.wp-admin) #main .dgv2-site-choice-v4914 {
  border-radius:var(--dg-card-radius) !important;
}
/* Dark modules and primary CTAs deliberately excluded from white card overrides. */
body:not(.wp-admin) #main .dgv2-quote-sidecard {
  border-radius:20px !important;
}
/* Homepage simulator is a light surface with dark text, as in v4.9.31. */
body:not(.wp-admin) #main .dgv2-simulator-home-v4920 {
  border-radius:20px !important;
  padding:clamp(18px,3vw,30px) !important;
  border-color:var(--dg-card-border) !important;
  box-shadow:var(--dg-card-shadow) !important;
}
/* Form inputs: consistent borders and focus, without affecting checkboxes/radios/file pickers. */
body:not(.wp-admin) #main :is(
  .directory-searchbox,.trade-search,.faq-search-v130,.flow-search,
  .partner-filter-bar input,.partner-filter-bar select,
  .contact-form-card-v159 input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  .contact-form-card-v159 select,.contact-form-card-v159 textarea,
  .beta-field-v493 input:not([type="checkbox"]),
  .dgv2-quote-section input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  .dgv2-quote-section select,.dgv2-quote-section textarea
) {
  border-radius:13px;
  border-color:#d9dfe5;
}
body:not(.wp-admin) #main :is(input,select,textarea) { max-width:100%; }
body:not(.wp-admin) #main :is(input,textarea,select,button,a):focus-visible {
  outline:2px solid #d71920;
  outline-offset:3px;
}
body:not(.wp-admin) #main :is(.btn,.dgsb-promo-button,.flow-quote-btn,.dgcf-submit) {
  border-radius:12px !important;
  text-decoration:none;
}
/* FAQ: cards and full-width search on mobile, readable content. */
body:not(.wp-admin) #main.faq-page-v130 .faq-item-v130 button {
  border-radius:var(--dg-card-radius) !important;
  min-height:54px;
}
body:not(.wp-admin) #main.faq-page-v130 .faq-item-v130.is-open {
  border-color:#e6b0b0 !important;
  box-shadow:0 0 0 2px rgba(225,6,0,.055),var(--dg-card-shadow) !important;
}
body:not(.wp-admin) #main.faq-page-v130 .faq-hero-grid-v130 > *,
body:not(.wp-admin) #main.faq-page-v130 .faq-search-wrap-v130,
body:not(.wp-admin) #main.faq-page-v130 .faq-search-v130,
body:not(.wp-admin) #main.faq-page-v130 .faq-search-v130 input { min-width:0; max-width:100%; }
/* Secondary text consistency within list cards. */
body:not(.wp-admin) #main :is(
  .directory-category-card,.flow-trade-card,.flow-region-card,.flow-city-card,
  .partner-directory-card,.dgv2-choice-card-v220,.region-card-v496,
  .info-card-grid-v159 > article,.partner-benefit-grid-v202 > article,
  .how-card-v188,.dgv2-step-card-v193
) :is(p,small) { line-height:1.5; }
/* Equalized spacing for common top-level sections without modifying inner module spacing. */
body:not(.wp-admin) #main > .section,
body:not(.wp-admin) #main > section.section { padding-block:clamp(40px,5vw,72px); }
body:not(.wp-admin) #main .section-head { max-width:800px; }
body:not(.wp-admin) #main .section-head h2 { line-height:1.13; }
/* Progressively adjusted layouts: cards never spill off the viewport. */
@media(max-width:760px) {
  body:not(.wp-admin) #main :is(
    .how-card-v188,.how-summary-card-v188,.info-card-grid-v159 > article,
    .partner-benefit-grid-v202 > article,.faq-help-card-v130,
    .contact-form-card-v159,.beta-form-card-v493,.account-delete-form-card-v4919,
    .partner-model-card-v487,.dgv2-site-form-stage-v4914
  ) { padding:clamp(16px,4vw,24px) !important; }
  body:not(.wp-admin) #main .hero-v198 .hero-title-v198,
  body:not(.wp-admin) #main .hero-title-v198 {
    font-size:clamp(34px,8vw,46px) !important;
    line-height:1.07 !important;
  }
  body:not(.wp-admin) #main :is(.faq-search-wrap-v130,.faq-help-card-v130) { width:100%;max-width:100%; }
  body:not(.wp-admin) #main :is(.category-card,.flow-trade-card,.flow-region-card,.flow-city-card) { min-width:0; }
}
@media(max-width:390px) {
  body:not(.wp-admin) #main :is(.directory-hero h1,.faq-hero-v130 h1,.info-hero-v159 h1) {
    font-size:clamp(30px,8.2vw,38px) !important;
    line-height:1.12 !important;
  }
}
@media(prefers-reduced-motion:reduce) {
  body:not(.wp-admin) #main :is(
    .category-card,.directory-category-card,.flow-trade-card,.flow-region-card,
    .dgv2-choice-card-v220,.region-card-v496,.partner-directory-card,
    .payment-card-v459,.how-card-v188
  ) { transition:none !important; }
}
