/** Shopify CDN: Minification failed

Line 651:0 Unexpected "}"

**/
.h1{
    font-size:1.640625rem;
}

/* Main Sections */
.gridtainer{
    display:grid;
    grid-template-columns: 1fr 2fr 1fr;
    grid-template-rows: 1fr;
    grid-template-areas:
        "gallery-wrapper product-info-wrapper atc-wrapper";
    max-width:1600px;
    padding:0 35px;
    gap: 2rem;
    margin-top: 1rem;
}

.specs-bullets {
    margin-top: 15px;
}

.gallery-wrapper{
    grid-area:gallery-wrapper;
    /* margin-right: 50px; */
}
.mobile-product-title{
    display:none;
}

.product-gallery--viewer {
    order: 1;
}
.product-gallery--navigation {
    order: 2;
}

.product-gallery--navigation, .gallery-navigation--scroller {
    width: 100% !important;
    max-width: 100% !important;
}

.gallery-wrapper .product-gallery{
    display: flex;
    flex-flow: column nowrap;
    width: 100%;
}

.atc-wrapper{
    grid-area:atc-wrapper;
    border-left:1px solid #A9A9A9;
    padding-left:15px;
}

@media screen and (max-width:991px){
    .atc-wrapper{
        border-left:none;
        padding-left:0;
    }
}

/* ATC Wrapper */

.atc-wrapper{
    display:flex;
    flex-flow: column nowrap;

}

.atc-info{

}

.atc-info--title{
    margin-bottom:5px;
    font-size:24px;
}

.atc-info--vendor {
    /*padding-block-start:.8rem;*/
    font-size:12px;
    margin-right:12px;
}

.atc-info--vendor a{
    text-decoration:none;
    background:#f4f4f4;
    color:black;
    border:1px solid #bdbdbd;
    border-radius:7px;
    padding:2px 6px; 
    margin-inline-start: .2rem;
    font-size:12px;
    font-weight: 500;
}

.atc-info--vendor a:hover{
    background:#CDA749;
    color:#353e49;
    border:1px solid #CDA749;
}

.atc-info--price{
    font-size:32px;
    font-weight: 600;
    line-height: 25px;
}

.atc-info--payment-terms{
    max-width:300px;
    font-size:12px;
}

.price-per{
    font-size:13px;
    font-weight: 500;
    color: #666666;
}

.jpd-spd {
    text-align: left;
    width: 100%;
    background: #adadad33;
    border-radius: 25px;
    padding: 10px 20px;
    margin-top: 2rem;
    border-radius: 10px !important;
    @media (width < 992px) {
        display: none;
    }
}

.jpd-spd-mobile {
    display: none !important;
    .metafield-description-table {
        background: #ffffff00 !important;
    }
    @media(width < 992px) {
        display: block !important;
    }
}

.atc-info .option-section{}

.product-info-wrapper .option-section h4{
    font-size:15px;
    font-weight:600;
    margin-block: 15px 8px !important;
}

.product-info-wrapper .option-section ul{
    list-style-type:none;
    margin-left:0;
    padding-left:0;
    margin-block: 0px 15px !important;
}

dropdowns product--container {
    margin: 0 0 20px !important;
}

span.product--stock-level.stock-level--in-stock {
    display: none;
}
.product-info-wrapper .option-section li{
    display:inline-block;
    padding:5px;
    cursor:pointer;
}

.product-info-wrapper .option-section li a{
    text-decoration:none;
    color:black;
    border:1px solid;
    border-radius:7px;
    padding:4px 10px;
    cursor:pointer;
    font-weight: 500;
    font-size: 14px;
}

.product-info-wrapper .option-section li a:hover{
    background-color:#CDA749;
    color:#fff;
}

.product-info-wrapper .option-section li.selected-option a{
    background-color: #cda749;
    color:black;
}

#capacity-spacer{
    margin-top:20px !important;
}

.product-info-wrapper .option-values .metafield-description-table{
    text-align:left;
    width:100%;
    background: #f4f4f4;
    border-radius:10px;
    padding:10px 20px;
    margin-top: 2rem;
}


.atc-buttons{
    grid-area:atc-buttons;
    /* border:1px solid grey; */
    border-radius:7px;
    padding-top:10px;
    /* margin-left:20px; */
}

.atc-buttons--price price{
    font-size:25px;
    display:block;
    padding-top:15px;
    text-align:center;
}

.atc-buttons--price .price-per{
    padding-top:5px;
    margin-bottom:20px;
    display:block;
    text-align:center;
}

.atc-buttons--form{
}

.atc-info--review-seal{
    margin-top:0px;
    /*margin-bottom:10px;*/
}

.product-form-atc{
    flex-direction:column;
}

.product-form--atc-button{
    width:100%;
    background:#8f6606;
    border:1px solid #8f6606;
    color:#fff;
}
.answerbase-widget .questions-list .item .timestamp {
    color: #767676;
}
.answerbase-widget .questions-list .item .follow, .answerbase-widget .questions-list .item .toggle-comments {
    color: #767676;
}
.product-form--atc-button:hover{
    background:#fff !important;
    color:#000;
}
.product-form--atc-qty {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    width: 100%;
    gap:1rem;
    margin-block: .5rem;
}

