/* OPA R5.12.1 shared storefront parity layer */
:root{
    --opa-r512-primary:#1F5E93;
    --opa-r512-secondary:#79A0B5;
    --opa-r512-ink:#393D54;
    --opa-r512-paper:#F7F7F7;
    --opa-r512-white:#FFFFFF;
    --opa-r512-line:rgba(57,61,84,.14);
    --opa-r512-head:64px;
}

/* Shared landing/internal header. */
.opa-r512-header{
    position:fixed!important;
    z-index:720!important;
    inset:0 0 auto 0!important;
    height:var(--opa-r512-head)!important;
    display:grid!important;
    grid-template-columns:1fr auto 1fr!important;
    align-items:center!important;
    gap:16px!important;
    padding:0 clamp(16px,2.5vw,42px)!important;
    background:transparent!important;
    color:#fff!important;
    border-bottom:1px solid transparent!important;
    transition:background .24s ease,color .24s ease,border-color .24s ease,backdrop-filter .24s ease!important;
}
.opa-r512-header.is-solid,
.opa-r512-internal .opa-r512-header{
    background:rgba(247,247,247,.96)!important;
    color:var(--opa-r512-ink)!important;
    border-bottom-color:var(--opa-r512-line)!important;
    backdrop-filter:blur(12px)!important;
}
.opa-r512-menu-button{
    justify-self:start!important;
    position:static!important;
    width:40px!important;
    height:40px!important;
    display:grid!important;
    place-content:center!important;
    gap:5px!important;
    padding:8px!important;
    border:0!important;
    background:transparent!important;
    color:inherit!important;
    cursor:pointer!important;
}
.opa-r512-menu-button span{
    display:block!important;
    width:22px!important;
    height:1.5px!important;
    border-radius:99px!important;
    background:currentColor!important;
}
.opa-r512-brand{
    justify-self:center!important;
    position:static!important;
    display:inline-flex!important;
    align-items:center!important;
    height:38px!important;
}
.opa-r512-brand img{
    display:block!important;
    width:auto!important;
    height:28px!important;
    max-width:118px!important;
    object-fit:contain!important;
}
.opa-r512-header:not(.is-solid) .opa-r512-brand img{
    filter:brightness(0) invert(1)!important;
}
.opa-r512-header.is-solid .opa-r512-brand img,
.opa-r512-internal .opa-r512-brand img{
    filter:none!important;
}
.opa-r512-header-actions{
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    gap:13px!important;
    min-width:0!important;
}
.opa-r512-login{
    position:static!important;
    inset:auto!important;
    margin:0!important;
    color:inherit!important;
    text-decoration:none!important;
    font-size:14px!important;
    font-weight:500!important;
    letter-spacing:.01em!important;
}
.opa-r512-cart-link{
    position:relative!important;
    display:grid!important;
    place-items:center!important;
    width:38px!important;
    height:38px!important;
    border-radius:999px!important;
    color:inherit!important;
    text-decoration:none!important;
}
.opa-r512-cart-link:hover,
.opa-r512-cart-link:focus-visible{
    background:rgba(121,160,181,.14)!important;
}
.opa-r512-cart-link svg{
    width:23px!important;
    height:23px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.65!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}
.opa-r512-cart-badge{
    position:absolute!important;
    top:0!important;
    right:-3px!important;
    min-width:18px!important;
    height:18px!important;
    padding:0 4px!important;
    display:grid!important;
    place-items:center!important;
    border:2px solid var(--opa-r512-paper)!important;
    border-radius:999px!important;
    background:var(--opa-r512-primary)!important;
    color:#fff!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:700!important;
}

/* HOPA-pattern OPA drawer, same structure on all storefront pages. */
.opa-r512-menu-layer{
    position:fixed!important;
    z-index:760!important;
    inset:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
}
.opa-r512-menu-layer.is-open{
    visibility:visible!important;
    pointer-events:auto!important;
}
.opa-r512-menu-layer .opa-r19-menu-backdrop{
    position:absolute!important;
    inset:0!important;
    border:0!important;
    background:rgba(23,31,45,.44)!important;
    opacity:0!important;
    transition:opacity .25s ease!important;
}
.opa-r512-menu-layer.is-open .opa-r19-menu-backdrop{
    opacity:1!important;
}
.opa-r512-drawer{
    position:absolute!important;
    inset:0 auto 0 0!important;
    width:min(390px,90vw)!important;
    height:100dvh!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    background:var(--opa-r512-primary)!important;
    color:var(--opa-r512-paper)!important;
    transform:translateX(-102%)!important;
    transition:transform .3s cubic-bezier(.2,.8,.2,1)!important;
    box-shadow:15px 0 40px rgba(31,94,147,.28)!important;
}
.opa-r512-menu-layer.is-open .opa-r512-drawer{
    transform:translateX(0)!important;
}
.opa-r512-drawer .opa-r19-drawer-top{
    min-height:70px!important;
    padding:10px 18px!important;
    border-bottom:1px solid rgba(247,247,247,.34)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
}
.opa-r512-drawer .opa-r19-drawer-brand{
    display:inline-flex!important;
    align-items:center!important;
}
.opa-r512-drawer .opa-r19-drawer-brand img{
    width:auto!important;
    height:33px!important;
    max-width:116px!important;
    display:block!important;
    object-fit:contain!important;
    filter:brightness(0) invert(1)!important;
}
.opa-r512-drawer .opa-r19-drawer-close{
    width:40px!important;
    height:40px!important;
    display:grid!important;
    place-items:center!important;
    padding:8px!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    color:var(--opa-r512-paper)!important;
    cursor:pointer!important;
}
.opa-r512-drawer .opa-r19-drawer-close svg,
.opa-r512-drawer .opa-r19-drawer-section svg,
.opa-r512-drawer .opa-r19-drawer-search button svg{
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.7!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}
.opa-r512-drawer .opa-r19-drawer-search{
    padding:18px 20px 22px!important;
    background:rgba(247,247,247,.07)!important;
}
.opa-r512-drawer .opa-r19-drawer-search>label{
    display:block!important;
    margin:0 0 10px!important;
    text-align:center!important;
    font-size:21px!important;
    line-height:1.1!important;
    font-weight:500!important;
}
.opa-r512-drawer .opa-r19-drawer-search>div{
    display:flex!important;
    overflow:hidden!important;
    border-radius:14px!important;
    background:var(--opa-r512-paper)!important;
}
.opa-r512-drawer .opa-r19-drawer-search input{
    min-width:0!important;
    flex:1!important;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    color:var(--opa-r512-ink)!important;
    padding:12px 14px!important;
    font:inherit!important;
}
.opa-r512-drawer .opa-r19-drawer-search button{
    width:48px!important;
    border:0!important;
    background:var(--opa-r512-paper)!important;
    color:var(--opa-r512-primary)!important;
    display:grid!important;
    place-items:center!important;
    cursor:pointer!important;
}
.opa-r512-drawer .opa-r19-drawer-section{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:20px!important;
    padding:14px 24px!important;
    border-top:1px solid rgba(247,247,247,.46)!important;
    border-bottom:1px solid rgba(247,247,247,.46)!important;
    color:var(--opa-r512-paper)!important;
    background:transparent!important;
    text-decoration:none!important;
    font-size:24px!important;
    line-height:1.1!important;
}
.opa-r512-drawer .opa-r19-drawer-categories a{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    padding:12px 28px 12px 44px!important;
    border-bottom:1px solid rgba(247,247,247,.26)!important;
    color:var(--opa-r512-paper)!important;
    text-decoration:none!important;
    font-size:17px!important;
}
.opa-r512-drawer .opa-r19-drawer-categories a>span{
    width:10px!important;
    height:10px!important;
    border-radius:2px!important;
    background:var(--opa-r512-paper)!important;
    flex:0 0 auto!important;
}
.opa-r512-drawer .opa-r19-drawer-links{
    margin:0!important;
    border-top:1px solid rgba(247,247,247,.46)!important;
}
.opa-r512-drawer .opa-r19-drawer-links--bottom{
    margin-top:54px!important;
}
.opa-r512-drawer .opa-r19-drawer-links a{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
    padding:14px 44px!important;
    border-bottom:1px solid rgba(247,247,247,.38)!important;
    color:var(--opa-r512-paper)!important;
    background:transparent!important;
    text-decoration:none!important;
    font-size:20px!important;
    line-height:1.15!important;
}
.opa-r512-drawer-count{
    min-width:24px!important;
    height:24px!important;
    padding:0 6px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:999px!important;
    background:var(--opa-r512-paper)!important;
    color:var(--opa-r512-primary)!important;
    font-size:12px!important;
    font-weight:700!important;
}
body.opa-r512-menu-open{
    overflow:hidden!important;
}

/* Internal storefront content: no legacy wave header. */
.opa-r512-internal{
    background:var(--opa-r512-paper)!important;
    color:var(--opa-r512-ink)!important;
}
.opa-r512-main{
    min-height:calc(100dvh - var(--opa-r512-head))!important;
    padding-top:var(--opa-r512-head)!important;
    background:var(--opa-r512-paper)!important;
}
.opa-r512-main .opa-global-notice{
    margin-top:16px!important;
}

/* Shop page. */
.opa-r512-shop{
    width:min(1480px,100%)!important;
    margin:0 auto!important;
    padding:clamp(48px,6vw,88px) clamp(16px,4vw,56px) 92px!important;
    background:var(--opa-r512-paper)!important;
    opacity:1!important;
    visibility:visible!important;
}
.opa-r512-shop__head{
    display:flex!important;
    justify-content:space-between!important;
    align-items:end!important;
    gap:24px!important;
    margin-bottom:30px!important;
}
.opa-r512-kicker{
    margin:0 0 9px!important;
    color:var(--opa-r512-primary)!important;
    font-size:12px!important;
    font-weight:700!important;
    letter-spacing:.13em!important;
    text-transform:uppercase!important;
}
.opa-r512-shop__head h1{
    margin:0!important;
    color:var(--opa-r512-primary)!important;
    font-size:clamp(42px,6vw,78px)!important;
    line-height:.95!important;
    letter-spacing:-.055em!important;
    font-weight:500!important;
}
.opa-r512-shop__intro{
    max-width:600px!important;
    margin:18px 0 0!important;
    font-size:16px!important;
    line-height:1.55!important;
    color:var(--opa-r512-ink)!important;
}
.opa-r512-shop-filters{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin:0 0 30px!important;
}
.opa-r512-shop-filters a{
    display:inline-flex!important;
    align-items:center!important;
    min-height:38px!important;
    padding:0 15px!important;
    border:1px solid rgba(31,94,147,.20)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.54)!important;
    color:var(--opa-r512-primary)!important;
    text-decoration:none!important;
    font-size:13px!important;
}
.opa-r512-shop-filters a.is-active,
.opa-r512-shop-filters a:hover{
    background:var(--opa-r512-primary)!important;
    color:#fff!important;
}
.opa-r512-shop-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:clamp(14px,2vw,28px)!important;
    width:100%!important;
    opacity:1!important;
    visibility:visible!important;
}
.opa-r512-empty-state{
    min-height:280px!important;
    display:grid!important;
    place-content:center!important;
    text-align:center!important;
}

