/**
 * On Board Air Commerce UI — Single Product desktop beta.
 * v0.9.0
 * Presentation only: Rey, WooCommerce and WPC Composite Products retain all behaviour.
 */
@media (min-width: 768px) {
  body.obaui-product-active {
    --obaui-product-gap: clamp(34px, 4vw, 72px);
    --obaui-product-option-h: 78px;
  }

  /* Keep the native page structure, but give the product area a consistent canvas. */
  body.obaui-product-active .woocommerce div.product,
  body.obaui-product-active .rey-productPage,
  body.obaui-product-active .rey-productSummary {
    color: var(--obaui-text);
  }

  body.obaui-product-active .woocommerce-breadcrumb,
  body.obaui-product-active [class*="breadcrumb"] {
    font-size: 12px;
    line-height: 1.35;
    letter-spacing: .02em;
  }

  body.obaui-product-active .summary .product_title,
  body.obaui-product-active .product_title {
    margin: 0 0 14px !important;
    max-width: 720px;
    font-size: clamp(28px, 2.05vw, 36px) !important;
    line-height: 1.12 !important;
    font-weight: 500 !important;
    letter-spacing: -.025em;
  }

  body.obaui-product-active .summary .price {
    margin: 0 0 15px !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
  }

  body.obaui-product-active .summary .product_meta {
    margin: 0 0 18px !important;
    color: var(--obaui-muted);
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  body.obaui-product-active .summary .product_meta > span {
    display: block;
    margin: 0 !important;
  }

  body.obaui-product-active .summary .social-icons,
  body.obaui-product-active .summary [class*="share"] {
    margin-top: 10px;
    margin-bottom: 22px;
  }

  /* Media: no arbitrary crop. Give photographs room, but stop giant empty canvases. */
  body.obaui-product-active .woocommerce-product-gallery,
  body.obaui-product-active [class*="productGallery"] {
    border-radius: 18px;
    overflow: hidden;
  }

  body.obaui-product-active .woocommerce-product-gallery img,
  body.obaui-product-active [class*="productGallery"] img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  /* WPC Composite Products: compress the kit builder without replacing its DOM. */
  body.obaui-product-active .wooco_wrap {
    margin-top: 18px;
  }

  body.obaui-product-active .wooco_components {
    display: grid !important;
    gap: 12px !important;
    margin: 0 !important;
  }

  body.obaui-product-active .wooco_components .wooco_component {
    margin: 0 !important;
    padding: 0 0 12px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--obaui-border) !important;
  }

  body.obaui-product-active .wooco_components .wooco_component_name,
  body.obaui-product-active .wooco_components .wooco_component_name strong {
    margin: 0 0 3px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
  }

  body.obaui-product-active .wooco_components .wooco_component_description,
  body.obaui-product-active .wooco_components .wooco_component_desc,
  body.obaui-product-active .wooco_components .wooco_component > p {
    margin: 0 0 8px !important;
    font-size: 13px !important;
    line-height: 1.38 !important;
    color: var(--obaui-text);
  }

  body.obaui-product-active .wooco_components .wooco_component_product {
    width: 100% !important;
    min-height: var(--obaui-product-option-h) !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    border: 1px solid var(--obaui-border-strong) !important;
    border-radius: 10px !important;
    background: var(--obaui-surface) !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
  }

  body.obaui-product-active .wooco_components .wooco_component_product:hover {
    border-color: #b9c0c3 !important;
  }

  body.obaui-product-active .wooco_component_product img,
  body.obaui-product-active .wooco_component_product_image img,
  body.obaui-product-active .wooco_component_product_selection_list_item_image img {
    width: 62px !important;
    height: 62px !important;
    max-width: 62px !important;
    max-height: 62px !important;
    object-fit: contain !important;
    border: 0 !important;
    background: transparent !important;
  }

  body.obaui-product-active .wooco_component_product_name,
  body.obaui-product-active .wooco_component_product_selection_list_item_name {
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
  }

  body.obaui-product-active .wooco_component_product_price,
  body.obaui-product-active .wooco_component_product_stock {
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  body.obaui-product-active .wooco_component_product_stock {
    color: var(--obaui-accent-dark) !important;
    font-weight: 700 !important;
  }

  body.obaui-product-active .wooco_component_product_select,
  body.obaui-product-active .wooco_component_product_select .select2-container {
    width: 100% !important;
  }

  body.obaui-product-active .wooco_component_product_select .select2-selection--single {
    min-height: var(--obaui-product-option-h) !important;
    height: var(--obaui-product-option-h) !important;
    border-radius: 10px !important;
    border-color: var(--obaui-border-strong) !important;
  }

  body.obaui-product-active .wooco_component_product_select .select2-selection__rendered {
    min-height: var(--obaui-product-option-h) !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  body.obaui-product-active .wooco_total,
  body.obaui-product-active .wooco_total_price,
  body.obaui-product-active .wooco_total_price_wrap {
    margin-top: 14px !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
  }

  /* Purchase controls: one disciplined control height and hierarchy. */
  body.obaui-product-active form.cart {
    margin-top: 14px !important;
  }

  body.obaui-product-active form.cart .quantity,
  body.obaui-product-active form.cart .quantity input,
  body.obaui-product-active form.cart button,
  body.obaui-product-active form.cart .button,
  body.obaui-product-active .single_add_to_cart_button {
    min-height: 46px;
  }

  body.obaui-product-active .single_add_to_cart_button {
    border-radius: 6px !important;
    font-weight: 700 !important;
  }

  /* Lower product information: tighten giant type/spacing swings. */
  body.obaui-product-active .woocommerce-tabs,
  body.obaui-product-active .rey-productTabs,
  body.obaui-product-active .product-extra-sections {
    margin-top: 56px !important;
  }

  body.obaui-product-active .woocommerce-tabs h2,
  body.obaui-product-active .rey-productTabs h2,
  body.obaui-product-active .related.products > h2,
  body.obaui-product-active .upsells.products > h2 {
    margin: 0 0 20px !important;
    font-size: 28px !important;
    line-height: 1.12 !important;
    letter-spacing: -.02em;
  }

  body.obaui-product-active .woocommerce-tabs :is(p, li),
  body.obaui-product-active .rey-productTabs :is(p, li) {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  body.obaui-product-active .woocommerce-tabs p,
  body.obaui-product-active .rey-productTabs p {
    margin: 0 0 14px !important;
  }

  body.obaui-product-active .woocommerce-tabs :is(h3, h4),
  body.obaui-product-active .rey-productTabs :is(h3, h4) {
    margin: 24px 0 10px !important;
    line-height: 1.2 !important;
  }

  /* Product grids: stop oversized whitespace while keeping Rey behaviour. */
  body.obaui-product-active .related.products,
  body.obaui-product-active .upsells.products,
  body.obaui-product-active [class*="recently"] {
    margin-top: 48px;
  }

  body.obaui-product-active .related.products li.product img,
  body.obaui-product-active .upsells.products li.product img {
    width: 100% !important;
    height: auto !important;
    max-height: 360px !important;
    object-fit: contain !important;
  }

  body.obaui-product-active .related.products li.product .woocommerce-loop-product__title,
  body.obaui-product-active .upsells.products li.product .woocommerce-loop-product__title {
    font-size: 15px !important;
    line-height: 1.32 !important;
  }
}

/* v0.9.13 — Single Product structural reset.
   Based on the original v0.9.0 product skin. The later stacked composite
   overrides are deliberately removed; only the verified Rey/WPC DOM is
   controlled here. */
@media (min-width:768px){
  /* Product body only. Header/footer are untouched. */
  body.obaui-product-active :is(main#main,.site-main,.rey-siteMain,.rey-mainContent) {
    width:min(1440px, calc(100% - 48px)) !important;
    max-width:1440px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }
  body.obaui-product-active .rey-productPage,
  body.obaui-product-active .woocommerce div.product {
    width:100% !important;
    max-width:1440px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* The location/zone message no longer owns a full-width row above product. */
  body.obaui-product-active .woocommerce-notices-wrapper.obaui-empty-notices {
    display:none !important;
    width:0 !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  body.obaui-product-active .obaui-product-zone-note {
    position:static !important;
    float:none !important;
    clear:both !important;
    width:100% !important;
    min-height:0 !important;
    margin:10px 0 0 !important;
    padding:8px 11px !important;
    border:1px solid var(--obaui-border) !important;
    border-radius:7px !important;
    background:#fafafa !important;
    box-sizing:border-box !important;
    font-size:11px !important;
    line-height:1.35 !important;
    font-weight:400 !important;
  }
  body.obaui-product-active .obaui-product-zone-note::before {
    position:static !important;
    display:inline-block !important;
    margin:0 7px 0 0 !important;
    transform:none !important;
  }

  /* WPC DDSlick: one deterministic selected-row geometry.
     Grid lanes are fixed so every image, title, price/stock block and arrow
     begins at the same x-position regardless of title length or source image. */
  body.obaui-product-active .wooco_component_layout_ddslick .wooco_component_product {
    width:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .wooco_component_product_selection {
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-container,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-select {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-select {
    height:86px !important;
    min-height:86px !important;
    max-height:86px !important;
    border:0 !important;
    outline:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected {
    display:grid !important;
    grid-template-columns:76px minmax(0,1fr) 148px 14px !important;
    column-gap:12px !important;
    align-items:center !important;
    width:100% !important;
    height:86px !important;
    min-height:86px !important;
    max-height:86px !important;
    margin:0 !important;
    padding:7px 10px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected :is(img,.dd-selected-image) {
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:center !important;
    justify-self:center !important;
    width:72px !important;
    height:72px !important;
    max-width:72px !important;
    max-height:72px !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:contain !important;
    object-position:center !important;
    border:0 !important;
    background:transparent !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected :is(.dd-selected-text,label) {
    grid-column:2 !important;
    grid-row:1 !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    align-self:center !important;
    font-size:13px !important;
    line-height:1.28 !important;
    font-weight:600 !important;
    white-space:normal !important;
    overflow:hidden !important;
    display:-webkit-box !important;
    -webkit-line-clamp:3 !important;
    -webkit-box-orient:vertical !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description {
    grid-column:3 !important;
    grid-row:1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:148px !important;
    min-width:148px !important;
    max-width:148px !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    font-size:11px !important;
    line-height:1.26 !important;
    white-space:normal !important;
    text-align:left !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-pointer {
    position:absolute !important;
    top:50% !important;
    right:10px !important;
    margin:0 !important;
    transform:translateY(-50%) !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-options {
    width:100% !important;
    box-sizing:border-box !important;
  }

  /* Keep the component heading/help rhythm predictable without changing copy. */
  body.obaui-product-active .wooco_components {
    gap:0 !important;
  }
  body.obaui-product-active .wooco_components .wooco_component {
    margin:0 !important;
    padding:10px 0 11px !important;
    border:0 !important;
    border-bottom:1px solid var(--obaui-border) !important;
  }
  body.obaui-product-active .wooco_components .wooco_component_name,
  body.obaui-product-active .wooco_components .wooco_component_name strong {
    margin:0 0 3px !important;
  }
  body.obaui-product-active .wooco_components .wooco_component_description,
  body.obaui-product-active .wooco_components .wooco_component_desc,
  body.obaui-product-active .wooco_components .wooco_component > p {
    margin:0 0 7px !important;
    line-height:1.32 !important;
  }

  /* Description remains in the true left/media column beneath all media. */
  body.obaui-product-active .obaui-original-description { display:none !important; }
  body.obaui-product-active .obaui-product-left-column { min-width:0 !important; }
  body.obaui-product-active .obaui-description-preview {
    position:relative !important;
    width:100% !important;
    margin:22px 0 0 !important;
    padding:22px 0 48px !important;
    max-height:var(--obaui-desc-height,420px) !important;
    overflow:hidden !important;
    border-top:1px solid var(--obaui-border) !important;
    box-sizing:border-box !important;
  }
  body.obaui-product-active .obaui-description-preview.is-expanded { max-height:none !important; }
  body.obaui-product-active .obaui-description-preview:not(.is-expanded)::after {
    content:'';
    position:absolute;
    left:0; right:0; bottom:0;
    height:76px;
    pointer-events:none;
    background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 68%);
  }
  body.obaui-product-active .obaui-description-toggle {
    position:absolute;
    z-index:2;
    left:0;
    bottom:14px;
    border:0;
    padding:0;
    background:transparent;
    font:inherit;
    font-size:13px;
    font-weight:600;
    text-decoration:underline;
    text-underline-offset:3px;
    cursor:pointer;
  }

  /* Generic Information: same right column, after Add to Cart, collapsed by
     default. It must never become a third/floating page column. */
  body.obaui-product-active .obaui-original-information { display:none !important; }
  body.obaui-product-active .obaui-information-card {
    position:static !important;
    float:none !important;
    clear:both !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:12px 0 0 !important;
    padding:0 !important;
    border:1px solid var(--obaui-border) !important;
    border-radius:8px !important;
    background:#fbfbfa !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }
  body.obaui-product-active .obaui-information-card > summary {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:42px !important;
    margin:0 !important;
    padding:10px 13px !important;
    cursor:pointer !important;
    list-style:none !important;
    font-size:13px !important;
    line-height:1.25 !important;
    font-weight:600 !important;
  }
  body.obaui-product-active .obaui-information-card > summary::-webkit-details-marker { display:none !important; }
  body.obaui-product-active .obaui-information-card > summary::after {
    content:'+';
    font-size:18px;
    line-height:1;
    font-weight:400;
  }
  body.obaui-product-active .obaui-information-card[open] > summary::after { content:'−'; }
  body.obaui-product-active .obaui-information-card__content {
    padding:12px 13px 14px !important;
    border-top:1px solid var(--obaui-border) !important;
    font-size:12px !important;
    line-height:1.42 !important;
  }
  body.obaui-product-active .obaui-information-card__content h2,
  body.obaui-product-active .obaui-information-card__content h3 {
    margin:0 0 8px !important;
    font-size:14px !important;
    line-height:1.25 !important;
  }
  body.obaui-product-active .obaui-information-card__content p { margin:0 0 8px !important; }
  body.obaui-product-active .obaui-information-card__content p:last-child { margin-bottom:0 !important; }
}


/* v0.9.15 — verified Rey gallery anchor for Description.
   The gallery is a direct child of .rey-productSummary. We wrap only that
   direct child and stack the Description below it, while preserving Rey's
   original 57% / 36% desktop column proportions and the untouched summary. */
@media (min-width:768px){
  body.obaui-product-active .rey-productSummary > .obaui-product-left-column{
    flex:0 0 57% !important;
    width:57% !important;
    max-width:57% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }
  body.obaui-product-active .rey-productSummary > .obaui-product-left-column > .woocommerce-product-gallery{
    display:block !important;
    float:none !important;
    flex:none !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  body.obaui-product-active .rey-productSummary > .obaui-product-left-column > .obaui-description-preview{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    clear:both !important;
  }
}


/* v0.9.17 — exact Rey Description panel relocation.
   The live source does not contain .woocommerce-Tabs-panel--description.
   Rey renders .rey-wcPanel--description as a sibling after .rey-productSummary.
   product.js moves that real panel below the gallery/HOF stack. */
@media (min-width:768px){
  body.obaui-product-active .rey-productSummary > .obaui-product-left-column > .obaui-description-under-gallery{
    display:block !important;
    position:static !important;
    float:none !important;
    clear:both !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:24px 0 0 !important;
    padding:22px 0 0 !important;
    border-top:1px solid var(--obaui-border) !important;
    box-sizing:border-box !important;
  }
  body.obaui-product-active .obaui-description-under-gallery > .rey-wcPanel-inner{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
  body.obaui-product-active .obaui-description-under-gallery .rey-prodDescToggle{
    width:100% !important;
    max-width:100% !important;
  }
  body.obaui-product-active .obaui-description-under-gallery h2:first-child{
    margin-top:0 !important;
  }
}

/* v0.9.18 — Single Product refinement.
   One border, one geometry, compact purchase controls, lighter description
   hierarchy and a description fold aligned with Product information. */
@media (min-width:768px){
  body.obaui-product-active {
    --obaui-product-option-h:70px;
  }

  /* WPC selected rows: exactly one visible border and a white canvas. */
  body.obaui-product-active .wooco_component_layout_ddslick .wooco_component_product,
  body.obaui-product-active .wooco_component_layout_ddslick .wooco_component_product_selection,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-container{
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-select{
    height:70px !important;
    min-height:70px !important;
    max-height:70px !important;
    border:1px solid var(--obaui-border-strong) !important;
    border-radius:7px !important;
    background:#fff !important;
    box-shadow:none !important;
    overflow:visible !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected{
    grid-template-columns:58px minmax(0,1fr) minmax(108px,27%) 12px !important;
    column-gap:9px !important;
    height:68px !important;
    min-height:68px !important;
    max-height:68px !important;
    padding:5px 8px !important;
    border:0 !important;
    border-radius:6px !important;
    background:#fff !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected :is(img,.dd-selected-image){
    width:56px !important;
    height:56px !important;
    max-width:56px !important;
    max-height:56px !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected :is(.dd-selected-text,label){
    font-size:12.5px !important;
    line-height:1.22 !important;
    font-weight:550 !important;
    -webkit-line-clamp:3 !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    gap:2px !important;
    text-align:left !important;
    font-size:10.5px !important;
    line-height:1.18 !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description > *,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description > span,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description .price,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description .stock{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
    justify-content:flex-start !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description .stock,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description .stock-c{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:4px !important;
    text-align:left !important;
    white-space:normal !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-pointer{
    right:8px !important;
  }

  /* Reduce the dead air between composite groups without changing copy. */
  body.obaui-product-active .wooco_components .wooco_component{
    padding:7px 0 8px !important;
  }
  body.obaui-product-active .wooco_components .wooco_component_name,
  body.obaui-product-active .wooco_components .wooco_component_name strong{
    margin:0 0 2px !important;
    font-size:13px !important;
    font-weight:600 !important;
  }
  body.obaui-product-active .wooco_components .wooco_component_description,
  body.obaui-product-active .wooco_components .wooco_component_desc,
  body.obaui-product-active .wooco_components .wooco_component > p{
    margin:0 0 5px !important;
    font-size:12px !important;
    line-height:1.28 !important;
  }

  /* Purchase area: consistent 42px controls and a predictable four-column row. */
  body.obaui-product-active form.cart{
    margin-top:10px !important;
  }
  body.obaui-product-active form.cart .rey-cartBtnQty{
    display:grid !important;
    grid-template-columns:96px minmax(150px,1fr) 132px 46px !important;
    gap:8px !important;
    align-items:stretch !important;
    width:100% !important;
  }
  body.obaui-product-active form.cart .rey-cartBtnQty > *{
    min-width:0 !important;
    margin:0 !important;
  }
  body.obaui-product-active form.cart .quantity,
  body.obaui-product-active form.cart .quantity input,
  body.obaui-product-active form.cart button,
  body.obaui-product-active form.cart .button,
  body.obaui-product-active .single_add_to_cart_button,
  body.obaui-product-active .rey-buyNowBtn,
  body.obaui-product-active .rey-wishlistBtn-wrapper .btn{
    min-height:42px !important;
    height:42px !important;
  }
  body.obaui-product-active .single_add_to_cart_button,
  body.obaui-product-active .rey-buyNowBtn{
    font-size:12px !important;
    font-weight:600 !important;
    border-radius:5px !important;
  }
  body.obaui-product-active .obaui-estimate-postage{
    min-height:38px !important;
    height:38px !important;
    margin:8px 0 4px !important;
    padding:0 14px !important;
    border:1px solid var(--obaui-border-strong) !important;
    border-radius:5px !important;
    background:#fff !important;
    color:var(--obaui-text) !important;
    font-size:11px !important;
    font-weight:550 !important;
    box-shadow:none !important;
  }

  /* The real Rey Description is clipped only to the Product information bottom.
     Its native Read more/Less button remains visible and expands the full copy. */
  body.obaui-product-active .obaui-description-under-gallery{
    margin-top:18px !important;
    padding-top:18px !important;
  }
  body.obaui-product-active .obaui-description-under-gallery .rey-prodDescToggle{
    position:relative !important;
    max-height:var(--obaui-desc-body-h,420px) !important;
    overflow:hidden !important;
  }
  body.obaui-product-active .obaui-description-under-gallery:not(.obaui-description-expanded) .rey-prodDescToggle::after{
    content:'';
    position:absolute;
    left:0; right:0; bottom:0;
    height:58px;
    pointer-events:none;
    background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 78%);
  }
  body.obaui-product-active .obaui-description-under-gallery.obaui-description-expanded .rey-prodDescToggle{
    max-height:none !important;
    overflow:visible !important;
  }

  /* Lean product-description type hierarchy. */
  body.obaui-product-active .obaui-description-under-gallery > .rey-wcPanel-inner > h2:first-child{
    margin:0 0 14px !important;
    font-size:25px !important;
    line-height:1.15 !important;
    font-weight:500 !important;
    letter-spacing:-.015em !important;
  }
  body.obaui-product-active .obaui-description-under-gallery .rey-prodDescToggle h1{
    margin:22px 0 10px !important;
    font-size:25px !important;
    line-height:1.18 !important;
    font-weight:500 !important;
    letter-spacing:-.012em !important;
  }
  body.obaui-product-active .obaui-description-under-gallery .rey-prodDescToggle h2{
    margin:22px 0 9px !important;
    font-size:21px !important;
    line-height:1.2 !important;
    font-weight:500 !important;
    letter-spacing:-.008em !important;
  }
  body.obaui-product-active .obaui-description-under-gallery .rey-prodDescToggle h3{
    margin:18px 0 8px !important;
    font-size:17px !important;
    line-height:1.24 !important;
    font-weight:500 !important;
  }
  body.obaui-product-active .obaui-description-under-gallery .rey-prodDescToggle h4{
    margin:16px 0 7px !important;
    font-size:15px !important;
    line-height:1.28 !important;
    font-weight:550 !important;
  }
  body.obaui-product-active .obaui-description-under-gallery .rey-prodDescToggle :is(p,li){
    font-size:14px !important;
    line-height:1.55 !important;
    font-weight:400 !important;
  }
  body.obaui-product-active .obaui-description-under-gallery .rey-prodDescToggle p{
    margin:0 0 12px !important;
  }
  body.obaui-product-active .obaui-description-under-gallery .rey-prodDescToggle strong{
    font-weight:600 !important;
  }
  body.obaui-product-active .obaui-description-under-gallery .rey-wcPanel-inner > .btn{
    margin-top:10px !important;
    font-size:12px !important;
    font-weight:500 !important;
  }

  /* Compact related-products presentation. Recommendation IDs are supplied
     server-side from genuine same-order purchase frequency. */
  body.obaui-product-active .related.products{
    margin-top:38px !important;
  }
  body.obaui-product-active .related.products > h2{
    margin-bottom:16px !important;
    font-size:24px !important;
    font-weight:500 !important;
  }
  body.obaui-product-active .related.products li.product img{
    max-height:240px !important;
    object-fit:contain !important;
  }
  body.obaui-product-active .related.products li.product .woocommerce-loop-product__title{
    font-size:14px !important;
    line-height:1.3 !important;
    font-weight:550 !important;
  }

  /* Product information remains a quiet, compact accordion below purchase. */
  body.obaui-product-active .obaui-information-card{
    margin-top:10px !important;
    background:#fff !important;
  }
  body.obaui-product-active .obaui-information-card > summary{
    min-height:40px !important;
    padding:9px 12px !important;
    font-weight:550 !important;
  }
}

@media (min-width:768px) and (max-width:1024px){
  body.obaui-product-active form.cart .rey-cartBtnQty{
    grid-template-columns:90px minmax(130px,1fr) 46px !important;
  }
  body.obaui-product-active form.cart .rey-buyNowBtn-wrapper{
    display:none !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected{
    grid-template-columns:52px minmax(0,1fr) minmax(92px,30%) 10px !important;
    column-gap:7px !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected :is(img,.dd-selected-image){
    width:50px !important;
    height:50px !important;
    max-width:50px !important;
    max-height:50px !important;
  }
}


/* v0.9.19 — Product density/alignment refinement.
   Tightens the description fade, total/postage row, purchase-control rhythm
   and both selected/open DDSlick option geometry. */
@media (min-width:768px){
  /* Rey's native toggle can apply its own long mask/fade. Disable that and use
     one short controlled fade only at the very end of the clipped description. */
  body.obaui-product-active .obaui-description-under-gallery .rey-prodDescToggle{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  body.obaui-product-active .obaui-description-under-gallery .rey-prodDescToggle::before{
    display:none !important;
    content:none !important;
  }
  body.obaui-product-active .obaui-description-under-gallery:not(.obaui-description-expanded) .rey-prodDescToggle::after{
    height:88px !important;
    background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,.28) 26%,rgba(255,255,255,.78) 68%,#fff 100%) !important;
  }

  /* Total price + Estimate postage: one compact row. The complete postage
     calculator stays together, so its native expand/calculate behaviour remains. */
  body.obaui-product-active .wooco_summary.obaui-total-postage-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    column-gap:12px !important;
    row-gap:8px !important;
    align-items:center !important;
    width:100% !important;
    margin-top:10px !important;
  }
  body.obaui-product-active .wooco_summary.obaui-total-postage-row .wooco_total{
    grid-column:1 !important;
    margin:0 !important;
    align-self:center !important;
    font-size:15px !important;
    line-height:1.25 !important;
  }
  body.obaui-product-active .wooco_summary.obaui-total-postage-row .wooco_count{
    display:none !important;
  }
  body.obaui-product-active .wooco_summary.obaui-total-postage-row .obaui-postage-inline{
    grid-column:2 !important;
    margin:0 !important;
    padding:0 !important;
    width:auto !important;
    min-width:0 !important;
    position:relative !important;
  }
  body.obaui-product-active .wooco_summary.obaui-total-postage-row .obaui-estimate-postage{
    min-height:34px !important;
    height:34px !important;
    margin:0 !important;
    padding:0 12px !important;
    white-space:nowrap !important;
  }
  body.obaui-product-active .wooco_summary.obaui-total-postage-row .pisol-shipping-calculator-form{
    margin-top:8px !important;
  }

  /* Purchase controls: light quantity outline and identical spacing between all
     four controls. */
  body.obaui-product-active form.cart .rey-cartBtnQty{
    grid-template-columns:96px minmax(150px,1fr) 132px 46px !important;
    gap:10px !important;
    align-items:stretch !important;
  }
  body.obaui-product-active form.cart .rey-cartBtnQty .quantity{
    border:1px solid #cfd5d8 !important;
    border-radius:5px !important;
    box-shadow:none !important;
    overflow:hidden !important;
    background:#fff !important;
  }
  body.obaui-product-active form.cart .rey-cartBtnQty .quantity :is(input,button,.btn){
    border-color:#e1e5e7 !important;
    box-shadow:none !important;
  }
  body.obaui-product-active form.cart .rey-cartBtnQty > *,
  body.obaui-product-active form.cart .rey-cartBtnQty .rey-buyNowBtn-wrapper,
  body.obaui-product-active form.cart .rey-cartBtnQty .rey-wishlistBtn-wrapper{
    margin:0 !important;
  }

  /* Component heading/help copy: almost no dead band before the selector. */
  body.obaui-product-active .wooco_components .wooco_component{
    padding:6px 0 7px !important;
  }
  body.obaui-product-active .wooco_components .wooco_component_name,
  body.obaui-product-active .wooco_components .wooco_component_name strong{
    margin:0 0 1px !important;
    line-height:1.15 !important;
  }
  body.obaui-product-active .wooco_components .wooco_component_description,
  body.obaui-product-active .wooco_components .wooco_component_desc,
  body.obaui-product-active .wooco_components .wooco_component > p{
    margin:0 0 3px !important;
    padding:0 !important;
    line-height:1.18 !important;
  }

  /* Selected row: slightly shorter, fixed lanes, vertically centred. */
  body.obaui-product-active{
    --obaui-product-option-h:64px;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-select{
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected{
    grid-template-columns:52px minmax(0,1fr) minmax(104px,27%) 12px !important;
    column-gap:8px !important;
    height:62px !important;
    min-height:62px !important;
    max-height:62px !important;
    padding:4px 8px !important;
    align-items:center !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected :is(img,.dd-selected-image){
    width:50px !important;
    height:50px !important;
    max-width:50px !important;
    max-height:50px !important;
    align-self:center !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected :is(.dd-selected-text,label){
    align-self:center !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.16 !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description{
    align-self:center !important;
    justify-content:center !important;
    gap:1px !important;
    line-height:1.14 !important;
  }

  /* Open DDSlick menu: mirror the selected-row lane geometry. This is what
     prevents option images/titles/prices from stepping left/right vertically. */
  body.obaui-product-active .wooco_component_layout_ddslick .dd-options{
    margin:0 !important;
    padding:0 !important;
    border:1px solid var(--obaui-border-strong) !important;
    border-top:0 !important;
    background:#fff !important;
    box-shadow:0 6px 14px rgba(0,0,0,.05) !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-options li{
    margin:0 !important;
    padding:0 !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option{
    display:grid !important;
    grid-template-columns:52px minmax(0,1fr) minmax(104px,27%) !important;
    column-gap:8px !important;
    align-items:center !important;
    min-height:64px !important;
    margin:0 !important;
    padding:5px 28px 5px 8px !important;
    box-sizing:border-box !important;
    background:#fff !important;
    border:0 !important;
    border-bottom:1px solid var(--obaui-border) !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-options li:last-child .dd-option{
    border-bottom:0 !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option :is(img,.dd-option-image){
    grid-column:1 !important;
    grid-row:1 !important;
    width:50px !important;
    height:50px !important;
    max-width:50px !important;
    max-height:50px !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:contain !important;
    object-position:center !important;
    align-self:center !important;
    justify-self:center !important;
    border:0 !important;
    background:transparent !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option :is(.dd-option-text,label){
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:center !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    font-size:12.5px !important;
    line-height:1.16 !important;
    font-weight:550 !important;
    white-space:normal !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option-description{
    grid-column:3 !important;
    grid-row:1 !important;
    display:flex !important;
    flex-direction:column !important;
    align-self:center !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:1px !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    font-size:10.5px !important;
    line-height:1.14 !important;
    text-align:left !important;
    white-space:normal !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option-description :is(p,span,.price,.stock,.stock-c){
    margin:0 !important;
    padding:0 !important;
    line-height:1.14 !important;
    text-align:left !important;
  }
}

/* v0.9.21 — configurator typography + vertical rhythm cleanup.
   Keep every component using the same spacing model: heading -> help -> selector,
   then the same small gap before the next heading. */
@media (min-width:768px){
  body.obaui-product-active .wooco_components{
    gap:0 !important;
  }

  body.obaui-product-active .wooco_components .wooco_component{
    margin:0 0 8px !important;
    padding:0 0 8px !important;
    border:0 !important;
    border-bottom:1px solid var(--obaui-border) !important;
  }
  body.obaui-product-active .wooco_components .wooco_component:last-child{
    margin-bottom:0 !important;
  }

  body.obaui-product-active .wooco_components .wooco_component_name,
  body.obaui-product-active .wooco_components .wooco_component_name strong{
    margin:0 0 1px !important;
    padding:0 !important;
    font-size:14px !important;
    line-height:1.16 !important;
    font-weight:600 !important;
  }

  body.obaui-product-active .wooco_components .wooco_component_description,
  body.obaui-product-active .wooco_components .wooco_component_desc,
  body.obaui-product-active .wooco_components .wooco_component > p{
    margin:0 0 5px !important;
    padding:0 !important;
    font-size:12.5px !important;
    line-height:1.18 !important;
  }

  /* Kill any WPC/theme margin that can create the large heading-to-box gap. */
  body.obaui-product-active .wooco_component_layout_ddslick .wooco_component_product,
  body.obaui-product-active .wooco_component_layout_ddslick .wooco_component_product_selection,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-container,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-select{
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  /* Larger, easier to scan option names while retaining the compact 64px row. */
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected :is(.dd-selected-text,label){
    font-size:14px !important;
    line-height:1.14 !important;
    font-weight:550 !important;
    margin:0 !important;
    padding:0 !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option :is(.dd-option-text,label){
    font-size:14px !important;
    line-height:1.14 !important;
    font-weight:550 !important;
    margin:0 !important;
    padding:0 !important;
  }

  /* Price and stock share one restrained type scale and left edge. */
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option-description{
    font-size:11px !important;
    line-height:1.12 !important;
    font-weight:400 !important;
    text-align:left !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description :is(.price,.amount,.price-suffix,.stock,.stock-c,p,span),
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option-description :is(.price,.amount,.price-suffix,.stock,.stock-c,p,span){
    margin:0 !important;
    padding:0 !important;
    font-size:11px !important;
    line-height:1.12 !important;
    font-weight:400 !important;
    text-align:left !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description :is(.stock,.stock-c),
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option-description :is(.stock,.stock-c){
    font-size:11px !important;
    line-height:1.12 !important;
    font-weight:500 !important;
    letter-spacing:0 !important;
  }
}

/* v0.9.22 — harden WPC component spacing/type against native plugin labels/margins. */
@media (min-width:768px){
  /* WPC inserts an empty label before each select. Its theme styling can reserve
     a full line of vertical space even though it contains no text. */
  body.obaui-product-active .wooco_component_product_selection > label:empty,
  body.obaui-product-active .wooco_component_product_selection > label[for^="wooco_component_product_select_"]:empty{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  /* Make the vertical rhythm explicit at the direct-child level so external WPC
     or Rey rules cannot create a large description-to-selector gap. */
  body.obaui-product-active .wooco_components > .wooco_component{
    display:block !important;
    margin:0 0 10px !important;
    padding:0 0 9px !important;
  }
  body.obaui-product-active .wooco_components > .wooco_component > .wooco_component_name{
    margin:0 0 2px !important;
    padding:0 !important;
    font-size:15px !important;
    line-height:1.14 !important;
    font-weight:600 !important;
  }
  body.obaui-product-active .wooco_components > .wooco_component > .wooco_component_desc{
    display:block !important;
    margin:0 0 6px !important;
    padding:0 !important;
    font-size:13.5px !important;
    line-height:1.18 !important;
    font-weight:400 !important;
  }
  body.obaui-product-active .wooco_components > .wooco_component > .wooco_component_product,
  body.obaui-product-active .wooco_components > .wooco_component > .wooco_component_product > .wooco_component_product_selection,
  body.obaui-product-active .wooco_component_product_selection > .dd-container{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  /* Selected option title — deliberately larger than helper copy. */
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected .dd-selected-text,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected label.dd-selected-text{
    font-size:15px !important;
    line-height:1.16 !important;
    font-weight:550 !important;
  }

  /* Price + availability should read as secondary metadata, not another title. */
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description *,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description .stock,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description .stock-c,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option-description,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option-description *{
    font-size:10px !important;
    line-height:1.08 !important;
    letter-spacing:0 !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description .stock,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description .stock-c,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option-description .stock,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option-description .stock-c{
    font-weight:500 !important;
  }
}

/* v0.9.23 — configurator typography, separators, price/stock alignment and floating total. */
@media (min-width:768px){
  /* 1. Remove the over-weighted configurator/menu look. Keep hierarchy through size, not boldness. */
  body.obaui-product-active .wooco_components > .wooco_component > .wooco_component_name,
  body.obaui-product-active .wooco_components > .wooco_component > .wooco_component_name strong,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected .dd-selected-text,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected label.dd-selected-text,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option .dd-option-text,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option label.dd-option-text,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description .stock,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected-description .stock-c,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option-description .stock,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option-description .stock-c{
    font-weight:400 !important;
  }

  /* 2. Give each divider breathing room so it separates groups rather than touching either one. */
  body.obaui-product-active .wooco_components > .wooco_component{
    margin:0 0 14px !important;
    padding:0 0 14px !important;
    border-bottom:1px solid var(--obaui-border) !important;
  }
  body.obaui-product-active .wooco_components > .wooco_component + .wooco_component{
    padding-top:2px !important;
  }

  /* Selected and open rows share the same columns. */
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected{
    grid-template-columns:58px minmax(0,1fr) minmax(132px,29%) 12px !important;
    column-gap:10px !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option{
    display:grid !important;
    grid-template-columns:58px minmax(0,1fr) minmax(132px,29%) !important;
    column-gap:10px !important;
    align-items:center !important;
    min-height:64px !important;
    padding:6px 10px !important;
    box-sizing:border-box !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option :is(img,.dd-option-image){
    grid-column:1 !important;
    align-self:center !important;
    justify-self:center !important;
    width:54px !important;
    height:54px !important;
    max-width:54px !important;
    max-height:54px !important;
    margin:0 !important;
    object-fit:contain !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option :is(.dd-option-text,label){
    grid-column:2 !important;
    align-self:center !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.16 !important;
  }

  /* 3+4. Price gets its own readable line; availability sits directly beneath it.
     The stock icon is kept on the same baseline as the stock message. */
  body.obaui-product-active .wooco_component_layout_ddslick :is(.dd-selected-description,.dd-option-description){
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:3px !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
    white-space:normal !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option-description{
    grid-column:3 !important;
    align-self:center !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick :is(.dd-selected-description,.dd-option-description) > span:first-child,
  body.obaui-product-active .wooco_component_layout_ddslick :is(.dd-selected-description,.dd-option-description) > span:first-child :is(.price,.amount,bdi,.price-suffix),
  body.obaui-product-active .wooco_component_layout_ddslick :is(.dd-selected-description,.dd-option-description) > .price,
  body.obaui-product-active .wooco_component_layout_ddslick :is(.dd-selected-description,.dd-option-description) .woocommerce-Price-amount{
    font-size:12.5px !important;
    line-height:1.08 !important;
    font-weight:400 !important;
    color:var(--obaui-text-muted,#777) !important;
    margin:0 !important;
    padding:0 !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick :is(.dd-selected-description,.dd-option-description) .price-suffix{
    font-size:9px !important;
    line-height:1 !important;
    opacity:.65 !important;
    margin-left:3px !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick :is(.dd-selected-description,.dd-option-description) :is(.stock,.stock-c){
    display:inline-flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:5px !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    font-size:11px !important;
    line-height:1.1 !important;
    font-weight:400 !important;
    white-space:nowrap !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick :is(.dd-selected-description,.dd-option-description) .stock svg{
    display:block !important;
    flex:0 0 auto !important;
    width:13px !important;
    height:13px !important;
    margin:0 !important;
    position:static !important;
    transform:none !important;
    vertical-align:middle !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick :is(.dd-selected-description,.dd-option-description) .stock > span{
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
  }

  /* 5. Compact total tab that sits just off the right edge and follows the user
     after they pass the configurator. JS controls visibility and live amount. */
  body.obaui-product-active .obaui-floating-total{
    position:fixed !important;
    z-index:999 !important;
    top:52% !important;
    right:0 !important;
    transform:translate(0,-50%) !important;
    display:flex !important;
    flex-direction:column !important;
    gap:2px !important;
    min-width:128px !important;
    padding:10px 14px 10px 12px !important;
    border:1px solid var(--obaui-border-strong) !important;
    border-right:0 !important;
    border-radius:8px 0 0 8px !important;
    background:rgba(255,255,255,.96) !important;
    box-shadow:0 10px 28px rgba(0,0,0,.10) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:opacity .18s ease,transform .18s ease !important;
    backdrop-filter:blur(8px) !important;
  }
  body.obaui-product-active .obaui-floating-total.is-visible{
    opacity:1 !important;
    pointer-events:auto !important;
  }
  body.obaui-product-active .obaui-floating-total__label{
    font-size:10px !important;
    line-height:1.1 !important;
    font-weight:400 !important;
    letter-spacing:.07em !important;
    text-transform:uppercase !important;
    opacity:.55 !important;
  }
  body.obaui-product-active .obaui-floating-total__value{
    font-size:15px !important;
    line-height:1.2 !important;
    font-weight:500 !important;
    white-space:nowrap !important;
  }
}


/* v0.9.25 — make the selected/open DDSlick rows genuinely larger and keep
   every lane vertically centred after a selection is made. */
@media (min-width:768px){
  /* Component heading hierarchy. */
  body.obaui-product-active .wooco_components > .wooco_component > .wooco_component_name,
  body.obaui-product-active .wooco_components > .wooco_component > .wooco_component_name strong{
    font-size:17px !important;
    line-height:1.12 !important;
    font-weight:600 !important;
    letter-spacing:-.01em !important;
  }
  body.obaui-product-active .wooco_components > .wooco_component > .wooco_component_name .obaui-required-word{
    font-size:10px !important;
    line-height:1 !important;
    font-weight:500 !important;
    letter-spacing:.03em !important;
    text-transform:uppercase !important;
    color:#8d8d8d !important;
    margin-left:3px !important;
    vertical-align:middle !important;
    white-space:nowrap !important;
  }

  /* The dd-select shell must grow too; changing only the anchor was being
     clipped by the older 64px shell. */
  body.obaui-product-active .wooco_component_layout_ddslick .dd-select{
    height:92px !important;
    min-height:92px !important;
    max-height:92px !important;
  }

  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected{
    display:grid !important;
    grid-template-columns:86px minmax(0,1fr) minmax(132px,29%) 12px !important;
    column-gap:10px !important;
    align-items:center !important;
    height:92px !important;
    min-height:92px !important;
    max-height:92px !important;
    padding:7px 10px !important;
  }

  /* Image lane: 1.5x the previously visible ~54px icon. */
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected > img.dd-selected-image,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected > img,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option > img.dd-option-image,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option > img{
    width:81px !important;
    height:78px !important;
    max-width:81px !important;
    max-height:78px !important;
    min-width:0 !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 !important;
    padding:0 !important;
    align-self:center !important;
    justify-self:center !important;
  }

  /* Selected title: stretch the lane and centre the text inside it. This
     prevents DDSlick's post-selection re-render from snapping it to the top. */
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected > .dd-selected-text,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected > label.dd-selected-text{
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:stretch !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    height:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.16 !important;
    white-space:normal !important;
    overflow:visible !important;
    -webkit-line-clamp:unset !important;
    -webkit-box-orient:initial !important;
  }

  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected > .dd-selected-description{
    grid-column:3 !important;
    grid-row:1 !important;
    align-self:stretch !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    height:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected > .dd-pointer{
    grid-column:4 !important;
    grid-row:1 !important;
    align-self:center !important;
  }

  /* Open menu mirrors exactly the same image/title/meta lanes. */
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option{
    display:grid !important;
    grid-template-columns:86px minmax(0,1fr) minmax(132px,29%) !important;
    column-gap:10px !important;
    align-items:center !important;
    min-height:92px !important;
    padding:7px 10px !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option > .dd-option-text,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option > label.dd-option-text{
    grid-column:2 !important;
    align-self:stretch !important;
    display:flex !important;
    align-items:center !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.16 !important;
    white-space:normal !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-option > .dd-option-description{
    grid-column:3 !important;
    align-self:stretch !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
}


/* v0.9.26 — component heading hierarchy + explicit required labelling. */
@media (min-width:768px){
  /* Remove WPC's native pseudo-element asterisk so there is only one marker. */
  body.obaui-product-active .wooco_component.wooco_component_required > .wooco_component_name::after{
    content:none !important;
    display:none !important;
  }

  body.obaui-product-active .wooco_components > .wooco_component > .wooco_component_name,
  body.obaui-product-active .wooco_components > .wooco_component > .wooco_component_name strong{
    font-size:18px !important;
    line-height:1.15 !important;
    font-weight:600 !important;
    letter-spacing:-.01em !important;
  }

  body.obaui-product-active .wooco_components > .wooco_component > .wooco_component_desc{
    font-size:13.5px !important;
    line-height:1.28 !important;
    font-weight:400 !important;
    color:#747a80 !important;
  }

  body.obaui-product-active .wooco_components > .wooco_component > .wooco_component_name .obaui-required-word{
    display:inline-flex !important;
    align-items:baseline !important;
    gap:4px !important;
    margin-left:5px !important;
    font-size:11px !important;
    line-height:1 !important;
    font-weight:500 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    vertical-align:baseline !important;
    white-space:nowrap !important;
  }
  body.obaui-product-active .obaui-required-star{
    color:#d33 !important;
    font-size:13px !important;
    font-weight:600 !important;
  }
  body.obaui-product-active .obaui-required-label{
    color:#767b80 !important;
    font-size:11px !important;
    font-weight:500 !important;
  }
}

/* v0.9.27 — purchase area hard fix.
   Restore the intended compact total/postage row and enforce equal spacing
   across Quantity / Add to cart / Buy now / Wishlist. */
@media (min-width:768px){
  body.obaui-product-active .wooco_summary.obaui-total-summary-empty{
    display:none !important;
    width:0 !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  body.obaui-product-active .obaui-total-postage-bar{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
    width:100% !important;
    min-height:38px !important;
    height:auto !important;
    margin:10px 0 12px !important;
    padding:0 !important;
    clear:both !important;
  }
  body.obaui-product-active .obaui-total-postage-bar .obaui-total-inline{
    display:block !important;
    flex:1 1 auto !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    font-size:15px !important;
    line-height:1.25 !important;
    white-space:nowrap !important;
  }
  body.obaui-product-active .obaui-total-postage-bar .obaui-postage-inline{
    display:block !important;
    flex:0 0 auto !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    position:relative !important;
  }
  body.obaui-product-active .obaui-total-postage-bar .obaui-estimate-postage{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:0 !important;
    height:38px !important;
    min-height:38px !important;
    margin:0 !important;
    padding:0 14px !important;
    border:1px solid #cfd5d8 !important;
    border-radius:5px !important;
    background:#fff !important;
    box-shadow:none !important;
    white-space:nowrap !important;
  }
  body.obaui-product-active .obaui-total-postage-bar .pisol-shipping-calculator-form{
    position:absolute !important;
    z-index:80 !important;
    top:calc(100% + 6px) !important;
    right:0 !important;
    width:min(420px,80vw) !important;
    margin:0 !important;
    background:#fff !important;
  }

  body.obaui-product-active .obaui-total-postage-bar + p.stock,
  body.obaui-product-active .obaui-total-postage-bar ~ p.stock{
    margin:8px 0 12px !important;
  }
  body.obaui-product-active form.cart{
    margin:0 !important;
    padding:0 !important;
  }

  body.obaui-product-active form.cart .rey-cartBtnQty{
    display:grid !important;
    grid-template-columns:96px minmax(0,1fr) 112px 48px !important;
    column-gap:12px !important;
    row-gap:0 !important;
    align-items:stretch !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
  body.obaui-product-active form.cart .rey-cartBtnQty > *,
  body.obaui-product-active form.cart .rey-cartBtnQty .rey-buyNowBtn-wrapper,
  body.obaui-product-active form.cart .rey-cartBtnQty .rey-wishlistBtn-wrapper{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  body.obaui-product-active form.cart .rey-cartBtnQty > .quantity{
    grid-column:1 !important;
    width:96px !important;
    min-width:96px !important;
    max-width:96px !important;
    height:42px !important;
    margin:0 !important;
    border:1px solid #cfd5d8 !important;
    border-radius:5px !important;
    box-shadow:none !important;
    background:#fff !important;
    overflow:hidden !important;
  }
  body.obaui-product-active form.cart .rey-cartBtnQty > .single_add_to_cart_button{
    grid-column:2 !important;
    margin:0 !important;
  }
  body.obaui-product-active form.cart .rey-cartBtnQty > .rey-buyNowBtn-wrapper{
    grid-column:3 !important;
    margin:0 !important;
  }
  body.obaui-product-active form.cart .rey-cartBtnQty > .rey-wishlistBtn-wrapper{
    grid-column:4 !important;
    margin:0 !important;
  }
  body.obaui-product-active form.cart .rey-cartBtnQty > .quantity .rey-qtyField{
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    border:0 !important;
    box-shadow:none !important;
  }
  body.obaui-product-active form.cart .rey-cartBtnQty > .quantity :is(.cartBtnQty-control,input.qty){
    border-color:#e4e7e9 !important;
    box-shadow:none !important;
  }
  body.obaui-product-active form.cart .rey-cartBtnQty :is(.single_add_to_cart_button,.rey-buyNowBtn,.rey-wishlistBtn){
    height:42px !important;
    min-height:42px !important;
    margin:0 !important;
  }
}


/* v0.9.28 — floating configuration summary.
   Expands the old amount-only tab into a compact live build summary. */
@media (min-width:768px){
  body.obaui-product-active .obaui-floating-total{
    width:292px !important;
    min-width:292px !important;
    max-width:292px !important;
    top:50% !important;
    gap:0 !important;
    padding:14px 16px !important;
    background:rgba(255,255,255,.98) !important;
  }

  body.obaui-product-active .obaui-floating-total__eyebrow{
    margin:0 0 5px !important;
    font-size:10px !important;
    line-height:1.2 !important;
    font-weight:400 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    color:#777 !important;
  }

  body.obaui-product-active .obaui-floating-total__title{
    margin:0 0 10px !important;
    font-size:14px !important;
    line-height:1.28 !important;
    font-weight:500 !important;
    color:#171717 !important;
  }

  body.obaui-product-active .obaui-floating-total__items{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    max-height:42vh !important;
    overflow:auto !important;
    margin:0 -4px 10px 0 !important;
    padding:0 6px 0 0 !important;
    scrollbar-width:thin !important;
  }

  body.obaui-product-active .obaui-floating-total__items.is-empty{
    display:none !important;
  }

  body.obaui-product-active .obaui-floating-total__item{
    display:grid !important;
    grid-template-columns:78px minmax(0,1fr) !important;
    gap:7px !important;
    padding:6px 0 !important;
    border-top:1px solid rgba(0,0,0,.07) !important;
  }

  body.obaui-product-active .obaui-floating-total__component{
    font-size:9.5px !important;
    line-height:1.28 !important;
    font-weight:400 !important;
    color:#8a8a8a !important;
  }

  body.obaui-product-active .obaui-floating-total__choice{
    min-width:0 !important;
    font-size:10.5px !important;
    line-height:1.3 !important;
    font-weight:400 !important;
    color:#343434 !important;
  }

  body.obaui-product-active .obaui-floating-total__footer{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:12px !important;
    padding-top:10px !important;
    border-top:1px solid rgba(0,0,0,.12) !important;
  }

  body.obaui-product-active .obaui-floating-total__footer .obaui-floating-total__label{
    margin:0 !important;
    font-size:10px !important;
  }

  body.obaui-product-active .obaui-floating-total__footer .obaui-floating-total__value{
    margin:0 !important;
    font-size:17px !important;
    font-weight:500 !important;
    text-align:right !important;
  }
}

/* v0.9.29 — transparent description fade + native simple-product description. */
@media (min-width:768px){
  /* Fade the actual description content to transparency. Do not paint a white
     gradient over the copy; that looked like the text was bleaching out. */
  body.obaui-product-active:not(.obaui-product-simple)
  .obaui-description-under-gallery:not(.obaui-description-expanded) .rey-prodDescToggle{
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 72px),transparent 100%) !important;
    mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 72px),transparent 100%) !important;
    -webkit-mask-repeat:no-repeat !important;
    mask-repeat:no-repeat !important;
  }

  body.obaui-product-active:not(.obaui-product-simple)
  .obaui-description-under-gallery:not(.obaui-description-expanded) .rey-prodDescToggle::after,
  body.obaui-product-active:not(.obaui-product-simple)
  .obaui-description-under-gallery .rey-prodDescToggle::before{
    content:none !important;
    display:none !important;
    background:none !important;
  }

  body.obaui-product-active:not(.obaui-product-simple)
  .obaui-description-under-gallery.obaui-description-expanded .rey-prodDescToggle{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }

  /* On simple products leave Rey's native wcPanels placement and full-width
     description geometry alone. The custom left-column clipping/fade is disabled. */
  body.obaui-product-active.obaui-product-simple .rey-wcPanel--description{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

/* v0.9.31 — narrower floating configuration summary.
   Keep the live build useful without covering the configurator column. */
@media (min-width:768px){
  body.obaui-product-active .obaui-floating-total{
    width:218px !important;
    min-width:218px !important;
    max-width:218px !important;
    padding:12px 12px !important;
  }
  body.obaui-product-active .obaui-floating-total__title{
    margin-bottom:8px !important;
    font-size:12.5px !important;
    line-height:1.25 !important;
  }
  body.obaui-product-active .obaui-floating-total__item{
    display:block !important;
    padding:5px 0 !important;
  }
  body.obaui-product-active .obaui-floating-total__component{
    display:block !important;
    margin:0 0 1px !important;
    font-size:8.5px !important;
    line-height:1.2 !important;
  }
  body.obaui-product-active .obaui-floating-total__choice{
    display:block !important;
    font-size:9.5px !important;
    line-height:1.25 !important;
  }
  body.obaui-product-active .obaui-floating-total__items{
    max-height:38vh !important;
    margin-bottom:8px !important;
  }
  body.obaui-product-active .obaui-floating-total__footer{
    gap:8px !important;
    padding-top:8px !important;
  }
  body.obaui-product-active .obaui-floating-total__footer .obaui-floating-total__value{
    font-size:15px !important;
  }
}

/* On narrower desktop/tablet landscape screens make the edge panel slimmer again. */
@media (min-width:768px) and (max-width:1280px){
  body.obaui-product-active .obaui-floating-total{
    width:188px !important;
    min-width:188px !important;
    max-width:188px !important;
  }
}


/* v0.9.32 — adaptive floating configuration panel.
   Standard mode remains a narrow right-edge card. If that card would overlap
   the configurator column it becomes a shallow horizontal rail that expands
   leftwards from the screen edge instead of covering the options. */
@media (min-width:768px){
  body.obaui-product-active .obaui-floating-total{
    width:218px !important;
    min-width:218px !important;
    max-width:218px !important;
    transition:opacity .16s ease, transform .16s ease, width .18s ease, max-width .18s ease !important;
  }
  body.obaui-product-active .obaui-floating-total__top{
    display:block !important;
  }
  body.obaui-product-active .obaui-floating-total.is-horizontal{
    width:min(520px, calc(100vw - 32px)) !important;
    min-width:0 !important;
    max-width:min(520px, calc(100vw - 32px)) !important;
    right:12px !important;
    left:auto !important;
    top:auto !important;
    bottom:16px !important;
    transform:translateY(12px) !important;
    padding:10px 12px !important;
    border-radius:10px 0 0 10px !important;
  }
  body.obaui-product-active .obaui-floating-total.is-horizontal.is-visible{
    transform:translateY(0) !important;
  }
  body.obaui-product-active .obaui-floating-total.is-horizontal .obaui-floating-total__top{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:16px !important;
    align-items:end !important;
  }
  body.obaui-product-active .obaui-floating-total.is-horizontal .obaui-floating-total__eyebrow{
    margin-bottom:2px !important;
  }
  body.obaui-product-active .obaui-floating-total.is-horizontal .obaui-floating-total__title{
    margin:0 !important;
    font-size:12px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body.obaui-product-active .obaui-floating-total.is-horizontal .obaui-floating-total__footer{
    display:flex !important;
    align-items:baseline !important;
    justify-content:flex-end !important;
    gap:7px !important;
    padding:0 !important;
    border:0 !important;
    white-space:nowrap !important;
  }
  body.obaui-product-active .obaui-floating-total.is-horizontal .obaui-floating-total__items{
    display:flex !important;
    flex-direction:row !important;
    gap:6px !important;
    max-height:none !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    margin:8px 0 0 !important;
    padding:7px 0 0 !important;
    border-top:1px solid rgba(0,0,0,.08) !important;
    scrollbar-width:thin !important;
  }
  body.obaui-product-active .obaui-floating-total.is-horizontal .obaui-floating-total__item{
    flex:0 0 auto !important;
    display:block !important;
    max-width:180px !important;
    padding:0 9px 0 0 !important;
    border-top:0 !important;
    border-right:1px solid rgba(0,0,0,.08) !important;
  }
  body.obaui-product-active .obaui-floating-total.is-horizontal .obaui-floating-total__component{
    margin-bottom:1px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body.obaui-product-active .obaui-floating-total.is-horizontal .obaui-floating-total__choice{
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}


/* v0.9.36 — verified floating-summary positioning/return + DDSlick border hard fix. */
@media (min-width:768px){
  /* Guarantee a visible single shell edge even when DDSlick paints the selected
     anchor over the parent border. The pseudo-element is the final paint layer. */
  body.obaui-product-active .wooco_component_layout_ddslick .dd-select{
    position:relative !important;
    box-sizing:border-box !important;
    height:94px !important;
    min-height:94px !important;
    max-height:94px !important;
    border:0 !important;
    border-radius:8px !important;
    background:#fff !important;
    overflow:visible !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-select::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:20 !important;
    pointer-events:none !important;
    border:1px solid #d5dbe0 !important;
    border-radius:8px !important;
    box-sizing:border-box !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected{
    position:relative !important;
    z-index:1 !important;
    box-sizing:border-box !important;
    height:94px !important;
    min-height:94px !important;
    max-height:94px !important;
    border:0 !important;
    border-radius:8px !important;
    background:#fff !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-options{
    z-index:30 !important;
  }

  /* Anchor immediately to the right of the centred 1440px product canvas.
     On narrower desktop viewports this location is naturally clipped by the
     viewport rather than sliding left across the configurator. */
  body.obaui-product-active .obaui-floating-total,
  body.obaui-product-active .obaui-floating-total.is-horizontal{
    position:fixed !important;
    left:calc(50vw + 720px + 12px) !important;
    right:auto !important;
    top:50% !important;
    bottom:auto !important;
    width:218px !important;
    min-width:218px !important;
    max-width:218px !important;
    transform:translateY(-50%) translateX(10px) !important;
    border-radius:10px 0 0 10px !important;
  }
  body.obaui-product-active .obaui-floating-total.is-visible,
  body.obaui-product-active .obaui-floating-total.is-horizontal.is-visible{
    transform:translateY(-50%) translateX(0) !important;
  }
  body.obaui-product-active .obaui-floating-total.is-horizontal .obaui-floating-total__top{
    display:block !important;
  }
  body.obaui-product-active .obaui-floating-total.is-horizontal .obaui-floating-total__items{
    display:flex !important;
    flex-direction:column !important;
    max-height:38vh !important;
    overflow:auto !important;
    margin:0 -4px 8px 0 !important;
    padding:0 6px 0 0 !important;
    border-top:0 !important;
  }
  body.obaui-product-active .obaui-floating-total.is-horizontal .obaui-floating-total__item{
    display:block !important;
    max-width:none !important;
    padding:5px 0 !important;
    border-right:0 !important;
    border-top:1px solid rgba(0,0,0,.07) !important;
  }
}

@media (max-width:767px){
  body.obaui-product-active .obaui-floating-total{
    display:none !important;
  }
}

/* v0.9.37 — persistent floating summary + explicit DDSlick chevron. */
@media (min-width:768px){
  /* DDSlick normally paints its arrow with zero-size triangle borders. The
     v0.9.36 shell hardening introduced a higher paint layer, and theme/plugin
     resets can also strip those triangle borders. Draw a real chevron instead
     and keep it above the shell so the control always reads as a dropdown. */
  body.obaui-product-active .wooco_component_layout_ddslick .dd-select > .dd-pointer,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected > .dd-pointer{
    display:block !important;
    position:absolute !important;
    z-index:25 !important;
    top:50% !important;
    right:14px !important;
    left:auto !important;
    width:9px !important;
    height:9px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-right:2px solid #252525 !important;
    border-bottom:2px solid #252525 !important;
    background:transparent !important;
    box-sizing:border-box !important;
    transform:translateY(-65%) rotate(45deg) !important;
    transform-origin:50% 50% !important;
    pointer-events:none !important;
  }
  body.obaui-product-active .wooco_component_layout_ddslick .dd-select > .dd-pointer.dd-pointer-up,
  body.obaui-product-active .wooco_component_layout_ddslick .dd-selected > .dd-pointer.dd-pointer-up{
    transform:translateY(-25%) rotate(225deg) !important;
  }
}


/* ==========================================================================\n   v0.10.0 BETA — Concept 3 / Premium Editorial product page\n   Desktop presentation only. Commerce behaviour remains owned by Rey/Woo/WPC.\n   ========================================================================== */
@media (min-width: 768px) {
  body.obaui-product-active.obaui-layout3 {
    --obaui-l3-ink:#111414;
    --obaui-l3-soft:#f5f5f2;
    --obaui-l3-line:#e2e3df;
    --obaui-l3-panel:#fbfbf9;
    --obaui-l3-accent:#334f3c;
    --obaui-l3-accent-soft:#edf2ec;
    --obaui-l3-shadow:0 18px 50px rgba(20,24,21,.08);
  }

  /* Wider editorial canvas: large image + substantial configuration column. */
  body.obaui-product-active.obaui-layout3 .rey-productSummary {
    display:grid !important;
    grid-template-columns:minmax(0, 1.08fr) minmax(500px, .92fr) !important;
    gap:clamp(30px,3.3vw,58px) !important;
    align-items:start !important;
    max-width:1540px !important;
    margin-inline:auto !important;
  }

  body.obaui-product-active.obaui-layout3 .rey-productSummary > .obaui-product-left-column,
  body.obaui-product-active.obaui-layout3 .rey-productSummary > .summary.entry-summary {
    width:auto !important;
    max-width:none !important;
    flex:none !important;
  }

  body.obaui-product-active.obaui-layout3 .rey-productSummary > .obaui-product-left-column {
    position:relative;
  }

  /* Gallery: calmer, cinematic, less card-like. */
  body.obaui-product-active.obaui-layout3 .woocommerce-product-gallery {
    border-radius:2px !important;
    background:#f1f1ee !important;
    box-shadow:none !important;
  }
  body.obaui-product-active.obaui-layout3 .woocommerce-product-gallery__wrapper {
    background:#f1f1ee !important;
  }
  body.obaui-product-active.obaui-layout3 .woocommerce-product-gallery img {
    background:#f1f1ee !important;
  }

  /* Product story / title hierarchy. */
  body.obaui-product-active.obaui-layout3 .summary.entry-summary,
  body.obaui-product-active.obaui-layout3 .rey-innerSummary {
    position:relative;
  }
  body.obaui-product-active.obaui-layout3 .summary .product_title,
  body.obaui-product-active.obaui-layout3 .product_title {
    max-width:800px !important;
    margin:2px 0 10px !important;
    font-family:Georgia,'Times New Roman',serif !important;
    font-size:clamp(38px,3vw,54px) !important;
    line-height:.99 !important;
    font-weight:500 !important;
    letter-spacing:-.045em !important;
    color:var(--obaui-l3-ink) !important;
  }
  body.obaui-product-active.obaui-layout3 .summary .woocommerce-product-rating,
  body.obaui-product-active.obaui-layout3 .summary .rey-productRating {
    margin:10px 0 14px !important;
  }
  body.obaui-product-active.obaui-layout3 .summary .product_meta {
    display:flex !important;
    flex-wrap:wrap !important;
    gap:7px 16px !important;
    margin:0 0 14px !important;
    padding:10px 0 !important;
    border-top:1px solid var(--obaui-l3-line) !important;
    border-bottom:1px solid var(--obaui-l3-line) !important;
  }
  body.obaui-product-active.obaui-layout3 .summary .product_meta > span {
    display:inline-flex !important;
    align-items:center !important;
    margin:0 !important;
  }

  /* Small editorial masthead injected by product.js. */
  body.obaui-product-active.obaui-layout3 .obaui-l3-kicker {
    display:flex;
    align-items:center;
    gap:9px;
    margin:0 0 9px;
    color:var(--obaui-l3-accent);
    font-size:10px;
    line-height:1;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
  }
  body.obaui-product-active.obaui-layout3 .obaui-l3-kicker::before {
    content:'';
    width:20px;
    height:1px;
    background:currentColor;
  }

  body.obaui-product-active.obaui-layout3 .obaui-l3-benefits {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin:12px 0 20px;
  }
  body.obaui-product-active.obaui-layout3 .obaui-l3-benefit {
    min-height:54px;
    padding:11px 12px;
    border:1px solid var(--obaui-l3-line);
    background:#fff;
  }
  body.obaui-product-active.obaui-layout3 .obaui-l3-benefit strong {
    display:block;
    margin-bottom:2px;
    font-size:11px;
    line-height:1.15;
    font-weight:650;
  }
  body.obaui-product-active.obaui-layout3 .obaui-l3-benefit span {
    display:block;
    color:#70736f;
    font-size:10px;
    line-height:1.25;
  }

  /* Configurator heading gives the builder a clear beginning. */
  body.obaui-product-active.obaui-layout3 .obaui-l3-config-head {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin:18px 0 11px;
    padding-top:18px;
    border-top:1px solid var(--obaui-l3-line);
  }
  body.obaui-product-active.obaui-layout3 .obaui-l3-config-head__title {
    margin:0;
    font-size:19px;
    line-height:1.15;
    font-weight:600;
    letter-spacing:-.02em;
  }
  body.obaui-product-active.obaui-layout3 .obaui-l3-config-head__copy {
    margin:3px 0 0;
    color:#71746f;
    font-size:11px;
    line-height:1.3;
  }
  body.obaui-product-active.obaui-layout3 .obaui-l3-config-head__tag {
    flex:0 0 auto;
    padding:6px 9px;
    border-radius:999px;
    background:var(--obaui-l3-accent-soft);
    color:var(--obaui-l3-accent);
    font-size:9px;
    line-height:1;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  /* Accordion-like visual modules without changing WPC behaviour. */
  body.obaui-product-active.obaui-layout3 .wooco_components {
    counter-reset:obaui-component;
    gap:8px !important;
  }
  body.obaui-product-active.obaui-layout3 .wooco_components > .wooco_component {
    counter-increment:obaui-component;
    position:relative;
    margin:0 !important;
    padding:12px 12px 13px 48px !important;
    border:1px solid var(--obaui-l3-line) !important;
    border-radius:6px !important;
    background:var(--obaui-l3-panel) !important;
  }
  body.obaui-product-active.obaui-layout3 .wooco_components > .wooco_component::before {
    content:counter(obaui-component);
    position:absolute;
    left:13px;
    top:12px;
    display:grid;
    place-items:center;
    width:24px;
    height:24px;
    border-radius:50%;
    background:var(--obaui-l3-ink);
    color:#fff;
    font-size:11px;
    font-weight:700;
  }
  body.obaui-product-active.obaui-layout3 .wooco_components > .wooco_component > .wooco_component_name,
  body.obaui-product-active.obaui-layout3 .wooco_components > .wooco_component > .wooco_component_name strong {
    margin:1px 0 8px !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:600 !important;
  }
  body.obaui-product-active.obaui-layout3 .wooco_components .wooco_component_description,
  body.obaui-product-active.obaui-layout3 .wooco_components .wooco_component_desc,
  body.obaui-product-active.obaui-layout3 .wooco_components .wooco_component > p {
    margin-top:-4px !important;
    color:#747772 !important;
    font-size:11px !important;
  }

  /* The chosen row becomes compact and premium rather than a giant select. */
  body.obaui-product-active.obaui-layout3 .wooco_component_layout_ddslick .dd-select {
    height:74px !important;
    min-height:74px !important;
    max-height:74px !important;
    border-radius:4px !important;
    background:#fff !important;
  }
  body.obaui-product-active.obaui-layout3 .wooco_component_layout_ddslick .dd-selected {
    grid-template-columns:66px minmax(0,1fr) minmax(124px,28%) 14px !important;
    height:74px !important;
    min-height:74px !important;
    max-height:74px !important;
    padding:7px 10px !important;
    background:#fff !important;
  }
  body.obaui-product-active.obaui-layout3 .wooco_component_layout_ddslick .dd-selected > img.dd-selected-image,
  body.obaui-product-active.obaui-layout3 .wooco_component_layout_ddslick .dd-selected > img {
    width:60px !important;
    height:58px !important;
    max-width:60px !important;
    max-height:58px !important;
  }
  body.obaui-product-active.obaui-layout3 .wooco_component_layout_ddslick .dd-selected > .dd-selected-text,
  body.obaui-product-active.obaui-layout3 .wooco_component_layout_ddslick .dd-selected > label.dd-selected-text {
    font-size:12px !important;
    font-weight:500 !important;
  }

  /* Purchase area: clean horizontal finish after the builder. */
  body.obaui-product-active.obaui-layout3 .obaui-total-postage-bar {
    margin-top:12px !important;
    padding:12px 0 !important;
    border-top:1px solid var(--obaui-l3-line) !important;
    border-bottom:1px solid var(--obaui-l3-line) !important;
  }
  body.obaui-product-active.obaui-layout3 form.cart {
    margin-top:12px !important;
  }
  body.obaui-product-active.obaui-layout3 .single_add_to_cart_button {
    background:var(--obaui-l3-accent) !important;
    border-color:var(--obaui-l3-accent) !important;
    border-radius:3px !important;
  }

  /* Description below gallery becomes a proper editorial story block. */
  body.obaui-product-active.obaui-layout3 .obaui-description-under-gallery {
    margin-top:18px !important;
    padding:24px 0 6px !important;
    border-top:1px solid var(--obaui-l3-line) !important;
    background:transparent !important;
  }
  body.obaui-product-active.obaui-layout3 .obaui-description-under-gallery .rey-prodDescToggle {
    font-size:14px !important;
    line-height:1.65 !important;
  }

  /* Floating summary becomes the Concept-3 dark order cockpit. */
  body.obaui-product-active.obaui-layout3 .obaui-floating-total {
    top:50% !important;
    right:18px !important;
    width:286px !important;
    min-width:286px !important;
    max-width:286px !important;
    padding:15px !important;
    gap:11px !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:8px !important;
    background:rgba(17,20,18,.97) !important;
    color:#fff !important;
    box-shadow:0 18px 50px rgba(0,0,0,.28) !important;
    backdrop-filter:blur(14px) !important;
  }
  body.obaui-product-active.obaui-layout3 .obaui-floating-total__top {
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
  }
  body.obaui-product-active.obaui-layout3 .obaui-floating-total__heading {
    display:block !important;
  }
  body.obaui-product-active.obaui-layout3 .obaui-floating-total__eyebrow {
    color:#aeb5af !important;
    font-size:9px !important;
    letter-spacing:.14em !important;
    text-transform:uppercase !important;
  }
  body.obaui-product-active.obaui-layout3 .obaui-floating-total__title {
    margin-top:4px !important;
    color:#fff !important;
    font-size:13px !important;
    line-height:1.28 !important;
    font-weight:600 !important;
  }
  body.obaui-product-active.obaui-layout3 .obaui-floating-total__items {
    display:grid !important;
    gap:0 !important;
    max-height:260px !important;
    overflow:auto !important;
    border-top:1px solid rgba(255,255,255,.12) !important;
  }
  body.obaui-product-active.obaui-layout3 .obaui-floating-total__item {
    display:grid !important;
    grid-template-columns:minmax(82px,.78fr) minmax(0,1.22fr) !important;
    gap:9px !important;
    padding:8px 0 !important;
    border-bottom:1px solid rgba(255,255,255,.09) !important;
  }
  body.obaui-product-active.obaui-layout3 .obaui-floating-total__component {
    color:#8f9891 !important;
    font-size:9px !important;
    line-height:1.22 !important;
  }
  body.obaui-product-active.obaui-layout3 .obaui-floating-total__choice {
    color:#f7f8f6 !important;
    font-size:10px !important;
    line-height:1.25 !important;
    text-align:right !important;
  }
  body.obaui-product-active.obaui-layout3 .obaui-floating-total__footer {
    display:flex !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:12px !important;
    padding-top:2px !important;
  }
  body.obaui-product-active.obaui-layout3 .obaui-floating-total__label {
    color:#9ba49d !important;
    opacity:1 !important;
  }
  body.obaui-product-active.obaui-layout3 .obaui-floating-total__value {
    color:#fff !important;
    font-size:22px !important;
    font-weight:650 !important;
    letter-spacing:-.025em !important;
  }
  body.obaui-product-active.obaui-layout3 .obaui-floating-total__cta {
    width:100% !important;
    min-height:42px !important;
    margin:0 !important;
    border:0 !important;
    border-radius:3px !important;
    background:#dbe8d7 !important;
    color:#172219 !important;
    font-size:11px !important;
    font-weight:700 !important;
    cursor:pointer !important;
  }
  body.obaui-product-active.obaui-layout3 .obaui-floating-total__trust {
    display:flex !important;
    justify-content:space-between !important;
    gap:8px !important;
    color:#99a19b !important;
    font-size:8px !important;
    line-height:1.2 !important;
  }

  /* Keep the off-canvas summary from obscuring the main canvas on medium desktop. */
  @media (max-width: 1680px) {
    body.obaui-product-active.obaui-layout3 .obaui-floating-total {
      right:8px !important;
      width:250px !important;
      min-width:250px !important;
      max-width:250px !important;
    }
  }
  @media (max-width: 1420px) {
    body.obaui-product-active.obaui-layout3 .rey-productSummary {
      grid-template-columns:minmax(0,1fr) minmax(470px,.86fr) !important;
      gap:28px !important;
    }
    body.obaui-product-active.obaui-layout3 .obaui-floating-total {
      width:220px !important;
      min-width:220px !important;
      max-width:220px !important;
      opacity:0 !important;
      pointer-events:none !important;
    }
    body.obaui-product-active.obaui-layout3 .obaui-floating-total.is-visible {
      opacity:.98 !important;
      transform:translate(0,-50%) scale(.94) !important;
      transform-origin:right center !important;
    }
  }
}

/* ==========================================================================
   v0.10.1 — Concept 3 structural pass
   Real WPC form becomes a dedicated 70/30 builder stage. Gallery/title remain
   the editorial hero; supporting content follows the buying flow.
   ========================================================================== */
@media (min-width:768px){
  body.obaui-product-active.obaui-layout3-structural{
    --obaui-l3-canvas:min(1440px, calc(100vw - 48px));
  }

  /* HERO: image + story only. The configurator no longer creates an endless
     right rail beside gallery/editorial content. */
  body.obaui-product-active.obaui-layout3-structural .rey-productSummary{
    width:var(--obaui-l3-canvas) !important;
    max-width:1440px !important;
    grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr) !important;
    gap:clamp(34px,4vw,64px) !important;
    align-items:start !important;
    margin-inline:auto !important;
  }
  body.obaui-product-active.obaui-layout3-structural .summary.entry-summary{
    padding-top:clamp(6px,1vw,16px) !important;
  }
  body.obaui-product-active.obaui-layout3-structural .summary .product_title,
  body.obaui-product-active.obaui-layout3-structural .product_title{
    font-size:clamp(40px,3.35vw,58px) !important;
    line-height:.98 !important;
    margin-bottom:14px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .summary .obaui-l3-benefits{
    margin-top:18px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-product-left-column > .obaui-description-under-gallery{
    display:none !important;
  }

  /* BUILDER STAGE */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-stage{
    width:var(--obaui-l3-canvas);
    max-width:1440px;
    margin:34px auto 0;
    padding-top:26px;
    border-top:1px solid var(--obaui-l3-line);
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    margin:0 0 20px;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-kicker{
    margin-bottom:7px;
    color:var(--obaui-l3-accent);
    font-size:10px;
    line-height:1;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-head h2{
    margin:0 !important;
    font-family:Georgia,'Times New Roman',serif !important;
    font-size:clamp(28px,2.3vw,38px) !important;
    line-height:1 !important;
    font-weight:500 !important;
    letter-spacing:-.035em !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-head p{
    max-width:660px;
    margin:8px 0 0 !important;
    color:#6f736f;
    font-size:12px;
    line-height:1.45;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress{
    display:grid;
    grid-template-columns:26px auto 42px 26px auto;
    align-items:center;
    gap:8px;
    color:#737772;
    font-size:10px;
    white-space:nowrap;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress span{
    display:grid;
    place-items:center;
    width:26px;
    height:26px;
    border-radius:50%;
    background:#151817;
    color:#fff;
    font-weight:700;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress span:nth-of-type(2){
    background:#e8eae6;
    color:#737772;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress i{
    height:1px;
    background:#d9dcd7;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress b{
    font-weight:600;
  }

  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:32px;
    align-items:start;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-main{
    min-width:0;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-main > form.cart{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-main .wooco_wrap,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-main .wooco_components{
    width:100% !important;
    max-width:none !important;
  }

  /* Accordion behaviour: every native WPC component remains in the DOM/form.
     Closed modules show the real selected label; opening reveals native DDSlick. */
  body.obaui-product-active.obaui-layout3-structural .wooco_components > .wooco_component{
    padding:15px 16px 15px 54px !important;
    margin:0 0 8px !important;
    border:1px solid #dde0dc !important;
    border-radius:5px !important;
    background:#fff !important;
    transition:border-color .16s ease,box-shadow .16s ease !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_components > .wooco_component:hover,
  body.obaui-product-active.obaui-layout3-structural .wooco_components > .wooco_component.obaui-l3-open{
    border-color:#bfc6bf !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_components > .wooco_component.obaui-l3-open{
    box-shadow:0 10px 28px rgba(20,24,21,.055) !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_components > .wooco_component::before{
    top:14px !important;
    left:16px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component > .wooco_component_name{
    min-height:26px;
    display:flex !important;
    align-items:center;
    cursor:pointer;
    padding-right:180px !important;
    margin:0 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-component-choice{
    position:absolute;
    top:11px;
    right:14px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    width:min(38%,300px);
    min-height:32px;
    padding:0;
    border:0;
    background:transparent;
    color:#5e635e;
    font:inherit;
    cursor:pointer;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-component-choice span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:10px;
    text-align:right;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-component-choice i{
    width:7px;
    height:7px;
    border-right:1.5px solid #252a27;
    border-bottom:1.5px solid #252a27;
    transform:rotate(45deg) translateY(-2px);
    transition:transform .16s ease;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open > .obaui-l3-component-choice i{
    transform:rotate(225deg) translate(-1px,-1px);
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component:not(.obaui-l3-open) > :not(.wooco_component_name):not(.obaui-l3-component-choice){
    display:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open > .obaui-l3-component-choice span{
    color:var(--obaui-l3-accent);
    font-weight:600;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_description,
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_desc,
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open > p{
    margin:4px 0 10px !important;
  }

  /* Purchase finish belongs to the builder rather than the hero column. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-main .obaui-total-postage-bar{
    margin-top:16px !important;
    padding:14px 0 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-main .quantity,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-main .single_add_to_cart_button{
    min-height:46px !important;
  }

  /* SUMMARY: sticky inside the builder, no longer an off-canvas overlay. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-summary-slot{
    min-width:0;
    position:relative;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-summary-slot .obaui-floating-total{
    position:sticky !important;
    top:108px !important;
    right:auto !important;
    left:auto !important;
    bottom:auto !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    max-height:calc(100vh - 126px) !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    margin:0 !important;
    overflow:auto !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-summary-slot .obaui-floating-total:not(.is-visible){
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__items{
    max-height:310px !important;
  }

  /* Editorial material now follows configuration instead of extending the hero
     column while the builder carries on for thousands of pixels. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-editorial-stage{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:28px;
    margin-top:42px;
    padding-top:32px;
    border-top:1px solid var(--obaui-l3-line);
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-editorial-stage:empty{
    display:none;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-editorial-stage .obaui-description-under-gallery{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:28px 0 0 !important;
    border-top:1px solid var(--obaui-l3-line) !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-editorial-stage .rey-prodDescToggle{
    max-width:980px;
    font-size:14px !important;
    line-height:1.68 !important;
  }

  @media (max-width:1180px){
    body.obaui-product-active.obaui-layout3-structural .rey-productSummary{
      grid-template-columns:minmax(0,1fr) minmax(390px,.8fr) !important;
      gap:28px !important;
    }
    body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-grid{
      grid-template-columns:minmax(0,1fr) 270px;
      gap:22px;
    }
    body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress{ display:none; }
  }
}

/* v0.10.2 — Layout 3 WPC commerce-cluster relocation fix */
@media (min-width:768px){
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-commerce-cluster{
    width:100%;
    min-width:0;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-commerce-cluster > .wooco_wrap,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-commerce-cluster > .wooco_components,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-commerce-cluster > form.cart{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .summary.entry-summary > .wooco_wrap,
  body.obaui-product-active.obaui-layout3-structural .summary.entry-summary > .wooco_components{
    max-width:100% !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-main .wooco_components{
    display:block !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-commerce-cluster > form.cart{
    margin-top:18px !important;
  }
}


/* v0.10.3 — Layout 3 guided-builder refinement */
@media (min-width:768px){
  /* The sticky panel needs a containing rail as tall as the configurator.
     With grid align-items:start the old slot was only panel-height, leaving
     sticky with no scroll travel. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-summary-slot{
    align-self:stretch !important;
    min-height:100% !important;
    height:auto !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-summary-slot .obaui-floating-total{
    position:sticky !important;
    top:94px !important;
    z-index:12 !important;
    box-shadow:0 18px 50px rgba(14,18,15,.16) !important;
  }

  /* Less list-fatigue: completed rows are compact, active row is visibly a
     working area, and each completed selection gets an unmistakable tick. */
  body.obaui-product-active.obaui-layout3-structural .wooco_components > .wooco_component{
    min-height:54px !important;
    padding-top:13px !important;
    padding-bottom:13px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_components > .wooco_component.obaui-l3-open{
    padding-top:17px !important;
    padding-bottom:18px !important;
    border-color:#8e9a90 !important;
    background:#fbfcfa !important;
    box-shadow:0 12px 34px rgba(20,24,21,.07) !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_components > .wooco_component.obaui-l3-complete:not(.obaui-l3-open){
    background:#fafbf9 !important;
    border-color:#d7ddd6 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_components > .wooco_component.obaui-l3-complete::after{
    content:'✓';
    position:absolute;
    left:34px;
    top:14px;
    display:grid;
    place-items:center;
    width:14px;
    height:14px;
    border-radius:50%;
    background:#bf7c00;
    color:#fff;
    font-size:9px;
    line-height:1;
    font-weight:700;
    transform:translateX(-50%);
    z-index:3;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_components > .wooco_component.obaui-l3-open::after{
    display:none;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open > .wooco_component_name{
    color:#111714 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open > .obaui-l3-component-choice{
    top:15px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component:not(.obaui-l3-open) > .obaui-l3-component-choice span{
    color:#434a45 !important;
    font-weight:500 !important;
  }

  /* Give the configurator/summary relationship more weight and breathing room. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-grid{
    grid-template-columns:minmax(0,1fr) 320px !important;
    gap:38px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-main{
    padding-right:2px;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__value{
    font-size:24px !important;
    letter-spacing:-.025em !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__cta{
    min-height:46px !important;
    font-weight:700 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__item{
    padding:8px 0 !important;
  }

  /* Native finish row: total/postage remain informative but secondary to the
     final purchase action. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-commerce-cluster .obaui-total-postage-bar,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-commerce-cluster .wooco_summary{
    border-top:1px solid #e2e5e1 !important;
  }

  @media (max-width:1180px){
    body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-grid{
      grid-template-columns:minmax(0,1fr) 280px !important;
      gap:24px !important;
    }
  }
}

/* v0.10.4 — narrative guided-builder visual pass */
@media (min-width:768px){
  /* 1. Keep the live summary below the category/subheading navigation. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-summary-slot .obaui-floating-total{
    top:144px !important;
    max-height:calc(100vh - 166px) !important;
  }

  /* 2. The open step becomes a large, readable story card. Closed steps stay
     compact so customers can scan progress without facing a wall of content. */
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-select,
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-selected{
    height:230px !important;
    min-height:230px !important;
    max-height:230px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-selected{
    grid-template-columns:218px minmax(0,1fr) 160px 18px !important;
    grid-template-rows:auto 1fr !important;
    column-gap:22px !important;
    row-gap:7px !important;
    padding:16px 16px 16px 12px !important;
    align-items:center !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-selected :is(img,.dd-selected-image){
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
    width:205px !important;
    height:198px !important;
    max-width:205px !important;
    max-height:198px !important;
    object-fit:contain !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .obaui-l3-selection-title{
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:end !important;
    font-size:17px !important;
    line-height:1.26 !important;
    font-weight:650 !important;
    -webkit-line-clamp:3 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .obaui-l3-selection-story{
    grid-column:2 !important;
    grid-row:2 !important;
    display:block !important;
    align-self:start !important;
    max-width:640px;
    color:#606860;
    font-size:13px !important;
    line-height:1.55 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .obaui-l3-selection-meta{
    grid-column:3 !important;
    grid-row:1 / span 2 !important;
    width:160px !important;
    min-width:160px !important;
    max-width:160px !important;
    align-self:center !important;
    justify-self:end !important;
    text-align:right !important;
    justify-content:flex-end !important;
    font-size:12px !important;
    line-height:1.5 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-pointer{
    right:14px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open > .wooco_component_description,
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open > .wooco_component_desc,
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open > p{
    display:none !important;
  }

  /* 3. Reclaim the empty top-left space without moving the product detail text. */
  body.obaui-product-active.obaui-layout3-structural .obaui-product-left-column > .woocommerce-product-gallery{
    margin-top:-46px !important;
    margin-bottom:-46px !important;
  }

  /* 4. Three concise utilities directly beneath the price/product context. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-benefits.obaui-l3-hero-utilities{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
    margin:16px 0 6px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-hero-utilities .obaui-l3-utility{
    appearance:none;
    display:flex !important;
    flex-direction:column;
    justify-content:center;
    min-height:72px;
    padding:12px 13px !important;
    border:1px solid #dde2dc !important;
    border-radius:4px !important;
    background:#fafbf9 !important;
    color:#151a16 !important;
    text-align:left !important;
    text-decoration:none !important;
    cursor:pointer;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-hero-utilities .obaui-l3-utility:hover{
    border-color:#aebbad !important;
    background:#f3f7f2 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-hero-utilities .obaui-l3-utility strong{
    font-size:11px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-hero-utilities .obaui-l3-utility span{
    margin-top:4px;
    color:#697069;
    font-size:9px !important;
    line-height:1.35 !important;
  }

  /* 5. Description is restored to the editorial flow after Hall of Fame. */
  body.obaui-product-active.obaui-layout3-structural .obaui-description-after-hof{
    display:block !important;
    width:min(1440px,calc(100% - 48px)) !important;
    max-width:1440px !important;
    margin:42px auto 0 !important;
    padding:34px 0 0 !important;
    border-top:1px solid #e0e3df !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-description-after-hof .rey-prodDescToggle{
    max-width:980px !important;
    font-size:14px !important;
    line-height:1.68 !important;
  }

  /* 6. Completion is a clear green state; check sits to the right of the step
     number instead of covering it. */
  body.obaui-product-active.obaui-layout3-structural .wooco_components > .wooco_component.obaui-l3-complete:not(.obaui-l3-open){
    background:#f2f7f1 !important;
    border-color:#b8cdb9 !important;
    box-shadow:inset 3px 0 0 #6f9473 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_components > .wooco_component.obaui-l3-complete::after{
    left:47px !important;
    top:15px !important;
    width:15px !important;
    height:15px !important;
    transform:none !important;
    background:#3e704d !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_components > .wooco_component.obaui-l3-complete:not(.obaui-l3-open) > .wooco_component_name{
    padding-left:18px !important;
    color:#244a31 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_components > .wooco_component.obaui-l3-complete:not(.obaui-l3-open) > .obaui-l3-component-choice span{
    color:#315a3c !important;
    font-weight:600 !important;
  }

  @media (max-width:1180px){
    body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-selected{
      grid-template-columns:170px minmax(0,1fr) 130px 16px !important;
    }
    body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-selected :is(img,.dd-selected-image){
      width:160px !important;
      height:180px !important;
    }
  }
}


/* v0.10.5 — DDSlick repair, reliable hero support tiles, lower sticky rail */
@media (min-width:768px){
  /* Summary clears the fixed category navigation with additional breathing room. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-summary-slot .obaui-floating-total{
    top:184px !important;
    max-height:calc(100vh - 206px) !important;
  }

  /* Restore the SELECTED DDSlick control to a stable compact geometry.
     v0.10.4 incorrectly turned this shell into the large story card. */
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-select,
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-selected{
    height:96px !important;
    min-height:96px !important;
    max-height:96px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-selected{
    display:grid !important;
    grid-template-columns:86px minmax(0,1fr) minmax(132px,29%) 16px !important;
    grid-template-rows:1fr !important;
    column-gap:12px !important;
    row-gap:0 !important;
    padding:8px 12px !important;
    align-items:center !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-selected > img,
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-selected > img.dd-selected-image{
    grid-column:1 !important;
    grid-row:1 !important;
    width:78px !important;
    height:78px !important;
    max-width:78px !important;
    max-height:78px !important;
    object-fit:contain !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-selected > :is(.dd-selected-text,label.dd-selected-text,.obaui-l3-selection-title){
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:center !important;
    display:block !important;
    height:auto !important;
    font-size:13px !important;
    line-height:1.3 !important;
    font-weight:550 !important;
    overflow:hidden !important;
    display:-webkit-box !important;
    -webkit-line-clamp:3 !important;
    -webkit-box-orient:vertical !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-selected > :is(.dd-selected-description,.obaui-l3-selection-meta){
    grid-column:3 !important;
    grid-row:1 !important;
    align-self:center !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:auto !important;
    text-align:left !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-selected > .obaui-l3-selection-story{
    display:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-pointer{
    grid-column:4 !important;
    grid-row:1 !important;
    position:static !important;
    justify-self:end !important;
    align-self:center !important;
    margin:0 !important;
  }

  /* The OPEN MENU is the narrative surface: image ~3x the original icon,
     title + explanatory copy in the centre, price and availability on the right. */
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-options{
    max-height:590px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    background:#fff !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-option{
    display:grid !important;
    grid-template-columns:154px minmax(0,1fr) 150px !important;
    grid-template-rows:auto auto !important;
    column-gap:22px !important;
    row-gap:6px !important;
    align-items:center !important;
    min-height:142px !important;
    padding:13px 18px !important;
    box-sizing:border-box !important;
    border-bottom:1px solid #e4e7e3 !important;
    background:#fff !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-option:hover{
    background:#f5f8f4 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-option > img,
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-option > img.dd-option-image{
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
    width:142px !important;
    height:112px !important;
    max-width:142px !important;
    max-height:112px !important;
    margin:0 !important;
    object-fit:contain !important;
    justify-self:center !important;
    align-self:center !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-option > :is(.dd-option-text,label.dd-option-text){
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:end !important;
    display:block !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    font-size:15px !important;
    line-height:1.28 !important;
    font-weight:600 !important;
    color:#171b18 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-option > .obaui-l3-option-story{
    grid-column:2 !important;
    grid-row:2 !important;
    align-self:start !important;
    display:block !important;
    margin:0 !important;
    color:#687069 !important;
    font-size:12px !important;
    line-height:1.5 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-option > .dd-option-description{
    grid-column:3 !important;
    grid-row:1 / span 2 !important;
    align-self:center !important;
    justify-self:end !important;
    width:150px !important;
    min-width:150px !important;
    text-align:left !important;
  }

  /* Reliable utility/contact tiles: injected directly into the product summary,
     independent of the older benefits element. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-direct-utilities{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
    margin:16px 0 10px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-direct-utility{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    min-height:76px !important;
    padding:12px 13px !important;
    border:1px solid #dce2dc !important;
    border-radius:5px !important;
    background:#fafbf9 !important;
    color:#151a16 !important;
    text-decoration:none !important;
    cursor:pointer !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-direct-utility:hover{
    background:#f2f6f1 !important;
    border-color:#aebcad !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-direct-utility strong{
    font-size:11px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-direct-utility span{
    margin-top:4px !important;
    color:#687069 !important;
    font-size:9px !important;
    line-height:1.4 !important;
  }
}

/* v0.10.6 — narrative menu composition, floating support actions, higher hero */
@media (min-width:768px){
  /* Pull only the media column higher; keep title/story alignment untouched. */
  body.obaui-product-active.obaui-layout3-structural .obaui-product-left-column > .woocommerce-product-gallery{
    margin-top:-96px !important;
    margin-bottom:-46px !important;
  }

  /* Open DDSlick menu: three-column story card. The image owns almost the full
     row height, copy sits in a controlled centre column, commerce meta is fixed
     to the right. */
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-option{
    grid-template-columns:184px minmax(0,1fr) 164px !important;
    grid-template-rows:1fr !important;
    column-gap:20px !important;
    min-height:164px !important;
    padding:8px 18px 8px 10px !important;
    align-items:stretch !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-option > img,
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-option > img.dd-option-image{
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    width:100% !important;
    height:148px !important;
    max-width:none !important;
    max-height:148px !important;
    margin:0 !important;
    padding:4px !important;
    object-fit:contain !important;
    object-position:center !important;
    box-sizing:border-box !important;
    background:#f8f9f7 !important;
    border-radius:4px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-option > :is(.dd-option-text,label.dd-option-text){
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:center !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:7px !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    font-size:15px !important;
    line-height:1.28 !important;
    font-weight:650 !important;
    color:#151a16 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-option > .obaui-l3-option-story{
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:center !important;
    display:block !important;
    margin:34px 0 0 !important;
    padding:0 !important;
    max-width:640px !important;
    color:#687069 !important;
    font-size:12px !important;
    line-height:1.45 !important;
    font-weight:400 !important;
    pointer-events:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-option > .dd-option-description{
    grid-column:3 !important;
    grid-row:1 !important;
    align-self:center !important;
    justify-self:stretch !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    padding-left:16px !important;
    border-left:1px solid #e4e7e3 !important;
    text-align:left !important;
    box-sizing:border-box !important;
  }

  /* Help belongs in the live summary because that is the element following
     the shopper through the build. */
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__help{
    display:grid !important;
    gap:7px !important;
    margin:10px 0 0 !important;
    padding-top:10px !important;
    border-top:1px solid rgba(255,255,255,.13) !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__help-title{
    color:#fff !important;
    font-size:10px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__help-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:6px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__help-action{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    min-height:38px !important;
    padding:8px 10px !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:3px !important;
    background:rgba(255,255,255,.055) !important;
    color:#fff !important;
    text-decoration:none !important;
    font-size:10px !important;
    line-height:1.25 !important;
    cursor:pointer !important;
    box-sizing:border-box !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__help-action:hover{
    background:rgba(255,255,255,.10) !important;
    border-color:rgba(255,255,255,.28) !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__help-action strong{
    color:#fff !important;
    font-size:10px !important;
    font-weight:700 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__help-action span{
    color:#b9c2bb !important;
    font-size:9px !important;
    text-align:right !important;
  }
}

/* v0.10.7 — stable story-card grid, full-height media, higher hero */
@media (min-width:768px){
  /* Reclaim the remaining dead space above the main product image. */
  body.obaui-product-active.obaui-layout3-structural .obaui-product-left-column > .woocommerce-product-gallery{
    margin-top:-156px !important;
    margin-bottom:-64px !important;
  }

  /* DDSlick option rows: explicit two-row grid so title and story can never
     compete for the same narrow inline box. */
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-option{
    display:grid !important;
    grid-template-columns:minmax(150px,18%) minmax(0,1fr) minmax(150px,18%) !important;
    grid-template-rows:auto 1fr !important;
    column-gap:22px !important;
    row-gap:6px !important;
    min-height:156px !important;
    padding:10px 18px 10px 10px !important;
    align-items:stretch !important;
    box-sizing:border-box !important;
  }

  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-option > img,
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-option > img.dd-option-image{
    grid-column:1 !important;
    grid-row:1 / 3 !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    width:100% !important;
    height:100% !important;
    min-height:136px !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    padding:4px !important;
    box-sizing:border-box !important;
    object-fit:contain !important;
    object-position:center !important;
    background:#f7f8f6 !important;
    border-radius:4px !important;
  }

  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-option > :is(.dd-option-text,label.dd-option-text){
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:end !important;
    display:block !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    font-size:15px !important;
    line-height:1.3 !important;
    font-weight:650 !important;
    color:#151a16 !important;
  }

  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-option > .obaui-l3-option-story{
    grid-column:2 !important;
    grid-row:2 !important;
    align-self:start !important;
    display:-webkit-box !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    color:#687069 !important;
    font-size:12px !important;
    line-height:1.5 !important;
    font-weight:400 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:3 !important;
    overflow:hidden !important;
    pointer-events:none !important;
  }

  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-option > .dd-option-description{
    grid-column:3 !important;
    grid-row:1 / 3 !important;
    align-self:center !important;
    justify-self:stretch !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 0 0 18px !important;
    border-left:1px solid #e4e7e3 !important;
    box-sizing:border-box !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    text-align:left !important;
  }

  /* Slightly more room for the sticky help section now that it carries real
     support information rather than generic trust copy only. */
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__help-title{
    margin-bottom:1px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__help-hours{
    display:block !important;
    margin-top:1px !important;
    color:#aeb8b0 !important;
    font-size:8px !important;
    line-height:1.35 !important;
  }
}

/* v0.10.8 — stop styling DDSlick internals as rich cards.
   Native DDSlick is retained as the compact control/data layer; rich options
   are rendered by our own stable panel beneath it. */
@media (min-width:768px){
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-options{
    display:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-select,
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .wooco_component_layout_ddslick .dd-selected{
    min-height:72px !important;
    height:72px !important;
    max-height:72px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-options{
    display:none;
    margin-top:8px;
    border:1px solid #d9ded9;
    border-radius:6px;
    overflow:auto;
    max-height:470px;
    background:#fff;
    box-shadow:0 12px 30px rgba(18,24,19,.08);
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-l3-open .obaui-l3-rich-options{
    display:block;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option{
    appearance:none;
    -webkit-appearance:none;
    width:100%;
    min-height:132px;
    display:grid;
    grid-template-columns:150px minmax(0,1fr) 180px;
    align-items:stretch;
    gap:20px;
    padding:12px 18px 12px 12px;
    border:0;
    border-bottom:1px solid #e4e8e4;
    border-radius:0;
    background:#fff;
    color:#161b17;
    text-align:left;
    cursor:pointer;
    font:inherit;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option:last-child{ border-bottom:0; }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option:hover,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option:focus-visible{
    background:#f5f8f3;
    outline:none;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__media{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:108px;
    background:#f7f8f6;
    border-radius:5px;
    overflow:hidden;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__media img{
    display:block !important;
    width:100% !important;
    height:108px !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    padding:6px !important;
    object-fit:contain !important;
    object-position:center !important;
    box-sizing:border-box !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:7px;
    padding:4px 0;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__title{
    display:block;
    font-size:15px;
    line-height:1.35;
    font-weight:650;
    color:#151a16;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__story{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
    font-size:12px;
    line-height:1.5;
    font-weight:400;
    color:#687069;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__meta{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    padding-left:18px;
    border-left:1px solid #e4e7e3;
    font-size:12px;
    line-height:1.45;
    color:#303831;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__meta *{
    max-width:100%;
  }
}


/* v0.10.9 — WPC places wooco_component_layout_ddslick on the component itself.
   Target the same-node structure directly so the native DDSlick menu never leaks
   through and the custom rich option panel owns the expanded state. */
@media (min-width:768px){
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open > .dd-container > .dd-options,
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open .dd-options{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open .dd-select,
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open .dd-selected{
    min-height:72px !important;
    height:72px !important;
    max-height:72px !important;
  }

  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open > .obaui-l3-rich-options,
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open .obaui-l3-rich-options{
    display:block !important;
  }
}


/* v0.10.10 — rich panel open-state hardening.
   One panel lives directly under each WPC component; closed steps are always
   compact regardless of stale plugin inline styles or previous open states. */
@media (min-width:768px){
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick > .obaui-l3-rich-options{
    display:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open > .obaui-l3-rich-options:not([hidden]){
    display:block !important;
  }
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick > .obaui-l3-rich-options[hidden]{
    display:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick:not(.obaui-l3-open) .dd-options{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural
  .obaui-l3-rich-option.is-selected{
    background:#f1f6ef;
    box-shadow:inset 3px 0 0 #6f9473;
  }
}


/* v0.10.12 — compact option cleanup.
   Correctly emitted CSS (v0.10.11 was accidentally escaped as literal \\n text).
   Preserve customer-controlled accordion flow while stripping image chrome and
   protecting the compact selected row from WPC description leakage. */
@media (min-width:768px){
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick:not(.obaui-l3-open) > .obaui-l3-rich-options{
    display:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open > .obaui-l3-rich-options:not([hidden]){
    display:block !important;
  }

  /* Compact native selected control: image | title | price/stock | arrow. */
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open .dd-select,
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open .dd-selected{
    min-height:56px !important;
    height:56px !important;
    max-height:56px !important;
  }
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open .dd-selected{
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) 170px 18px !important;
    column-gap:10px !important;
    padding:3px 9px 3px 3px !important;
    align-items:center !important;
    overflow:hidden !important;
  }
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open .dd-selected > img,
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open .dd-selected > img.dd-selected-image{
    grid-column:1 !important;
    width:46px !important;
    height:46px !important;
    max-width:46px !important;
    max-height:46px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    object-fit:contain !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open .dd-selected > .dd-selected-text,
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open .dd-selected > label.dd-selected-text{
    grid-column:2 !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    display:block !important;
    line-height:1.3 !important;
  }
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open .dd-selected > .dd-selected-description{
    grid-column:3 !important;
    min-width:0 !important;
    width:170px !important;
    max-width:170px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    white-space:normal !important;
    line-height:1.2 !important;
    text-align:left !important;
  }
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open .dd-selected > .dd-pointer{
    grid-column:4 !important;
    justify-self:end !important;
  }
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open .dd-selected > :not(img):not(.dd-selected-text):not(.dd-selected-description):not(.dd-pointer){
    display:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open :is(.wooco_component_description,.wooco_component_desc){
    display:none !important;
  }

  /* Rich option list: compact rows, no image card/shadow/padding. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-options{
    margin-top:5px !important;
    max-height:410px !important;
    border:1px solid #d9ded9 !important;
    border-radius:5px !important;
    background:#fff !important;
    box-shadow:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option{
    min-height:78px !important;
    grid-template-columns:118px minmax(0,1fr) 170px !important;
    gap:14px !important;
    padding:0 12px 0 0 !important;
    align-items:stretch !important;
    background:#fff !important;
    box-shadow:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option.is-selected{
    background:#f1f6ef !important;
    box-shadow:inset 3px 0 0 #6f9473 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__media{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:78px !important;
    height:78px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__media *{
    background:transparent !important;
    box-shadow:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__media img{
    display:block !important;
    width:100% !important;
    height:78px !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    object-fit:contain !important;
    object-position:center !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__copy{
    min-width:0 !important;
    padding:7px 0 !important;
    gap:3px !important;
    justify-content:center !important;
    overflow:hidden !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__title{
    min-width:0 !important;
    font-size:13.5px !important;
    line-height:1.25 !important;
    overflow:hidden !important;
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__story{
    min-width:0 !important;
    font-size:11px !important;
    line-height:1.3 !important;
    overflow:hidden !important;
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__meta{
    min-width:170px !important;
    width:170px !important;
    max-width:170px !important;
    padding:6px 0 6px 14px !important;
    border-left:1px solid #e4e7e3 !important;
    overflow:hidden !important;
    white-space:normal !important;
    line-height:1.25 !important;
    justify-content:center !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__meta *{
    min-width:0 !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }
}

/* v0.10.13 — strict rich-option column alignment. */
@media (min-width:768px){
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option{
    display:grid !important;
    grid-template-columns:118px minmax(0,1fr) 170px !important;
    column-gap:0 !important;
    row-gap:0 !important;
    min-height:82px !important;
    height:82px !important;
    padding:0 !important;
    align-items:stretch !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__media{
    grid-column:1 !important;
    width:118px !important;
    min-width:118px !important;
    height:82px !important;
    min-height:82px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-right:1px solid #e4e7e3 !important;
    background:#fff !important;
    box-shadow:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__media img{
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:contain !important;
    object-position:center !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__copy{
    grid-column:2 !important;
    min-width:0 !important;
    margin:0 !important;
    padding:10px 18px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    text-align:left !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__meta{
    grid-column:3 !important;
    width:170px !important;
    min-width:170px !important;
    max-width:170px !important;
    margin:0 !important;
    padding:10px 12px !important;
    border-left:1px solid #e4e7e3 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    text-align:left !important;
    line-height:1.25 !important;
    box-sizing:border-box !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__meta > *{
    margin-left:0 !important;
    padding-left:0 !important;
    text-align:left !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__title,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__story{
    width:100% !important;
    margin-left:0 !important;
    text-align:left !important;
  }
}

/* v0.10.14 — expanded component guidance column.
   Move the component-level description/note out of every option row and into
   one full-height left rail, leaving the selectable choices to scan cleanly. */
@media (min-width:768px){
  body.obaui-product-active.obaui-layout3-structural
  .wooco_component.wooco_component_layout_ddslick.obaui-l3-open > .obaui-l3-rich-options:not([hidden]){
    display:grid !important;
    grid-template-columns:220px minmax(0,1fr) !important;
    align-items:stretch !important;
    gap:0 !important;
    max-height:410px !important;
    overflow:hidden !important;
    padding:0 !important;
    background:#fff !important;
  }

  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-guide{
    grid-column:1 !important;
    align-self:stretch !important;
    min-width:0 !important;
    margin:0 !important;
    padding:18px 18px !important;
    border-right:1px solid #e4e7e3 !important;
    background:#f6f7f4 !important;
    color:#2f3731 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-guide__label{
    display:block !important;
    margin:0 0 8px !important;
    font-size:9px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    color:#758078 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-guide__copy{
    margin:0 !important;
    padding:0 !important;
    font-size:12px !important;
    line-height:1.55 !important;
    font-weight:400 !important;
    color:#4f5851 !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-list{
    grid-column:2 !important;
    min-width:0 !important;
    max-height:410px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    background:#fff !important;
  }

  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-list .obaui-l3-rich-option{
    width:100% !important;
    grid-template-columns:118px minmax(0,1fr) 170px !important;
  }

  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-list .obaui-l3-rich-option__copy{
    justify-content:center !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-list .obaui-l3-rich-option__story{
    display:none !important;
  }
}


/* v0.10.15 — expanded rich panels without scrolling, stronger hover illumination,
   tightened typography scale, and stock icon alignment refinement. */
@media (min-width:768px){
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-stage{
    --obaui-fs-micro:11px;
    --obaui-fs-small:13px;
    --obaui-fs-body:15px;
    --obaui-fs-ui:17px;
    --obaui-fs-display:52px;
  }

  /* constrain the structural builder to a tighter type system */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-head h2{
    font-size:var(--obaui-fs-display) !important;
    line-height:.98 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-head p,
  body.obaui-product-active.obaui-layout3-structural .wooco_component > .wooco_component_name .wooco_component_name_text,
  body.obaui-product-active.obaui-layout3-structural .wooco_component > .obaui-l3-component-choice,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-guide__copy,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-direct-utility span,
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total,
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total *{
    font-size:var(--obaui-fs-small);
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-kicker,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-guide__label,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-direct-utility strong,
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__help-title{
    font-size:var(--obaui-fs-micro) !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component > .wooco_component_name .wooco_component_name_text,
  body.obaui-product-active.obaui-layout3-structural .wooco_component > .wooco_component_name,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__title,
  body.obaui-product-active.obaui-layout3-structural .dd-selected > :is(.dd-selected-text,label.dd-selected-text,.obaui-l3-selection-title){
    font-size:var(--obaui-fs-ui) !important;
    line-height:1.25 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__total,
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__price,
  body.obaui-product-active.obaui-layout3-structural .wooco_total .amount,
  body.obaui-product-active.obaui-layout3-structural .wooco-total .amount{
    font-size:20px !important;
    line-height:1.1 !important;
  }

  /* expand the opened variation panel to full content height */
  body.obaui-product-active.obaui-layout3-structural .wooco_component.wooco_component_layout_ddslick.obaui-l3-open > .obaui-l3-rich-options:not([hidden]),
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-options,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-list{
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.wooco_component_layout_ddslick.obaui-l3-open > .obaui-l3-rich-options:not([hidden]){
    align-items:stretch !important;
  }

  /* richer, cleaner hover illumination */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option{
    min-height:124px !important;
    transition:background-color .18s ease, box-shadow .18s ease, border-color .18s ease, transform .18s ease !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option:hover,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option:focus-visible{
    background:linear-gradient(180deg,#fbfcfa 0%, #f4f8f1 100%) !important;
    box-shadow:inset 0 0 0 1px #bfd0bf !important;
    outline:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option.is-selected{
    background:#eef4eb !important;
    box-shadow:inset 3px 0 0 #7fa07a !important;
  }

  /* keep guide on the left and let the option list grow naturally */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-guide{
    min-height:100% !important;
  }

  /* keep the commerce column aligned and move stock tick to the right */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__meta,
  body.obaui-product-active.obaui-layout3-structural .dd-selected-description{
    display:grid !important;
    justify-items:start !important;
    align-content:center !important;
    gap:6px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__meta > *:last-child,
  body.obaui-product-active.obaui-layout3-structural .dd-selected-description > *:last-child,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__meta .stock,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__meta .woocommerce-stock,
  body.obaui-product-active.obaui-layout3-structural .dd-selected-description .stock,
  body.obaui-product-active.obaui-layout3-structural .dd-selected-description .woocommerce-stock{
    display:inline-flex !important;
    flex-direction:row-reverse !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:6px !important;
    white-space:normal !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__meta > *:last-child :is(i,svg,img,span[class*="icon"],span[class*="check"]),
  body.obaui-product-active.obaui-layout3-structural .dd-selected-description > *:last-child :is(i,svg,img,span[class*="icon"],span[class*="check"]),
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__meta .stock :is(i,svg,img,span[class*="icon"],span[class*="check"]),
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__meta .woocommerce-stock :is(i,svg,img,span[class*="icon"],span[class*="check"]),
  body.obaui-product-active.obaui-layout3-structural .dd-selected-description .stock :is(i,svg,img,span[class*="icon"],span[class*="check"]),
  body.obaui-product-active.obaui-layout3-structural .dd-selected-description .woocommerce-stock :is(i,svg,img,span[class*="icon"],span[class*="check"]){
    flex:0 0 auto !important;
    margin:0 !important;
  }
}

/* v0.10.16 — visual cleanup: square media, zero row padding, stable stock meta,
   borderless rich choices and a real five-size product-page type scale. */
@media (min-width:768px){
  body.obaui-product-active.obaui-layout3-structural{
    --obaui-type-1:10px;
    --obaui-type-2:12px;
    --obaui-type-3:14px;
    --obaui-type-4:16px;
    --obaui-type-5:36px;
  }

  /* Five sizes across the redesigned product content, excluding global nav/header. */
  body.obaui-product-active.obaui-layout3-structural :is(
    .rey-productSummary,
    .summary.entry-summary,
    .obaui-l3-builder-stage,
    .obaui-l3-editorial-stage,
    .obaui-description-under-gallery,
    .related.products,
    .rey-recentlyViewed
  ) :where(p,span,a,button,label,small,strong,li,div){
    font-size:var(--obaui-type-3) !important;
  }
  body.obaui-product-active.obaui-layout3-structural :is(
    .obaui-l3-builder-kicker,
    .obaui-l3-rich-guide__label,
    .obaui-l3-kicker,
    .product_meta,
    .product_meta *,
    .obaui-floating-total__help-title,
    .obaui-commerce-meta,
    .obaui-commerce-meta *
  ){
    font-size:var(--obaui-type-1) !important;
  }
  body.obaui-product-active.obaui-layout3-structural :is(
    .obaui-l3-builder-head p,
    .obaui-l3-rich-guide__copy,
    .obaui-l3-direct-utility span,
    .woocommerce-product-details__short-description,
    .woocommerce-product-details__short-description *,
    .obaui-description-under-gallery p,
    .related.products .price,
    .related.products .price *
  ){
    font-size:var(--obaui-type-2) !important;
  }
  body.obaui-product-active.obaui-layout3-structural :is(
    .wooco_component_name,
    .wooco_component_name *,
    .obaui-l3-rich-option__title,
    .obaui-l3-component-choice,
    .dd-selected-text,
    .obaui-l3-direct-utility strong,
    .related.products .woocommerce-loop-product__title
  ){
    font-size:var(--obaui-type-4) !important;
    line-height:1.28 !important;
  }
  body.obaui-product-active.obaui-layout3-structural :is(
    .summary .product_title,
    .product_title,
    .obaui-l3-builder-head h2
  ){
    font-size:var(--obaui-type-5) !important;
    line-height:1 !important;
  }

  /* Borderless option matrix. Outer panel remains the only frame. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-options,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-list{
    border:0 !important;
    box-shadow:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option:last-child,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__media,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__copy,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__meta{
    border:0 !important;
    box-shadow:none;
  }

  /* Compact rows: no outer padding; square, uncropped media. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-list .obaui-l3-rich-option{
    grid-template-columns:112px minmax(0,1fr) 160px !important;
    column-gap:16px !important;
    min-height:112px !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    align-items:center !important;
    overflow:visible !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__media{
    width:112px !important;
    height:112px !important;
    min-width:112px !important;
    min-height:112px !important;
    max-width:112px !important;
    max-height:112px !important;
    aspect-ratio:1 / 1 !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border-radius:0 !important;
    overflow:visible !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__media img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    aspect-ratio:1 / 1 !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:contain !important;
    object-position:center center !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__copy{
    margin:0 !important;
    padding:0 !important;
    min-width:0 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__meta{
    width:160px !important;
    min-width:160px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:5px !important;
    white-space:nowrap !important;
    text-align:left !important;
  }

  /* Semantic commerce meta generated by product.js: price, then one stable stock line. */
  body.obaui-product-active.obaui-layout3-structural .obaui-commerce-meta__price{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    color:#2d332e !important;
    font-size:var(--obaui-type-2) !important;
    line-height:1.2 !important;
    font-weight:400 !important;
    white-space:nowrap !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-commerce-meta__stock{
    display:inline-flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:6px !important;
    margin:0 !important;
    padding:0 !important;
    color:#697000 !important;
    font-size:var(--obaui-type-2) !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-commerce-meta__stock.is-backorder{ color:#8a6b00 !important; }
  body.obaui-product-active.obaui-layout3-structural .obaui-commerce-meta__stock.is-out{ color:#a22a20 !important; }
  body.obaui-product-active.obaui-layout3-structural .obaui-commerce-meta__stock-text{
    display:inline !important;
    margin:0 !important;
    padding:0 !important;
    font:inherit !important;
    color:inherit !important;
    white-space:nowrap !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-commerce-meta__tick{
    display:inline-flex !important;
    flex:0 0 14px !important;
    width:14px !important;
    height:14px !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid currentColor !important;
    border-radius:50% !important;
    font-size:9px !important;
    line-height:1 !important;
    font-weight:700 !important;
    color:inherit !important;
    box-sizing:border-box !important;
  }

  /* Native selected shell uses the same semantic meta structure. */
  body.obaui-product-active.obaui-layout3-structural .dd-selected-description.obaui-commerce-meta{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:4px !important;
    padding:0 !important;
    border:0 !important;
    white-space:nowrap !important;
  }

  /* neutralise old theme DDSlick padding that was leaking back in */
  body.obaui-product-active.obaui-layout3-structural :is(.dd-desc,.dd-option-description,.dd-selected-description){
    padding-left:0 !important;
    padding-right:0 !important;
  }

  /* Hover without reintroducing a visible cell/grid border. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option:hover,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option:focus-visible{
    background:#f3f7f1 !important;
    box-shadow:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option.is-selected{
    background:#eef4eb !important;
    box-shadow:inset 3px 0 0 #7fa07a !important;
  }
}


/* v0.10.17 — reduction pass: true square media boxes, smaller typography,
   no bold weights, and overlap-safe option/meta columns. */
@media (min-width:768px){
  body.obaui-product-active.obaui-layout3-structural{
    --obaui17-micro:10px;
    --obaui17-small:11px;
    --obaui17-body:12px;
    --obaui17-ui:13px;
    --obaui17-display:38px;
  }

  /* Remove heavy weights throughout the redesigned product content only. */
  body.obaui-product-active.obaui-layout3-structural :is(
    .rey-productSummary,
    .summary.entry-summary,
    .obaui-l3-builder-stage,
    .obaui-l3-editorial-stage,
    .obaui-description-under-gallery,
    .related.products,
    .rey-recentlyViewed
  ) :where(*):not(svg):not(path){
    font-weight:400 !important;
  }

  /* Hard five-size scale. */
  body.obaui-product-active.obaui-layout3-structural :is(
    .rey-productSummary,
    .summary.entry-summary,
    .obaui-l3-builder-stage,
    .obaui-l3-editorial-stage,
    .obaui-description-under-gallery,
    .related.products,
    .rey-recentlyViewed
  ) :where(p,span,a,button,label,small,li,div,strong){
    font-size:var(--obaui17-body) !important;
    line-height:1.35 !important;
  }
  body.obaui-product-active.obaui-layout3-structural :is(
    .obaui-l3-builder-kicker,
    .obaui-l3-rich-guide__label,
    .obaui-l3-kicker,
    .product_meta,
    .product_meta *,
    .obaui-floating-total__help-title,
    .obaui-floating-total__help-hours,
    .obaui-commerce-meta,
    .obaui-commerce-meta *
  ){
    font-size:var(--obaui17-micro) !important;
    line-height:1.3 !important;
  }
  body.obaui-product-active.obaui-layout3-structural :is(
    .obaui-l3-builder-head p,
    .obaui-l3-rich-guide__copy,
    .obaui-l3-direct-utility span,
    .woocommerce-product-details__short-description,
    .woocommerce-product-details__short-description *,
    .obaui-description-under-gallery p,
    .related.products .price,
    .related.products .price *,
    .obaui-floating-total,
    .obaui-floating-total *
  ){
    font-size:var(--obaui17-small) !important;
    line-height:1.35 !important;
  }
  body.obaui-product-active.obaui-layout3-structural :is(
    .wooco_component_name,
    .wooco_component_name *,
    .obaui-l3-rich-option__title,
    .obaui-l3-component-choice,
    .dd-selected-text,
    .obaui-l3-direct-utility strong,
    .related.products .woocommerce-loop-product__title,
    .obaui-floating-total__product,
    .obaui-floating-total__product *
  ){
    font-size:var(--obaui17-ui) !important;
    line-height:1.3 !important;
  }
  body.obaui-product-active.obaui-layout3-structural :is(
    .summary .product_title,
    .product_title,
    .obaui-l3-builder-head h2
  ){
    font-size:var(--obaui17-display) !important;
    line-height:1.02 !important;
    font-weight:400 !important;
  }

  /* Rich rows: tighter and overlap-safe. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-list .obaui-l3-rich-option{
    grid-template-columns:96px minmax(0,1fr) 190px !important;
    column-gap:14px !important;
    min-height:96px !important;
    height:auto !important;
    padding:0 !important;
    margin:0 !important;
    align-items:center !important;
    overflow:hidden !important;
  }

  /* True square media cell. Row stretching is not allowed to resize it. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__media{
    display:flex !important;
    flex:0 0 96px !important;
    align-self:center !important;
    justify-self:start !important;
    width:96px !important;
    height:96px !important;
    min-width:96px !important;
    min-height:96px !important;
    max-width:96px !important;
    max-height:96px !important;
    aspect-ratio:1 / 1 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border-radius:0 !important;
    overflow:hidden !important;
    align-items:center !important;
    justify-content:center !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__media img{
    display:block !important;
    flex:none !important;
    width:96px !important;
    height:96px !important;
    min-width:96px !important;
    min-height:96px !important;
    max-width:96px !important;
    max-height:96px !important;
    aspect-ratio:1 / 1 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    object-fit:contain !important;
    object-position:center center !important;
  }

  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__copy{
    min-width:0 !important;
    width:auto !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__title{
    display:block !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    font-size:var(--obaui17-ui) !important;
    line-height:1.35 !important;
    font-weight:400 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }

  /* Commerce meta gets enough width to keep stock readable without collision. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__meta{
    width:190px !important;
    min-width:190px !important;
    max-width:190px !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 10px 0 0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:3px !important;
    overflow:hidden !important;
    white-space:normal !important;
    box-sizing:border-box !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-commerce-meta__price{
    font-size:var(--obaui17-small) !important;
    line-height:1.25 !important;
    font-weight:400 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-commerce-meta__stock{
    display:inline-flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:4px !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    font-size:var(--obaui17-small) !important;
    line-height:1.25 !important;
    font-weight:400 !important;
    text-transform:uppercase !important;
    white-space:normal !important;
    overflow:visible !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-commerce-meta__stock-text{
    display:block !important;
    min-width:0 !important;
    max-width:164px !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    font:inherit !important;
    font-weight:400 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-commerce-meta__tick{
    flex:0 0 11px !important;
    width:11px !important;
    height:11px !important;
    min-width:11px !important;
    min-height:11px !important;
    max-width:11px !important;
    max-height:11px !important;
    margin:0 !important;
    padding:0 !important;
    order:2 !important;
    font-size:7px !important;
    font-weight:400 !important;
  }

  /* Compact selected control: square thumbnail too. */
  body.obaui-product-active.obaui-layout3-structural .dd-selected{
    grid-template-columns:48px minmax(0,1fr) 190px 16px !important;
    column-gap:10px !important;
    min-height:58px !important;
    height:58px !important;
    max-height:58px !important;
    padding:0 10px !important;
    overflow:hidden !important;
  }
  body.obaui-product-active.obaui-layout3-structural .dd-selected > img,
  body.obaui-product-active.obaui-layout3-structural .dd-selected > img.dd-selected-image{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    max-width:48px !important;
    max-height:48px !important;
    aspect-ratio:1 / 1 !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  body.obaui-product-active.obaui-layout3-structural .dd-selected-description.obaui-commerce-meta{
    width:190px !important;
    min-width:190px !important;
    max-width:190px !important;
    font-weight:400 !important;
    overflow:hidden !important;
  }

  /* Floating summary reduction. */
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total :is(strong,b,h1,h2,h3,h4,h5,h6){
    font-weight:400 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__total,
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__price,
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total .amount{
    font-size:16px !important;
    line-height:1.2 !important;
    font-weight:400 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__help-grid :is(a,button,span,strong){
    font-size:10px !important;
    line-height:1.25 !important;
    font-weight:400 !important;
  }
}

/* v0.10.18 — four-point product journey navigation */
@media (min-width:768px){
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-head{
    align-items:flex-end !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress{
    display:grid !important;
    grid-template-columns:auto 24px auto 24px auto 24px auto !important;
    align-items:center !important;
    gap:6px !important;
    width:auto !important;
    max-width:760px !important;
    color:#737772 !important;
    white-space:nowrap !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress > button{
    appearance:none !important;
    -webkit-appearance:none !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:7px !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:#737772 !important;
    cursor:pointer !important;
    font:inherit !important;
    text-align:left !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress > button span{
    display:grid !important;
    place-items:center !important;
    flex:0 0 24px !important;
    width:24px !important;
    height:24px !important;
    margin:0 !important;
    border-radius:50% !important;
    background:#e8eae6 !important;
    color:#737772 !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:400 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress > button.is-current span{
    background:#151817 !important;
    color:#fff !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress > button b{
    margin:0 !important;
    color:inherit !important;
    font-size:10px !important;
    line-height:1.2 !important;
    font-weight:400 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress > button:hover,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress > button:focus-visible{
    color:#151817 !important;
    outline:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress > i{
    display:block !important;
    width:100% !important;
    height:1px !important;
    margin:0 !important;
    background:#d9dcd7 !important;
  }
}

@media (min-width:768px) and (max-width:1180px){
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress{
    grid-template-columns:auto 14px auto 14px auto 14px auto !important;
    gap:4px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress > button{
    gap:5px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress > button b{
    font-size:9px !important;
  }
}


/* v0.10.19 — verified square media cells.
   The wrapper itself is visibly square; source images remain uncropped inside it. */
@media (min-width:768px){
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__media{
    display:flex !important;
    box-sizing:border-box !important;
    width:96px !important;
    height:96px !important;
    min-width:96px !important;
    min-height:96px !important;
    max-width:96px !important;
    max-height:96px !important;
    flex:0 0 96px !important;
    aspect-ratio:1 / 1 !important;
    place-self:center start !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#fff !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-rich-option__media > img{
    display:block !important;
    box-sizing:border-box !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:100% !important;
    max-height:100% !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
}


/* v0.10.20 — interaction hierarchy, auto-detected singles, sticky story nav. */
@media (min-width:768px){
  /* Floating total: one support route, much clearer total. */
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__value,
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__footer .amount{
    font-size:28px !important;
    line-height:1 !important;
    font-weight:500 !important;
    letter-spacing:-.025em !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__footer{
    align-items:flex-end !important;
    padding:14px 0 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__help-grid{
    grid-template-columns:1fr !important;
  }

  /* Native-looking final purchase action. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-commerce-cluster form.cart .single_add_to_cart_button,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-main .single_add_to_cart_button{
    background:#151817 !important;
    border:1px solid #151817 !important;
    color:#fff !important;
    border-radius:3px !important;
    box-shadow:none !important;
    min-height:48px !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-commerce-cluster form.cart .single_add_to_cart_button:hover,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-main .single_add_to_cart_button:hover{
    background:#2a302c !important;
    border-color:#2a302c !important;
  }

  /* Product total at the bottom of the configurator also reads as a key figure. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-commerce-cluster :is(.wooco_total,.wooco-total,.obaui-total-postage-bar) .amount,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-commerce-cluster :is(.wooco_total,.wooco-total) strong{
    font-size:22px !important;
    line-height:1.1 !important;
    font-weight:500 !important;
  }

  /* Required single-choice components are already resolved and don't need opening. */
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-auto-confirmed{
    background:#f1f6ef !important;
    border-color:#c8d9c7 !important;
    box-shadow:inset 3px 0 0 #6f9473 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-auto-confirmed > .obaui-l3-component-choice{
    cursor:default !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component.obaui-auto-confirmed > .obaui-l3-component-choice i{
    opacity:.25 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-auto-badge{
    display:inline-flex !important;
    align-items:center !important;
    margin-left:8px !important;
    padding:2px 6px !important;
    border-radius:999px !important;
    background:#dfeadd !important;
    color:#46644b !important;
    font-size:9px !important;
    line-height:1.2 !important;
    font-weight:400 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
    vertical-align:middle !important;
  }

  /* Clear visual stack between configuration steps. */
  body.obaui-product-active.obaui-layout3-structural .wooco_components{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_components > .wooco_component{
    margin:0 !important;
  }

  /* Compact selected row: one common vertical centreline for every cell. */
  body.obaui-product-active.obaui-layout3-structural .dd-selected{
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) 168px 18px !important;
    column-gap:12px !important;
    align-items:center !important;
    min-height:62px !important;
    height:62px !important;
    max-height:62px !important;
    padding:0 12px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .dd-selected > img,
  body.obaui-product-active.obaui-layout3-structural .dd-selected > img.dd-selected-image{
    align-self:center !important;
    justify-self:center !important;
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    max-width:48px !important;
    max-height:48px !important;
    aspect-ratio:1/1 !important;
    object-fit:contain !important;
  }
  body.obaui-product-active.obaui-layout3-structural .dd-selected > :is(.dd-selected-text,label.dd-selected-text,.obaui-l3-selection-title){
    display:flex !important;
    align-items:center !important;
    align-self:stretch !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    font-size:12px !important;
    line-height:1.3 !important;
    font-weight:400 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .dd-selected-description.obaui-commerce-meta{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    align-self:stretch !important;
    width:168px !important;
    min-width:168px !important;
    max-width:168px !important;
    gap:3px !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.15 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .dd-selected-description .obaui-commerce-meta__price{
    font-size:15px !important;
    line-height:1.1 !important;
    font-weight:500 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .dd-selected-description .obaui-commerce-meta__stock{
    font-size:10px !important;
    line-height:1.2 !important;
    font-weight:400 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .dd-selected .dd-pointer{
    align-self:center !important;
    justify-self:center !important;
    margin:0 !important;
  }

  /* Story/breadcrumb navigator follows the shopper and reflects scroll position. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress{
    position:sticky !important;
    top:92px !important;
    z-index:35 !important;
    justify-content:flex-end !important;
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
    margin:0 0 14px !important;
    padding:10px 12px !important;
    background:rgba(255,255,255,.96) !important;
    border-top:1px solid #e7e9e6 !important;
    border-bottom:1px solid #e7e9e6 !important;
    backdrop-filter:blur(8px) !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress > button{
    transition:color .16s ease, opacity .16s ease !important;
    opacity:.56 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress > button.is-current{
    color:#151817 !important;
    opacity:1 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress > button.is-current span{
    background:#bf7c00 !important;
    color:#fff !important;
  }
}


/* v0.10.21 — postage focus, floating total emphasis, utility width, quantity cleanup. */
@media (min-width:768px){
  /* Two direct utilities should fill the full row cleanly. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-direct-utilities{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-direct-utility{
    width:100% !important;
    min-width:0 !important;
  }

  /* The sticky summary total is the primary price cue. */
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__footer{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:end !important;
    gap:12px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__footer .obaui-floating-total__label,
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__label{
    font-size:12px !important;
    line-height:1.1 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__footer .obaui-floating-total__value,
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__value,
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__footer .amount{
    font-size:34px !important;
    line-height:1 !important;
    font-weight:500 !important;
    letter-spacing:-.03em !important;
  }

  /* Quantity control: remove the stacked borders and keep a calm native shell. */
  body.obaui-product-active.obaui-layout3-structural form.cart .rey-cartBtnQty > .quantity,
  body.obaui-product-active.obaui-layout3-structural form.cart .rey-cartBtnQty .quantity{
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    overflow:visible !important;
  }
  body.obaui-product-active.obaui-layout3-structural form.cart .rey-cartBtnQty > .quantity .rey-qtyField,
  body.obaui-product-active.obaui-layout3-structural form.cart .rey-cartBtnQty .quantity .rey-qtyField{
    display:flex !important;
    align-items:center !important;
    height:100% !important;
    border:0 !important;
    border-radius:4px !important;
    background:#f4f6f3 !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }
  body.obaui-product-active.obaui-layout3-structural form.cart .rey-cartBtnQty > .quantity :is(.cartBtnQty-control,input.qty,button,.btn),
  body.obaui-product-active.obaui-layout3-structural form.cart .rey-cartBtnQty .quantity :is(.cartBtnQty-control,input.qty,button,.btn){
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }
  body.obaui-product-active.obaui-layout3-structural form.cart .rey-cartBtnQty > .quantity input.qty,
  body.obaui-product-active.obaui-layout3-structural form.cart .rey-cartBtnQty .quantity input.qty{
    text-align:center !important;
  }

  /* Visual cue when jumping to postage/shipping controls. */
  body.obaui-product-active.obaui-layout3-structural .obaui-flash-target{
    position:relative !important;
    animation:obauiAttentionFlash 1.15s ease 0s 2 !important;
  }
  @keyframes obauiAttentionFlash{
    0%{ box-shadow:0 0 0 0 rgba(132,164,112,0); background-color:rgba(224,235,218,0); }
    18%{ box-shadow:0 0 0 3px rgba(132,164,112,.52); background-color:rgba(224,235,218,.92); }
    55%{ box-shadow:0 0 0 2px rgba(132,164,112,.26); background-color:rgba(224,235,218,.34); }
    100%{ box-shadow:0 0 0 0 rgba(132,164,112,0); background-color:rgba(224,235,218,0); }
  }
}


/* v0.10.22 — selected row alignment + stronger live summary hierarchy. */
@media (min-width:768px){
  /* Flatten the commerce meta into two true columns so image/title/price/stock/
     arrow all share a single vertical centreline. */
  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected{
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) 88px 128px 22px !important;
    column-gap:12px !important;
    align-items:center !important;
    height:62px !important;
    min-height:62px !important;
    max-height:62px !important;
    padding:0 12px !important;
    cursor:pointer !important;
    box-sizing:border-box !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected > img,
  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected > img.dd-selected-image{
    grid-column:1 !important;
    align-self:center !important;
    justify-self:center !important;
    margin:0 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected > :is(.dd-selected-text,label.dd-selected-text,.obaui-l3-selection-title){
    grid-column:2 !important;
    align-self:center !important;
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.25 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected-description.obaui-commerce-meta{
    display:contents !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected-description .obaui-commerce-meta__price{
    grid-column:3 !important;
    align-self:center !important;
    justify-self:end !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.1 !important;
    text-align:right !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected-description .obaui-commerce-meta__stock{
    grid-column:4 !important;
    align-self:center !important;
    justify-self:end !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.1 !important;
    text-align:right !important;
    white-space:nowrap !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected > .dd-pointer{
    grid-column:5 !important;
    align-self:center !important;
    justify-self:center !important;
    margin:0 !important;
    pointer-events:none !important;
  }

  /* Make the live summary read like the purchase decision, not secondary copy. */
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__title{
    font-size:18px !important;
    line-height:1.2 !important;
    font-weight:500 !important;
    letter-spacing:-.012em !important;
    margin-top:4px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__footer .obaui-floating-total__value,
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__value{
    font-size:38px !important;
    line-height:.98 !important;
    font-weight:500 !important;
    letter-spacing:-.035em !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__items:not(.is-empty){
    display:grid !important;
    max-height:300px !important;
    overflow:auto !important;
    margin-top:10px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__item{
    grid-template-columns:minmax(78px,.72fr) minmax(0,1.28fr) !important;
    align-items:start !important;
    padding:7px 0 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__component{
    font-size:9px !important;
    line-height:1.25 !important;
    font-weight:400 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__choice{
    font-size:10px !important;
    line-height:1.28 !important;
    font-weight:400 !important;
  }
}


/* v0.10.23 — strict compact selected-row reset. */
@media (min-width:768px){
  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-select,
  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected{
    width:100% !important;
    box-sizing:border-box !important;
  }

  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected{
    display:grid !important;
    grid-template-columns:54px minmax(0,1fr) 230px 24px !important;
    column-gap:14px !important;
    align-items:center !important;
    min-height:64px !important;
    height:64px !important;
    max-height:64px !important;
    padding:0 12px !important;
    margin:0 !important;
    cursor:pointer !important;
    overflow:hidden !important;
  }

  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected > img,
  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected > img.dd-selected-image{
    grid-column:1 !important;
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
    max-width:54px !important;
    max-height:54px !important;
    aspect-ratio:1 / 1 !important;
    object-fit:contain !important;
    object-position:center !important;
    align-self:center !important;
    justify-self:center !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    box-shadow:none !important;
  }

  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected > :is(.dd-selected-text,label.dd-selected-text,.obaui-l3-selection-title){
    grid-column:2 !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
    align-self:center !important;
    justify-self:stretch !important;
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    font-size:12px !important;
    line-height:1.25 !important;
    font-weight:400 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  /* Keep price + stock together as one stable commerce column. */
  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected > .dd-selected-description.obaui-commerce-meta{
    grid-column:3 !important;
    display:grid !important;
    grid-template-columns:88px 128px !important;
    column-gap:14px !important;
    align-items:center !important;
    align-self:center !important;
    justify-self:end !important;
    width:230px !important;
    min-width:230px !important;
    max-width:230px !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }

  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected-description .obaui-commerce-meta__price{
    grid-column:1 !important;
    display:block !important;
    align-self:center !important;
    justify-self:end !important;
    margin:0 !important;
    padding:0 !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:400 !important;
    text-align:right !important;
    white-space:nowrap !important;
  }

  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected-description .obaui-commerce-meta__stock{
    grid-column:2 !important;
    display:inline-flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-end !important;
    align-self:center !important;
    justify-self:end !important;
    gap:5px !important;
    width:128px !important;
    min-width:128px !important;
    max-width:128px !important;
    margin:0 !important;
    padding:0 !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:400 !important;
    text-align:right !important;
    white-space:nowrap !important;
    overflow:hidden !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected-description .obaui-commerce-meta__stock-text{
    min-width:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected-description .obaui-commerce-meta__tick{
    order:2 !important;
    flex:0 0 13px !important;
    width:13px !important;
    height:13px !important;
    margin:0 !important;
  }

  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected > .dd-pointer{
    grid-column:4 !important;
    position:static !important;
    top:auto !important;
    right:auto !important;
    align-self:center !important;
    justify-self:center !important;
    margin:0 !important;
    pointer-events:auto !important;
    cursor:pointer !important;
    z-index:3 !important;
  }

  /* Nothing else is allowed to leak into the compact row. */
  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected > :not(img):not(.dd-selected-image):not(.dd-selected-text):not(label.dd-selected-text):not(.obaui-l3-selection-title):not(.dd-selected-description):not(.dd-pointer){
    display:none !important;
  }
}


/* v0.10.24 — compact selected-row vertical centring + stock width refinement. */
@media (min-width:768px){
  body.obaui-product-active.obaui-layout3-structural .dd-selected{
    grid-template-columns:54px minmax(0,1fr) 88px 152px 24px !important;
    column-gap:10px !important;
    padding:0 14px 0 8px !important;
    align-items:center !important;
  }
  body.obaui-product-active.obaui-layout3-structural .dd-selected > img,
  body.obaui-product-active.obaui-layout3-structural .dd-selected > img.dd-selected-image{
    justify-self:center !important;
    align-self:center !important;
    margin:0 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .dd-selected > :is(.dd-selected-text,label.dd-selected-text,.obaui-l3-selection-title){
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    align-self:stretch !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.25 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .dd-selected-description.obaui-commerce-meta{
    display:grid !important;
    grid-template-columns:88px 152px !important;
    grid-template-rows:1fr !important;
    align-items:center !important;
    align-self:stretch !important;
    width:250px !important;
    min-width:250px !important;
    max-width:250px !important;
    gap:10px !important;
    margin:0 !important;
    padding:0 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .dd-selected-description .obaui-commerce-meta__price{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    height:100% !important;
    margin:0 !important;
    white-space:nowrap !important;
  }
  body.obaui-product-active.obaui-layout3-structural .dd-selected-description .obaui-commerce-meta__stock{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    height:100% !important;
    margin:0 !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
  body.obaui-product-active.obaui-layout3-structural .dd-selected .dd-pointer{
    justify-self:end !important;
    align-self:center !important;
    margin-right:2px !important;
  }
}


/* v0.10.25 — verified compact selected-row architecture.
   DDSlick has FOUR real direct children here: image, title, commerce meta, arrow.
   Price + stock therefore stay INSIDE one commerce child instead of pretending
   they are independent grid children. */
@media (min-width:768px){
  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-select{
    width:100% !important;
    box-sizing:border-box !important;
  }

  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected{
    display:grid !important;
    grid-template-columns:54px minmax(0,1fr) 280px 24px !important;
    grid-template-rows:64px !important;
    column-gap:10px !important;
    align-items:center !important;
    width:100% !important;
    min-height:64px !important;
    height:64px !important;
    max-height:64px !important;
    padding:0 14px 0 8px !important;
    margin:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    cursor:pointer !important;
  }

  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected > img,
  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected > img.dd-selected-image{
    grid-column:1 !important;
    grid-row:1 !important;
    position:static !important;
    inset:auto !important;
    float:none !important;
    display:block !important;
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
    max-width:54px !important;
    max-height:54px !important;
    aspect-ratio:1 / 1 !important;
    object-fit:contain !important;
    object-position:center center !important;
    align-self:center !important;
    justify-self:center !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    box-shadow:none !important;
    transform:none !important;
  }

  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected > :is(.dd-selected-text,label.dd-selected-text,.obaui-l3-selection-title){
    grid-column:2 !important;
    grid-row:1 !important;
    position:static !important;
    inset:auto !important;
    float:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    line-height:1.25 !important;
    font-size:12px !important;
    font-weight:400 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    transform:none !important;
    vertical-align:middle !important;
  }

  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected > .dd-selected-description.obaui-commerce-meta{
    grid-column:3 !important;
    grid-row:1 !important;
    position:static !important;
    inset:auto !important;
    float:none !important;
    display:grid !important;
    grid-template-columns:90px minmax(0,180px) !important;
    grid-template-rows:64px !important;
    column-gap:10px !important;
    align-items:center !important;
    align-self:center !important;
    justify-self:end !important;
    width:280px !important;
    min-width:280px !important;
    max-width:280px !important;
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    overflow:hidden !important;
    transform:none !important;
  }

  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected-description.obaui-commerce-meta > .obaui-commerce-meta__price{
    grid-column:1 !important;
    grid-row:1 !important;
    position:static !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    width:90px !important;
    height:64px !important;
    margin:0 !important;
    padding:0 !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:400 !important;
    text-align:right !important;
    white-space:nowrap !important;
    transform:none !important;
  }

  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected-description.obaui-commerce-meta > .obaui-commerce-meta__stock{
    grid-column:2 !important;
    grid-row:1 !important;
    position:static !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-end !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    width:180px !important;
    min-width:180px !important;
    max-width:180px !important;
    height:64px !important;
    margin:0 !important;
    padding:0 !important;
    gap:5px !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:400 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    transform:none !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected-description.obaui-commerce-meta .obaui-commerce-meta__stock-text{
    display:block !important;
    min-width:0 !important;
    max-width:158px !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected-description.obaui-commerce-meta .obaui-commerce-meta__tick{
    order:2 !important;
    flex:0 0 13px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:13px !important;
    height:13px !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1 !important;
  }

  body.obaui-product-active.obaui-layout3-structural .wooco_component_layout_ddslick .dd-selected > .dd-pointer{
    grid-column:4 !important;
    grid-row:1 !important;
    position:static !important;
    inset:auto !important;
    float:none !important;
    align-self:center !important;
    justify-self:end !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    pointer-events:auto !important;
    cursor:pointer !important;
    z-index:4 !important;
  }
}

/* v0.10.26 — progress/story navigation reset.
   Keep the journey visible without creating a white card/band or overlapping
   the builder heading. */
@media (min-width:768px){
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-head{
    display:block !important;
    position:relative !important;
    overflow:visible !important;
    padding-bottom:0 !important;
  }

  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress{
    position:sticky !important;
    top:92px !important;
    z-index:35 !important;
    display:grid !important;
    grid-template-columns:auto 20px auto 20px auto 20px auto !important;
    align-items:center !important;
    justify-content:end !important;
    gap:5px !important;
    width:max-content !important;
    max-width:100% !important;
    min-height:34px !important;
    margin:14px 0 16px auto !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    overflow:visible !important;
  }

  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress::before,
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress::after{
    display:none !important;
    content:none !important;
  }

  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress > button{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:7px !important;
    min-height:28px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#7a7e79 !important;
    opacity:.58 !important;
  }

  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress > button.is-current{
    color:#151817 !important;
    opacity:1 !important;
  }

  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress > button.is-current span{
    background:#bf7c00 !important;
    color:#fff !important;
  }

  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress > i{
    display:block !important;
    width:20px !important;
    height:1px !important;
    margin:0 !important;
    background:#d8dbd6 !important;
    border:0 !important;
  }

  /* Ensure the actual configurator begins below the journey strip rather than
     visually tucking underneath it. */
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-grid{
    position:relative !important;
    z-index:1 !important;
    clear:both !important;
    margin-top:0 !important;
  }
}


/* v0.10.27 — larger floating summary title and total. */
@media (min-width:768px){
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__heading{
    gap:10px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__eyebrow{
    font-size:14px !important;
    line-height:1.2 !important;
    letter-spacing:.1em !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__title{
    font-size:24px !important;
    line-height:1.14 !important;
    font-weight:500 !important;
    letter-spacing:-.018em !important;
    margin-top:6px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__footer .obaui-floating-total__label,
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__label{
    font-size:14px !important;
    line-height:1.1 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__footer .obaui-floating-total__value,
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__value,
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__footer .amount{
    font-size:46px !important;
    line-height:.94 !important;
    font-weight:500 !important;
    letter-spacing:-.042em !important;
  }
}


/* v0.10.28 — hard-verified floating summary hierarchy + progress placement. */
@media (min-width:768px){
  body.obaui-product-active.obaui-layout3-structural .obaui-l3-builder-progress{
    justify-content:start !important;
    margin:8px 0 18px 0 !important;
    width:max-content !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__eyebrow{
    font-size:13px !important;
    line-height:1.2 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__title{
    font-size:22px !important;
    line-height:1.16 !important;
    font-weight:500 !important;
    margin-top:6px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__footer{
    display:grid !important;
    grid-template-columns:auto 1fr !important;
    align-items:end !important;
    gap:14px !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__footer .obaui-floating-total__label,
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__label{
    font-size:13px !important;
    line-height:1.1 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__footer .obaui-floating-total__value,
  body.obaui-product-active.obaui-layout3-structural .obaui-floating-total__value{
    justify-self:end !important;
    font-size:40px !important;
    line-height:.95 !important;
    font-weight:500 !important;
    letter-spacing:-.035em !important;
  }
}


/* v0.10.30 — single-product design 2 postage card.
   Desktop-only enhancement for simple products. */
@media (min-width:768px){
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card{
    display:grid !important;
    grid-template-columns:70px minmax(0,1fr) minmax(300px,360px) !important;
    gap:18px !important;
    align-items:center !important;
    margin:18px 0 16px !important;
    padding:18px 20px !important;
    border:1px solid #d9dfd7 !important;
    border-radius:8px !important;
    background:#fff !important;
    box-shadow:0 1px 0 rgba(22,28,24,.04) !important;
  }
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card__icon{
    position:relative !important;
    width:56px !important;
    height:56px !important;
    border-radius:8px !important;
    border:1px solid #e1e6e0 !important;
    background:linear-gradient(180deg,#fbfcfa 0%,#f3f6f2 100%) !important;
  }
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card__icon::before{
    content:'↗' !important;
    position:absolute !important;
    inset:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#425244 !important;
    font-size:28px !important;
    line-height:1 !important;
    font-weight:500 !important;
  }
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card__copy{
    min-width:0 !important;
  }
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card__eyebrow{
    margin:0 0 4px !important;
    color:#6c726d !important;
    font-size:10px !important;
    line-height:1.2 !important;
    text-transform:uppercase !important;
    letter-spacing:.08em !important;
  }
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card__title{
    margin:0 !important;
    color:#151917 !important;
    font-size:16px !important;
    line-height:1.18 !important;
    font-weight:500 !important;
    text-transform:none !important;
  }
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card__text{
    margin:5px 0 0 !important;
    color:#687069 !important;
    font-size:12px !important;
    line-height:1.45 !important;
  }
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card__action,
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card .obaui-postage-card-container{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    gap:10px !important;
  }
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card .obaui-postage-cta,
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card .obaui-postage-card-container :is(button,a,.button).obaui-postage-cta{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:76px !important;
    padding:0 22px !important;
    border:1px solid #ccd4cb !important;
    border-radius:8px !important;
    background:#fcfcfb !important;
    color:#1a1d19 !important;
    box-shadow:none !important;
    text-decoration:none !important;
  }
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card .obaui-postage-cta:hover{
    background:#f3f6f2 !important;
    border-color:#b9c7b8 !important;
  }
  body.obaui-product-active.obaui-product-simple .obaui-postage-cta__label{
    display:block !important;
    margin:0 !important;
    color:#222721 !important;
    font-size:15px !important;
    line-height:1 !important;
    font-weight:500 !important;
    text-transform:uppercase !important;
    letter-spacing:.08em !important;
  }
  body.obaui-product-active.obaui-product-simple .obaui-postage-cta__arrow{
    display:block !important;
    margin-left:14px !important;
    color:#465447 !important;
    font-size:30px !important;
    line-height:1 !important;
    font-weight:400 !important;
  }
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card .pisol-shipping-calculator-form,
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card form{
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card .pisol-shipping-calculator-form :is(input,select,button,.button){
    min-height:44px !important;
    border-radius:6px !important;
  }
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card .pisol-shipping-calculator-form input{
    border:1px solid #d1d8d1 !important;
    background:#fff !important;
    box-shadow:none !important;
  }
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card .pisol-shipping-calculator-form button,
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card .pisol-shipping-calculator-form .button{
    border:1px solid #8f5d00 !important;
    background:#bf7c00 !important;
    color:#fff !important;
  }
}

/* =========================================================
   v0.2.28 — The GRID simple-product UI, Phase 1
   Scope: product-type-simple only. Composite/configurator rules above are
   intentionally untouched so the existing composite beta remains stable.
   ========================================================= */
@media (min-width: 768px) {
  body.obaui-product-active.obaui-product-simple {
    --obaui-sp-ink:#2f3437;
    --obaui-sp-muted:#6d7479;
    --obaui-sp-line:#e1e5e7;
    --obaui-sp-soft:#f7f8f7;
    --obaui-sp-card:#ffffff;
  }

  /* One centred GRID canvas for the product hero and lower editorial panels. */
  body.obaui-product-active.obaui-product-simple :is(main#main,.site-main,.rey-siteMain,.rey-mainContent) {
    width:min(1440px, calc(100% - 48px)) !important;
    max-width:1440px !important;
    margin-inline:auto !important;
    padding-top:18px !important;
    box-sizing:border-box !important;
  }

  /* Breadcrumb/back area: visually one quiet navigation rail. */
  body.obaui-product-active.obaui-product-simple .limebug-product-back,
  body.obaui-product-active.obaui-product-simple .woocommerce-breadcrumb,
  body.obaui-product-active.obaui-product-simple .rey-breadcrumbs {
    margin:0 0 16px !important;
    padding:0 !important;
    color:var(--obaui-sp-muted) !important;
    font-size:12px !important;
    line-height:1.35 !important;
    letter-spacing:.015em !important;
  }
  body.obaui-product-active.obaui-product-simple .limebug-product-back a,
  body.obaui-product-active.obaui-product-simple .woocommerce-breadcrumb a,
  body.obaui-product-active.obaui-product-simple .rey-breadcrumbs a {
    color:var(--obaui-sp-muted) !important;
    text-decoration:none !important;
    font-weight:400 !important;
  }

  /* The hero becomes a deliberate two-column GRID rather than Rey's loose split. */
  body.obaui-product-active.obaui-product-simple .rey-productSummary {
    display:grid !important;
    grid-template-columns:minmax(0, 1.36fr) minmax(390px, .92fr) !important;
    gap:clamp(34px, 4vw, 70px) !important;
    align-items:start !important;
    width:100% !important;
    max-width:1440px !important;
    margin:0 auto !important;
  }

  body.obaui-product-active.obaui-product-simple .rey-productSummary > .woocommerce-product-gallery,
  body.obaui-product-active.obaui-product-simple .rey-productSummary > .summary.entry-summary {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    float:none !important;
    margin:0 !important;
  }

  /* Media card: preserve the original image ratio and give source images room. */
  body.obaui-product-active.obaui-product-simple .rey-productSummary > .woocommerce-product-gallery {
    grid-column:1 !important;
    background:var(--obaui-sp-soft) !important;
    border:1px solid var(--obaui-sp-line) !important;
    border-radius:18px !important;
    overflow:hidden !important;
    box-shadow:none !important;
  }
  body.obaui-product-active.obaui-product-simple .woocommerce-product-gallery__wrapper {
    margin:0 !important;
  }
  body.obaui-product-active.obaui-product-simple .woocommerce-product-gallery__image,
  body.obaui-product-active.obaui-product-simple .woocommerce-product-gallery__image > a {
    width:100% !important;
    max-width:100% !important;
  }
  body.obaui-product-active.obaui-product-simple .woocommerce-product-gallery__image img {
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:820px !important;
    margin:0 auto !important;
    object-fit:contain !important;
    object-position:center !important;
    background:#fff !important;
  }

  /* Right-hand buying card. All native Woo/Rey functionality stays inside it. */
  body.obaui-product-active.obaui-product-simple .rey-productSummary > .summary.entry-summary {
    grid-column:2 !important;
    position:relative !important;
    padding:clamp(24px, 2.2vw, 34px) !important;
    border:1px solid var(--obaui-sp-line) !important;
    border-radius:18px !important;
    background:var(--obaui-sp-card) !important;
    box-sizing:border-box !important;
    box-shadow:0 12px 34px rgba(18,24,20,.055) !important;
  }
  body.obaui-product-active.obaui-product-simple .rey-productSummary > .summary.entry-summary .rey-innerSummary {
    width:100% !important;
    max-width:none !important;
    padding:0 !important;
    margin:0 !important;
  }

  body.obaui-product-active.obaui-product-simple :is(.rey-productTitle-wrapper,.summary) .product_title {
    margin:0 0 14px !important;
    color:var(--obaui-sp-ink) !important;
    font-size:clamp(30px, 2.2vw, 42px) !important;
    line-height:1.08 !important;
    font-weight:500 !important;
    letter-spacing:-.03em !important;
    text-wrap:balance;
  }

  /* Price is prominent, but not visually disconnected from stock/meta. */
  body.obaui-product-active.obaui-product-simple .summary .price {
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:baseline !important;
    gap:5px !important;
    margin:0 0 12px !important;
    color:var(--obaui-sp-ink) !important;
    font-size:clamp(25px, 1.8vw, 32px) !important;
    line-height:1.1 !important;
    font-weight:500 !important;
    letter-spacing:-.02em !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .price :is(.amount,.woocommerce-Price-amount,.woocommerce-Price-currencySymbol) {
    color:inherit !important;
    font-size:inherit !important;
    font-weight:inherit !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .price .price-suffix {
    color:var(--obaui-sp-muted) !important;
    font-size:11px !important;
    line-height:1.2 !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
  }

  /* Availability becomes a compact technical status row. */
  body.obaui-product-active.obaui-product-simple .summary p.stock,
  body.obaui-product-active.obaui-product-simple .summary .stock {
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    width:max-content !important;
    max-width:100% !important;
    margin:0 0 12px !important;
    padding:0 !important;
    color:var(--obaui-sp-ink) !important;
    font-size:12px !important;
    line-height:1.3 !important;
    font-weight:500 !important;
  }
  body.obaui-product-active.obaui-product-simple .summary p.stock::before,
  body.obaui-product-active.obaui-product-simple .summary .stock::before {
    content:'';
    flex:0 0 7px;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#5c8a63;
  }
  body.obaui-product-active.obaui-product-simple .summary .stock.out-of-stock::before { background:#9a4b46; }
  body.obaui-product-active.obaui-product-simple .summary .stock.available-on-backorder::before,
  body.obaui-product-active.obaui-product-simple .summary .stock.on-backorder::before { background:#a97826; }

  /* SKU/OE/category metadata: one restrained line system instead of theme scatter. */
  body.obaui-product-active.obaui-product-simple .summary .product_meta {
    display:flex !important;
    flex-wrap:wrap !important;
    gap:5px 18px !important;
    margin:0 0 22px !important;
    padding:11px 0 0 !important;
    border-top:1px solid var(--obaui-sp-line) !important;
    color:var(--obaui-sp-muted) !important;
    font-size:11px !important;
    line-height:1.35 !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .product_meta > span {
    display:inline-flex !important;
    gap:4px !important;
    margin:0 !important;
    color:var(--obaui-sp-muted) !important;
    font-size:11px !important;
    line-height:1.35 !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .product_meta :is(.sku,.posted_in a,.tagged_as a,strong) {
    color:var(--obaui-sp-ink) !important;
    font-size:11px !important;
    font-weight:500 !important;
    text-decoration:none !important;
  }

  /* Native cart controls become one coherent purchase strip. */
  body.obaui-product-active.obaui-product-simple form.cart {
    display:block !important;
    width:100% !important;
    margin:18px 0 0 !important;
    padding:18px 0 0 !important;
    border-top:1px solid var(--obaui-sp-line) !important;
  }
  body.obaui-product-active.obaui-product-simple form.cart .rey-cartBtnQty {
    display:grid !important;
    grid-template-columns:110px minmax(0,1fr) !important;
    gap:10px !important;
    align-items:stretch !important;
    width:100% !important;
  }
  body.obaui-product-active.obaui-product-simple form.cart .quantity {
    width:110px !important;
    min-width:110px !important;
    height:52px !important;
    min-height:52px !important;
    margin:0 !important;
    border:1px solid var(--obaui-sp-line) !important;
    border-radius:9px !important;
    background:#fff !important;
    box-sizing:border-box !important;
  }
  body.obaui-product-active.obaui-product-simple form.cart .quantity :is(input,button,.btn) {
    min-height:50px !important;
    border:0 !important;
    box-shadow:none !important;
  }
  body.obaui-product-active.obaui-product-simple .single_add_to_cart_button {
    width:100% !important;
    min-height:52px !important;
    margin:0 !important;
    border-radius:9px !important;
    box-shadow:none !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:600 !important;
  }

  /* Existing v0.10.30 postage component becomes part of the same purchase card. */
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card {
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) auto !important;
    gap:13px !important;
    align-items:center !important;
    width:100% !important;
    margin:18px 0 0 !important;
    padding:14px !important;
    border:1px solid var(--obaui-sp-line) !important;
    border-radius:12px !important;
    background:var(--obaui-sp-soft) !important;
    box-sizing:border-box !important;
    box-shadow:none !important;
  }
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card__eyebrow {
    margin:0 0 2px !important;
    color:var(--obaui-sp-muted) !important;
    font-size:10px !important;
    line-height:1.2 !important;
    font-weight:500 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
  }
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card__title {
    margin:0 0 2px !important;
    color:var(--obaui-sp-ink) !important;
    font-size:15px !important;
    line-height:1.2 !important;
    font-weight:500 !important;
  }
  body.obaui-product-active.obaui-product-simple .obaui-simple-postage-card__text {
    margin:0 !important;
    color:var(--obaui-sp-muted) !important;
    font-size:11px !important;
    line-height:1.35 !important;
  }
  body.obaui-product-active.obaui-product-simple .obaui-postage-cta {
    min-height:42px !important;
    padding:0 13px !important;
    border:1px solid var(--obaui-sp-line) !important;
    border-radius:8px !important;
    background:#fff !important;
    color:var(--obaui-sp-ink) !important;
    box-shadow:none !important;
    font-size:12px !important;
    font-weight:500 !important;
    white-space:nowrap !important;
  }

  /* Lower product copy reads as an editorial continuation of the GRID. */
  body.obaui-product-active.obaui-product-simple .rey-wcPanels {
    width:100% !important;
    max-width:1440px !important;
    margin:56px auto 0 !important;
    padding:0 !important;
  }
  body.obaui-product-active.obaui-product-simple .rey-wcPanel {
    border-top:1px solid var(--obaui-sp-line) !important;
  }
  body.obaui-product-active.obaui-product-simple .rey-wcPanel-inner {
    width:min(1040px,100%) !important;
    margin:0 auto !important;
    padding:42px 0 !important;
  }
  body.obaui-product-active.obaui-product-simple .rey-wcPanel h2:first-child,
  body.obaui-product-active.obaui-product-simple .woocommerce-tabs h2 {
    margin:0 0 20px !important;
    color:var(--obaui-sp-ink) !important;
    font-size:clamp(28px,2vw,36px) !important;
    line-height:1.1 !important;
    font-weight:500 !important;
    letter-spacing:-.025em !important;
  }
  body.obaui-product-active.obaui-product-simple .rey-wcPanel :is(p,li),
  body.obaui-product-active.obaui-product-simple .woocommerce-tabs :is(p,li) {
    color:var(--obaui-sp-ink) !important;
    font-size:15px !important;
    line-height:1.65 !important;
  }

  /* Related/up-sell areas stay visually subordinate to the buying hero. */
  body.obaui-product-active.obaui-product-simple :is(.related.products,.upsells.products) {
    margin-top:54px !important;
    padding-top:34px !important;
    border-top:1px solid var(--obaui-sp-line) !important;
  }
  body.obaui-product-active.obaui-product-simple :is(.related.products,.upsells.products) > h2 {
    color:var(--obaui-sp-ink) !important;
    font-size:26px !important;
    font-weight:500 !important;
  }
}


/* =========================================================
   v0.2.29 — Simple-product spacing + matched hero alignment
   Scope remains product-type-simple only. Composite/configurator styling is
   intentionally untouched.
   ========================================================= */
@media (min-width: 768px) {
  /* Pull the product hero closer to the navigation without crowding it. */
  body.obaui-product-active.obaui-product-simple :is(main#main,.site-main,.rey-siteMain,.rey-mainContent) {
    padding-top:8px !important;
  }

  body.obaui-product-active.obaui-product-simple .limebug-product-back,
  body.obaui-product-active.obaui-product-simple .woocommerce-breadcrumb,
  body.obaui-product-active.obaui-product-simple .rey-breadcrumbs {
    margin-bottom:10px !important;
  }

  /* Make the two hero columns resolve as one component. The gallery determines
     the row height and the buying card stretches to the same lower edge. */
  body.obaui-product-active.obaui-product-simple .rey-productSummary {
    align-items:stretch !important;
  }

  body.obaui-product-active.obaui-product-simple .rey-productSummary > .woocommerce-product-gallery,
  body.obaui-product-active.obaui-product-simple .rey-productSummary > .summary.entry-summary {
    align-self:stretch !important;
    height:100% !important;
  }

  /* Keep the buying content top-aligned inside the newly matched-height card. */
  body.obaui-product-active.obaui-product-simple .rey-productSummary > .summary.entry-summary {
    display:block !important;
    padding:clamp(20px, 1.65vw, 26px) !important;
  }

  body.obaui-product-active.obaui-product-simple .rey-productSummary > .summary.entry-summary .rey-innerSummary {
    min-height:0 !important;
  }

  /* Slightly tighten the internal vertical rhythm without changing hierarchy. */
  body.obaui-product-active.obaui-product-simple :is(.rey-productTitle-wrapper,.summary) .product_title {
    margin-bottom:11px !important;
  }

  body.obaui-product-active.obaui-product-simple .summary .price,
  body.obaui-product-active.obaui-product-simple .summary p.stock,
  body.obaui-product-active.obaui-product-simple .summary .stock {
    margin-bottom:10px !important;
  }

  body.obaui-product-active.obaui-product-simple form.cart {
    margin-top:14px !important;
    padding-top:14px !important;
  }

  /* Match the visual voice of Rey's adjacent Buy Now control. */
  body.obaui-product-active.obaui-product-simple .single_add_to_cart_button {
    font-size:12px !important;
    line-height:1.15 !important;
    font-weight:600 !important;
    letter-spacing:0 !important;
  }

  /* OE reference sits in the same restrained metadata rail as SKU/category/tag. */
  body.obaui-product-active.obaui-product-simple .summary .product_meta .obaui-oe-code,
  body.obaui-product-active.obaui-product-simple .summary .product_meta .obaui-oe-code__value {
    color:var(--obaui-sp-muted) !important;
    font-size:11px !important;
    line-height:1.35 !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .product_meta .obaui-oe-code__value {
    color:var(--obaui-sp-ink) !important;
    font-weight:500 !important;
  }

  /* The editorial continuation now starts promptly after the matched hero edge. */
  body.obaui-product-active.obaui-product-simple .rey-wcPanels {
    margin-top:28px !important;
  }
  body.obaui-product-active.obaui-product-simple .rey-wcPanel-inner {
    padding-top:34px !important;
    padding-bottom:34px !important;
  }
}


  /* v0.2.30 — compact back-in-stock / waitlist module so notification blocks
     do not over-expand the simple-product summary card, and the CTA reads as a
     clear button rather than passive text. */
  body.obaui-product-active.obaui-product-simple .summary :is(
    [class*="back-in-stock"],
    [class*="backinstock"],
    [class*="stock-notif"],
    [class*="stock-notifier"],
    [class*="notify-me"],
    [class*="waitlist"],
    [class*="wait-list"],
    [class*="stock-wait"]
  ){
    width:100% !important;
    max-width:100% !important;
    margin:18px 0 0 !important;
    padding:16px 18px !important;
    border:1px solid var(--obaui-sp-line) !important;
    border-radius:14px !important;
    background:var(--obaui-sp-soft) !important;
    box-sizing:border-box !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }
  body.obaui-product-active.obaui-product-simple .summary :is(
    [class*="back-in-stock"],
    [class*="backinstock"],
    [class*="stock-notif"],
    [class*="stock-notifier"],
    [class*="notify-me"],
    [class*="waitlist"],
    [class*="wait-list"],
    [class*="stock-wait"]
  ) :is(h2,h3,h4,h5,strong,b,.title,.heading){
    margin:0 0 8px !important;
    color:var(--obaui-sp-ink) !important;
    font-size:13px !important;
    line-height:1.25 !important;
    font-weight:600 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
  }
  body.obaui-product-active.obaui-product-simple .summary :is(
    [class*="back-in-stock"],
    [class*="backinstock"],
    [class*="stock-notif"],
    [class*="stock-notifier"],
    [class*="notify-me"],
    [class*="waitlist"],
    [class*="wait-list"],
    [class*="stock-wait"]
  ) :is(p,small,label,.description,.message){
    margin:0 0 10px !important;
    color:var(--obaui-sp-muted) !important;
    font-size:13px !important;
    line-height:1.55 !important;
  }
  body.obaui-product-active.obaui-product-simple .summary :is(
    [class*="back-in-stock"],
    [class*="backinstock"],
    [class*="stock-notif"],
    [class*="stock-notifier"],
    [class*="notify-me"],
    [class*="waitlist"],
    [class*="wait-list"],
    [class*="stock-wait"]
  ) form{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:10px !important;
    align-items:end !important;
    width:100% !important;
    margin:12px 0 0 !important;
  }
  body.obaui-product-active.obaui-product-simple .summary :is(
    [class*="back-in-stock"],
    [class*="backinstock"],
    [class*="stock-notif"],
    [class*="stock-notifier"],
    [class*="notify-me"],
    [class*="waitlist"],
    [class*="wait-list"],
    [class*="stock-wait"]
  ) :is(input[type="email"],input[type="text"],input[type="search"],input:not([type]),select){
    width:100% !important;
    min-width:0 !important;
    min-height:46px !important;
    height:46px !important;
    margin:0 !important;
    padding:0 14px !important;
    border:1px solid var(--obaui-sp-line) !important;
    border-radius:9px !important;
    background:#fff !important;
    color:var(--obaui-sp-ink) !important;
    box-shadow:none !important;
    font-size:13px !important;
  }
  body.obaui-product-active.obaui-product-simple .summary :is(
    [class*="back-in-stock"],
    [class*="backinstock"],
    [class*="stock-notif"],
    [class*="stock-notifier"],
    [class*="notify-me"],
    [class*="waitlist"],
    [class*="wait-list"],
    [class*="stock-wait"]
  ) :is(button,input[type="submit"],input[type="button"],.button,.btn,[role="button"]){
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:46px !important;
    height:46px !important;
    padding:0 16px !important;
    border:1px solid var(--obaui-sp-ink) !important;
    border-radius:9px !important;
    background:var(--obaui-sp-ink) !important;
    color:#fff !important;
    box-shadow:none !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:600 !important;
    letter-spacing:.02em !important;
    white-space:nowrap !important;
    text-decoration:none !important;
    cursor:pointer !important;
  }
  body.obaui-product-active.obaui-product-simple .summary :is(
    [class*="back-in-stock"],
    [class*="backinstock"],
    [class*="stock-notif"],
    [class*="stock-notifier"],
    [class*="notify-me"],
    [class*="waitlist"],
    [class*="wait-list"],
    [class*="stock-wait"]
  ) :is(button,input[type="submit"],input[type="button"],.button,.btn,[role="button"]):hover{
    opacity:.92 !important;
  }


/* v0.2.31 — stock-alert semantic hook + simple/composite visual alignment. */
@media (min-width:768px){
  /* Some stock plugins wrap the actual status text in a block-level span, which
     forced the status dot and BACKORDER onto separate lines. Keep it one row. */
  body.obaui-product-active.obaui-product-simple .summary :is(p.stock,.stock){
    display:inline-flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:auto !important;
    max-width:100% !important;
    white-space:nowrap !important;
  }
  body.obaui-product-active.obaui-product-simple .summary :is(p.stock,.stock) > *{
    display:inline !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    line-height:inherit !important;
    white-space:nowrap !important;
  }

  /* Runtime JS marks the real notification module after reading its visible
     wording, so this works across stock-alert / waitlist plugins with unknown
     class names. Also neutralise fixed/min heights on its wrapper chain. */
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-shell,
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card{
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    box-sizing:border-box !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:14px 0 0 !important;
    padding:14px 16px !important;
    border:1px solid var(--obaui-sp-line) !important;
    border-radius:12px !important;
    background:var(--obaui-sp-soft) !important;
    box-shadow:none !important;
    overflow:visible !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card > *{
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card :is(h1,h2,h3,h4,h5,h6){
    margin:0 0 7px !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card p{
    margin:0 0 8px !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card .obaui-stock-alert-eyebrow{
    display:block !important;
    margin:0 0 6px !important;
    color:var(--obaui-sp-muted) !important;
    font-size:10px !important;
    line-height:1.2 !important;
    font-weight:600 !important;
    letter-spacing:.12em !important;
    text-transform:uppercase !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card .obaui-stock-alert-cta{
    appearance:none !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:116px !important;
    min-height:40px !important;
    height:40px !important;
    margin:8px 0 0 !important;
    padding:0 16px !important;
    border:1px solid var(--obaui-sp-ink) !important;
    border-radius:8px !important;
    background:var(--obaui-sp-ink) !important;
    color:#fff !important;
    box-shadow:none !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:600 !important;
    letter-spacing:.01em !important;
    text-decoration:none !important;
    text-transform:none !important;
    cursor:pointer !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card .obaui-stock-alert-cta:hover{
    opacity:.9 !important;
    color:#fff !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card :is(input[type=email],input[type=text]){
    min-height:42px !important;
    height:42px !important;
    padding:0 12px !important;
    border:1px solid var(--obaui-sp-line) !important;
    border-radius:8px !important;
    background:#fff !important;
    box-shadow:none !important;
  }

  /* Composite/configurator: use the same clean sans hierarchy as the approved
     simple-product hero instead of the older editorial serif treatment. */
  body.obaui-product-active.obaui-layout3-structural .summary .product_title,
  body.obaui-product-active.obaui-layout3-structural .product_title{
    max-width:800px !important;
    margin:0 0 14px !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:clamp(30px,2.2vw,42px) !important;
    line-height:1.08 !important;
    font-weight:500 !important;
    letter-spacing:-.03em !important;
    color:#2f3437 !important;
    text-wrap:balance !important;
  }
  body.obaui-product-active.obaui-layout3-structural .summary .price{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:baseline !important;
    gap:5px !important;
    margin:0 0 12px !important;
    color:#2f3437 !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:clamp(25px,1.8vw,32px) !important;
    line-height:1.1 !important;
    font-weight:500 !important;
    letter-spacing:-.02em !important;
  }
  body.obaui-product-active.obaui-layout3-structural .summary .price :is(.amount,.woocommerce-Price-amount,.woocommerce-Price-currencySymbol){
    color:inherit !important;
    font:inherit !important;
  }
  body.obaui-product-active.obaui-layout3-structural .summary :is(.woocommerce-product-details__short-description,.woocommerce-product-details__short-description *){
    font-family:Arial,Helvetica,sans-serif !important;
    color:#6d7479 !important;
    font-size:13px !important;
    line-height:1.55 !important;
    font-weight:400 !important;
  }
  body.obaui-product-active.obaui-layout3-structural .summary .product_meta,
  body.obaui-product-active.obaui-layout3-structural .summary .product_meta *{
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:11px !important;
    line-height:1.35 !important;
  }

  /* The old composite beta deliberately pulled the gallery up/down with large
     negative margins. Reset that so the media has the same calm breathing room
     as the signed-off simple-product shell. */
  body.obaui-product-active.obaui-layout3-structural .obaui-product-left-column > .woocommerce-product-gallery{
    margin-top:18px !important;
    margin-bottom:28px !important;
    border-radius:18px !important;
    overflow:hidden !important;
  }
}


/* =========================================================
   v0.2.32 — stock-alert density correction
   Keep third-party notification modules visually native to the buying card:
   no extra panel/background, no artificial height, compact copy and a clear CTA.
   ========================================================= */
@media (min-width:768px){
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-shell,
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card{
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
  }

  /* Third-party wrappers often carry large min-heights/padding. Strip those only
     inside the detected stock-alert module so the rest of the summary is untouched. */
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card,
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card :is(div,section,form,fieldset,p,h1,h2,h3,h4,h5,h6,label){
    min-height:0 !important;
    max-height:none !important;
    box-sizing:border-box !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card > *{
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    column-gap:12px !important;
    row-gap:3px !important;
    align-items:center !important;
    margin-top:10px !important;
    padding-top:10px !important;
    border-top:1px solid var(--obaui-sp-line) !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card .obaui-stock-alert-eyebrow{
    grid-column:1 !important;
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    color:var(--obaui-sp-muted) !important;
    font-size:8px !important;
    line-height:1.15 !important;
    font-weight:600 !important;
    letter-spacing:.11em !important;
    text-transform:uppercase !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card :is(h1,h2,h3,h4,h5,h6){
    grid-column:1 !important;
    margin:1px 0 0 !important;
    padding:0 !important;
    color:var(--obaui-sp-ink) !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:600 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card p{
    grid-column:1 !important;
    margin:1px 0 0 !important;
    padding:0 !important;
    color:var(--obaui-sp-muted) !important;
    font-size:10px !important;
    line-height:1.35 !important;
    font-weight:400 !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card form{
    display:contents !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card .obaui-stock-alert-cta{
    grid-column:2 !important;
    grid-row:1 / span 3 !important;
    align-self:center !important;
    justify-self:end !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:96px !important;
    min-height:34px !important;
    height:34px !important;
    margin:0 !important;
    padding:0 13px !important;
    border:1px solid var(--obaui-sp-ink) !important;
    border-radius:7px !important;
    background:var(--obaui-sp-ink) !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    opacity:1 !important;
    box-shadow:none !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:600 !important;
    letter-spacing:.01em !important;
    text-decoration:none !important;
    text-transform:none !important;
    cursor:pointer !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card .obaui-stock-alert-cta *{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    opacity:1 !important;
  }
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card .obaui-stock-alert-cta:disabled,
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card .obaui-stock-alert-cta[aria-disabled="true"]{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    opacity:1 !important;
  }

  /* If a plugin exposes its email field immediately, keep it compact rather than
     creating a second tall row. */
  body.obaui-product-active.obaui-product-simple .summary .obaui-stock-alert-card :is(input[type=email],input[type=text]){
    grid-column:1 !important;
    width:100% !important;
    min-height:34px !important;
    height:34px !important;
    margin:4px 0 0 !important;
    padding:0 10px !important;
    border:1px solid var(--obaui-sp-line) !important;
    border-radius:7px !important;
    background:#fff !important;
    color:var(--obaui-sp-ink) !important;
    box-shadow:none !important;
    font-size:10px !important;
  }
}