#product-quantity-select {
    width: 115px;
    margin-right: 1rem;
}

#product-quantity-input {
    width: 115px;
}

.form-field-select-wrapper svg, .age-gate__select-wrapper svg {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -3px;
    pointer-events: none;
    color: #212121;
}

.atc-info--stock-level{
    padding: 5px 0;
}

.atc-info--shop-others a {
    /*text-decoration: none !important;
    color: blue; 
    margin-top: -10px;*/
}

.atc-info--shop-others p {
    margin: 0 !important;
}

.atc-buttons--countdown{
    padding-top:17px;
}

.countdown-inner{
    text-align:start;
}

.order-within-wrapper{
    padding-bottom:5px;
}

.extra-info-tab{
    padding: 0;
    border-bottom: 1px solid #e6e6e6;
}

.extra-info-tab--header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0;
    cursor: pointer;
    /* border-bottom:1px solid black; */
}

.extra-info-tab--title {
    font-weight: 600;
    font-size: 0.9rem;
}

.extra-info-tab--icon {
    font-size: 1.2rem;
    transition: transform 0.3s ease;
}

.extra-info-tab--content {
    display: none;
    padding: 10px 0 15px 0;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #4a4a4a;
}

.extra-info-tab--content p {
    margin: 0 0 10px;
}

.extra-info-tab--content p:last-child {
    margin-bottom: 0;
}

.extra-info-tab--link {
    color: #353e49;
    text-decoration: underline;
    font-weight: 600;
}

.extra-info-tab--link:hover {
    color: #CDA749;
}

.extra-info-tab.is-active .extra-info-tab--icon {
    transform: rotate(45deg);
}

.extra-info-tab.is-active .extra-info-tab--content {
    display: block;
}

.smalltext { 
    font-size: 12px !important; 
    font-weight: 400 !important;
}
/* Dropdown Tabs */

.dropdowns{
    display:grid;
    width:100%;
    grid-template-columns:1fr;
    grid-template-rows:1fr;
    text-align:center;
    margin-top:50px;
}

.dropdowns{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:1fr;
    text-align:left;
    margin-top:0;
}

.product-readmore{
    width:100%;
    max-width:100%;
    overflow:hidden;
    padding-inline: 16px !important;
}

.metafield-specs-table{
    white-space:break-spaces;

    border-collapse: collapse;
    margin: 20px 0;
    table-layout: fixed;
}

.hidden-row{ 
    display:none !important;
}

.key-features-show-more {
    display: flex; 
    flex-flow: row nowrap;
    background: none;
    color: black;
    cursor:pointer;
}

.key-features-show-more svg {
    width: 15px;
}

.key-features-show-more button {
    background: none !important;
    border: none;
    color: black;
    margin-inline-start: 1rem;
    cursor:pointer;
}

#Page-1 {
    transform: rotate(0deg) translate(0, 0);
    transition: all .25s ease-in-out;

}

.rotate-svg {
    transform: rotate(180deg)translate(-24px, -13px) !important;
}

.product-readmore h2{
    margin-top:0;
}

.product-readmore h4{
    margin-top:0;
    
}

.product-readmore h4 a{
    color:#353E49;
    text-decoration:underline;
}

.product-readmore h2,.product-readmore h4{
    text-align:center;
}

.product-readmore details{
    background-color:#fff;
    /* border-radius:7px; */
    padding:8px 15px;
    margin-bottom:10px;
    margin-top: 8px !important;
}

.product-readmore details:hover{
    /* background-color:#353E49EE; */
}

.product-readmore details summary{
    color: #000;
}

.product-readmore details summary > div{
    padding:0;
}

.product-readmore details .indent-content{
    /* width:100%; */
    overflow:hidden;
    background-color:#fff;
    margin:0;
    border-radius:7px;
    margin-bottom:30px;
    margin-top:10px;
    /* padding:20px; */
    /* border: 2px solid #CDA749; */
    /* box-shadow: 0px 0px 3px 0px #6e6e6e6d; */
}

summary .headline {
    font-size: 18px;
}

/* Product Recommendations Styles */

