/* Idéal Web — V33.8 GOLD UI / CONTENT HARDENING
   Couche publique finale : stabilité mobile, contenus longs et composants réutilisés.
   Chargée après les styles de page ; aucune logique paiement/backend. */
.iw-public-page{overflow-x:clip}
.iw-public-page *, .iw-public-page *::before, .iw-public-page *::after{box-sizing:border-box}
.iw-public-page :where(img,picture,video,canvas,svg,iframe){max-width:100%}
.iw-public-page :where(img,video){height:auto}
.iw-public-page :where(.grid,.cards,.card-grid,.section-grid,.hero-grid,.footer-grid,.steps,.offers,.features,.pricing-grid,.iw-price-summary,.iw-checklist)>*{min-width:0}
.iw-public-page :where(h1,h2,h3,h4,p,li,a,button,label,summary,strong,span){overflow-wrap:break-word}
.iw-public-page :where(input,select,textarea,button){max-width:100%}
.iw-public-page :where(pre,code){max-width:100%}
.iw-public-page pre{overflow:auto;-webkit-overflow-scrolling:touch}
.iw-public-page .bi{display:inline-block;line-height:1;vertical-align:-.125em}
.iw-public-page :where(.table-wrap,.table-responsive,.comparison-wrap,.iw-price-table-wrap,.legal-table-wrap,.ai332-comparison-wrap){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
@media(max-width:760px){
  .iw-public-page{font-size-adjust:none}
  .iw-public-page :where(h1,h2,h3){text-wrap:balance}
  .iw-public-page :where(p,li){text-wrap:pretty}
  .iw-public-page table{max-width:none}
  .iw-public-page :where(.btn,.button,.navcta,.cta,.cta-button,[class*="btn-"]){white-space:normal;text-align:center}
  .iw-public-page :where(.hero-actions,.actions,.cta-actions,.button-row,.buttons){max-width:100%;flex-wrap:wrap}
  .iw-public-page :where(.hero-actions,.actions,.cta-actions,.button-row,.buttons)>a,
  .iw-public-page :where(.hero-actions,.actions,.cta-actions,.button-row,.buttons)>button{max-width:100%}
  .iw-public-page :where(.badge,.pill,.tag,.eyebrow,.kicker){max-width:100%;white-space:normal}
  .iw-public-page :where(.hero,.section,.panel,.card,.offer,.pricing-card){min-width:0}
}
@media(max-width:430px){
  .iw-public-page :where(.wrap,.container,.shell,.hub-shell){min-width:0}
  .iw-public-page :where(input,select,textarea){font-size:16px}
  .iw-public-page :where(.btn,.button,.navcta,.cta-button){min-height:44px}
}
@supports not (overflow:clip){.iw-public-page{overflow-x:hidden}}