/* Product cards. Foreground is never stretched or cropped. The duplicate
   decorative layer fills the media background so portrait images do not leave
   an empty-looking card. */
.opa-r512-shop-grid .opa-product-card{
    display:block!important;
    min-width:0!important;
    overflow:hidden!important;
    border-radius:24px!important;
    background:#fff!important;
    box-shadow:0 1px 0 rgba(31,94,147,.05)!important;
}
.opa-product-card__visual{
    position:relative!important;
    overflow:hidden!important;
    background:#eaf0f3!important;
}
.opa-product-card__image{
    position:relative!important;
    display:block!important;
    width:100%!important;
    aspect-ratio:1/1!important;
    overflow:hidden!important;
    background:#eaf0f3!important;
}
.opa-r512-card-bg,
.opa-r512-home-card-bg{
    position:absolute!important;
    inset:-9%!important;
    width:118%!important;
    height:118%!important;
    object-fit:cover!important;
    filter:blur(22px) saturate(.78)!important;
    opacity:.30!important;
    transform:scale(1.04)!important;
    padding:0!important;
    pointer-events:none!important;
}
.opa-r512-card-main,
.opa-r512-home-card-main{
    position:relative!important;
    z-index:1!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:0!important;
    transform:none!important;
}
.opa-r112-product-media{
    background:#eaf0f3!important;
}
.opa-r112-product-media>.opa-r512-home-card-bg{
    z-index:0!important;
}
.opa-r112-product-media>.opa-r512-home-card-main{
    z-index:1!important;
}
.opa-r112-product-card:hover .opa-r112-product-media>.opa-r512-home-card-bg{
    transform:scale(1.04)!important;
}
.opa-r112-product-card:hover .opa-r112-product-media>.opa-r512-home-card-main{
    transform:none!important;
}
.opa-r112-product-media>.opa-r112-product-alt{
    z-index:2!important;
    object-fit:contain!important;
    padding:0!important;
}
.opa-r512-shop-grid .opa-product-card__meta{
    padding:18px 18px 22px!important;
}
.opa-r512-shop-grid .opa-product-card__meta h3{
    margin:0!important;
}
.opa-r512-shop-grid .opa-product-card__meta h3 a{
    color:var(--opa-r512-primary)!important;
    text-decoration:none!important;
}
.opa-r512-shop-grid .opa-product-card__price{
    color:var(--opa-r512-primary)!important;
}

/* Product page and always-visible product content. */
.opa-product-page{
    background:var(--opa-r512-paper)!important;
    opacity:1!important;
    visibility:visible!important;
    padding:clamp(28px,4vw,58px) 0 84px!important;
}
.opa-product-page>.opa-shell{
    width:min(1420px,calc(100% - 32px))!important;
    margin:0 auto!important;
}
.opa-product-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr)!important;
    gap:clamp(28px,5vw,78px)!important;
    align-items:start!important;
}
.opa-product-main-media{
    display:grid!important;
    place-items:center!important;
    min-height:min(68vw,720px)!important;
    overflow:hidden!important;
    border-radius:26px!important;
    background:#eaf0f3!important;
}
.opa-product-main-media img,
.opa-product-main-media video{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-height:720px!important;
    object-fit:contain!important;
}
.opa-product-buy{
    padding-top:10px!important;
}
.opa-product-title{
    color:var(--opa-r512-primary)!important;
}
.opa-product-description,
.opa-product-detail-panel{
    display:none!important;
}
.opa-r512-product-details{
    margin-top:clamp(52px,7vw,100px)!important;
    padding-top:clamp(34px,5vw,62px)!important;
    border-top:1px solid var(--opa-r512-line)!important;
}
.opa-r512-detail-section{
    padding:0!important;
}
.opa-r512-detail-section--description{
    max-width:980px!important;
}
.opa-r512-detail-kicker{
    margin:0 0 9px!important;
    color:var(--opa-r512-secondary)!important;
    font-size:12px!important;
    font-weight:700!important;
    letter-spacing:.13em!important;
    text-transform:uppercase!important;
}
.opa-r512-detail-section h2{
    margin:0 0 22px!important;
    color:var(--opa-r512-primary)!important;
    font-size:clamp(30px,4vw,50px)!important;
    line-height:1!important;
    letter-spacing:-.045em!important;
    font-weight:500!important;
}
.opa-r512-description-copy{
    color:var(--opa-r512-ink)!important;
    font-size:clamp(16px,1.35vw,19px)!important;
    line-height:1.72!important;
}
.opa-r512-description-copy p{
    margin:0 0 1em!important;
}
.opa-r512-detail-columns{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:clamp(30px,6vw,90px)!important;
    margin-top:clamp(42px,6vw,76px)!important;
}
.opa-r512-detail-list{
    margin:0!important;
}
.opa-r512-detail-list>div{
    display:grid!important;
    grid-template-columns:minmax(130px,.55fr) minmax(0,1fr)!important;
    gap:22px!important;
    padding:15px 0!important;
    border-top:1px solid var(--opa-r512-line)!important;
}
.opa-r512-detail-list>div:last-child{
    border-bottom:1px solid var(--opa-r512-line)!important;
}
.opa-r512-detail-list dt{
    color:var(--opa-r512-primary)!important;
    font-weight:600!important;
}
.opa-r512-detail-list dd{
    margin:0!important;
    color:var(--opa-r512-ink)!important;
}

/* Force legacy shop/listing content visible while it transitions to the
   accepted shared header. */
.opa-r512-main .opa-page-heading,
.opa-r512-main .opa-section,
.opa-r512-main .opa-product-page,
.opa-r512-main .opa-product-grid{
    opacity:1!important;
    visibility:visible!important;
}

@media(max-width:900px){
    :root{--opa-r512-head:60px}
    .opa-r512-header{
        padding:0 14px!important;
    }
    .opa-r512-brand img{
        height:26px!important;
    }
    .opa-r512-header-actions{
        gap:9px!important;
    }
    .opa-r512-login{
        font-size:13px!important;
    }
    .opa-r512-cart-link{
        width:36px!important;
        height:36px!important;
    }
    .opa-r512-shop{
        padding:36px 16px 68px!important;
    }
    .opa-r512-shop-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:12px!important;
    }
    .opa-r512-shop-grid .opa-product-card{
        border-radius:18px!important;
    }
    .opa-r512-shop-grid .opa-product-card__meta{
        padding:13px 12px 16px!important;
    }
    .opa-product-layout{
        grid-template-columns:1fr!important;
        gap:28px!important;
    }
    .opa-product-main-media{
        min-height:0!important;
        aspect-ratio:1/1!important;
        border-radius:20px!important;
    }
    .opa-r512-detail-columns{
        grid-template-columns:1fr!important;
        gap:42px!important;
    }
}

@media(max-width:520px){
    .opa-r512-header{
        grid-template-columns:42px 1fr auto!important;
    }
    .opa-r512-brand{
        justify-self:center!important;
    }
    .opa-r512-login{
        display:none!important;
    }
    .opa-r512-drawer{
        width:min(390px,94vw)!important;
    }
    .opa-r512-drawer .opa-r19-drawer-top{
        min-height:64px!important;
        padding:9px 14px!important;
    }
    .opa-r512-drawer .opa-r19-drawer-search{
        padding:15px 16px 18px!important;
    }
    .opa-r512-drawer .opa-r19-drawer-section{
        padding:12px 18px!important;
        font-size:22px!important;
    }
    .opa-r512-drawer .opa-r19-drawer-categories a{
        padding:11px 20px 11px 30px!important;
        font-size:16px!important;
    }
    .opa-r512-drawer .opa-r19-drawer-links a{
        padding:12px 30px!important;
        font-size:18px!important;
    }
    .opa-r512-drawer .opa-r19-drawer-links--bottom{
        margin-top:34px!important;
    }
    .opa-r512-shop__head h1{
        font-size:44px!important;
    }
    .opa-r512-shop-filters{
        flex-wrap:nowrap!important;
        overflow-x:auto!important;
        scrollbar-width:none!important;
        margin-right:-16px!important;
        padding-right:16px!important;
    }
    .opa-r512-shop-filters::-webkit-scrollbar{
        display:none!important;
    }
    .opa-r512-shop-filters a{
        flex:0 0 auto!important;
    }
    .opa-r512-detail-list>div{
        grid-template-columns:1fr!important;
        gap:6px!important;
    }
}
/* OPA R5.12.2 navbar single-authority closure.
   This block intentionally outranks the older landing and Phase-1 navbar CSS. */
html body .opa-r512-header[data-opa-r512-navbar-authority]{
    position:fixed!important;
    z-index:720!important;
    inset:0 0 auto 0!important;
    height:var(--opa-r512-head)!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    grid-template-areas:"actions brand menu"!important;
    align-items:center!important;
    gap:16px!important;
    padding:0 clamp(16px,2.5vw,42px)!important;
    margin:0!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    background:rgba(247,247,247,.96)!important;
    color:var(--opa-r512-ink)!important;
    border:0!important;
    border-bottom:1px solid var(--opa-r512-line)!important;
    box-shadow:none!important;
    backdrop-filter:blur(12px)!important;
    transition:none!important;
}

/* Legacy landing scroll scripts may still toggle these classes. They are
   intentionally visual no-ops for the authoritative navbar. */
html body .opa-r512-header[data-opa-r512-navbar-authority].is-solid,
html body .opa-r512-header[data-opa-r512-navbar-authority].is-scrolled{
    background:rgba(247,247,247,.96)!important;
    color:var(--opa-r512-ink)!important;
    border-bottom:1px solid var(--opa-r512-line)!important;
    box-shadow:none!important;
    transform:none!important;
}

html[data-opa-r17-home="1"] body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-header-actions,
html body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-header-actions{
    grid-area:actions!important;
    justify-self:start!important;
    align-self:center!important;
    position:static!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
}

html[data-opa-r17-home="1"] body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-login,
html body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-login{
    position:static!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    display:inline-flex!important;
    align-items:center!important;
    width:auto!important;
    height:38px!important;
    margin:0!important;
    padding:0 2px!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    color:var(--opa-r512-ink)!important;
    background:transparent!important;
    border:0!important;
    text-decoration:none!important;
    font-size:14px!important;
    line-height:1!important;
    font-weight:500!important;
    letter-spacing:.01em!important;
}