.product-recommendations {
    max-width: 1400px;
    margin-inline: auto;
}
.product-recommendations--wrapper {
    margin: 50px 0;
  }
  
  .product-recommendations--title {
    text-align: center;
    margin-bottom: 30px;
    font-size: 24px;
    font-weight: 500;
  }
  
  .product-recommendations--grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }
  
  .product-recommendations--item {
    text-align: center;
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    padding-bottom: 15px;
    transition: box-shadow 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  
  .product-recommendations--item:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  }
  
  .product-recommendations--link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  
  .product-recommendations--image {
    width: 100%;
    height: 200px;
    object-fit: contain;
    margin-bottom: 10px;
    padding: 10px;
    border-bottom: 1px solid #f0f0f0;
  }
  
  .product-recommendations--info {
    padding: 10px 15px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  
  .product-recommendations--info .product-recommendations--title {
    font-size: 14px;
    font-weight: 400;
    margin: 0 0 10px;
    color: #333;
    text-align: center;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 40px;
  }
  
  .product-recommendations--info .product-recommendations--price {
    font-weight: 600;
    color: #353E49;
    font-size: 16px;
    margin-top: 5px;
  }
  
  @media screen and (max-width: 991px) {
    .product-recommendations--grid {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  
  @media screen and (max-width: 768px) {
    .product-recommendations--grid {
      grid-template-columns: repeat(2, 1fr);
    }
    
    .product-recommendations--image {
      height: 180px;
    }
  }
  
  @media screen and (max-width: 480px) {
    .product-recommendations--grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 10px;
    }
    
    .product-recommendations--image {
      height: 150px;
    }
    
    .product-recommendations--info .product-recommendations--title {
      font-size: 13px;
      height: 36px;
    }
    
    .product-recommendations--info .product-recommendations--price {
      font-size: 14px;
    }
  }
  



/* Media Queries */

@media screen and (max-width:991px){

    .gridtainer{
        display:grid;
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
        grid-template-areas:
            "gallery-wrapper"
            "atc-wrapper";
    }

    /* ATC WRAPPER */
    /* .atc-wrapper{
        display:grid;
        grid-template-columns:1fr;
        grid-template-rows: 1fr 1fr;
        grid-template-areas:
            "atc-info"
            "atc-buttons"; */
    }
    .mobile-product-title{
        display:block;
        font-weight: 700;
    }

    .atc-info--title{
        display:none;
    }
}

@media screen and (max-width: 768px) {



    .gallery-wrapper .product-gallery{
        display: block;
        width: 100%;
    }
    .product-gallery--viewer {
        width: 100% ;
        display: block ;
    }
    .product-gallery--navigation {
        width: 100% !important;
        display: flex ;
        flex-wrap: wrap;
        justify-content: center;
        margin-top: 15px;
        max-width: 100% !important;
    }

}

@media screen and (max-width:460px){
    .product-readmore table th {
        flex: 0 0 100px;
        max-width: 100px;
        font-size: 13px;
        padding: 6px;
    }
    
    .product-readmore table td {
        font-size: 13px;
        padding: 6px;
    }
}

.restock-rocket-button.restock-rocket-button-product {
    margin-top: 0 !important;
  }
  




/* ========================================================================
   PDP V2 — new product page design (3-column with rounded buy-box card)
   Appended block — overrides earlier rules where needed
   ======================================================================== */

/* --- Layout: bulletproof 3-column grid using :nth-child positioning.
       This bypasses the named-area system entirely so it works whether
       .atc-wrapper or <form> is the 3rd direct child of .gridtainer. --- */
.gridtainer {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1.2fr) !important;
    grid-template-rows: auto !important;
    grid-template-areas: none !important;
    align-items: start !important;
    max-width: 1485px !important;
}

/* Reset any grid-area inherited from original CSS (.gallery-wrapper, .atc-wrapper) */
.gridtainer > * {
    grid-area: auto !important;
    min-width: 0;
}

/* Force placement by source order — works for any HTML structure */
.gridtainer > :nth-child(1) { grid-column: 1 !important; grid-row: 1 !important; }
.gridtainer > :nth-child(2) { grid-column: 2 !important; grid-row: 1 !important; }
.gridtainer > :nth-child(3) { grid-column: 3 !important; grid-row: 1 !important; }

/* Buy box on desktop — NOT sticky (scrolls with the page like the rest of the column). */
@media screen and (min-width: 992px) {
    .gridtainer > :nth-child(3) {
        position: static;
        align-self: start;
    }
}

/* --- Buy box: turn .atc-wrapper into a rounded card --- */
.atc-wrapper {
    border: 1px solid #e2e2e2;
    border-left: 1px solid #e2e2e2;
    border-radius: 14px;
    padding: 24px;
    background: #fff;
    align-self: start;
}

/* --- Mobile: stack all three children using nth-child reset --- */
@media screen and (max-width: 991px) {
    .gridtainer {
        grid-template-columns: 1fr !important;
        grid-template-areas: none !important;
    }
    .gridtainer > :nth-child(1),
    .gridtainer > :nth-child(2),
    .gridtainer > :nth-child(3) {
        grid-column: 1 !important;
        grid-row: auto !important;
        position: static !important;
    }
}

/* --- Hide product-form snippet's built-in variant selector (we render our own) --- */
.product-form.has-external-variants .single-option-selector,
.product-form.has-external-variants .product-form__option,
.product-form.has-external-variants [data-variant-selector],
.product-form.has-external-variants select[name^="options"],
.product-form.has-external-variants .selector-wrapper {
    display: none !important;
}

