/* Lisibilité : tailles relatives, textes courants et contrôles plus grands. */
body{font-size:1.0625rem;line-height:1.65}
.premium-hero-copy p,.page-head p,.shop-cover-heading p,.panel p,.section-title p,.empty-state p,.footer-grid p{font-size:1.0625rem;line-height:1.75}
.universe-card p,.service-card-content p,.product-subtitle,.premium-repair-banner p,.repair-banner p,.check-field,.field label,.notification p{font-size:1rem;line-height:1.65}
.field input,.field select,.field textarea,.header-search input,.catalog-tools input,.catalog-tools select,.admin-table select,.admin-table input{font-size:1rem}
.btn,.product-card .product-actions .btn,.detail-buttons .btn,.form-actions .btn,.hero-actions .btn,.footer-lead .btn,.catalog-tools .btn{font-size:1rem;min-height:46px;white-space:normal;overflow-wrap:break-word}
.product-body h3{font-size:1.125rem;line-height:1.4;min-height:0}
.product-body,.service-card-content,.universe-card,.detail-content,.footer-grid>div{min-width:0}
.price{white-space:normal;line-height:1.4}
.product-actions{align-items:stretch;min-width:0}
.product-actions .btn{min-width:0;flex:1 1 0;padding:10px}
.product-card .product-actions .icon-btn{width:44px;min-width:44px;height:auto;min-height:46px;flex-shrink:0}
.main-nav{flex-wrap:wrap;gap:10px 24px}
.navigation-inner{min-width:0;flex-wrap:wrap;row-gap:0}
.nav-advice{min-width:0;white-space:normal}
.topbar-inner{height:auto;min-height:34px;gap:12px;flex-wrap:wrap;padding-top:5px;padding-bottom:5px}
.eyebrow,.hero-reassurance,.premium-trust small,.hero-expertise-card span{line-height:1.6}
.universe-card p,.service-card-content p,.product-subtitle{min-height:0}
.category-card strong{overflow-wrap:anywhere}
.summary-row,.order-card,.form-actions,.detail-benefits,.step-bar{flex-wrap:wrap}
.summary-row .amount{min-width:0;overflow-wrap:anywhere}
.footer-grid p,.footer-grid a,.receipt dd{overflow-wrap:anywhere}
.counter{font-size:.875rem;line-height:1.5;min-width:22px;min-height:22px}
@media(max-width:700px){
  body{padding-bottom:5.5rem}
  .header-search input,.mobile-search input,.catalog-tools .search-field input{font-size:1rem}
  .mobile-bottom{height:auto;min-height:4.5rem;padding:8px 0 calc(8px + env(safe-area-inset-bottom))}
  .mobile-bottom a{font-size:.875rem;line-height:1.4;flex:1;min-width:0;max-width:20%;text-align:center;overflow-wrap:anywhere;gap:5px;padding:0 3px}
  .mobile-bottom .counter{font-size:.875rem;line-height:1.5;min-width:22px;min-height:22px;right:8px;top:-4px}
  .premium-categories .category-card{flex-basis:118px;padding:12px 10px}
  .profile-sidebar a{font-size:1rem}
  .admin-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))}
  .step-bar{gap:12px}
  .toast{bottom:5.5rem;font-size:1rem}
  .product-grid,.service-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}
  .product-body{padding:16px}
}
@media print{body{padding-bottom:0}}
/* Le texte reste contenu dans les cartes quand la taille du navigateur augmente. */
h1,h2,h3,p,li,dd,.stock,.hero-reassurance{overflow-wrap:anywhere}
.eyebrow{display:block;max-width:100%;overflow-wrap:anywhere}
.eyebrow>.tiny-line{display:inline-block;vertical-align:middle;margin-right:10px}
.premium-trust>div,.premium-trust>div>span,.product-info{min-width:0;overflow-wrap:anywhere}
.section-title,.shop-cover-heading{flex-wrap:wrap;align-items:flex-start}
.section-title>div,.section-title>h2{min-width:0;flex:1 1 14rem}
.section-title .text-link,a.text-link{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.section-title .text-link{flex:0 1 auto;max-width:none}
.header-main{flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.header-search{min-width:0;flex:1 1 12rem;height:auto;min-height:44px}
.header-tools{margin-left:auto;max-width:100%;flex-wrap:wrap}
.account-menu a,.account-menu button{overflow-wrap:anywhere}
@media(max-width:700px){.mobile-menu{max-height:calc(100dvh - 12rem)}}
.product-category{overflow-wrap:anywhere;white-space:normal}
.repair-banner .btn,.premium-repair-banner .btn{white-space:normal;max-width:100%;min-width:0;flex-wrap:wrap}

/* Photos produits : utiliser la zone disponible en respectant le format réel. */
.product-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:16px}
.product-card .product-visual{height:180px;aspect-ratio:auto;max-height:none;padding:6px;display:block}
.product-card .product-visual>a{position:absolute;inset:6px;display:flex;align-items:center;justify-content:center;width:auto;height:auto}
.product-card .product-visual img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center}
.product-card .product-body{padding:12px}
.product-card .product-category{font-size:.8125rem;line-height:1.3;letter-spacing:.04em;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-card .product-body h3{font-size:1rem;line-height:1.35;min-height:2.7em;max-height:2.7em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-card .product-subtitle{display:none}
.product-card .price{font-size:1.125rem;line-height:1.35;margin-top:7px}
.product-card .stock{font-size:.875rem;line-height:1.4;margin-top:4px}
.product-card .product-actions{gap:6px;padding-top:10px;flex-wrap:nowrap}
.product-card .product-actions .btn{font-size:.875rem;line-height:1.25;min-height:44px;padding:8px}
.product-card .product-actions .icon-btn{width:44px;min-width:44px;min-height:44px;padding:8px}
@media(min-width:701px) and (max-width:1000px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media(max-width:700px){
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .product-card .product-visual{height:140px;padding:5px}
  .product-card .product-visual>a{inset:5px}
  .product-card .product-body{padding:10px}
  .product-card .product-category{font-size:.75rem;margin-bottom:4px}
  .product-card .product-body h3{font-size:.875rem;line-height:1.4;min-height:2.8em;max-height:2.8em}
  .product-card .price{font-size:1rem;margin-top:6px;letter-spacing:-.02em}
  .product-card .stock{font-size:.8125rem;margin-top:3px}
  .product-card .product-actions{gap:5px;padding-top:8px}
  .product-card .product-actions .btn{padding:6px 4px}
  .product-card .product-visual .badge{font-size:.75rem;padding:4px 6px;top:8px;left:8px}
}
@media(max-width:360px){.product-card .product-visual{height:125px}.product-card .product-body{padding:8px}}
.gallery .gallery-stage{height:auto;min-height:0;aspect-ratio:var(--gti-image-ratio,1);max-height:34rem;padding:14px;overflow:hidden}
.gallery .gallery-stage img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center}
.gallery .gallery-thumbs button{padding:4px}
.gallery .gallery-thumbs img{display:block;width:100%;height:100%;max-height:none;object-fit:contain}
@media(max-width:700px){.gallery .gallery-stage{max-height:28rem;padding:10px}}

/* Accueil sur téléphone : mention sur une ligne et titre compact. */
@media(max-width:700px){
  .premium-hero h1{font-size:clamp(1.4375rem,6.2vw,1.8125rem);line-height:1.18;letter-spacing:-.04em}
  .premium-hero-copy .eyebrow{font-size:clamp(.6875rem,3.5vw,.75rem);line-height:1.45;letter-spacing:-.02em;white-space:nowrap}
  .premium-hero-copy .eyebrow>.tiny-line{display:none}
}
