/* Shared ONIVA purchase identity. No stock, price, checkout or licence rules. */
.ov44-product-summary{padding:0 0 12px}.ov44-product-summary h1{margin:0 0 8px!important}.ov44-product-summary .pprice{margin:0!important}.ov44-product-summary .pstock{margin:8px 0 0!important}
.ov44-filters{margin-bottom:12px}.ov44-filters>summary{cursor:pointer;padding:12px 14px;border:1px solid #cddfd3;border-radius:12px;color:#005840;background:#fff;font:650 14px system-ui;min-height:44px;box-sizing:border-box}.ov44-filters[open]>summary{margin-bottom:8px}.ov44-filters>summary:focus-visible{outline:3px solid #bd8a12;outline-offset:2px}
@media(min-width:641px){.ov44-filters>summary{display:none}}
body:has(.catalogue-toolbar) .oniva-catalogue-cover{padding:18px 22px!important;margin-bottom:12px!important;min-height:0!important}body:has(.catalogue-toolbar) .oniva-catalogue-cover h1{font:750 clamp(22px,2.2vw,30px)/1.25 system-ui!important;margin:4px 0 8px!important}
@media(max-width:760px){html body .pfiche .ov44-product-summary h1{font-size:20px}.ov44-product-summary .pprice{font-size:23px}.home42 .h41-service-line{min-height:48px!important}.home42 .h41-service-line [data-h41-delivery]{min-height:44px!important}.home42 .h42-courier{width:48px!important;height:44px!important}.home42 .h41-service-line{margin-bottom:8px!important}}
:root{--oniva-cart43:#005840;--oniva-cart43-hover:#003f2e;--oniva-cart43-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.2 11h10.6l2-8H6'/%3E%3Ccircle cx='9' cy='20' r='1.3'/%3E%3Ccircle cx='17' cy='20' r='1.3'/%3E%3C/svg%3E")}
html body :is(.card-p .add[data-add],.home40 .h40-add,.btn-primary[data-add],#ovAddBtn,.ov-product-mobile-purchase__button,#ovCartBtn,.cart-foot>.btn-primary){background:var(--oniva-action-bg,var(--oniva-cart43))!important;background-image:none!important;color:var(--oniva-action-fg,#fff)!important;border:1px solid var(--oniva-action-bg,var(--oniva-cart43))!important;border-radius:11px!important;box-shadow:none!important;font-family:system-ui,-apple-system,'Segoe UI',sans-serif!important;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;text-decoration:none}
html body :is(.card-p .add[data-add],.home40 .h40-add,.btn-primary[data-add],#ovAddBtn,.ov-product-mobile-purchase__button):not(:has(svg))::before{content:'';display:inline-block;flex:0 0 19px;width:19px;height:19px;background:currentColor;mask:var(--oniva-cart43-icon) center/contain no-repeat;-webkit-mask:var(--oniva-cart43-icon) center/contain no-repeat}
html body :is(.card-p .add[data-add],.home40 .h40-add,.btn-primary[data-add],#ovAddBtn,#ovCartBtn)>svg{fill:none!important;stroke:currentColor!important;stroke-width:1.8;width:20px;height:20px;flex-shrink:0}
html body .hdr #ovCartBtn{width:44px;min-width:44px;height:44px;padding:9px}
html body .hdr #ovCartBadge{background:#f0c74a!important;color:#163c31!important;border:2px solid #fff}
html body #ovBuyBtn{background:#005840!important;color:#fff!important;border:1px solid #005840!important;border-radius:11px!important;min-height:44px}
html body :is(.card-p .add[data-add],.home40 .h40-add,#ovAddBtn,.ov-product-mobile-purchase__button,#ovBuyBtn):disabled{opacity:.5;cursor:not-allowed}
@media(hover:hover){html body :is(.card-p .add[data-add],.home40 .h40-add,.btn-primary[data-add],#ovAddBtn,.ov-product-mobile-purchase__button,#ovCartBtn):not(:disabled):hover{background:var(--oniva-action-hover,#003f2e)!important;border-color:var(--oniva-action-hover,#003f2e)!important}}
html body :is([data-add],#ovCartBtn,#ovBuyBtn,.ov-product-mobile-purchase__button):focus-visible{outline:3px solid #bd8a12!important;outline-offset:3px}
/* BP 38-39 / MS 9-10: semantic action roles, preserving layout. */
:root{--oniva-purchase-gold:#f0c74a;--oniva-purchase-ink:#163c31;--oniva-purchase-hover:#e0b535}
html body :is(.card-p .add[data-add],.home40 .h40-add[data-add],.btn-primary[data-add],#ovAddBtn,.ov-product-mobile-purchase__button){--oniva-action-bg:var(--oniva-purchase-gold);--oniva-action-fg:var(--oniva-purchase-ink);--oniva-action-hover:var(--oniva-purchase-hover);min-height:44px}
/* Fiche: one genuine selector, moved beside the gallery without duplicating handlers. */
html body .pfiche{gap:28px;align-items:start;min-width:0}
html body .pfiche>div{min-width:0}
html body .pfiche h1{font:750 clamp(21px,2.2vw,30px)/1.25 system-ui;color:#163c31;overflow-wrap:anywhere}
html body .pfiche .gmain{border:1px solid #dce7df;border-radius:18px!important;overflow:hidden;background:white}
html body .pfiche .gmain #ovMainImg{object-fit:contain!important;background:white;max-width:100%}
html body .pfiche .gthumbs{display:flex;flex-wrap:nowrap;overflow:auto;gap:8px;scroll-snap-type:x proximity;padding:6px 0}
html body .pfiche .gthumbs button{flex:0 0 62px;border-radius:10px;overflow:hidden;scroll-snap-align:start}
html body .pfiche .pprice{color:#005840;font-family:system-ui;font-weight:800}
html body .pfiche .pactions{gap:9px}.pfiche .pactions :is(button,a){min-height:44px}
.ov-variant43{border:1px solid #dce7df;border-radius:16px;padding:12px;margin:10px 0;background:#fff}
.ov-variant43-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.ov-variant43-head h2{font:750 14px system-ui;margin:0;color:#163c31}.ov-variant43-head>span{font:11px system-ui;color:#627368}
html body .ov-variant43 #ovVariants{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:8px!important;padding:9px 2px!important;margin:0!important;max-width:100%;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#b5cebf transparent}
html body .ov-variant43 #ovVariants .chip{display:flex!important;flex-direction:column;flex:0 0 110px!important;min-width:0!important;max-width:130px!important;min-height:82px;padding:8px!important;gap:5px!important;border:1px solid #cddfd3!important;border-radius:12px!important;background:#fff!important;color:#163c31!important;font:650 12px/1.35 system-ui!important;scroll-snap-align:start;text-transform:none;letter-spacing:normal}
html body .ov-variant43 #ovVariants .chip.on{background:#edf6ef!important;color:#005840!important;border:2px solid #005840!important;box-shadow:none!important}
html body .ov-variant43 #ovVariants .chip .chip-thumb{display:none!important}.ov43-thumb{width:40px;height:40px;object-fit:contain;background:white;border-radius:8px}
html body .ov-variant43 #ovVariants .chip .chip-label{white-space:normal;overflow-wrap:anywhere;max-width:100%;display:block!important;font:inherit;word-break:normal}
html body .ov-variant43 #ovVariants .chip .chip-check{display:none}.ov-variant43 .oniva-variant-detail{display:block!important;font:13px/1.5 system-ui!important;color:#234837;margin:5px 0!important;padding:8px 10px;border-radius:10px;background:#f3f8f4;overflow-wrap:anywhere}
.ov43-photo-note{font:11px/1.4 system-ui;color:#65776b;margin:5px 0 0}
.ov43-campaign-notice{position:fixed;z-index:90;right:max(16px,env(safe-area-inset-right));bottom:90px;width:min(370px,calc(100vw - 32px));padding:16px 45px 16px 16px;background:#fff;border:1px solid #c4d9cc;border-left:4px solid #005840;border-radius:16px;box-shadow:0 12px 35px #123b2926;color:#163c31;font:14px/1.45 system-ui}
.ov43-campaign-notice strong{display:block;color:#005840;font-size:15px}.ov43-campaign-notice p{margin:6px 0}.ov43-campaign-notice a{color:#005840;text-decoration:underline;text-underline-offset:3px}.ov43-campaign-notice button{position:absolute;right:5px;top:5px;min-width:36px;min-height:36px;border:0;background:white;color:#005840;border-radius:10px;font-size:22px;cursor:pointer}
@media(min-width:901px){html body .pfiche:has(.ov-variant43)>div:first-child{position:sticky;top:130px;align-self:start}.pfiche .gmain{max-height:480px}}
@media(max-width:760px){html body .pfiche{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px}html body .pfiche .gmain{height:280px!important;max-height:42vh;min-height:180px}html body .pfiche .gmain #ovMainImg{width:100%;height:100%!important}html body .pfiche h1{font-size:22px}.ov-variant43{padding:9px;margin:8px 0}html body .ov-variant43 #ovVariants .chip{flex-basis:94px!important;min-height:76px}.ov43-campaign-notice{bottom:calc(86px + env(safe-area-inset-bottom))}.ov-product-mobile-purchase{bottom:calc(70px + env(safe-area-inset-bottom))!important;right:10px!important}}
@media(prefers-reduced-motion:reduce){html body .ov-variant43 #ovVariants{scroll-behavior:auto}}

/* Deployed navigation comfort rules retained. */
body:has([data-home42]) .oniva-menu-button{width:44px!important;min-width:44px!important;height:44px!important}
body:has([data-home42]) .hdr-search>button{min-width:44px!important;min-height:44px!important}
.home42 .h40-add{min-height:44px!important}
.home42 .h40-favorite{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;flex-shrink:0}
.home42 .h40-rail-controls button{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important}
.home42 .h40-level .h40-rail{display:grid!important;grid-template-columns:minmax(0,1fr) 92px!important;gap:4px;align-items:center}
.home42 .h40-level .h40-rail-controls{position:static;margin:0;gap:4px}
.home42 .h42-level-heading>span{padding-right:0}
/* Campaign geometry remains unchanged. Rail buttons have their own column. */
@media(max-width:760px){
 body:has([data-home42]) .hdr-in{grid-template-columns:44px minmax(95px,1fr) auto!important}
 .home42 .h40-level .h40-rail{display:block!important}
 .home42 .h42-level-heading{min-height:44px;padding-right:96px;position:relative}
 .home42 .h42-level-heading>span{display:none}
 .home42 .h40-level .h40-rail-controls{position:absolute;top:-45px;right:0}
}

/* Accueil : découverte progressive, informations vérifiables, aucun tarif local. */
.home42 .h49-shortcuts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0 4px}
.home42 .h49-shortcuts a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid #d5e4da;border-radius:12px;color:#005840;font:650 13px/1.35 system-ui;text-decoration:none;background:#fff}
.home42 .h49-shortcuts a:first-child{background:#edf5ef;border-color:#aacbb9}
.home42 .h49-shortcuts svg{width:18px;height:18px}
.home42 .h49-subcategories{border:1px solid #d5e4da;border-radius:12px;margin:6px 0;background:#fff;min-width:0}
.home42 .h49-subcategories>summary{cursor:pointer;padding:11px 12px;min-height:44px;box-sizing:border-box;color:#005840;font:650 13px/1.5 system-ui}
.home42 .h49-subcategories>summary>span{font-size:11px;border-radius:20px;padding:2px 7px;background:#edf5ef;color:#305440;margin-left:6px}
.home42 .h49-subcategories[open]>.h40-level{padding:0 10px 8px}
.home42 .h49-availability{margin:0;font:500 11px/1.45 system-ui;color:#42604e;min-height:1.45em;overflow-wrap:anywhere}
.home42 .h49-availability[data-availability="unavailable"]{color:#78492a}
.home42 .h49-tracking{display:flex;align-items:center;gap:8px;padding:8px 4px 8px 12px;min-height:44px;border-left:1px solid #dce7df;color:#005840;font:650 12px/1.4 system-ui;text-decoration:none;flex-shrink:0}
.home42 .h49-tracking svg{width:22px;height:22px;flex-shrink:0}
.home42 #articles{scroll-margin-top:calc(var(--h41-head,120px) + 72px)}
.home42 .h40-empty>a{display:inline-flex;align-items:center;min-height:44px;margin:4px 8px;padding:6px 10px;border:1px solid #bfd5c7;border-radius:10px}
.home42 .h40-empty{overflow-wrap:anywhere}
@media(max-width:760px){
 .home42 .h49-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding-top:7px}
 .home42 .h49-shortcuts a{font-size:12px;padding:7px 8px}
 .home42 .h49-shortcuts a:nth-child(2){display:none}
 .home42 .h49-tracking{font-size:11px;gap:5px;padding-left:8px}
 .home42 .h49-tracking svg{width:18px;height:18px}
 .home42 .h49-subcategories>summary{font-size:12px}
}
@media(hover:hover){.home42 .h49-shortcuts a:hover,.home42 .h49-tracking:hover{background:#edf5ef}}

/* ONIVA-SURFACE-PRIORITY-20260923
 * Priority: open transaction/dialog > editing > purchase > navigation > promotion.
 * Read existing DOM state only; do not change price, stock, focus or click handlers.
 */
body:has(#ovTunnelForm) :is(.ov43-campaign-notice,.ov-install40-note,[data-ov-install],.wa-float,.cart-fab){display:none!important}
body:has(#ovCartDrawer[aria-hidden="false"],dialog[open]) :is(.ov43-campaign-notice,.ov-install40-note,.wa-float,.cart-fab){display:none!important}
@media(max-width:700px){
 /* The existing purchase controller uses the same 700px breakpoint. */
 html body .ov-product-mobile-purchase{
  left:max(10px,env(safe-area-inset-left))!important;
  right:max(10px,env(safe-area-inset-right))!important;
  bottom:calc(10px + env(safe-area-inset-bottom))!important;
 }
 body:has(#ovProductMobilePurchase.is-visible[aria-hidden="false"]):not(:has(.oniva-mobile-nav:focus-within,.oniva-client-menu[open])) .oniva-mobile-nav{display:none!important}
 body:has(#ovProductMobilePurchase.is-visible[aria-hidden="false"]) :is(.ov43-campaign-notice,.ov-install40-note,.wa-float,.cart-fab){display:none!important}
 /* Never withdraw the navigation while the customer is operating its menu. */
 body:has(.oniva-mobile-nav:focus-within,.oniva-client-menu[open]) .ov-product-mobile-purchase{display:none!important}
 /* Keep the focused field and the open cart/dialog unobstructed. */
 body:has(input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):focus,textarea:focus,select:focus,[contenteditable="true"]:focus) :is(.oniva-mobile-nav,.ov-product-mobile-purchase,.ov43-campaign-notice,.ov-install40-note,.wa-float,.cart-fab){display:none!important}
 body:has(#ovCartDrawer[aria-hidden="false"],dialog[open],#ovTunnelForm) :is(.oniva-mobile-nav,.ov-product-mobile-purchase){display:none!important}
}

/* ONIVA-DELIVERY-CONTRAST-20260924: all viewport widths, this chooser only. */
.checkout-premium #ovZone.delivery-tabs > button.chip {
  color: #153b2a !important;
  background: #f5faf7 !important;
  border-color: #6b8578 !important;
  min-height: 44px;
}
.checkout-premium #ovZone.delivery-tabs > button.chip.on,
.checkout-premium #ovZone.delivery-tabs > button.chip[aria-checked="true"] {
  color: #ffffff !important;
  background: #07543f !important;
  border-color: #07543f !important;
}
.checkout-premium #ovZone.delivery-tabs > button.chip > span {
  color: inherit !important;
}
.checkout-premium #ovZone.delivery-tabs > button.chip:focus-visible {
  outline: 3px solid #07543f;
  outline-offset: 3px;
}
@media (forced-colors: active) {
  .checkout-premium #ovZone.delivery-tabs > button.chip {
    color: ButtonText !important;
    background: ButtonFace !important;
    border-color: ButtonText !important;
  }
  .checkout-premium #ovZone.delivery-tabs > button.chip[aria-checked="true"] {
    color: HighlightText !important;
    background: Highlight !important;
  }
}