html[data-opa-r17-home="1"] body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-cart-link,
html body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-cart-link{
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    display:grid!important;
    place-items:center!important;
    flex:0 0 auto!important;
    width:38px!important;
    height:38px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    color:var(--opa-r512-ink)!important;
}

html[data-opa-r17-home="1"] body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-brand,
html body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-brand{
    grid-area:brand!important;
    justify-self:center!important;
    align-self:center!important;
    position:static!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    display:inline-flex!important;
    align-items:center!important;
    width:auto!important;
    height:38px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
}

html[data-opa-r17-home="1"] body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-brand img,
html body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-brand img,
html[data-opa-r17-home="1"] body .opa-r512-header[data-opa-r512-navbar-authority].is-solid .opa-r512-brand img{
    display:block!important;
    width:auto!important;
    height:28px!important;
    max-width:118px!important;
    object-fit:contain!important;
    filter:none!important;
    transform:none!important;
}

html[data-opa-r17-home="1"] body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-menu-button,
html body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-menu-button{
    grid-area:menu!important;
    justify-self:end!important;
    align-self:center!important;
    position:static!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    display:grid!important;
    place-content:center!important;
    width:40px!important;
    height:40px!important;
    margin:0!important;
    padding:8px!important;
    transform:none!important;
    color:var(--opa-r512-ink)!important;
    background:transparent!important;
    border:0!important;
}

html[data-opa-r17-home="1"] body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-menu-button span,
html body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-menu-button span{
    display:block!important;
    width:22px!important;
    height:1.5px!important;
    margin:0!important;
    background:currentColor!important;
    border-radius:999px!important;
    transform:none!important;
}

/* Phase-1 JavaScript can inject a second navbar on internal pages. It is not
   the storefront authority anymore and must never become visible. */
html body > .opa-p1-header,
html body > .opa-p1-menu{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
}

/* Phase-1 may classify the real shared header as legacy. Keep it authoritative. */
html body .opa-r512-header[data-opa-r512-navbar-authority].opa-p1-legacy-hidden{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
}

/* Menu/drawer remains the existing accepted R5.12 shared drawer. */
html body .opa-r512-menu-layer{
    z-index:760!important;
}

/* Internal content always begins below the one authoritative fixed navbar. */
html body.opa-r512-internal .opa-r512-main{
    padding-top:var(--opa-r512-head)!important;
}

@media(max-width:520px){
    html body .opa-r512-header[data-opa-r512-navbar-authority]{
        grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
        grid-template-areas:"actions brand menu"!important;
        padding:0 12px!important;
        gap:8px!important;
    }

    html[data-opa-r17-home="1"] body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-login,
    html body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-login{
        display:inline-flex!important;
        height:36px!important;
        font-size:13px!important;
    }

    html[data-opa-r17-home="1"] body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-cart-link,
    html body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-cart-link{
        width:34px!important;
        height:36px!important;
    }

    html[data-opa-r17-home="1"] body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-cart-link svg,
    html body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-cart-link svg{
        width:21px!important;
        height:21px!important;
    }

    html[data-opa-r17-home="1"] body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-brand img,
    html body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-brand img{
        height:25px!important;
        max-width:102px!important;
    }

    html[data-opa-r17-home="1"] body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-menu-button,
    html body .opa-r512-header[data-opa-r512-navbar-authority] .opa-r512-menu-button{
        width:36px!important;
        height:36px!important;
        padding:7px!important;
    }
}
/* OPA R5.12.3: one navbar + one HOPA-pattern drawer on every OPA route. */
html body .opa-r513-header[data-opa-r513-navbar]{
    position:fixed!important;
    z-index:720!important;
    inset:0 0 auto 0!important;
    height:64px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    grid-template-areas:"left brand menu"!important;
    align-items:center!important;
    gap:14px!important;
    padding:0 clamp(16px,2.5vw,42px)!important;
    margin:0!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    background:rgba(247,247,247,.97)!important;
    color:#393D54!important;
    border:0!important;
    border-bottom:1px solid rgba(57,61,84,.12)!important;
    box-shadow:none!important;
    backdrop-filter:blur(12px)!important;
    transition:none!important;
}
html body .opa-r513-header.is-solid,
html body .opa-r513-header.is-scrolled,
html[data-opa-r17-home="1"] body .opa-r513-header{
    background:rgba(247,247,247,.97)!important;
    color:#393D54!important;
    transform:none!important;
    transition:none!important;
}
html body .opa-r513-header-left{
    grid-area:left!important;
    justify-self:start!important;
    display:flex!important;
    align-items:center!important;
    gap:11px!important;
    min-width:0!important;
}
html body .opa-r513-login{
    position:static!important;
    inset:auto!important;
    display:inline-flex!important;
    align-items:center!important;
    height:38px!important;
    margin:0!important;
    padding:0 2px!important;
    transform:none!important;
    color:#393D54!important;
    background:transparent!important;
    border:0!important;
    text-decoration:none!important;
    font-size:14px!important;
    line-height:1!important;
    font-weight:500!important;
}
html body .opa-r513-cart{
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    place-items:center!important;
    width:38px!important;
    height:38px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    color:#393D54!important;
}
html body .opa-r513-brand{
    grid-area:brand!important;
    justify-self:center!important;
    position:static!important;
    inset:auto!important;
    display:inline-flex!important;
    align-items:center!important;
    height:38px!important;
    margin:0!important;
    transform:none!important;
}
html body .opa-r513-brand img{
    display:block!important;
    width:auto!important;
    height:28px!important;
    max-width:118px!important;
    object-fit:contain!important;
    filter:none!important;
    transform:none!important;
}
html body .opa-r513-menu-button{
    grid-area:menu!important;
    justify-self:end!important;
    position:static!important;
    inset:auto!important;
    display:grid!important;
    place-content:center!important;
    gap:5px!important;
    width:40px!important;
    height:40px!important;
    margin:0!important;
    padding:8px!important;
    transform:none!important;
    color:#393D54!important;
    background:transparent!important;
    border:0!important;
    border-radius:8px!important;
    box-shadow:none!important;
    cursor:pointer!important;
}
html body .opa-r513-menu-button span{
    display:block!important;
    width:22px!important;
    height:1.5px!important;
    margin:0!important;
    background:currentColor!important;
    border-radius:999px!important;
    transform:none!important;
}

/* Remove every legacy menu presentation path. */
html body > .opa-p1-header,
html body > .opa-p1-menu,
html body .opa-r17-menu:not(.opa-r513-menu-layer),
html body .opa-r19-menu-layer:not(.opa-r513-menu-layer){
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
}

/* R5.12.3 drawer always owns the full viewport, including the navbar area. */
html body .opa-r513-menu-layer{
    position:fixed!important;
    z-index:900!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    margin:0!important;
    padding:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
}
html body .opa-r513-menu-layer.is-open{
    visibility:visible!important;
    pointer-events:auto!important;
}
html body .opa-r513-menu-backdrop{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:rgba(35,43,55,.46)!important;
    opacity:0!important;
    cursor:pointer!important;
    transition:opacity .24s ease!important;
}
html body .opa-r513-menu-layer.is-open .opa-r513-menu-backdrop{
    opacity:1!important;
}
html body .opa-r513-drawer{
    position:absolute!important;
    inset:0 auto 0 0!important;
    width:min(420px,92vw)!important;
    height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    background:#1F5E93!important;
    color:#F7F7F7!important;
    transform:translateX(-102%)!important;
    transition:transform .28s cubic-bezier(.2,.8,.2,1)!important;
    box-shadow:18px 0 44px rgba(31,94,147,.26)!important;
}
html body .opa-r513-menu-layer.is-open .opa-r513-drawer{
    transform:translateX(0)!important;
}
html body .opa-r513-drawer-top{
    position:relative!important;
    min-height:76px!important;
    display:grid!important;
    grid-template-columns:48px 1fr 48px!important;
    align-items:center!important;
    gap:8px!important;
    padding:8px 16px!important;
    border-bottom:1px solid rgba(247,247,247,.34)!important;
}
html body .opa-r513-drawer-back{
    justify-self:start!important;
    width:44px!important;
    height:44px!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    border:1px solid rgba(247,247,247,.72)!important;
    border-radius:12px!important;
    background:transparent!important;
    color:#F7F7F7!important;
    cursor:pointer!important;
}
html body .opa-r513-drawer-back svg{
    width:26px!important;
    height:26px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}
html body .opa-r513-drawer-brand{
    justify-self:center!important;
    display:inline-flex!important;
    align-items:center!important;
    min-width:0!important;
}
html body .opa-r513-drawer-brand img{
    display:block!important;
    width:auto!important;
    height:34px!important;
    max-width:128px!important;
    object-fit:contain!important;
    filter:brightness(0) invert(1)!important;
}
html body .opa-r513-drawer-top-spacer{
    display:block!important;
    width:44px!important;
    height:44px!important;
}
html body .opa-r513-search{
    padding:22px 20px 24px!important;
    border-bottom:1px solid rgba(247,247,247,.34)!important;
}
html body .opa-r513-search>label{
    display:block!important;
    margin:0 0 12px!important;
    text-align:center!important;
    color:#F7F7F7!important;
    font-size:21px!important;
    line-height:1.15!important;
    font-weight:500!important;
}
html body .opa-r513-search>div{
    display:flex!important;
    min-height:46px!important;
    overflow:hidden!important;
    border-radius:14px!important;
    background:#F7F7F7!important;
}
html body .opa-r513-search input{
    flex:1!important;
    min-width:0!important;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    color:#393D54!important;
    padding:11px 14px!important;
    font:inherit!important;
}
html body .opa-r513-search button{
    flex:0 0 50px!important;
    width:50px!important;
    border:0!important;
    background:#F7F7F7!important;
    color:#1F5E93!important;
    display:grid!important;
    place-items:center!important;
    cursor:pointer!important;
}
html body .opa-r513-search button svg{
    width:24px!important;
    height:24px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
}
html body .opa-r513-categories-toggle{
    width:100%!important;
    min-height:58px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:20px!important;
    padding:0 24px!important;
    border:0!important;
    border-bottom:1px solid rgba(247,247,247,.40)!important;
    background:transparent!important;
    color:#F7F7F7!important;
    text-align:left!important;
    font-size:24px!important;
    line-height:1!important;
    font-weight:400!important;
    cursor:pointer!important;
}
html body .opa-r513-categories-toggle svg{
    width:23px!important;
    height:23px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    transition:transform .18s ease!important;
}
html body .opa-r513-categories-toggle[aria-expanded="false"] svg{
    transform:rotate(180deg)!important;
}
html body .opa-r513-category-list{
    display:block!important;
}
html body .opa-r513-category-list[hidden]{
    display:none!important;
}
html body .opa-r513-category-list a{
    width:100%!important;
    min-height:56px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:20px!important;
    padding:0 28px 0 46px!important;
    border-bottom:1px solid rgba(247,247,247,.34)!important;
    color:#F7F7F7!important;
    background:transparent!important;
    text-decoration:none!important;
    font-size:18px!important;
    line-height:1.2!important;
}
html body .opa-r513-category-list a svg{
    width:20px!important;
    height:20px!important;
    flex:0 0 auto!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}