/* --- Middle column: title, vendor, brief, variants, about --- */
.product-info-wrapper .product-title-v2 {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 10px;
}
.product-info-wrapper .vendor-line-v2 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #555;
    margin-bottom: 8px;
}
.product-info-wrapper .vendor-line-v2 a {
    color: #b78a2a;
    text-decoration: underline;
}
/* Override the gray-pill styling that .atc-info--vendor a normally applies */
.product-info-wrapper .vendor-line-v2 .atc-info--vendor {
    margin: 0;
    font-size: 14px;
}
.product-info-wrapper .vendor-line-v2 .atc-info--vendor a {
    background: transparent;
    border: 0;
    padding: 0;
    border-radius: 0;
    color: #b78a2a;
    text-decoration: underline;
    font-weight: 400;
    font-size: 14px;
}
.product-info-wrapper .vendor-line-v2 .sep { color: #ccc; }
.product-info-wrapper .review-line-v2 { margin-bottom: 14px; }
.product-info-wrapper hr.section-divider {
    border: 0;
    border-top: 1px solid #ececec;
    margin: 16px 0;
}
.product-info-wrapper .pdp-brief {
    font-size: 16px;
    font-weight: 600;
    margin: 18px 0;
}
.product-info-wrapper .pdp-brief p { margin: 0 0 6px; }
/* Spec table belongs in the dropdowns, hide if it leaks into brief */
.product-info-wrapper .pdp-brief table { display: none; }

/* Hide the legacy mobile-product-title (we use product-title-v2 everywhere now) */
.product-info-wrapper .mobile-product-title { display: none; }

/* --- Variant option buttons --- */
.pdp-options { margin: 18px 0; }
.pdp-options-label {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 10px;
}
.pdp-options-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.pdp-option-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.pdp-option-btn {
    display: inline-block;
    border: 1px solid #d4d4d4;
    background: #fff;
    padding: 10px 18px;
    font-size: 14px;
    border-radius: 4px;
    cursor: pointer;
    transition: all .15s ease;
    user-select: none;
}
.pdp-option-btn:hover { border-color: #999; }
.pdp-option-input:checked + .pdp-option-btn {
    background: #c9a040;
    border-color: #c9a040;
    color: #fff;
    font-weight: 600;
}
.pdp-option-input:disabled + .pdp-option-btn {
    background: #f5f5f5;
    color: #aaa;
    cursor: not-allowed;
    text-decoration: line-through;
}

/* --- About this item bullets --- */
.product-info-wrapper .pdp-about { margin: 22px 0; }
.product-info-wrapper .pdp-about .headline {
    font-size: 16px;
    font-weight: 700;
    display: block;
    margin-bottom: 8px;
}
.product-info-wrapper .pdp-about ul {
    padding-left: 20px;
    margin: 0;
}
.product-info-wrapper .pdp-about li {
    margin-bottom: 4px;
    line-height: 1.5;
}

/* --- Buy box internals: price, stock, qty/currency, etc. --- */
.atc-wrapper .price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin: 0 0 4px;
}
.atc-wrapper .price-row .atc-info--price {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.1;
    margin: 0;
    padding: 0;
}
.atc-wrapper .stock-indicator {
    font-size: 13px;
    color: #1a8d3a;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}
.atc-wrapper .stock-indicator::before {
    content: '';
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #1a8d3a;
    display: inline-block;
    box-shadow: 0 0 0 3px rgba(26,141,58,.18);
}
.atc-wrapper .stock-indicator.low { color: #c97a00; }
.atc-wrapper .stock-indicator.low::before {
    background: #c97a00;
    box-shadow: 0 0 0 3px rgba(201,122,0,.18);
}
.atc-wrapper .stock-indicator.oos { color: #c0392b; }
.atc-wrapper .stock-indicator.oos::before {
    background: #c0392b;
    box-shadow: 0 0 0 3px rgba(192,57,43,.18);
}

.atc-wrapper .price-per-row {
    font-size: 13px;
    color: #555;
    margin-bottom: 16px;
}

.atc-wrapper .qty-currency-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 14px;
}
.atc-wrapper .pdp-field {
    border: 1px solid #d4d4d4;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
}
.atc-wrapper .pdp-field label {
    color: #555;
    font-size: 13px;
    margin: 0;
}
.atc-wrapper .pdp-field input[type="number"] {
    border: 0;
    background: transparent;
    outline: none;
    text-align: right;
    font-size: 14px;
    padding: 2px 0;
    width: 60px;
    max-width: 60px;
    appearance: textfield;
    -moz-appearance: textfield;
}
.atc-wrapper .pdp-field input[type="number"]::-webkit-outer-spin-button,
.atc-wrapper .pdp-field input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.atc-wrapper .compatibility-check {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    color: #555;
    line-height: 1.4;
    margin: 8px 0 16px;
}

/* --- ATC button + dynamic checkout button (Buy Now) --- */
.atc-wrapper .product-form--atc-button,
.atc-wrapper button[name="add"] {
    background: #111 !important;
    border: 0 !important;
    color: #fff !important;
    width: 100% !important;
    padding: 14px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
}
.atc-wrapper .product-form--atc-button:hover,
.atc-wrapper button[name="add"]:hover {
    background: #000 !important;
    color: #fff !important;
}
.atc-wrapper .shopify-payment-button__button {
    border-radius: 6px !important;
    padding: 14px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    margin-top: 10px;
}
.atc-wrapper .shopify-payment-button__button--unbranded {
    background: #c9a040 !important;
    color: #fff !important;
}

/* --- Shop Promise Delivery heading inside card --- */
.atc-wrapper .shop-promise-heading {
    font-size: 17px;
    font-weight: 700;
    margin: 22px 0 4px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e2e2e2;
}

/* Tighten the existing accordion styles inside the card */
.atc-wrapper .extra-info-tab--header { padding: 14px 0; }
.atc-wrapper .extra-info-tab--title {
    font-weight: 500;
    font-size: 15px;
}

/* ============================================================
   Quick Shop modal layout — must live in a GLOBALLY-loaded stylesheet
   (the same one that styles .metafield-description-table), NOT inside
   the section's data-html, because the quick-shop loader strips <style>.
   Everything is scoped to .qs-pdp so it won't leak elsewhere.
   ============================================================ */
.qs-pdp {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 32px !important;
  align-items: start !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
  background: #fff !important;
  padding: 28px !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  float: none !important;
}
.qs-pdp * { box-sizing: border-box; }

/* Gallery column */
.qs-pdp__gallery {
  min-width: 0;
  float: none !important;
  width: auto !important;
}
.qs-pdp__gallery .product-gallery--navigation { /* keep theme thumbnails */ }

/* Info column — stacks all its children vertically */
.qs-pdp__info {
  min-width: 0;
  float: none !important;
  width: auto !important;
  display: flex !important;
  flex-direction: column !important;
}

.qs-pdp__title {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 6px;
  color: #1c1c1c;
}
.qs-pdp__vendor {
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #888;
  margin: 0 0 14px;
}

.qs-pdp__price {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0 0 18px;
}
.qs-pdp__price-amount {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
  color: #1c1c1c;
}
.qs-pdp__price-per,
.qs-pdp__price-per .price-per {
  font-size: 13px;
  color: #777;
  font-weight: 400;
}

/* Specs box — same look as the PDP metafield-description-table */
.qs-pdp__specs { margin: 0 0 18px; }
.qs-pdp__specs table.metafield-description-table {
  width: 100%;
  background: #f4f4f4;
  border-radius: 10px;
  padding: 16px 20px;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
}
.qs-pdp__specs .metafield-description-table th,
.qs-pdp__specs .metafield-description-table td {
  text-align: left;
  padding: 3px 12px 3px 0;
  font-size: 14px;
  line-height: 1.4;
  vertical-align: middle;
  border: 0;
  background: transparent;
}
.qs-pdp__specs .metafield-description-table th {
  font-weight: 700;
  width: 42%;
  color: #222;
}
.qs-pdp__specs .metafield-description-table td { color: #444; }
/* Flatten rich-text <p> wrappers the metafield editor injects */
.qs-pdp__specs .metafield-description-table p,
.qs-pdp__specs .metafield-description-table span,
.qs-pdp__specs .metafield-description-table div,
.qs-pdp__specs .metafield-description-table strong,
.qs-pdp__specs .metafield-description-table b {
  margin: 0;
  padding: 0;
  display: inline;
  line-height: inherit;
  font-size: inherit;
}
.qs-pdp__specs .metafield-description-table br { display: none; }

/* Form controls (qty / currency / variant / ATC / DCB from product-form snippet) */
.qs-pdp__form { margin: 0; }

/* Quantity + variant selectors: clean card style */
.qs-pdp__form .product-form--atc-qty,
.qs-pdp__form .selector-wrapper,
.qs-pdp__form .form-field-select-wrapper {
  margin: 0 0 12px;
}
.qs-pdp__form select,
.qs-pdp__form input[type="number"] {
  min-height: 44px;
  border: 1px solid #d4d4d4;
  border-radius: 8px;
  padding: 0 14px;
  font-size: 14px;
  color: #222;
  background: #fff;
  width: 100%;
}

/* Add to Cart — black */
.qs-pdp__form .product-form--atc-button,
.qs-pdp__form button[name="add"] {
  background: #111 !important;
  border: 0 !important;
  color: #fff !important;
  width: 100% !important;
  padding: 14px !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  text-transform: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  margin-top: 12px !important;
}
.qs-pdp__form .product-form--atc-button:hover,
.qs-pdp__form button[name="add"]:hover { background: #000 !important; }
.qs-pdp__form .product-form--atc-button[disabled],
.qs-pdp__form button[name="add"][disabled] {
  background: #555 !important;
  cursor: not-allowed !important;
}

/* Buy Now / dynamic checkout — gold */
.qs-pdp__form .shopify-payment-button { margin-top: 10px !important; }
.qs-pdp__form .shopify-payment-button__button,
.qs-pdp__form .shopify-payment-button__button--unbranded {
  background: #c9a040 !important;
  color: #fff !important;
  border-radius: 6px !important;
  padding: 14px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
}
.qs-pdp__form .shopify-payment-button__button:hover { background: #b8902f !important; }

/* Stop the theme's stock / availability / countdown / preorder messages from
   overlapping. They render inside the product-form with absolute positioning,
   negative margins, or collapsed height in some theme builds; force normal flow.
   "Order Within: NN Hours" is the countdown snippet; "More may be available"
   is the availability notice — both were landing on the same line. */
.qs-pdp__form .atc-info--stock-level,
.qs-pdp__form .stock-level,
.qs-pdp__form .stock-level--text,
.qs-pdp__form .product-form--inventory,
.qs-pdp__form .atc-buttons--buysoon,
.qs-pdp__form [class*="stock"],
.qs-pdp__form [class*="inventory"],
.qs-pdp__form [class*="preorder"],
.qs-pdp__form [class*="ship-on"],
.qs-pdp__form [class*="ship"],
.qs-pdp__form [class*="availability"],
.qs-pdp__form [class*="available"],
.qs-pdp__form [class*="countdown"],
.qs-pdp__form [class*="timer"],
.qs-pdp__form [class*="order-within"],
.qs-pdp__form [class*="orderwithin"],
.qs-pdp__form [class*="cutoff"],
.qs-pdp__form [class*="warning"],
.qs-pdp__form [class*="notice"],
.qs-pdp__form [class*="message"] {
  position: static !important;
  float: none !important;
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  transform: none !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
}

/* Mobile: stack the two columns */
@media screen and (max-width: 768px) {
  .qs-pdp {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .qs-pdp__title { font-size: 20px; }
  .qs-pdp__price-amount { font-size: 24px; }
}


/* ============================================================
   Qty + Currency pill row and custom dropdowns (.pdp-cdd)
   Built by quick-shop-enhance.js. Ported from the PDP's final
   styling, scoped to .qs-pdp. The portaled menu lives on <body>
   so it can't be clipped by the modal or covered by the buttons.
   ============================================================ */
.qs-pdp .pdp-qty-currency-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .95fr) !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 14px 0 18px !important;
  align-items: stretch !important;
}
.qs-pdp .pdp-qty-currency-row > * { margin: 0 !important; }

.qs-pdp .pdp-qty-field,
.qs-pdp .pdp-currency-field {
  display: flex !important;
  align-items: center !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  padding: 0 14px !important;
  border: 1px solid #b9b9b9 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  position: relative !important;
}
.qs-pdp .pdp-qty-field .pdp-qty-prefix {
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  color: #222 !important;
  margin-right: 6px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.qs-pdp .pdp-cdd {
  position: relative !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
}
/* keep the native select in the DOM for the form, but invisible */
.qs-pdp .pdp-cdd > select {
  position: absolute !important;
  inset: 0 !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.qs-pdp .pdp-cdd-display {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 0 !important;
  height: 100% !important;
  padding: 0 24px 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  color: #111 !important;
  cursor: pointer !important;
  user-select: none !important;
  position: relative !important;
}
.qs-pdp .pdp-cdd-display::after {
  content: '' !important;
  position: absolute !important;
  right: 1px !important;
  top: 50% !important;
  width: 9px !important;
  height: 9px !important;
  border-right: 2px solid #333 !important;
  border-bottom: 2px solid #333 !important;
  transform: translateY(-65%) rotate(45deg) !important;
  pointer-events: none !important;
}
.qs-pdp .pdp-cdd-display[aria-expanded="true"]::after {
  transform: translateY(-35%) rotate(-135deg) !important;
}

/* Portaled dropdown menu (appended to <body>; positioned by JS) */
body > .pdp-cdd-menu {
  position: fixed !important;
  z-index: 2147483647 !important;
  background: #fff !important;
  border: 1px solid #d8d8d8 !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16) !important;
  max-height: 220px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 4px !important;
  margin: 0 !important;
}
body > .pdp-cdd-menu[hidden] { display: none !important; }
body > .pdp-cdd-menu .pdp-cdd-option {
  display: flex !important;
  align-items: center !important;
  min-height: 34px !important;
  padding: 8px 14px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  color: #111 !important;
  background: #fff !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}
body > .pdp-cdd-menu .pdp-cdd-option:hover,
body > .pdp-cdd-menu .pdp-cdd-option.selected { background: #f0f0f0 !important; }

/* Buttons: full width to match the design */
.qs-pdp .qs-pdp__form .product-form--atc-button,
.qs-pdp .qs-pdp__form button[name="add"],
.qs-pdp .qs-pdp__form .shopify-payment-button,
.qs-pdp .qs-pdp__form .shopify-payment-button__button {
  width: 100% !important;
  display: block !important;
}

/* PDP quantity-limit message (colors set via CSS vars on .atc-wrapper from theme settings) */
.pdp-qty-limit-msg{
  margin:8px 0 0;
  padding:8px 12px;
  border:1px solid var(--qmsg-border,#e7dcc0);
  background:var(--qmsg-bg,#fbf8ef);
  color:var(--qmsg-color,#6b5a2e);
  font-size:13px;
  line-height:1.45;
  border-radius:6px;
}
.pdp-qty-limit-msg[hidden]{ display:none; }
.pdp-qty-limit-link{
  color:var(--qmsg-link,#4a3d1a);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
}

/* PDP custom dropdown overlay base (moved from section inline <style> to save section size) */
.pdp-cdd > select{ position:absolute!important; inset:0!important; opacity:0!important; pointer-events:none!important; width:100%!important; height:100%!important; margin:0!important; padding:0!important; border:0!important; background:transparent!important; }
.pdp-cdd-display{ flex:1 1 auto; cursor:pointer; font-size:14px; color:#333; line-height:1; padding-right:22px; position:relative; user-select:none; outline:none; }
.pdp-cdd-display:focus-visible{ outline:2px solid #c9a040; outline-offset:2px; border-radius:4px; }
.pdp-cdd-display::after{ content:''; position:absolute; right:4px; top:50%; width:7px; height:7px; border-right:2px solid #555; border-bottom:2px solid #555; transform:translateY(-70%) rotate(45deg); pointer-events:none; }
.pdp-cdd-display[aria-expanded="true"]::after{ transform:translateY(-30%) rotate(-135deg); }
.pdp-cdd-menu{ position:absolute; top:calc(100% + 6px); left:0; right:0; min-width:100%; background:#fff; border:1px solid #d4d4d4; border-radius:8px; box-shadow:0 6px 18px rgba(0,0,0,0.10); z-index:1000; max-height:280px; overflow-y:auto; padding:4px; }
.pdp-cdd-menu[hidden]{ display:none; }
.pdp-cdd-option{ padding:9px 14px; cursor:pointer; font-size:14px; color:#333; border-radius:6px; line-height:1.4; white-space:nowrap; }
.pdp-cdd-option:hover{ background:#f4f4f4; }
.pdp-cdd-option.selected{ background:#efefef; color:#111; font-weight:500; }

/* PDP portaled dropdown menu (moved from section inline <style>). var()s are set by JS at runtime. */
body > .pdp-cdd-menu{ position:fixed!important; z-index:2147483647!important; background:#fff!important; border:1px solid #d8d8d8!important; border-radius:6px!important; box-shadow:0 8px 24px rgba(0,0,0,0.16)!important; max-height:220px!important; overflow-y:auto!important; overflow-x:hidden!important; padding:4px!important; margin:0!important; }
body > .pdp-cdd-menu[hidden]{ display:none!important; }
body > .pdp-cdd-menu .pdp-cdd-option{ min-height:36px!important; padding:9px 14px!important; display:flex!important; align-items:center!important; color:#111!important; background:#fff!important; font-size:14px!important; line-height:1.2!important; cursor:pointer!important; white-space:nowrap!important; }
body > .pdp-cdd-menu .pdp-cdd-option:hover, body > .pdp-cdd-menu .pdp-cdd-option.selected{ background:#f0f0f0!important; }

/* PDP out-of-stock quote prompt (above the Sold-out button; shares the quote-message colors) */
.pdp-oos-msg{
  margin:0 0 12px;
  padding:8px 12px;
  border:1px solid var(--qmsg-border,#e7dcc0);
  background:var(--qmsg-bg,#fbf8ef);
  color:var(--qmsg-color,#6b5a2e);
  font-size:13px;
  line-height:1.45;
  border-radius:6px;
}
.pdp-oos-link{
  color:var(--qmsg-link,#4a3d1a);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Out of stock: hide the quantity/currency picker so the OOS quote prompt sits right above the Sold-out button */
.atc-wrapper.is-oos .product-form--atc-qty,
.atc-wrapper.is-oos .pdp-qty-currency-row{ display:none !important; }


/* ===== PDP qty/currency dropdown layering + field sizing (moved from section inline <style> to save size) ===== */
/* === PDP quantity/currency dropdown FIX ===
   Fixes the quantity/currency dropdown layering over Add to Cart / Buy Now.
   Qty opens upward. Currency opens downward. Open menus stay above buttons.
*/
.atc-wrapper {
    position: relative !important;
    isolation: isolate !important;
}

.atc-wrapper .pdp-qty-currency-row {
    position: relative !important;
    z-index: 200 !important;
    overflow: visible !important;
}

.atc-wrapper .pdp-qty-field,
.atc-wrapper .pdp-currency-field {
    overflow: visible !important;
}

.pdp-cdd {
    position: relative !important;
    z-index: 1 !important;
    overflow: visible !important;
}

.pdp-cdd.pdp-cdd--open {
    z-index: 2147483640 !important;
}

.pdp-cdd > select {
    position: absolute !important;
    inset: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 1px !important;
    overflow: hidden !important;
}

.pdp-cdd-display {
    width: 100% !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    z-index: 2 !important;
}

.pdp-cdd-menu {
    z-index: 2147483647 !important;
    max-height: 210px !important;
    padding: 4px !important;
}

/* (In-place menu positioning removed — the menu is portaled to body > .pdp-cdd-menu, styled below) */

.atc-wrapper .product-form--atc-button,
.atc-wrapper button[name="add"],
.atc-wrapper .enable_payment_buttons_div,
.atc-wrapper .shopify-payment-button,
.atc-wrapper .shopify-payment-button__button,
.atc-wrapper .shopify-payment-button__more-options,
.atc-wrapper .shopify-payment-button__button--unbranded,
.atc-wrapper .shopify-payment-button__button--hidden {
    position: relative !important;
    z-index: 1 !important;
}

/* If a dropdown is open, keep the qty/currency row above the buttons */
.atc-wrapper .pdp-qty-currency-row:has(.pdp-cdd--open) {
    z-index: 2147483646 !important;
}


/* === PDP dropdown v4 portal-menu + dup select/display rules moved to product-template-styles.css asset === */

/* Prevent any button/payment wrapper from creating a layer above the portaled menu */
.atc-wrapper .product-form--atc-button,
.atc-wrapper button[name="add"],
.atc-wrapper .enable_payment_buttons_div,
.atc-wrapper .shopify-payment-button,
.atc-wrapper .shopify-payment-button__button,
.atc-wrapper .shopify-payment-button__button--unbranded,
.atc-wrapper .shopify-payment-button__more-options {
  z-index: 1 !important;
}


/* === PDP dropdown v6 width/alignment fix === */
body > .pdp-cdd-menu {
  width: var(--pdp-dropdown-width, 140px) !important;
  min-width: var(--pdp-dropdown-width, 140px) !important;
  max-width: var(--pdp-dropdown-width, 140px) !important;
  left: var(--pdp-dropdown-left, 0px) !important;
  top: var(--pdp-dropdown-top, 0px) !important;
  right: auto !important;
  bottom: auto !important;
}

body > .pdp-cdd-menu .pdp-cdd-option {
  width: 100% !important;
  max-width: 100% !important;
}

.pdp-cdd--qty .pdp-cdd-display,
.pdp-cdd--currency .pdp-cdd-display {
  min-width: 0 !important;
}


/* === PDP dropdown v8 compact proper size (final; v7 removed — fully superseded here) === */
.atc-wrapper .pdp-qty-currency-row {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .95fr) !important;
  gap: 14px !important;
  margin: 14px 0 18px !important;
}

.atc-wrapper .pdp-qty-field,
.atc-wrapper .pdp-currency-field {
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  border: 1px solid #b9b9b9 !important;
  align-items: center !important;
}

.atc-wrapper .pdp-qty-field .pdp-qty-prefix {
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  margin-right: 6px !important;
  color: #222 !important;
}

.atc-wrapper .pdp-cdd {
  height: 100% !important;
  align-items: center !important;
}

.atc-wrapper .pdp-cdd-display,
.pdp-cdd-display {
  min-height: 0 !important;
  height: 100% !important;
  padding: 0 24px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  color: #111 !important;
  align-items: center !important;
}

.atc-wrapper .pdp-cdd-display::after,
.pdp-cdd-display::after {
  width: 9px !important;
  height: 9px !important;
  right: 1px !important;
  top: 50% !important;
  border-right: 2px solid #333 !important;
  border-bottom: 2px solid #333 !important;
  transform: translateY(-65%) rotate(45deg) !important;
}

.atc-wrapper .pdp-cdd-display[aria-expanded="true"]::after,
.pdp-cdd-display[aria-expanded="true"]::after {
  transform: translateY(-35%) rotate(-135deg) !important;
}

/* Dropdown menu remains compact too */
body > .pdp-cdd-menu {
  max-height: 210px !important;
  border-radius: 6px !important;
}

body > .pdp-cdd-menu .pdp-cdd-option {
  min-height: 34px !important;
  padding: 8px 14px !important;
  font-size: 14px !important;
}

@media screen and (max-width: 768px) {
  .atc-wrapper .pdp-qty-currency-row {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .95fr) !important;
    gap: 10px !important;
  }

  .atc-wrapper .pdp-qty-field,
  .atc-wrapper .pdp-currency-field {
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    padding: 0 12px !important;
    border-radius: 8px !important;
  }

  .atc-wrapper .pdp-qty-field .pdp-qty-prefix,
  .atc-wrapper .pdp-cdd-display,
  .pdp-cdd-display {
    font-size: 13px !important;
  }

  .atc-wrapper .pdp-cdd-display,
  .pdp-cdd-display {
    padding-right: 22px !important;
  }

  .atc-wrapper .pdp-cdd-display::after,
  .pdp-cdd-display::after {
    width: 8px !important;
    height: 8px !important;
  }
}

/* (Old options-select CSS removed — option groups are now rebuilt by pdp-options-select.js and styled in the section) */
