/* E-RUN: finition des surfaces existantes, sans bibliothèque ni nouvelle police. */
:root{--shop-paper:#fffef9;--shop-pine:#113d30;--shop-ink:#071812;--shop-sage:#eaf0e7;--shop-lime:#c9ff45;--shop-line:#d5dfd5;--shop-muted:#496157;--shop-ease:cubic-bezier(.22,1,.36,1)}
::selection{color:var(--shop-ink);background:var(--shop-lime)}
input,textarea{caret-color:var(--shop-pine)}
button,a,input,select,textarea{touch-action:manipulation;-webkit-tap-highlight-color:rgba(17,61,48,.12)}
:is(button,a,input,select,textarea):focus-visible{outline:3px solid #39764b;outline-offset:3px}
:is(h1,h2,h3){text-wrap:balance}
.price-row,.product-detail-price,.total-line,.checkout-totals{font-variant-numeric:tabular-nums}
#productGrid .product-card,#favoritesGrid .product-card{border-color:var(--shop-line);box-shadow:none;border-radius:14px;background:#fff}
#productGrid .product-category{color:var(--shop-muted);letter-spacing:.025em;font-weight:600}
#productGrid .product-info h3{font-weight:650;letter-spacing:-.02em;line-height:1.35}
#productGrid .price-row{margin:12px 0 10px}
#productGrid .price-row strong{font-size:23px;letter-spacing:-.03em;line-height:1.1}
#productGrid .product-full-link,#favoritesGrid .product-full-link{border:0;border-top:1px solid var(--shop-line);border-radius:0;background:transparent;box-shadow:none;text-align:left;justify-content:flex-start;font-size:14px;font-weight:600;color:var(--shop-pine);padding:12px 0 4px;margin-top:10px;min-height:44px;text-decoration:underline;text-decoration-color:#a2b5a8;text-underline-offset:4px}
#productGrid .add-button,#favoritesGrid .add-button{background:var(--shop-pine);color:var(--shop-paper);border-radius:9px;box-shadow:none;font-weight:650;min-height:44px;transition:background-color 150ms ease,transform 150ms var(--shop-ease)}
#productGrid .availability,#favoritesGrid .availability{font-size:13px;line-height:1.45;color:var(--shop-muted);align-items:baseline;margin-top:10px}
#productGrid .availability i,#favoritesGrid .availability i{flex-shrink:0}
#productGrid .quantity-stepper,#favoritesGrid .quantity-stepper{border-color:var(--shop-line);border-radius:9px;box-shadow:none}
#productGrid .quantity-stepper button,#favoritesGrid .quantity-stepper button{background:var(--shop-sage);min-height:44px}
.product-badge{background:var(--shop-sage);color:var(--shop-pine);font-weight:650;letter-spacing:.025em}
.catalog-filter-details{border-color:var(--shop-line);border-radius:14px;box-shadow:none;background:var(--shop-paper)}
.catalog-filter-options select,.catalog-filter-options input:not([type=range]){border-color:var(--shop-line);border-radius:8px;min-height:44px;color:var(--shop-pine);background:#fff}
.catalog-filter-options>label,.catalog-filter-options legend{font-weight:650;font-size:14px}
.catalog-filter-options small{color:var(--shop-muted);line-height:1.5}
.filter-chip{box-shadow:none;border-color:var(--shop-line);border-radius:9px}
.filter-chip.is-active{background:var(--shop-pine);color:var(--shop-paper);border-color:var(--shop-pine)}
.catalog-pagination button{box-shadow:none;border-radius:9px;font-variant-numeric:tabular-nums;min-height:44px}
.product-modal{border-radius:16px;overscroll-behavior:contain}
.product-modal .product-detail-copy h2{letter-spacing:-.025em;line-height:1.18;font-weight:650}
.product-modal .product-description{line-height:1.55;color:var(--shop-muted);max-width:65ch}
.product-modal .product-detail-meta{gap:6px}
.product-modal .product-detail-meta span{background:var(--shop-sage);color:var(--shop-pine);text-transform:none;letter-spacing:0;font-size:12px;border-radius:6px;padding:5px 8px}
.product-modal .product-detail-price{border-color:var(--shop-line);margin:18px 0;padding:18px 0}
.product-modal .product-detail-price strong{font-size:32px;letter-spacing:-.035em}
.product-modal .product-specifications{line-height:1.5;gap:7px}
.product-modal .product-specifications li{border-radius:6px;font-size:13px;font-weight:500}
.product-modal .detail-buy-row .add-button{background:var(--shop-pine);box-shadow:none;border-radius:9px;min-height:48px}
.cart-drawer .drawer-head .kicker{display:none}
.cart-drawer .cart-item{border-radius:12px;box-shadow:none;border-color:var(--shop-line)}
.cart-drawer .cart-item h3{font-weight:650;letter-spacing:-.015em}
.cart-drawer .cart-summary{background:var(--shop-paper);border-top:1px solid var(--shop-line)}
.cart-drawer .cart-summary .primary-button,#checkoutNext,#checkoutPay{background:var(--shop-pine);color:var(--shop-paper);box-shadow:none;border-radius:10px;min-height:48px}
#checkoutShell .checkout-steps button{letter-spacing:0;font-weight:600}
#checkoutShell .checkout-steps [aria-current=step]{color:var(--shop-pine)}
#checkoutShell :is(input,select,textarea):not([type=radio]):not([type=checkbox]){border-radius:8px;border-color:var(--shop-line);background:#fff;min-height:46px;font-size:16px}
#checkoutShell .checkout-summary{box-shadow:none;border-radius:14px}
.customer-main{max-width:1100px}
.customer-main h1{letter-spacing:-.035em;line-height:1.1}
.customer-main h2{letter-spacing:-.02em}
.customer-card{box-shadow:none;border-color:var(--shop-line);border-radius:14px}
.customer-button{border-radius:9px;box-shadow:none;min-height:46px;transition:background-color 150ms ease,transform 150ms var(--shop-ease)}
.customer-main :is(input,select,textarea):not([type=checkbox]):not([type=radio]){border-radius:8px;border-color:var(--shop-line);font-size:16px;min-height:46px}
.customer-main :is(.customer-kicker,.kicker){display:none}
.customer-main p{max-width:68ch}
.account-space-tabs{gap:8px}
.account-space-tabs button{border-radius:9px;box-shadow:none;min-height:46px}

@media(min-width:769px){#productGrid .product-visual{height:200px;min-height:200px}#productGrid .product-info{padding:16px}#productGrid .product-info h3{min-height:0;margin:8px 0 0}#productGrid .product-category{min-height:0}#productGrid .product-card{height:100%;display:flex;flex-direction:column}#productGrid .product-info{flex:1;display:flex;flex-direction:column}#productGrid .price-row{margin-top:auto;padding-top:16px}.product-modal .product-detail-copy{padding:28px}.product-modal .product-detail-visual{background:#fff}}
@media(max-width:768px){#productGrid .product-card,#favoritesGrid .product-card{padding:12px}#productGrid .product-info h3{font-size:16px}#productGrid .price-row strong{font-size:22px}#productGrid .product-full-link{margin-top:9px}.product-modal .product-detail-copy{padding:16px 18px 24px}.product-modal .product-detail-copy h2{font-size:24px}.product-modal .product-detail-visual{height:min(27dvh,220px);min-height:150px}.product-modal .product-detail-meta span{font-size:11px}.customer-main{padding-inline:16px}.customer-main h1{font-size:clamp(32px,9vw,44px)}}
@media(hover:hover) and (pointer:fine){#productGrid .add-button:hover,#favoritesGrid .add-button:hover{background:#246047}#productGrid .product-full-link:hover{color:#246047;text-decoration-color:currentColor}.customer-button:hover{transform:translateY(-1px)}}
@media(prefers-reduced-motion:reduce){.customer-button,#productGrid .add-button,#favoritesGrid .add-button{transition:none;transform:none}}
@media(min-width:769px){#productGrid .product-visual{display:flex;align-items:center;justify-content:center;padding:0;flex:0 0 200px}#productGrid .product-visual img,#productGrid .product-visual img:is(.media-wide-strip,.media-tall-strip,.media-small-object){width:100%!important;height:180px!important;max-width:100%!important;max-height:180px!important;min-height:0!important;min-width:0!important;padding:12px!important;object-fit:contain!important;object-position:center!important;transform:none!important;box-sizing:border-box}#productGrid .product-info{gap:0}#productGrid .product-category{margin:0;line-height:1.4}}
#logisticsTable{border-collapse:collapse;width:100%;font-size:14px;text-align:left}#logisticsTable th,#logisticsTable td{padding:12px;border-bottom:1px solid var(--shop-line);vertical-align:top}#logisticsTable th{background:var(--shop-sage);color:var(--shop-pine)}#logisticsTable tr[hidden]{display:none}

/* E-RUN sport compact — identity and density, no commercial logic. */
body[data-erun-surface=shop]{background:#f5f6f2}
body[data-erun-surface=shop] .site-header{--header-ink:#fffef9;--header-soft:#244f40;background:#113d30;color:#fffef9;border-bottom:0;gap:6px 22px;padding-top:10px;padding-bottom:8px}
.site-header .brand-copy strong{font-size:23px;letter-spacing:-.035em;line-height:1.05;color:#fffef9}
.site-header .brand-copy em{font-style:normal;color:#c9ff45}
.site-header .brand img{border-radius:10px}
.site-header>.shop-header-search{border:2px solid transparent;border-radius:10px;min-height:50px;background:#fffef9}
.site-header>.shop-header-search:focus-within{border-color:#c9ff45}
.site-header .shop-header-search input{color:#113d30;background:transparent}
.site-header .shop-header-search input::placeholder{color:#526258;opacity:1}
.site-header .shop-header-search button{border-radius:7px;color:#113d30}
.site-header>.shop-account-access{background:#244f40;border:0;border-radius:10px;min-height:50px}
.site-header .shop-account-access [data-account-status]{color:#e1ebdf}
.site-header .shop-account-access[data-session-state=connected] [data-account-status]{color:#c9ff45}
.site-header .shop-account-access[data-session-state=connected] [data-account-status]::before{background:#c9ff45}
.site-header .cart-button{color:#113d30;background:#c9ff45;border-radius:10px}
.site-header .cart-button b{background:#113d30;color:#fffef9}
.site-header .shop-favorites-action{color:#fffef9}
.site-header .shop-ui-icon{width:24px;height:24px}
.site-header .shop-ui-icon .icon-tone{fill-opacity:.2}
.site-header>.desktop-nav:not([hidden]){padding-top:6px;border-top:1px solid #37614e;gap:4px}
.site-header .desktop-nav>a,.site-header .desktop-nav>button,.site-header .nav-categories>button{font-size:14px;font-weight:600;letter-spacing:0;border-radius:7px;min-height:40px;padding:9px 13px}
.site-header .desktop-nav .nav-categories>button{background:#c9ff45;color:#113d30}
.site-header .desktop-nav>.ecosystem-site,.site-header .desktop-nav>.ecosystem-reservation{color:#e1ebdf;font-size:12px;background:transparent!important}
.site-header .nav-category-menu{color:#113d30;background:#fffef9}
.site-header .nav-category-menu a{color:#113d30}
.site-header :is(a,button,input):focus-visible{outline-color:#c9ff45;outline-offset:3px}
.site-header .shop-header-search input:focus-visible{outline-color:#39764b}
.site-header .nav-category-menu a:focus-visible{outline-color:#39764b}
.hero[data-cinema-hero]{border-radius:16px;overflow:hidden}
.hero[data-cinema-hero] .hero-shortcuts a{border-radius:10px;font-weight:650;letter-spacing:-.015em}
.hero[data-cinema-hero] .shop-home-delivery strong{font-size:18px}
.commercial-heading-copy h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.035em;line-height:1.1}
.commercial-heading-copy p{font-size:14px;color:#496157}
#commercialProductGrid .product-card{border-radius:14px;box-shadow:none;border-color:#d5dfd5}
#commercialProductGrid .product-card h3{font-size:17px;line-height:1.3;letter-spacing:-.02em}
#commercialProductGrid .add-button{border-radius:8px;background:#113d30;box-shadow:none}
#productGrid.product-grid{gap:16px}
#productGrid .product-card{border-radius:12px;overflow:hidden;border-color:#d5dfd5;transition:border-color 160ms ease}
#productGrid .product-visual{background:#fff}
#productGrid .product-info{padding:12px 14px;gap:0}
#productGrid .product-info h3{font-size:16px;font-weight:650;line-height:1.3;text-wrap:pretty;letter-spacing:-.015em;margin:7px 0 0;min-height:0}
#productGrid .product-category{font-size:11px;line-height:1.3;margin:0;text-transform:none;letter-spacing:0;min-height:0}
#productGrid .price-row{padding-top:12px;margin:8px 0}
#productGrid .price-row strong{font-size:24px;font-weight:700;color:#113d30}
#productGrid .product-full-link{min-height:36px;font-size:12px;padding:10px 0 0;margin-top:8px;text-decoration:none}
#productGrid .availability{font-size:12px;line-height:1.4;margin-top:9px}
#productGrid .add-button{background:#113d30;border-radius:7px;font-size:13px;min-height:44px;padding:10px 12px}
#productGrid .quantity-stepper{border-radius:7px;flex-shrink:0}
#productGrid .product-badge{background:#eaf0e7;font-size:9px;padding:6px 9px;letter-spacing:.01em;font-weight:600;text-transform:none;box-shadow:none}
.catalog-filter-details{border-radius:12px;background:#fff;border-color:#d5dfd5;padding:0}
.catalog-filter-details>summary{font-size:17px;letter-spacing:-.02em;font-weight:700}
.catalog-filter-options select,.catalog-filter-options input:not([type=range]){font-size:14px;border-radius:7px;background:#f7f9f4}
.catalog-filter-options>label{font-size:13px}
.filter-chip{border-radius:7px;font-size:14px;font-weight:600}
.catalog-pagination button{border-radius:7px;font-size:14px}
.product-modal .product-detail-copy h2{font-size:clamp(23px,2.3vw,32px);font-weight:700;letter-spacing:-.025em}
.product-modal .detail-buy-row .add-button{background:#c9ff45;color:#113d30;font-weight:700;border-radius:9px}
.cart-drawer .cart-item h3{line-height:1.3}
.cart-drawer .cart-summary .primary-button,#checkoutNext,#checkoutPay{background:#c9ff45;color:#113d30;font-weight:700}
.customer-main h1{font-size:clamp(34px,5vw,56px);font-weight:700;letter-spacing:-.035em;line-height:1.06}
.customer-main h2{font-weight:650;letter-spacing:-.025em}
.customer-main .customer-card{background:#fff;border-radius:12px}
.account-space-tabs button[aria-selected=true]{background:#113d30;color:#fffef9}
@media(min-width:1100px){#productGrid.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:769px){#productGrid .product-visual{height:166px;min-height:166px;flex-basis:166px}#productGrid .product-visual img,#productGrid .product-visual img:is(.media-wide-strip,.media-tall-strip,.media-small-object){height:154px!important;max-height:154px!important;padding:10px!important;box-shadow:none!important}#productGrid .product-info{padding:12px 14px}#productGrid .product-card:has(>.favorite-toggle) .product-category{min-height:0;padding:0}#productGrid .price-row{margin-top:auto}}
@media(max-width:768px){
 body[data-erun-surface=shop] .site-header{gap:7px 10px;padding:9px 14px 7px}
 .site-header .brand-copy strong{font-size:19px;line-height:1.08}
 .site-header .brand img{width:50px;height:50px;flex-basis:50px}
 .site-header .shop-menu-toggle:not([hidden]){background:#244f40;color:#fffef9;border-radius:9px}
 .site-header .shop-mobile-cart-target .cart-button{background:#c9ff45;color:#113d30;border-radius:9px}
 .site-header>.shop-header-search{border-radius:9px;min-height:46px}
 .site-header>.shop-account-access{background:transparent;border-radius:0;padding:3px 2px;min-height:36px}
 .site-header .shop-account-access strong{font-size:12px}
 .site-header .shop-account-access [data-account-status]{font-size:12px}
 .site-header>.desktop-nav:not([hidden]){padding-top:10px;gap:7px}
 .site-header .desktop-nav>a,.site-header .nav-categories>button{background:#244f40;color:#fffef9;border-radius:8px;min-height:48px;font-size:13px}
 .site-header .nav-categories>button{background:#c9ff45;color:#113d30}
 .site-header .desktop-nav>.ecosystem-site,.site-header .desktop-nav>.ecosystem-reservation{background:transparent;color:#e1ebdf;font-size:12px}
 .site-header .shop-favorites-action{color:#fffef9}
 .hero[data-cinema-hero]{border-radius:14px}
 .hero[data-cinema-hero] .hero-shortcuts a{font-size:15px;line-height:1.25;min-height:56px;padding:14px}
 .hero[data-cinema-hero] .shop-home-delivery strong{font-size:16px}
 #productGrid .product-card{padding:12px;gap:10px 14px}
 #productGrid .product-info{padding:0}
 #productGrid .product-info h3{font-size:16px;line-height:1.3}
 #productGrid .price-row strong{font-size:23px}
 #productGrid .product-full-link{min-height:40px}
 #productGrid .availability{font-size:12px}
 .catalog-filter-details{padding:12px 14px}
 .commercial-heading-copy h2{font-size:28px}
}
@media(max-width:359px){.site-header .brand-copy strong{font-size:17px}.site-header .brand img{width:44px;height:44px;flex-basis:44px}}
@media(hover:hover) and (pointer:fine){
 .site-header .desktop-nav>a:hover,.site-header .shop-account-access:hover{background:#315e4c}
 .site-header .desktop-nav .nav-categories>button:hover{background:#ddff89}
 .site-header .nav-category-menu a:hover{background:#eaf0e7}
 #productGrid .product-card:hover{border-color:#799582}
 #productGrid .add-button:hover{background:#245e45}
 #productGrid .product-full-link:hover{text-decoration:underline;text-underline-offset:4px}
}
@media(prefers-reduced-motion:reduce){#productGrid .product-card{transition:none}}