html body .opa-r513-category-empty{
    display:block!important;
    padding:16px 28px 16px 46px!important;
    border-bottom:1px solid rgba(247,247,247,.34)!important;
    color:rgba(247,247,247,.78)!important;
    font-size:15px!important;
}
html body .opa-r513-drawer-links{
    border-top:0!important;
}
html body .opa-r513-drawer-links a{
    width:100%!important;
    min-height:56px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
    padding:0 46px!important;
    border-bottom:1px solid rgba(247,247,247,.38)!important;
    color:#F7F7F7!important;
    background:transparent!important;
    text-decoration:none!important;
    font-size:19px!important;
    line-height:1.2!important;
}
html body .opa-r513-drawer-links--bottom{
    margin-top:54px!important;
    border-top:1px solid rgba(247,247,247,.38)!important;
}
html body .opa-r513-drawer-count{
    min-width:24px!important;
    height:24px!important;
    padding:0 6px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:999px!important;
    background:#F7F7F7!important;
    color:#1F5E93!important;
    font-size:12px!important;
    font-weight:700!important;
}
html body.opa-r513-menu-open{
    overflow:hidden!important;
}

@media(max-width:520px){
    html body .opa-r513-header[data-opa-r513-navbar]{
        height:60px!important;
        padding:0 12px!important;
        gap:8px!important;
    }
    html body .opa-r513-login{
        display:inline-flex!important;
        height:36px!important;
        font-size:13px!important;
    }
    html body .opa-r513-cart{
        width:34px!important;
        height:36px!important;
    }
    html body .opa-r513-cart svg{
        width:21px!important;
        height:21px!important;
    }
    html body .opa-r513-brand img{
        height:25px!important;
        max-width:102px!important;
    }
    html body .opa-r513-menu-button{
        width:36px!important;
        height:36px!important;
        padding:7px!important;
    }
    html body .opa-r513-drawer{
        width:100vw!important;
        max-width:none!important;
    }
    html body .opa-r513-drawer-top{
        min-height:72px!important;
        padding:7px 14px!important;
    }
    html body .opa-r513-search{
        padding:20px 24px 24px!important;
    }
    html body .opa-r513-categories-toggle{
        padding:0 30px!important;
        font-size:22px!important;
    }
    html body .opa-r513-category-list a{
        padding:0 30px 0 54px!important;
        font-size:17px!important;
    }
    html body .opa-r513-drawer-links a{
        padding:0 54px!important;
        font-size:18px!important;
    }
}
/* OPA R5.12.3.1 corrected navbar contract:
   BURGER LEFT | OPA LOGO CENTER | CART + LOGIN RIGHT.
   Navbar remains transparent at all scroll positions and on all routes. */
html body .opa-r5131-header[data-opa-r5131-navbar],
html[data-opa-r17-home="1"] body .opa-r5131-header[data-opa-r5131-navbar],
html body .opa-r5131-header[data-opa-r5131-navbar].is-solid,
html body .opa-r5131-header[data-opa-r5131-navbar].is-scrolled{
    position:fixed!important;
    z-index:720!important;
    inset:0 0 auto 0!important;
    width:100%!important;
    height:64px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    grid-template-areas:"menu brand right"!important;
    align-items:center!important;
    gap:14px!important;
    padding:0 clamp(16px,2.5vw,42px)!important;
    margin:0!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    background:transparent!important;
    background-color:transparent!important;
    color:#393D54!important;
    border:0!important;
    border-bottom:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    transition:none!important;
}

html body .opa-r5131-menu-button{
    grid-area:menu!important;
    justify-self:start!important;
    align-self:center!important;
    position:static!important;
    inset:auto!important;
    width:40px!important;
    height:40px!important;
    margin:0!important;
    padding:8px!important;
    transform:none!important;
    color:#393D54!important;
    background:transparent!important;
    border:0!important;
    border-radius:8px!important;
    box-shadow:none!important;
}

html body .opa-r5131-brand{
    grid-area:brand!important;
    justify-self:center!important;
    align-self:center!important;
    position:static!important;
    inset:auto!important;
    display:inline-flex!important;
    align-items:center!important;
    width:auto!important;
    height:38px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
}

html body .opa-r5131-brand img,
html[data-opa-r17-home="1"] body .opa-r5131-brand img,
html body .opa-r5131-header.is-solid .opa-r5131-brand img,
html body .opa-r5131-header.is-scrolled .opa-r5131-brand img{
    display:block!important;
    width:auto!important;
    height:28px!important;
    max-width:118px!important;
    object-fit:contain!important;
    filter:none!important;
    transform:none!important;
}

html body .opa-r5131-header-right{
    grid-area:right!important;
    justify-self:end!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:10px!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
}

html body .opa-r5131-cart{
    position:relative!important;
    inset:auto!important;
    flex:0 0 auto!important;
    display:grid!important;
    place-items:center!important;
    width:38px!important;
    height:38px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    color:#393D54!important;
    background:transparent!important;
}

html body .opa-r5131-login,
html[data-opa-r17-home="1"] body .opa-r5131-login{
    position:static!important;
    inset:auto!important;
    display:inline-flex!important;
    align-items:center!important;
    width:auto!important;
    height:38px!important;
    margin:0!important;
    padding:0 2px!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    color:#393D54!important;
    background:transparent!important;
    border:0!important;
    text-decoration:none!important;
    font-size:14px!important;
    line-height:1!important;
    font-weight:500!important;
    letter-spacing:.01em!important;
}

/* Historical navbar classes may still be toggled by old scripts.
   They cannot change R5.12.3.1's transparent appearance or geometry. */
html body .opa-r5131-header.opa-p1-legacy-hidden{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
}

/* Drawer remains full-height and above the transparent navbar. */
html body .opa-r513-menu-layer{
    z-index:900!important;
}

/* Internal content retains its existing top offset while the navbar itself
   stays transparent. */
html body.opa-r512-internal .opa-r512-main{
    padding-top:64px!important;
}

@media(max-width:520px){
    html body .opa-r5131-header[data-opa-r5131-navbar]{
        height:60px!important;
        grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
        grid-template-areas:"menu brand right"!important;
        gap:8px!important;
        padding:0 12px!important;
    }

    html body .opa-r5131-menu-button{
        width:36px!important;
        height:36px!important;
        padding:7px!important;
    }

    html body .opa-r5131-brand img{
        height:25px!important;
        max-width:102px!important;
    }

    html body .opa-r5131-header-right{
        gap:6px!important;
    }

    html body .opa-r5131-cart{
        width:32px!important;
        height:36px!important;
    }

    html body .opa-r5131-cart svg{
        width:21px!important;
        height:21px!important;
    }

    html body .opa-r5131-login{
        display:inline-flex!important;
        height:36px!important;
        font-size:13px!important;
    }

    html body.opa-r512-internal .opa-r512-main{
        padding-top:60px!important;
    }
}

/* OPA R5.13.1 GLOBAL FOOTER CONTRACT */
html body .opa-r17-footer[data-opa-global-footer],html body .opa-r17-footer[data-opa-global-footer] *{box-sizing:border-box!important;font-family:Instrument Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
html body .opa-r17-footer[data-opa-global-footer]{display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;color:#000!important;background:#fff!important;border:0!important;border-top:1px solid rgba(33,96,148,.14)!important;font-size:11px!important}
html body .opa-r17-footer[data-opa-global-footer].opa-p1-legacy-hidden{display:block!important;visibility:visible!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}
html body .opa-r17-footer[data-opa-global-footer] .opa-r17-footer-inner{width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;grid-template-areas:"legal credit contact"!important;align-items:center!important;gap:14px 20px!important;padding:16px clamp(16px,2.6vw,42px)!important}
html body .opa-r17-footer[data-opa-global-footer] a{color:#000!important;text-decoration:none!important}
html body .opa-r17-footer[data-opa-global-footer] a:hover{text-decoration:underline!important;text-underline-offset:3px!important}
html body .opa-r17-footer[data-opa-global-footer] .opa-r17-footer-legal{grid-area:legal!important;justify-self:start!important;width:max-content!important;min-width:max-content!important;display:flex!important;flex-flow:row nowrap!important;align-items:center!important;gap:16px!important;white-space:nowrap!important}
html body .opa-r17-footer[data-opa-global-footer] .opa-r17-footer-legal>a{display:inline-flex!important;flex:none!important;white-space:nowrap!important;word-break:keep-all!important;font-weight:400!important}
html body .opa-r17-footer[data-opa-global-footer] .opa-r17-footer-credit{grid-area:credit!important;justify-self:center!important;color:#000!important;text-align:center!important;white-space:nowrap!important;letter-spacing:0!important;text-transform:none!important;font-weight:400!important}
html body .opa-r17-footer[data-opa-global-footer] .opa-r17-footer-contact{grid-area:contact!important;justify-self:end!important;width:max-content!important;min-width:max-content!important;display:flex!important;flex-flow:row nowrap!important;align-items:center!important;gap:12px!important;white-space:nowrap!important}
html body .opa-r17-footer[data-opa-global-footer] .opa-r18-social-icon{flex:0 0 32px!important;width:32px!important;height:32px!important;display:inline-grid!important;place-items:center!important;color:#000!important;border:1px solid rgba(33,96,148,.18)!important;border-radius:50%!important;text-decoration:none!important}
html body .opa-r17-footer[data-opa-global-footer] .opa-r18-social-icon svg{width:17px!important;height:17px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.65px!important;stroke-linecap:round!important;stroke-linejoin:round!important}
html body .opa-r17-footer[data-opa-global-footer] .opa-r18-social-icon--whatsapp svg path{fill:currentColor!important;stroke:none!important}
html body > .opa-p1-footer{display:none!important;visibility:hidden!important;pointer-events:none!important}
@media(max-width:760px){html body .opa-r17-footer[data-opa-global-footer] .opa-r17-footer-inner{grid-template-columns:max-content minmax(0,1fr) max-content!important;grid-template-areas:"legal credit contact"!important;gap:0 clamp(5px,1.8vw,10px)!important;min-height:48px!important;padding:10px 12px!important}html body .opa-r17-footer[data-opa-global-footer] .opa-r17-footer-legal{gap:8px!important}html body .opa-r17-footer[data-opa-global-footer] .opa-r17-footer-legal>a{font-size:8px!important;line-height:1!important}html body .opa-r17-footer[data-opa-global-footer] .opa-r17-footer-credit{max-width:100%!important;font-size:clamp(5.7px,1.62vw,7.4px)!important;line-height:1!important;overflow:visible!important}html body .opa-r17-footer[data-opa-global-footer] .opa-r17-footer-contact{gap:5px!important}html body .opa-r17-footer[data-opa-global-footer] .opa-r18-social-icon{flex-basis:25px!important;width:25px!important;height:25px!important}html body .opa-r17-footer[data-opa-global-footer] .opa-r18-social-icon svg{width:14px!important;height:14px!important}}
@media(max-width:390px){html body .opa-r17-footer[data-opa-global-footer] .opa-r17-footer-inner{column-gap:5px!important;padding:9px 8px!important}html body .opa-r17-footer[data-opa-global-footer] .opa-r17-footer-legal{gap:6px!important}html body .opa-r17-footer[data-opa-global-footer] .opa-r17-footer-legal>a{font-size:7.2px!important}html body .opa-r17-footer[data-opa-global-footer] .opa-r17-footer-credit{font-size:clamp(5.15px,1.58vw,6.2px)!important}html body .opa-r17-footer[data-opa-global-footer] .opa-r18-social-icon{flex-basis:23px!important;width:23px!important;height:23px!important}html body .opa-r17-footer[data-opa-global-footer] .opa-r18-social-icon svg{width:13px!important;height:13px!important}}


/* OPA R5.15 FRONTEND ASSET CONSOLIDATION
   Internal pages no longer load Phase-1 JS/CSS or old force/mobile layers. */

html body .opa-p1-entry-curtain,
html body > .opa-p1-header,
html body > .opa-p1-menu,
html body > .opa-p1-footer {
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
}

/* HOPA-style OPA Categories -> Products hierarchy. */
html body .opa-r515-category {
    border-bottom:1px solid rgba(247,247,247,.34)!important;
}

html body .opa-r515-category-row {
    min-height:56px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 56px!important;
    align-items:stretch!important;
}

html body .opa-r515-category-link {
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    padding:0 0 0 46px!important;
    color:#F7F7F7!important;
    text-decoration:none!important;
    font-size:18px!important;
    line-height:1.2!important;
    border:0!important;
}

html body .opa-r515-category-toggle,
html body .opa-r515-category-arrow {
    width:56px!important;
    min-height:56px!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    border:0!important;
    border-left:1px solid rgba(247,247,247,.22)!important;
    background:transparent!important;
    color:#F7F7F7!important;
    cursor:pointer!important;
    text-decoration:none!important;
}

html body .opa-r515-category-toggle svg,
html body .opa-r515-category-arrow svg {
    width:20px!important;
    height:20px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    transition:transform .18s ease!important;
}

html body .opa-r515-category-toggle[aria-expanded="true"] svg {
    transform:rotate(90deg)!important;
}

html body .opa-r515-category-products {
    background:rgba(247,247,247,.07)!important;
}

html body .opa-r515-category-products[hidden] {
    display:none!important;
}

html body .opa-r515-category-products a {
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    padding:0 28px 0 66px!important;
    border-top:1px solid rgba(247,247,247,.18)!important;
    color:#F7F7F7!important;
    text-decoration:none!important;
    font-size:15px!important;
    line-height:1.25!important;
}

html body .opa-r515-category-products a:hover,
html body .opa-r515-category-products a:focus-visible {
    background:rgba(247,247,247,.08)!important;
}

@media(max-width:520px) {
    html body .opa-r515-category-link {
        padding-left:54px!important;
        font-size:17px!important;
    }

    html body .opa-r515-category-products a {
        padding-left:72px!important;
        font-size:15px!important;
    }
}


/* OPA R5.16 CLEAN VISUAL REFINEMENT
   Applies only after R5.15 legacy-asset consolidation. */

/* Transparent navbar stays global, but internal-page logo must remain legible
   against the approved off-white paper background. Landing keeps the white
   logo over its visual media. */
html body.opa-r512-internal .opa-r5131-brand img{
    filter:brightness(0) saturate(100%) invert(31%) sepia(42%) saturate(1288%) hue-rotate(166deg) brightness(88%) contrast(91%)!important;
}
html[data-opa-r17-home="1"] body .opa-r5131-brand img{
    filter:none!important;
}

/* Shop: keep the editorial heading, but center a short catalog instead of
   pinning two cards to the left side of a 1480px canvas. */
@media(min-width:901px){
    .opa-r512-shop{
        width:min(1280px,100%)!important;
        padding-left:clamp(28px,4vw,52px)!important;
        padding-right:clamp(28px,4vw,52px)!important;
    }
    .opa-r512-shop__head{
        max-width:760px!important;
    }
    .opa-r512-shop__head h1{
        font-size:clamp(52px,5vw,68px)!important;
    }
    .opa-r512-shop-grid{
        grid-template-columns:repeat(auto-fit,minmax(300px,390px))!important;
        justify-content:center!important;
        gap:26px!important;
    }
    .opa-r512-shop-grid .opa-product-card{
        width:100%!important;
        max-width:390px!important;
    }
}

/* Product detail: the previous media column was visually oversized. Keep the
   full product image uncropped/unstretched while giving commerce information
   equal visual weight. */
.opa-product-page>.opa-shell{
    width:min(1260px,calc(100% - 32px))!important;
}
.opa-product-layout{
    grid-template-columns:minmax(0,1fr) minmax(360px,.88fr)!important;
    gap:clamp(32px,4vw,58px)!important;
    align-items:start!important;
}
.opa-product-main-media{
    width:100%!important;
    max-width:620px!important;
    min-height:0!important;
    aspect-ratio:1/1!important;
    justify-self:center!important;
    border-radius:24px!important;
    box-shadow:0 18px 48px rgba(57,61,84,.07)!important;
}
.opa-product-main-media img,
.opa-product-main-media video{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
}
.opa-product-buy{
    padding-top:20px!important;
}
.opa-product-title{
    margin-top:14px!important;
    font-size:clamp(46px,4.7vw,66px)!important;
    line-height:.98!important;
    letter-spacing:-.045em!important;
}
.opa-r512-product-details{
    margin-top:clamp(42px,5vw,68px)!important;
    padding-top:clamp(28px,4vw,44px)!important;
}
.opa-r512-detail-section h2{
    font-size:clamp(28px,3.2vw,42px)!important;
}

/* Content pages: keep page ownership/content in Control Center, but remove the
   oversized empty-template treatment visible when a newly-created page has no
   editorial blocks yet. */
.opa-r512-main .opa-content-page-heading{
    padding-top:clamp(34px,5vw,64px)!important;
    padding-bottom:clamp(20px,3vw,36px)!important;
}
.opa-r512-main .opa-content-page-heading h1{
    font-size:clamp(54px,7vw,88px)!important;
    line-height:.98!important;
    letter-spacing:-.05em!important;
}
.opa-r512-main .opa-content-page{
    min-height:0!important;
    padding-top:0!important;
    padding-bottom:clamp(54px,8vw,110px)!important;
}
.opa-r512-main .opa-content-page:empty{
    display:none!important;
}

@media(max-width:900px){
    .opa-product-page{
        padding-top:26px!important;
    }
    .opa-product-layout{
        gap:24px!important;
    }
    .opa-product-main-media{
        max-width:100%!important;
        aspect-ratio:1/1!important;
        border-radius:20px!important;
        box-shadow:0 12px 34px rgba(57,61,84,.06)!important;
    }
    .opa-product-buy{
        padding-top:4px!important;
    }
    .opa-product-title{
        font-size:clamp(40px,11vw,52px)!important;
    }
    .opa-r512-product-details{
        margin-top:38px!important;
    }
}

@media(max-width:520px){
    .opa-r512-shop{
        padding-top:30px!important;
    }
    .opa-r512-shop__head h1{
        font-size:42px!important;
    }
    .opa-r512-shop__intro{
        margin-top:14px!important;
        font-size:15px!important;
        line-height:1.5!important;
    }
    .opa-product-page>.opa-shell{
        width:min(100% - 24px,1260px)!important;
    }
    .opa-product-main-media{
        border-radius:18px!important;
    }
    .opa-r512-main .opa-content-page-heading{
        padding-top:28px!important;
        padding-bottom:18px!important;
    }
    .opa-r512-main .opa-content-page-heading h1{
        font-size:clamp(44px,15vw,60px)!important;
    }
    .opa-r512-main .opa-content-page{
        padding-bottom:52px!important;
    }
}
/* OPA R5.16.1 VISUAL CORRECTION
   Fixes two issues confirmed by post-R5.16 VPS screenshots:
   1. white OPA logo remaining invisible on off-white internal pages;
   2. product media disappearing on mobile product detail pages. */

/* Internal transparent navbar: force the white source logo to OPA blue with
   specificity above historical is-solid/is-scrolled rules. Landing remains
   untouched and keeps the white logo over media. */
html body.opa-r512-internal
.opa-r5131-header[data-opa-r5131-navbar]
.opa-r5131-brand img,
html body.opa-r512-internal
.opa-r5131-header[data-opa-r5131-navbar].is-solid
.opa-r5131-brand img,
html body.opa-r512-internal
.opa-r5131-header[data-opa-r5131-navbar].is-scrolled
.opa-r5131-brand img{
    filter:
        brightness(0)
        saturate(100%)
        invert(31%)
        sepia(42%)
        saturate(1288%)
        hue-rotate(166deg)
        brightness(88%)
        contrast(91%)!important;
    opacity:1!important;
}

/* Product media must never be removed by older responsive base rules.
   Keep the full source image visible without crop or stretch. */
@media(max-width:900px){
    html body.opa-r512-internal
    .opa-product-page
    .opa-product-layout
    .opa-product-gallery-shell{
        display:block!important;
        visibility:visible!important;
        opacity:1!important;
        position:static!important;
        width:100%!important;
        max-width:100%!important;
        height:auto!important;
        min-height:0!important;
        margin:0!important;
        padding:0!important;
        order:0!important;
        transform:none!important;
    }

    html body.opa-r512-internal
    .opa-product-page
    .opa-product-layout
    .opa-product-buy{
        order:1!important;
    }

    html body.opa-r512-internal
    .opa-product-page
    .opa-product-main-media{
        display:grid!important;
        visibility:visible!important;
        opacity:1!important;
        width:100%!important;
        max-width:100%!important;
        height:auto!important;
        min-height:0!important;
        aspect-ratio:1/1!important;
        place-items:center!important;
        overflow:hidden!important;
    }

    html body.opa-r512-internal
    .opa-product-page
    .opa-product-main-media img,
    html body.opa-r512-internal
    .opa-product-page
    .opa-product-main-media video{
        display:block!important;
        visibility:visible!important;
        opacity:1!important;
        width:100%!important;
        height:100%!important;
        max-width:100%!important;
        max-height:none!important;
        object-fit:contain!important;
        object-position:center!important;
        transform:none!important;
    }
}

@media(max-width:520px){
    html body.opa-r512-internal
    .opa-product-page
    .opa-product-gallery-shell{
        margin-bottom:4px!important;
    }

    html body.opa-r512-internal
    .opa-product-page
    .opa-product-main-media{
        border-radius:18px!important;
        box-shadow:0 10px 28px rgba(57,61,84,.055)!important;
    }

    html body.opa-r512-internal
    .opa-product-page
    .opa-product-thumbnails{
        margin-top:8px!important;
    }
}
/* OPA R5.16.3 MOBILE PRODUCT GALLERY CLOSURE
   R5.16.2 forensics proved the gallery and image remain in the DOM and the
   image asset is healthy. The actual defect is grid track collapse:
   a later desktop .opa-product-layout rule reintroduces two columns after an
   earlier <=900px one-column rule. At 390px, the second minmax(360px, ...)
   track consumes the viewport and collapses the first/gallery track to ~0. */

@media(max-width:900px){
    html body.opa-r512-internal
    .opa-product-page
    .opa-product-layout{
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        grid-template-rows:auto auto!important;
        gap:24px!important;
        width:100%!important;
        min-width:0!important;
    }

    html body.opa-r512-internal
    .opa-product-page
    .opa-product-layout
    .opa-product-gallery-shell{
        grid-column:1!important;
        grid-row:auto!important;
        min-width:0!important;
        width:100%!important;
        max-width:100%!important;
    }

    html body.opa-r512-internal
    .opa-product-page
    .opa-product-layout
    .opa-product-buy{
        grid-column:1!important;
        grid-row:auto!important;
        min-width:0!important;
        width:100%!important;
        max-width:100%!important;
    }
}


/* OPA R5.17.1 HOMEPAGE CONTENT SYSTEM */

html body.opa-r17-home .opa-r112-marquee{
    position:relative!important;
    z-index:2!important;
    width:100%!important;
    min-height:46px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#1F5E93!important;
    color:#FFFFFF!important;
    border:0!important;
}

html body.opa-r17-home .opa-r112-marquee-track{
    min-height:46px!important;
    display:flex!important;
    align-items:center!important;
    width:max-content!important;
}

html body.opa-r17-home .opa-r112-marquee-group{
    min-height:46px!important;
    display:flex!important;
    align-items:center!important;
    gap:24px!important;
    padding:0 12px!important;
    white-space:nowrap!important;
}

html body.opa-r17-home .opa-r112-marquee-group span{
    color:#FFFFFF!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:500!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
}

html body.opa-r17-home .opa-r112-marquee-group i{
    color:#79A0B5!important;
    font-style:normal!important;
}

html body.opa-r17-home .opa-r517-split{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-areas:"media copy"!important;
    align-items:stretch!important;
    min-height:clamp(460px,54vw,720px)!important;
    margin:0!important;
    padding:0!important;
    background:#F7F7F7!important;
    color:#393D54!important;
}

html body.opa-r17-home .opa-r517-split--media-right{
    grid-template-areas:"copy media"!important;
}

html body.opa-r17-home .opa-r517-split-media{
    grid-area:media!important;
    min-width:0!important;
    min-height:100%!important;
    overflow:hidden!important;
    background:#FFFFFF!important;
}

html body.opa-r17-home .opa-r517-split-media picture,
html body.opa-r17-home .opa-r517-split-media video,
html body.opa-r17-home .opa-r517-split-media img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
}

html body.opa-r17-home .opa-r517-split-media img,
html body.opa-r17-home .opa-r517-split-media video{
    object-fit:cover!important;
    object-position:center!important;
}

html body.opa-r17-home .opa-r517-split-copy{
    grid-area:copy!important;
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    gap:18px!important;
    padding:clamp(42px,7vw,110px)!important;
    background:#F7F7F7!important;
}

html body.opa-r17-home .opa-r517-split-copy h2{
    max-width:12ch!important;
    margin:0!important;
    color:#1F5E93!important;
    font-size:clamp(38px,5vw,72px)!important;
    line-height:.98!important;
    font-weight:500!important;
    letter-spacing:-.045em!important;
}

html body.opa-r17-home .opa-r517-split-copy p{
    max-width:42rem!important;
    margin:0!important;
    color:#393D54!important;
    font-size:clamp(16px,1.5vw,20px)!important;
    line-height:1.6!important;
}

@media(max-width:760px){
    html body.opa-r17-home .opa-r112-marquee,
    html body.opa-r17-home .opa-r112-marquee-track,
    html body.opa-r17-home .opa-r112-marquee-group{
        min-height:40px!important;
    }

    html body.opa-r17-home .opa-r112-marquee-group{
        gap:18px!important;
        padding:0 10px!important;
    }

    html body.opa-r17-home .opa-r112-marquee-group span{
        font-size:11px!important;
    }

    html body.opa-r17-home .opa-r517-split,
    html body.opa-r17-home .opa-r517-split--media-right{
        grid-template-columns:minmax(0,1fr)!important;
        grid-template-areas:
            "media"
            "copy"!important;
        min-height:0!important;
    }

    html body.opa-r17-home .opa-r517-split-media{
        min-height:0!important;
        aspect-ratio:1/1!important;
    }

    html body.opa-r17-home .opa-r517-split-copy{
        min-height:330px!important;
        padding:44px 26px 52px!important;
    }

    html body.opa-r17-home .opa-r517-split-copy h2{
        max-width:14ch!important;
        font-size:clamp(34px,10vw,52px)!important;
    }

    html body.opa-r17-home .opa-r517-split-copy p{
        font-size:16px!important;
        line-height:1.55!important;
    }
}
/* OPA R5.17.2 FIRST VIEWPORT MOTIVATE FONT + NEWS BAR SPEED */

/* User-supplied Motivate Regular font.
   Applied only to the text captions shown over the homepage first viewport. */
@font-face{
    font-family:'Motivate';
    src:url('/fonts/Motivate.otf?v=20260921-r5-17-2') format('opentype');
    font-style:normal;
    font-weight:400;
    font-display:swap;
}

html[data-opa-r120-home="1"]
.opa-r120-video-caption,
html body.opa-r17-home
.opa-r517-split-copy h2{
    font-family:
        'Instrument Sans',
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif!important;
    font-weight:400!important;
}

/* The legacy compiled homepage CSS runs the news bar at 32s desktop and
   24s mobile. R5.17.2 slows both by 50% while preserving the same continuous
   linear ticker behavior. */
html body.opa-r17-home
.opa-r112-marquee-track{
    animation-duration:48s!important;
}

@media(max-width:760px){
    html body.opa-r17-home
    .opa-r112-marquee-track{
        animation-duration:36s!important;
    }
}


/* OPA R5.18.1 PRODUCT COMMERCE PRESENTATION REPAIR
   - show Control Center brand publicly;
   - restore premium static-style color selection;
   - restore compact quantity stepper;
   - guarantee full intrinsic product image with no CSS crop/stretch/zoom. */

html body.opa-r512-internal
.opa-product-page
.opa-product-brandline{
    display:block!important;
    margin:0 0 12px!important;
    color:#79A0B5!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1!important;
    letter-spacing:.16em!important;
    text-transform:uppercase!important;
}

/* The source image owns its ratio. Do not force it to the square media box. */
html body.opa-r512-internal
.opa-product-page
.opa-product-main-media{
    aspect-ratio:auto!important;
    height:auto!important;
    min-height:0!important;
    padding:clamp(14px,2vw,24px)!important;
    overflow:hidden!important;
    background:#FFFFFF!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-product-main-media img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:min(72vh,680px)!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
    margin:auto!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-product-main-media video{
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    max-height:min(72vh,680px)!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
}

/* Product thumbnails also preserve the whole source. */
html body.opa-r512-internal
.opa-product-page
.opa-product-thumbnail img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
}

/* Restore the static OPA color language used by the accepted homepage cards:
   round swatches with an OPA-blue selection ring instead of a generic pill. */
html body.opa-r512-internal
.opa-product-page
.opa-option-values--color{
    align-items:flex-start!important;
    gap:14px!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-option-values--color
.opa-option-pill--color{
    min-width:52px!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-items:center!important;
    gap:8px!important;
    padding:4px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#393D54!important;
    font-size:11px!important;
    font-weight:600!important;
    line-height:1.15!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-option-values--color
.opa-color-swatch{
    width:32px!important;
    height:32px!important;
    flex:0 0 32px!important;
    border-radius:50%!important;
    background:var(--opa-swatch)!important;
    box-shadow:
        inset 0 0 0 1px rgba(0,0,0,.08)!important;
    transition:
        box-shadow .18s ease,
        transform .18s ease!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-option-values--color
.opa-option-input:checked
+ .opa-option-pill--color{
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-option-values--color
.opa-option-input:checked
+ .opa-option-pill--color
.opa-color-swatch{
    box-shadow:
        0 0 0 2px #FFFFFF,
        0 0 0 4px #1F5E93,
        inset 0 0 0 1px rgba(0,0,0,.08)!important;
    transform:scale(.96)!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-option-values--color
.opa-option-input:focus-visible
+ .opa-option-pill--color
.opa-color-swatch{
    outline:2px solid #1F5E93!important;
    outline-offset:4px!important;
}

/* Text/size options keep the clean static-link language rather than large
   generic form pills. */
html body.opa-r512-internal
.opa-product-page
.opa-option-values:not(.opa-option-values--color)
.opa-option-pill--text{
    min-height:32px!important;
    padding:0 0 3px!important;
    border:0!important;
    border-bottom:1px solid #79A0B5!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#1F5E93!important;
    font-size:14px!important;
    font-weight:600!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-option-values:not(.opa-option-values--color)
.opa-option-input:checked
+ .opa-option-pill--text{
    border-bottom-color:#1F5E93!important;
    background:transparent!important;
    box-shadow:none!important;
    font-weight:750!important;
}

/* Accepted compact quantity control. */
html body.opa-r512-internal
.opa-product-page
.opa-r518-quantity-stepper{
    width:176px!important;
    height:50px!important;
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr) 48px!important;
    align-items:stretch!important;
    overflow:hidden!important;
    border:1px solid rgba(57,61,84,.18)!important;
    border-radius:999px!important;
    background:#FFFFFF!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-r518-quantity-stepper
.opa-r518-quantity-button{
    appearance:none!important;
    width:48px!important;
    min-width:48px!important;
    height:48px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#1F5E93!important;
    font:600 22px/1 Arial,sans-serif!important;
    cursor:pointer!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-r518-quantity-stepper
.opa-r518-quantity-button:disabled{
    opacity:.28!important;
    cursor:not-allowed!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-r518-quantity-stepper
input[type="number"]{
    appearance:textfield!important;
    -moz-appearance:textfield!important;
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    min-height:48px!important;
    padding:0!important;
    border:0!important;
    border-left:1px solid rgba(57,61,84,.12)!important;
    border-right:1px solid rgba(57,61,84,.12)!important;
    border-radius:0!important;
    background:#FFFFFF!important;
    color:#393D54!important;
    text-align:center!important;
    font-size:14px!important;
    font-weight:700!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-r518-quantity-stepper
input[type="number"]::-webkit-outer-spin-button,
html body.opa-r512-internal
.opa-product-page
.opa-r518-quantity-stepper
input[type="number"]::-webkit-inner-spin-button{
    -webkit-appearance:none!important;
    margin:0!important;
}

@media(max-width:900px){
    html body.opa-r512-internal
    .opa-product-page
    .opa-product-main-media{
        aspect-ratio:auto!important;
        height:auto!important;
        padding:14px!important;
    }

    html body.opa-r512-internal
    .opa-product-page
    .opa-product-main-media img{
        width:auto!important;
        height:auto!important;
        max-width:100%!important;
        max-height:68vh!important;
        object-fit:contain!important;
    }
}

@media(max-width:520px){
    html body.opa-r512-internal
    .opa-product-page
    .opa-product-main-media{
        padding:10px!important;
    }

    html body.opa-r512-internal
    .opa-product-page
    .opa-product-main-media img{
        max-height:none!important;
    }

    html body.opa-r512-internal
    .opa-product-page
    .opa-r518-quantity-stepper{
        width:164px!important;
    }
}


/* OPA R5.18.3 DYNAMIC HOMEPAGE PRODUCT CARD CLOSURE */

html body.opa-r17-home
.opa-r112-product-info,
html body.opa-r17-home
.opa-r112-product-info a,
html body.opa-r17-home
.opa-r112-product-info button,
html body.opa-r17-home
.opa-r112-product-info p,
html body.opa-r17-home
.opa-r112-product-info span,
html body.opa-r17-home
.opa-r112-product-info strong,
html body.opa-r17-home
.opa-r112-product-info s{
    font-family:
        'Instrument Sans',
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif!important;
}

html body.opa-r17-home
.opa-r112-product-card{
    background:#FFFFFF!important;
    border-radius:28px!important;
    color:#173F63!important;
}

html body.opa-r17-home
.opa-r112-product-info{
    color:#173F63!important;
    padding:26px 26px 28px!important;
}

html body.opa-r17-home
.opa-r112-product-badge{
    color:#216094!important;
    margin:0 0 7px!important;
    font-size:14px!important;
    font-weight:700!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
}

html body.opa-r17-home
.opa-r112-product-title{
    color:#173F63!important;
    margin:0 0 18px!important;
    font-size:clamp(22px,1.45vw,28px)!important;
    font-weight:600!important;
    line-height:1.08!important;
    letter-spacing:-.015em!important;
}

html body.opa-r17-home
.opa-r112-swatches{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:12px!important;
    min-height:36px!important;
    margin:0 0 18px!important;
}

html body.opa-r17-home
.opa-r112-swatch{
    appearance:none!important;
    display:block!important;
    width:36px!important;
    height:36px!important;
    flex:0 0 36px!important;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:var(--swatch)!important;
    cursor:pointer!important;
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)!important;
}

html body.opa-r17-home
.opa-r112-swatch.is-selected,
html body.opa-r17-home
.opa-r112-swatch:focus-visible{
    box-shadow:
        0 0 0 3px #FFFFFF,
        0 0 0 5px #173F63,
        inset 0 0 0 1px rgba(0,0,0,.05)!important;
}

html body.opa-r17-home
.opa-r112-options{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:12px!important;
    margin:0 0 18px!important;
}

html body.opa-r17-home
.opa-r112-options button{
    appearance:none!important;
    padding:0 0 3px!important;
    border:0!important;
    border-bottom:1px solid #173F63!important;
    border-radius:0!important;
    background:transparent!important;
    color:#173F63!important;
    font-size:16px!important;
    font-weight:500!important;
    line-height:1.1!important;
    cursor:pointer!important;
}

html body.opa-r17-home
.opa-r112-product-feature{
    color:#173F63!important;
    margin:0 0 8px!important;
    font-size:17px!important;
    font-weight:500!important;
    line-height:1.35!important;
}

html body.opa-r17-home
.opa-r112-product-description{
    max-width:30ch!important;
    margin:0 0 22px!important;
    color:#173F63!important;
    font-size:16px!important;
    line-height:1.45!important;
}

html body.opa-r17-home
.opa-r112-product-price{
    display:flex!important;
    align-items:baseline!important;
    gap:8px!important;
    margin-top:auto!important;
    color:#173F63!important;
    font-size:18px!important;
    line-height:1.2!important;
}

html body.opa-r17-home
.opa-r112-product-price s{
    color:#173F63!important;
    opacity:.9!important;
    font-weight:400!important;
    text-decoration-thickness:1px!important;
}

html body.opa-r17-home
.opa-r112-product-price strong{
    color:#173F63!important;
    font-weight:700!important;
}

@media(max-width:640px){
    html body.opa-r17-home
    .opa-r112-product-card{
        border-radius:24px!important;
    }

    html body.opa-r17-home
    .opa-r112-product-info{
        padding:22px 20px 24px!important;
    }

    html body.opa-r17-home
    .opa-r112-product-title{
        font-size:24px!important;
    }

    html body.opa-r17-home
    .opa-r112-swatch{
        width:34px!important;
        height:34px!important;
        flex-basis:34px!important;
    }

    html body.opa-r17-home
    .opa-r112-options button{
        font-size:15px!important;
    }

    html body.opa-r17-home
    .opa-r112-product-description{
        max-width:100%!important;
        font-size:15px!important;
    }

    html body.opa-r17-home
    .opa-r112-product-price{
        font-size:18px!important;
    }
}


/* OPA R5.18.4 HOMEPAGE PRODUCT TYPOGRAPHY + ADAPTIVE ARROW */

/* The requested Motivate scope is headings/names, not descriptive copy. */
html body.opa-r17-home
#opa-r17-products-title,
html body.opa-r17-home
.opa-r112-product-title{
    font-family:
        'Instrument Sans',
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif!important;
}

/* Keep product descriptive copy in the normal OPA UI typeface. */
html body.opa-r17-home
.opa-r112-product-feature,
html body.opa-r17-home
.opa-r112-product-description{
    font-family:
        'Instrument Sans',
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif!important;
}

/* JS owns visibility according to real horizontal overflow. */
html body.opa-r17-home
.opa-r112-product-next[hidden]{
    display:none!important;
}

html body.opa-r17-home
.opa-r112-product-next{
    transition:
        opacity .18s ease,
        visibility .18s ease!important;
}


/* OPA R5.18.4.2 HOME PRODUCT NORMAL-FONT CORRECTION
   Keep Motivate only on the OPA Products section heading.
   Product names, descriptions, prices and other product-card text return
   to the normal OPA UI font. */

html body.opa-r17-home
#opa-r17-products-title{
    font-family:
        'Instrument Sans',
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif!important;
}

/* Match/exceed the earlier R5.18.3 selector specificity so Motivate cannot
   leak from .opa-r112-product-info descendant rules. */
html body.opa-r17-home
.opa-r112-product-info,
html body.opa-r17-home
.opa-r112-product-info a,
html body.opa-r17-home
.opa-r112-product-info button,
html body.opa-r17-home
.opa-r112-product-info p,
html body.opa-r17-home
.opa-r112-product-info span,
html body.opa-r17-home
.opa-r112-product-info strong,
html body.opa-r17-home
.opa-r112-product-info s,
html body.opa-r17-home
.opa-r112-product-info .opa-r112-product-title,
html body.opa-r17-home
.opa-r112-product-info .opa-r112-product-feature,
html body.opa-r17-home
.opa-r112-product-info .opa-r112-product-description,
html body.opa-r17-home
.opa-r112-product-info .opa-r112-product-price,
html body.opa-r17-home
.opa-r112-product-info .opa-r112-product-price strong,
html body.opa-r17-home
.opa-r112-product-info .opa-r112-product-price s{
    font-family:
        'Instrument Sans',
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif!important;
}


/* OPA R5.19.1 HOMEPAGE PRODUCT MEDIA + OPTIONS + SALE PRESENTATION */

html body.opa-r17-home
.opa-r112-product-media{
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
    background:#FFFFFF!important;
}

html body.opa-r17-home
.opa-r112-product-media>.opa-r512-home-card-bg{
    display:none!important;
}

html body.opa-r17-home
.opa-r112-product-media>.opa-r512-home-card-main{
    position:relative!important;
    inset:auto!important;
    z-index:1!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:0!important;
    margin:0!important;
    transform:none!important;
    filter:none!important;
}

html body.opa-r17-home
.opa-r112-product-card:hover
.opa-r112-product-media>.opa-r512-home-card-main{
    transform:none!important;
}

html body.opa-r17-home
.opa-r112-options{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:baseline!important;
    gap:10px!important;
    margin:0 0 20px!important;
}

html body.opa-r17-home
.opa-r112-options button{
    appearance:none!important;
    padding:0 0 2px!important;
    margin:0!important;
    border:0!important;
    border-bottom:1px solid transparent!important;
    border-radius:0!important;
    background:transparent!important;
    color:#7C8B98!important;
    font-family:
        'Instrument Sans',
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif!important;
    font-size:17px!important;
    font-weight:400!important;
    line-height:1.15!important;
    cursor:default!important;
}

html body.opa-r17-home
.opa-r112-options button:first-child{
    color:#173F63!important;
    border-bottom-color:#173F63!important;
}

html body.opa-r17-home
.opa-r112-product-price{
    display:flex!important;
    align-items:baseline!important;
    gap:7px!important;
}

html body.opa-r17-home
.opa-r112-product-price s{
    color:#173F63!important;
    opacity:1!important;
    font-weight:400!important;
    text-decoration-thickness:1px!important;
}

html body.opa-r17-home
.opa-r112-product-price strong{
    color:#173F63!important;
    font-weight:700!important;
}

@media(max-width:640px){
    html body.opa-r17-home
    .opa-r112-options button{
        font-size:16px!important;
    }
}


/* OPA R5.19.2 HOMEPAGE FULL IMAGE + COLOR MEDIA */

/* The homepage uses one real image at a time. Keep its intrinsic aspect ratio
   and fit the complete source inside the media box. */
html body.opa-r17-home
.opa-r112-product-media{
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
    background:#FFFFFF!important;
}

html body.opa-r17-home
.opa-r112-product-media
>.opa-r512-home-card-main{
    position:relative!important;
    inset:auto!important;
    place-self:center!important;
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    aspect-ratio:auto!important;
    padding:0!important;
    margin:0!important;
    transform:none!important;
    filter:none!important;
}

html body.opa-r17-home
.opa-r112-product-card:hover
.opa-r112-product-media
>.opa-r512-home-card-main{
    transform:none!important;
}

/* Secondary gallery images are deliberately not rendered on homepage cards.
   Color selection replaces the one main image with the first image attached
   to that color in Control Center. */
html body.opa-r17-home
.opa-r112-product-media
>.opa-r112-product-alt{
    display:none!important;
}

html body.opa-r17-home
.opa-r112-swatch{
    cursor:pointer!important;
}


/* OPA R5.19.3 HOMEPAGE CARD NATURAL-IMAGE RESIZE
   The media block follows the active image's intrinsic aspect ratio.
   No square viewport, crop, stretch or zoom. */

html body.opa-r17-home
.opa-r112-product-media{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    line-height:0!important;
    background:#FFFFFF!important;
}

html body.opa-r17-home
.opa-r112-product-media
>.opa-r512-home-card-main{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    filter:none!important;
}

html body.opa-r17-home
.opa-r112-product-card:hover
.opa-r112-product-media
>.opa-r512-home-card-main{
    transform:none!important;
}

/* Let each card resize with the full active image rather than enforcing a
   fixed media height. */
html body.opa-r17-home
.opa-r112-product-card{
    height:auto!important;
    min-height:0!important;
    align-self:start!important;
}

html body.opa-r17-home
.opa-r112-product-info{
    min-height:0!important;
}

@media(max-width:640px){
    html body.opa-r17-home
    .opa-r112-product-media{
        width:100%!important;
        height:auto!important;
        aspect-ratio:auto!important;
    }

    html body.opa-r17-home
    .opa-r112-product-media
    >.opa-r512-home-card-main{
        width:100%!important;
        height:auto!important;
        max-height:none!important;
    }
}


/* OPA R5.19.3.1 FIXED CLEAN PRODUCT MEDIA
   Restore the pre-R5.19.3 balanced/equal card media geometry, but remove
   decorative background color and borders. Full image remains visible. */

html body.opa-r17-home
.opa-r112-product-media{
    display:grid!important;
    place-items:center!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:1 / 1!important;
    overflow:hidden!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    line-height:0!important;
}

html body.opa-r17-home
.opa-r112-product-media
>.opa-r512-home-card-main{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    aspect-ratio:auto!important;
    padding:0!important;
    margin:0!important;
    transform:none!important;
    filter:none!important;
    border:0!important;
    background:transparent!important;
}

html body.opa-r17-home
.opa-r112-product-card:hover
.opa-r112-product-media
>.opa-r512-home-card-main{
    transform:none!important;
}

html body.opa-r17-home
.opa-r112-product-card{
    height:100%!important;
    min-height:0!important;
    align-self:stretch!important;
    border:0!important;
}

html body.opa-r17-home
.opa-r112-product-info{
    min-height:0!important;
}

@media(max-width:640px){
    html body.opa-r17-home
    .opa-r112-product-media{
        aspect-ratio:1 / 1!important;
        background:transparent!important;
        border:0!important;
    }

    html body.opa-r17-home
    .opa-r112-product-media
    >.opa-r512-home-card-main{
        width:100%!important;
        height:100%!important;
        object-fit:contain!important;
    }
}


/* OPA R5.19.3.2 FIXED CARD + FULL INTRINSIC IMAGE
   Keep the existing card/media dimensions unchanged.
   Fit the complete source image inside that existing box. */

html body.opa-r17-home
.opa-r112-product-media{
    aspect-ratio:1 / 1!important;
    width:100%!important;
    height:auto!important;
    overflow:hidden!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}

html body.opa-r17-home
.opa-r112-product-media
>.opa-r512-home-card-main{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    aspect-ratio:auto!important;
    place-self:center!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    filter:none!important;
    border:0!important;
    background:transparent!important;
}

html body.opa-r17-home
.opa-r112-product-card:hover
.opa-r112-product-media
>.opa-r512-home-card-main{
    transform:none!important;
}

/* Card geometry is intentionally frozen. */
html body.opa-r17-home
.opa-r112-product-card{
    height:100%!important;
    align-self:stretch!important;
}

@media(max-width:640px){
    html body.opa-r17-home
    .opa-r112-product-media{
        aspect-ratio:1 / 1!important;
    }

    html body.opa-r17-home
    .opa-r112-product-media
    >.opa-r512-home-card-main{
        width:auto!important;
        height:auto!important;
        max-width:100%!important;
        max-height:100%!important;
        object-fit:contain!important;
    }
}


/* OPA R5.19.3.2.1 FIXED CARD CONTAIN RESUME
   Root-cause correction: width:auto + height:auto on the replaced image could
   exceed the fixed square media box. The card/media dimensions stay unchanged.
   The image element fills that box; object-fit:contain shows the whole bitmap. */

html body.opa-r17-home
.opa-r112-product-media{
    display:grid!important;
    place-items:center!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:1 / 1!important;
    overflow:hidden!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}

html body.opa-r17-home
.opa-r112-product-media
>.opa-r512-home-card-main{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    aspect-ratio:auto!important;
    place-self:center!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    filter:none!important;
    border:0!important;
    background:transparent!important;
}

html body.opa-r17-home
.opa-r112-product-card:hover
.opa-r112-product-media
>.opa-r512-home-card-main{
    transform:none!important;
}

html body.opa-r17-home
.opa-r112-product-card{
    height:100%!important;
    align-self:stretch!important;
}

@media(max-width:640px){
    html body.opa-r17-home
    .opa-r112-product-media{
        aspect-ratio:1 / 1!important;
    }

    html body.opa-r17-home
    .opa-r112-product-media
    >.opa-r512-home-card-main{
        width:100%!important;
        height:100%!important;
        max-width:100%!important;
        max-height:100%!important;
        object-fit:contain!important;
    }
}


/* OPA R5.20 PRODUCT DETAIL IMAGE ZOOM
   Default remains full-image contain. Zoom only changes the image transform
   inside the existing product media viewport; the page/card layout never resizes. */

html body.opa-r512-internal
.opa-product-page
.opa-product-main-media{
    position:relative!important;
    overflow:hidden!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-product-main-media
img[data-opa-main-image]{
    transform:
        scale(
            var(
                --opa-product-image-zoom,
                1
            )
        )!important;
    transform-origin:center center!important;
    transition:transform .18s ease!important;
    will-change:transform!important;
    object-fit:contain!important;
    object-position:center!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-product-main-media.is-zoomed
img[data-opa-main-image]{
    cursor:zoom-out!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-product-zoom-controls{
    position:absolute!important;
    right:14px!important;
    bottom:14px!important;
    z-index:5!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    padding:5px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.92)!important;
    box-shadow:0 8px 24px rgba(57,61,84,.12)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-product-zoom-controls[hidden]{
    display:none!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-product-zoom-button{
    appearance:none!important;
    display:grid!important;
    place-items:center!important;
    min-width:36px!important;
    height:36px!important;
    padding:0 8px!important;
    margin:0!important;
    border:0!important;
    border-radius:999px!important;
    background:transparent!important;
    color:#1F5E93!important;
    font-family:
        'Instrument Sans',
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif!important;
    font-size:22px!important;
    font-weight:500!important;
    line-height:1!important;
    cursor:pointer!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-product-zoom-button:hover,
html body.opa-r512-internal
.opa-product-page
.opa-product-zoom-button:focus-visible{
    background:rgba(31,94,147,.08)!important;
    outline:none!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-product-zoom-button:disabled{
    opacity:.35!important;
    cursor:default!important;
    background:transparent!important;
}

html body.opa-r512-internal
.opa-product-page
.opa-product-zoom-level{
    min-width:58px!important;
    font-size:13px!important;
    font-weight:600!important;
}

@media(max-width:520px){
    html body.opa-r512-internal
    .opa-product-page
    .opa-product-zoom-controls{
        right:10px!important;
        bottom:10px!important;
        padding:4px!important;
    }

    html body.opa-r512-internal
    .opa-product-page
    .opa-product-zoom-button{
        min-width:34px!important;
        height:34px!important;
    }

    html body.opa-r512-internal
    .opa-product-page
    .opa-product-zoom-level{
        min-width:52px!important;
        font-size:12px!important;
    }
}

@media(prefers-reduced-motion:reduce){
    html body.opa-r512-internal
    .opa-product-page
    .opa-product-main-media
    img[data-opa-main-image]{
        transition:none!important;
    }
}


/* OPA R5.24 CUSTOMER TYPOGRAPHY
   Motivate is reserved for product titles only. */
html body.opa-r17-home
.opa-r112-product-title,
html body.opa-r17-home
.opa-r112-product-info
.opa-r112-product-title{
    font-family:'Motivate',Arial,sans-serif!important;
}


/* OPA R5.24.3 CUSTOMER HOME PRODUCTS HEADING\n   The section heading uses the normal OPA UI typeface.\n   Motivate remains reserved for .opa-r112-product-title only. */\nhtml body.opa-r17-home\n#opa-r17-products-title{\n    font-family:\n        'Instrument Sans',\n        ui-sans-serif,\n        system-ui,\n        -apple-system,\n        BlinkMacSystemFont,\n        "Segoe UI",\n        sans-serif!important;\n}\n

/* OPA R5.24.4 PRODUCTS HEADER CORRECTION
   Keep Shop all as the original compact right-side control.
   The OPA Products section heading uses a plain system UI font.
   Product-card title typography is intentionally not changed here. */

html body.opa-r17-home
.opa-r112-products-toolbar{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:20px!important;
    width:100%!important;
    min-width:0!important;
}

html body.opa-r17-home
#opa-r17-products-title{
    flex:0 1 auto!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    font-family:
        Arial,
        Helvetica,
        sans-serif!important;
    font-style:normal!important;
    font-variant:normal!important;
    font-stretch:normal!important;
    letter-spacing:normal!important;
}

html body.opa-r17-home
.opa-r112-shop-all{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:max-content!important;
    margin-left:auto!important;
    padding:10px 20px!important;
    white-space:nowrap!important;
    align-self:center!important;
}

@media(max-width:640px){
    html body.opa-r17-home
    .opa-r112-products-toolbar{
        gap:12px!important;
    }

    html body.opa-r17-home
    #opa-r17-products-title{
        flex:1 1 auto!important;
    }

    html body.opa-r17-home
    .opa-r112-shop-all{
        flex:0 0 auto!important;
        width:auto!important;
        max-width:max-content!important;
        margin-left:auto!important;
        padding:8px 14px!important;
    }
}
