
/* ==========================================================
   NOBLE PEPTIDE LABS — PREMIUM WOOCOMMERCE UI v1.1
   ========================================================== */

:root{
    --npl-bg:#010816;
    --npl-bg2:#020c1c;
    --npl-card:#03152e;
    --npl-card2:#041a37;
    --npl-gold:#c9913d;
    --npl-gold2:#e0ad55;
    --npl-gold3:#f0c979;
    --npl-cream:#f4efe6;
    --npl-copy:#cbd4df;
    --npl-muted:#8995a5;
    --npl-line:rgba(201,145,61,.48);
    --npl-line-soft:rgba(201,145,61,.18);
}

/* ---------- shared page background ---------- */

body.npl-woo-shop #main-content,
body.npl-woo-cart #main-content,
body.npl-woo-checkout #main-content,
body.npl-woo-account #main-content{
    min-height:calc(100vh - 150px);
    background:
        radial-gradient(circle at 9% 12%, rgba(22,82,180,.18), transparent 28%),
        radial-gradient(circle at 80% 82%, rgba(15,54,120,.12), transparent 32%),
        linear-gradient(180deg,var(--npl-bg2),var(--npl-bg))!important;
    color:var(--npl-copy)!important;
}

body.npl-woo-shop #main-content .container,
body.npl-woo-cart #main-content .container,
body.npl-woo-checkout #main-content .container,
body.npl-woo-account #main-content .container{
    width:90%!important;
    max-width:1420px!important;
    padding-top:72px!important;
    padding-bottom:90px!important;
}

body.npl-woo-shop #main-content .container:before,
body.npl-woo-cart #main-content .container:before,
body.npl-woo-checkout #main-content .container:before,
body.npl-woo-account #main-content .container:before{
    display:none!important;
}

body.npl-woo-shop #left-area,
body.npl-woo-cart #left-area,
body.npl-woo-checkout #left-area,
body.npl-woo-account #left-area{
    width:100%!important;
    float:none!important;
    padding-right:0!important;
}

body.npl-woo-shop #sidebar,
body.npl-woo-cart #sidebar,
body.npl-woo-checkout #sidebar,
body.npl-woo-account #sidebar{
    display:none!important;
}

body.npl-woo-shop h1,
body.npl-woo-cart h1,
body.npl-woo-checkout h1,
body.npl-woo-account h1{
    margin:0 0 34px!important;
    padding:0!important;
    color:var(--npl-cream)!important;
    font-family:Cinzel,Georgia,serif!important;
    font-size:48px!important;
    line-height:1.05em!important;
    font-weight:500!important;
    letter-spacing:.025em!important;
}

body.npl-woo-shop h1:after,
body.npl-woo-cart h1:after,
body.npl-woo-checkout h1:after,
body.npl-woo-account h1:after{
    content:"";
    display:block;
    width:64px;
    height:1px;
    margin-top:17px;
    background:linear-gradient(90deg,var(--npl-gold2),transparent);
}

body.npl-woo-shop a,
body.npl-woo-cart a,
body.npl-woo-checkout a,
body.npl-woo-account a{
    color:var(--npl-gold2);
}

/* ==========================================================
   SHOP — FIXED ARCHIVE SELECTORS
   ========================================================== */

body.npl-woo-shop .woocommerce-breadcrumb{
    margin:0 0 13px!important;
    color:var(--npl-muted)!important;
    font-size:10px!important;
    letter-spacing:.08em!important;
    text-transform:uppercase;
}

body.npl-woo-shop .woocommerce-breadcrumb a{
    color:var(--npl-gold)!important;
}

body.npl-woo-shop .woocommerce-products-header{
    margin-bottom:0!important;
}

body.npl-woo-shop .woocommerce-result-count{
    margin:0 0 28px!important;
    color:var(--npl-muted)!important;
    font-size:11px!important;
}

body.npl-woo-shop .woocommerce-ordering{
    margin:0 0 28px!important;
}

body.npl-woo-shop .woocommerce-ordering select{
    min-width:190px!important;
    padding:11px 38px 11px 14px!important;
    border:1px solid var(--npl-line)!important;
    border-radius:1px!important;
    background:#031126!important;
    color:var(--npl-copy)!important;
    font-size:11px!important;
}

body.npl-woo-shop ul.products{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:18px!important;
    width:100%!important;
    margin:10px 0 0!important;
    padding:0!important;
    clear:both!important;
}

body.npl-woo-shop ul.products:before,
body.npl-woo-shop ul.products:after{
    display:none!important;
}

body.npl-woo-shop ul.products li.product{
    position:relative!important;
    float:none!important;
    display:flex!important;
    flex-direction:column!important;
    width:auto!important;
    min-width:0!important;
    min-height:555px!important;
    margin:0!important;
    padding:18px 18px 20px!important;
    overflow:hidden!important;
    border:1px solid var(--npl-line)!important;
    border-radius:2px!important;
    background:
        radial-gradient(circle at 50% 25%,rgba(30,110,232,.17),transparent 36%),
        rgba(3,20,45,.86)!important;
    box-shadow:none!important;
    transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease!important;
}

body.npl-woo-shop ul.products li.product:hover{
    transform:translateY(-5px)!important;
    border-color:var(--npl-gold2)!important;
    box-shadow:0 22px 48px rgba(0,0,0,.28)!important;
}

body.npl-woo-shop ul.products li.product a.woocommerce-LoopProduct-link{
    display:block!important;
    text-decoration:none!important;
}

body.npl-woo-shop ul.products li.product img{
    display:block!important;
    width:100%!important;
    height:292px!important;
    margin:0 auto 20px!important;
    /* The PHP filter supplies an uncropped source; contain keeps the complete vial visible. */
    object-fit:contain!important;
    background:transparent!important;
    box-shadow:none!important;
}

body.npl-woo-shop ul.products li.product .woocommerce-loop-product__title{
    min-height:44px!important;
    margin:0!important;
    padding:0 4px!important;
    color:var(--npl-cream)!important;
    font-family:Cinzel,Georgia,serif!important;
    font-size:17px!important;
    line-height:1.28em!important;
    font-weight:500!important;
    text-align:center!important;
    text-transform:uppercase!important;
}

.npl-shop-strength{
    min-height:21px;
    margin:7px 0 8px!important;
    color:var(--npl-gold2)!important;
    font-family:Cinzel,Georgia,serif!important;
    font-size:13px!important;
    line-height:1.2em!important;
    text-align:center!important;
    text-transform:uppercase!important;
}

.npl-shop-card-description{
    min-height:51px;
    margin:0!important;
    padding:0 5px!important;
    color:var(--npl-copy)!important;
    font-size:11px!important;
    line-height:1.55em!important;
    text-align:center!important;
}

.npl-shop-ornament{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    height:24px;
    margin:5px 0 2px;
    color:var(--npl-gold2);
    font-size:7px;
}

.npl-shop-ornament:before,
.npl-shop-ornament:after{
    content:"";
    width:28px;
    height:1px;
    background:var(--npl-gold);
}

body.npl-woo-shop ul.products li.product .price{
    min-height:31px!important;
    margin:0 0 16px!important;
    color:var(--npl-cream)!important;
    font-family:Cinzel,Georgia,serif!important;
    font-size:22px!important;
    line-height:1.2em!important;
    text-align:center!important;
}

body.npl-woo-shop ul.products li.product .price del{
    color:var(--npl-muted)!important;
    font-size:13px!important;
}

body.npl-woo-shop ul.products li.product .price ins{
    color:var(--npl-cream)!important;
    text-decoration:none!important;
}

body.npl-woo-shop ul.products li.product .npl-shop-button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:43px!important;
    margin:auto 0 0!important;
    padding:9px 10px!important;
    border:1px solid var(--npl-gold)!important;
    border-radius:1px!important;
    background:transparent!important;
    color:var(--npl-gold2)!important;
    font-family:Montserrat,Arial,sans-serif!important;
    font-size:10px!important;
    line-height:1.2em!important;
    font-weight:700!important;
    letter-spacing:.055em!important;
    text-align:center!important;
    text-transform:uppercase!important;
    box-sizing:border-box!important;
}

body.npl-woo-shop ul.products li.product .npl-shop-button:hover{
    background:linear-gradient(110deg,#bd8535,#e4b960,#bd8535)!important;
    color:#091322!important;
}

.npl-shop-badge{
    position:absolute!important;
    z-index:5!important;
    top:10px!important;
    left:10px!important;
    padding:5px 8px!important;
    background:linear-gradient(110deg,#bd8535,#e4b960)!important;
    color:#091322!important;
    font-size:8px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.04em!important;
}

body.npl-woo-shop nav.woocommerce-pagination{
    margin:45px 0 0!important;
    text-align:center!important;
}

body.npl-woo-shop nav.woocommerce-pagination ul{
    border:0!important;
}

body.npl-woo-shop nav.woocommerce-pagination ul li{
    margin:0 3px!important;
    border:0!important;
}

body.npl-woo-shop nav.woocommerce-pagination ul li a,
body.npl-woo-shop nav.woocommerce-pagination ul li span{
    min-width:38px!important;
    height:38px!important;
    padding:10px!important;
    border:1px solid var(--npl-line)!important;
    background:#031126!important;
    color:var(--npl-copy)!important;
}

body.npl-woo-shop nav.woocommerce-pagination ul li .current,
body.npl-woo-shop nav.woocommerce-pagination ul li a:hover{
    background:var(--npl-gold)!important;
    color:#07101e!important;
}

/* ==========================================================
   CART — PREMIUM COMPACT TWO-COLUMN
   ========================================================== */

body.npl-woo-cart .wp-block-woocommerce-cart{
    margin-top:0!important;
    color:var(--npl-copy)!important;
}

body.npl-woo-cart .wc-block-cart{
    column-gap:32px!important;
}

body.npl-woo-cart .wc-block-cart__main{
    padding-right:0!important;
}

body.npl-woo-cart .wc-block-cart-items{
    overflow:hidden!important;
    border:1px solid var(--npl-line)!important;
    border-radius:2px!important;
    background:rgba(3,20,45,.80)!important;
}

body.npl-woo-cart table.wc-block-cart-items thead{
    background:#031126!important;
}

body.npl-woo-cart table.wc-block-cart-items th{
    padding:16px 18px!important;
    border-color:var(--npl-line-soft)!important;
    color:var(--npl-muted)!important;
    font-size:9px!important;
    font-weight:500!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
}

body.npl-woo-cart table.wc-block-cart-items td{
    padding:20px 18px!important;
    border-color:var(--npl-line-soft)!important;
}

body.npl-woo-cart .wc-block-cart-item__image{
    width:132px!important;
}

body.npl-woo-cart .wc-block-cart-item__image img{
    display:block!important;
    width:110px!important;
    height:132px!important;
    padding:0!important;
    object-fit:contain!important;
    border:1px solid var(--npl-line-soft)!important;
    background:radial-gradient(circle at 50% 40%,rgba(30,110,232,.20),transparent 68%)!important;
}

body.npl-woo-cart .wc-block-components-product-name{
    color:var(--npl-cream)!important;
    font-family:Cinzel,Georgia,serif!important;
    font-size:17px!important;
    line-height:1.3em!important;
}

body.npl-woo-cart .wc-block-components-product-price{
    color:var(--npl-cream)!important;
}

body.npl-woo-cart .wc-block-components-product-metadata{
    color:var(--npl-muted)!important;
    font-size:10px!important;
}

body.npl-woo-cart .wc-block-components-quantity-selector{
    border:1px solid var(--npl-line)!important;
    border-radius:1px!important;
    background:#020b19!important;
}

body.npl-woo-cart .wc-block-components-quantity-selector input{
    background:transparent!important;
    color:#fff!important;
}

body.npl-woo-cart .wc-block-components-quantity-selector button{
    color:var(--npl-copy)!important;
}

body.npl-woo-cart .wc-block-cart-item__remove-link{
    color:var(--npl-gold2)!important;
}

body.npl-woo-cart .wc-block-cart__sidebar{
    align-self:start!important;
    position:sticky!important;
    top:145px!important;
    padding:27px!important;
    border:1px solid var(--npl-line)!important;
    border-radius:2px!important;
    background:rgba(3,20,45,.85)!important;
}

body.npl-woo-cart .wc-block-cart__totals-title{
    color:var(--npl-cream)!important;
    font-family:Cinzel,Georgia,serif!important;
    font-size:22px!important;
    line-height:1.2em!important;
    text-align:left!important;
}

body.npl-woo-cart .wc-block-components-totals-wrapper{
    border-color:var(--npl-line-soft)!important;
}

body.npl-woo-cart .wc-block-components-totals-item__label,
body.npl-woo-cart .wc-block-components-totals-item__value{
    color:var(--npl-copy)!important;
}

body.npl-woo-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.npl-woo-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
    color:var(--npl-cream)!important;
    font-family:Cinzel,Georgia,serif!important;
    font-size:21px!important;
}

body.npl-woo-cart .wc-block-cart__submit-container{
    margin-top:15px!important;
}

body.npl-woo-cart .wc-block-cart__submit-button{
    min-height:54px!important;
    border:1px solid var(--npl-gold2)!important;
    border-radius:1px!important;
    background:linear-gradient(110deg,#bd8535,#e4b960,#bd8535)!important;
    color:#0a1424!important;
    font-size:11px!important;
    font-weight:800!important;
    letter-spacing:.055em!important;
    text-transform:uppercase!important;
}

/* ==========================================================
   CHECKOUT — DARK BLOCK INPUTS + PREMIUM SUMMARY
   ========================================================== */

body.npl-woo-checkout .wp-block-woocommerce-checkout,
body.npl-woo-checkout .wc-block-checkout{
    color:var(--npl-copy)!important;
}

body.npl-woo-checkout .wc-block-checkout{
    column-gap:34px!important;
}

body.npl-woo-checkout .wc-block-checkout__main{
    padding-right:0!important;
}

body.npl-woo-checkout .wc-block-components-title,
body.npl-woo-checkout .wc-block-components-checkout-step__title,
body.npl-woo-checkout .wc-block-components-checkout-step__heading{
    color:var(--npl-cream)!important;
    font-family:Cinzel,Georgia,serif!important;
}

body.npl-woo-checkout .wc-block-components-checkout-step{
    margin-bottom:33px!important;
}

body.npl-woo-checkout .wc-block-components-text-input input,
body.npl-woo-checkout .wc-block-components-text-input input[type="text"],
body.npl-woo-checkout .wc-block-components-text-input input[type="email"],
body.npl-woo-checkout .wc-block-components-text-input input[type="tel"],
body.npl-woo-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.npl-woo-checkout .wc-block-components-select .wc-block-components-select__select,
body.npl-woo-checkout .wc-block-components-address-form select,
body.npl-woo-checkout select{
    min-height:50px!important;
    border:1px solid var(--npl-line)!important;
    border-radius:1px!important;
    background-color:#020b19!important;
    color:#fff!important;
    box-shadow:none!important;
}

body.npl-woo-checkout .wc-block-components-text-input.is-active input,
body.npl-woo-checkout .wc-block-components-text-input input:focus,
body.npl-woo-checkout .wc-block-components-combobox-control input:focus,
body.npl-woo-checkout select:focus{
    border-color:var(--npl-gold2)!important;
    box-shadow:0 0 0 1px rgba(224,173,85,.2)!important;
}

body.npl-woo-checkout .wc-block-components-text-input label,
body.npl-woo-checkout .wc-block-components-combobox label,
body.npl-woo-checkout .wc-block-components-select label{
    color:var(--npl-muted)!important;
}

body.npl-woo-checkout .wc-block-components-radio-control{
    overflow:hidden!important;
    border:1px solid var(--npl-line)!important;
    border-radius:2px!important;
    background:#031126!important;
}

body.npl-woo-checkout .wc-block-components-radio-control__option{
    border-color:var(--npl-line-soft)!important;
    background:#031126!important;
    color:var(--npl-copy)!important;
}

body.npl-woo-checkout .wc-block-components-radio-control__label{
    color:var(--npl-cream)!important;
}

body.npl-woo-checkout .wc-block-checkout__sidebar{
    align-self:start!important;
    position:sticky!important;
    top:145px!important;
    padding:20px!important;
    border:1px solid var(--npl-line)!important;
    border-radius:2px!important;
    background:rgba(3,20,45,.86)!important;
}

body.npl-woo-checkout .wc-block-components-order-summary{
    color:var(--npl-copy)!important;
}

body.npl-woo-checkout .wc-block-components-order-summary-item,
body.npl-woo-checkout .wc-block-components-totals-wrapper{
    border-color:var(--npl-line-soft)!important;
}

body.npl-woo-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name{
    color:var(--npl-cream)!important;
    font-family:Cinzel,Georgia,serif!important;
}

body.npl-woo-checkout .wc-block-components-order-summary-item__description,
body.npl-woo-checkout .wc-block-components-order-summary-item__total-price,
body.npl-woo-checkout .wc-block-components-totals-item__label,
body.npl-woo-checkout .wc-block-components-totals-item__value{
    color:var(--npl-copy)!important;
}

body.npl-woo-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.npl-woo-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
    color:var(--npl-cream)!important;
    font-family:Cinzel,Georgia,serif!important;
    font-size:22px!important;
}

body.npl-woo-checkout .wc-block-components-checkout-place-order-button{
    min-height:55px!important;
    border:1px solid var(--npl-gold2)!important;
    border-radius:1px!important;
    background:linear-gradient(110deg,#bd8535,#e4b960,#bd8535)!important;
    color:#0a1424!important;
    font-size:11px!important;
    font-weight:800!important;
    letter-spacing:.06em!important;
    text-transform:uppercase!important;
}

body.npl-woo-checkout .wc-block-components-checkout-place-order-button:hover{
    filter:brightness(1.08)!important;
}

/* ==========================================================
   MY ACCOUNT — ACTUAL TWO-COLUMN DASHBOARD
   ========================================================== */

body.npl-woo-account .entry-content > .woocommerce,
body.npl-woo-account #main-content .woocommerce{
    display:grid!important;
    grid-template-columns:255px minmax(0,1fr)!important;
    gap:25px!important;
    align-items:start!important;
    width:100%!important;
}

body.npl-woo-account .woocommerce-MyAccount-navigation{
    float:none!important;
    display:block!important;
    width:255px!important;
    max-width:255px!important;
    margin:0!important;
    padding:11px!important;
    border:1px solid var(--npl-line)!important;
    border-radius:2px!important;
    background:rgba(3,20,45,.85)!important;
    box-sizing:border-box!important;
}

body.npl-woo-account .woocommerce-MyAccount-navigation ul{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
}

body.npl-woo-account .woocommerce-MyAccount-navigation li{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border-bottom:1px solid var(--npl-line-soft)!important;
}

body.npl-woo-account .woocommerce-MyAccount-navigation li:last-child{
    border-bottom:0!important;
}

body.npl-woo-account .woocommerce-MyAccount-navigation a{
    display:block!important;
    width:100%!important;
    padding:13px 14px!important;
    color:var(--npl-copy)!important;
    background:transparent!important;
    font-size:10px!important;
    font-weight:600!important;
    letter-spacing:.065em!important;
    text-transform:uppercase!important;
    box-sizing:border-box!important;
}

body.npl-woo-account .woocommerce-MyAccount-navigation li.is-active a,
body.npl-woo-account .woocommerce-MyAccount-navigation a:hover{
    background:rgba(201,145,61,.12)!important;
    color:var(--npl-gold2)!important;
}

body.npl-woo-account .woocommerce-MyAccount-content{
    float:none!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:330px!important;
    margin:0!important;
    padding:30px!important;
    border:1px solid var(--npl-line)!important;
    border-radius:2px!important;
    background:rgba(3,20,45,.78)!important;
    color:var(--npl-copy)!important;
    box-sizing:border-box!important;
}

body.npl-woo-account .woocommerce-MyAccount-content p{
    color:var(--npl-copy)!important;
    font-size:13px!important;
    line-height:1.75em!important;
}

body.npl-woo-account .woocommerce-MyAccount-content strong{
    color:#fff!important;
}

body.npl-woo-account .woocommerce-MyAccount-content table{
    width:100%!important;
    border:1px solid var(--npl-line)!important;
    border-radius:0!important;
    background:#020b19!important;
}

body.npl-woo-account .woocommerce-MyAccount-content table th,
body.npl-woo-account .woocommerce-MyAccount-content table td{
    padding:13px!important;
    border-color:var(--npl-line-soft)!important;
    color:var(--npl-copy)!important;
}

body.npl-woo-account .woocommerce-MyAccount-content table th{
    color:var(--npl-cream)!important;
}

body.npl-woo-account .woocommerce-Button,
body.npl-woo-account button.button,
body.npl-woo-account a.button{
    border:1px solid var(--npl-gold)!important;
    border-radius:1px!important;
    background:transparent!important;
    color:var(--npl-gold2)!important;
    font-size:10px!important;
    font-weight:700!important;
    letter-spacing:.055em!important;
    text-transform:uppercase!important;
}

body.npl-woo-account .woocommerce-Button:hover,
body.npl-woo-account button.button:hover,
body.npl-woo-account a.button:hover{
    background:var(--npl-gold)!important;
    color:#07101e!important;
}

body.npl-woo-account .form-row label{
    color:var(--npl-copy)!important;
}

body.npl-woo-account .input-text,
body.npl-woo-account select,
body.npl-woo-account textarea{
    min-height:46px!important;
    padding:10px 12px!important;
    border:1px solid var(--npl-line)!important;
    border-radius:1px!important;
    background:#020b19!important;
    color:#fff!important;
}

/* Logged-out My Account */
body.npl-woo-account #customer_login{
    display:grid!important;
    grid-column:1 / -1!important;
    grid-template-columns:1fr 1fr!important;
    gap:22px!important;
    width:100%!important;
}

body.npl-woo-account #customer_login .col-1,
body.npl-woo-account #customer_login .col-2{
    float:none!important;
    width:100%!important;
    padding:28px!important;
    border:1px solid var(--npl-line)!important;
    background:rgba(3,20,45,.80)!important;
    box-sizing:border-box!important;
}

body.npl-woo-account #customer_login h2{
    color:var(--npl-cream)!important;
    font-family:Cinzel,Georgia,serif!important;
    text-transform:uppercase!important;
}

/* ==========================================================
   NOTICES
   ========================================================== */

body.npl-woo-shop .woocommerce-message,
body.npl-woo-shop .woocommerce-info,
body.npl-woo-shop .woocommerce-error,
body.npl-woo-cart .woocommerce-message,
body.npl-woo-cart .woocommerce-info,
body.npl-woo-cart .woocommerce-error,
body.npl-woo-checkout .woocommerce-message,
body.npl-woo-checkout .woocommerce-info,
body.npl-woo-checkout .woocommerce-error,
body.npl-woo-account .woocommerce-message,
body.npl-woo-account .woocommerce-info,
body.npl-woo-account .woocommerce-error{
    border-top-color:var(--npl-gold)!important;
    background:#031126!important;
    color:var(--npl-copy)!important;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media(max-width:1180px){
    body.npl-woo-shop ul.products{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }
}

@media(max-width:980px){
    body.npl-woo-shop #main-content .container,
    body.npl-woo-cart #main-content .container,
    body.npl-woo-checkout #main-content .container,
    body.npl-woo-account #main-content .container{
        width:92%!important;
        padding-top:52px!important;
        padding-bottom:65px!important;
    }

    body.npl-woo-shop ul.products{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    body.npl-woo-cart .wc-block-cart__sidebar,
    body.npl-woo-checkout .wc-block-checkout__sidebar{
        position:static!important;
    }

    body.npl-woo-account .entry-content > .woocommerce,
    body.npl-woo-account #main-content .woocommerce{
        grid-template-columns:1fr!important;
    }

    body.npl-woo-account .woocommerce-MyAccount-navigation{
        width:100%!important;
        max-width:none!important;
    }

    body.npl-woo-account .woocommerce-MyAccount-navigation ul{
        display:flex!important;
        overflow-x:auto!important;
    }

    body.npl-woo-account .woocommerce-MyAccount-navigation li{
        width:auto!important;
        flex:0 0 auto!important;
        border-bottom:0!important;
        border-right:1px solid var(--npl-line-soft)!important;
    }
}

@media(max-width:680px){
    body.npl-woo-shop h1,
    body.npl-woo-cart h1,
    body.npl-woo-checkout h1,
    body.npl-woo-account h1{
        font-size:35px!important;
    }

    body.npl-woo-shop ul.products{
        grid-template-columns:1fr!important;
    }

    body.npl-woo-shop ul.products li.product{
        min-height:500px!important;
    }

    body.npl-woo-shop ul.products li.product img{
        height:255px!important;
    }

    body.npl-woo-account #customer_login{
        grid-template-columns:1fr!important;
    }

    body.npl-woo-account .woocommerce-MyAccount-content{
        padding:20px!important;
    }
}


/* ==========================================================
   v1.2.0 — STRUCTURAL LAYOUT FIXES
   Shop intentionally left unchanged.
   ========================================================== */


/* ==========================================================
   CART — FORCE TRUE 2-COLUMN LAYOUT
   ========================================================== */

body.npl-woo-cart .wp-block-woocommerce-cart,
body.npl-woo-cart .wc-block-cart{
    width:100%!important;
    max-width:none!important;
}

body.npl-woo-cart .wc-block-cart{
    display:grid!important;
    grid-template-columns:minmax(0,1.72fr) minmax(350px,.88fr)!important;
    grid-template-areas:"cart-main cart-sidebar"!important;
    column-gap:34px!important;
    row-gap:0!important;
    align-items:start!important;
}

body.npl-woo-cart .wc-block-cart__main{
    grid-area:cart-main!important;
    float:none!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    flex:none!important;
}

body.npl-woo-cart .wc-block-cart__sidebar{
    grid-area:cart-sidebar!important;
    float:none!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    flex:none!important;
    align-self:start!important;
}

body.npl-woo-cart .wc-block-cart-items{
    width:100%!important;
    margin:0!important;
}

body.npl-woo-cart .wc-block-cart__sidebar > div{
    width:100%!important;
    max-width:none!important;
}

body.npl-woo-cart .wc-block-cart__totals-title{
    margin-top:0!important;
}


/* ==========================================================
   CHECKOUT — FORCE MAIN + SUMMARY INTO SAME ROW
   ========================================================== */

body.npl-woo-checkout .wp-block-woocommerce-checkout,
body.npl-woo-checkout .wc-block-checkout{
    width:100%!important;
    max-width:none!important;
}

body.npl-woo-checkout .wc-block-checkout{
    display:grid!important;
    grid-template-columns:minmax(0,1.62fr) minmax(380px,.88fr)!important;
    grid-template-areas:"checkout-main checkout-sidebar"!important;
    column-gap:38px!important;
    row-gap:0!important;
    align-items:start!important;
}

body.npl-woo-checkout .wc-block-checkout__main{
    grid-area:checkout-main!important;
    float:none!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    flex:none!important;
}

body.npl-woo-checkout .wc-block-checkout__sidebar{
    grid-area:checkout-sidebar!important;
    float:none!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    flex:none!important;
    align-self:start!important;
}

body.npl-woo-checkout .wc-block-checkout__sidebar > div,
body.npl-woo-checkout .wc-block-components-sidebar-layout,
body.npl-woo-checkout .wc-block-components-sidebar{
    width:100%!important;
    max-width:none!important;
}

/* Keep checkout fields comfortably sized */
body.npl-woo-checkout .wc-block-checkout__main .wc-block-components-checkout-step,
body.npl-woo-checkout .wc-block-checkout__main .wc-block-components-checkout-step__container,
body.npl-woo-checkout .wc-block-checkout__main .wc-block-components-address-form{
    width:100%!important;
    max-width:none!important;
}

/* Make white browser/autofill-like blocks visually consistent */
body.npl-woo-checkout .wc-block-components-text-input input,
body.npl-woo-checkout .wc-block-components-combobox-control input,
body.npl-woo-checkout .wc-block-components-select__select{
    -webkit-text-fill-color:#f5f1e9!important;
}

body.npl-woo-checkout .wc-block-components-text-input input:-webkit-autofill,
body.npl-woo-checkout .wc-block-components-text-input input:-webkit-autofill:hover,
body.npl-woo-checkout .wc-block-components-text-input input:-webkit-autofill:focus{
    -webkit-text-fill-color:#f5f1e9!important;
    -webkit-box-shadow:0 0 0 1000px #020b19 inset!important;
    box-shadow:0 0 0 1000px #020b19 inset!important;
}


/* ==========================================================
   MY ACCOUNT — EXPLICIT GRID AREAS
   This prevents WooCommerce/theme widths from swapping/wrapping
   the navigation and content panels.
   ========================================================== */

body.npl-woo-account .entry-content > .woocommerce,
body.npl-woo-account #main-content .woocommerce{
    display:grid!important;
    grid-template-columns:245px minmax(0,1fr)!important;
    grid-template-areas:"account-nav account-content"!important;
    column-gap:28px!important;
    row-gap:22px!important;
    align-items:start!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
}

body.npl-woo-account .woocommerce-MyAccount-navigation{
    grid-area:account-nav!important;
    float:none!important;
    clear:none!important;
    width:245px!important;
    max-width:245px!important;
    min-width:245px!important;
    margin:0!important;
    justify-self:start!important;
    align-self:start!important;
}

body.npl-woo-account .woocommerce-MyAccount-content{
    grid-area:account-content!important;
    float:none!important;
    clear:none!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    justify-self:stretch!important;
    align-self:start!important;
}

/* Woo notices should span the content panel rather than collapse */
body.npl-woo-account .woocommerce-MyAccount-content .woocommerce-info,
body.npl-woo-account .woocommerce-MyAccount-content .woocommerce-message,
body.npl-woo-account .woocommerce-MyAccount-content .woocommerce-error{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
}

/* Orders / empty-order states */
body.npl-woo-account .woocommerce-MyAccount-content .woocommerce-orders-table,
body.npl-woo-account .woocommerce-MyAccount-content .woocommerce-order,
body.npl-woo-account .woocommerce-MyAccount-content .woocommerce-info{
    width:100%!important;
    max-width:none!important;
}

/* Account details form must fill the content column */
body.npl-woo-account .woocommerce-EditAccountForm,
body.npl-woo-account .woocommerce-address-fields,
body.npl-woo-account .woocommerce-address-fields__field-wrapper{
    width:100%!important;
    max-width:none!important;
}

body.npl-woo-account .woocommerce-EditAccountForm .form-row,
body.npl-woo-account .woocommerce-address-fields .form-row{
    box-sizing:border-box!important;
}

body.npl-woo-account .woocommerce-EditAccountForm .form-row-wide,
body.npl-woo-account .woocommerce-address-fields .form-row-wide{
    width:100%!important;
}

body.npl-woo-account .woocommerce-EditAccountForm .form-row-first,
body.npl-woo-account .woocommerce-address-fields .form-row-first{
    float:left!important;
    width:48.5%!important;
    margin-right:3%!important;
}

body.npl-woo-account .woocommerce-EditAccountForm .form-row-last,
body.npl-woo-account .woocommerce-address-fields .form-row-last{
    float:right!important;
    width:48.5%!important;
    margin-right:0!important;
}

body.npl-woo-account .woocommerce-EditAccountForm fieldset{
    margin:28px 0 20px!important;
    padding:22px!important;
    border:1px solid var(--npl-line)!important;
}

body.npl-woo-account .woocommerce-EditAccountForm fieldset legend{
    padding:0 10px!important;
    color:var(--npl-cream)!important;
    font-family:Cinzel,Georgia,serif!important;
    font-size:16px!important;
}

/* Address cards */
body.npl-woo-account .woocommerce-Addresses{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:18px!important;
}

body.npl-woo-account .woocommerce-Addresses .woocommerce-Address{
    float:none!important;
    width:100%!important;
    padding:22px!important;
    border:1px solid var(--npl-line)!important;
    background:#03152e!important;
    box-sizing:border-box!important;
}

body.npl-woo-account .woocommerce-Addresses .woocommerce-Address-title{
    border-bottom:1px solid var(--npl-line-soft)!important;
    margin-bottom:15px!important;
    padding-bottom:12px!important;
}

/* Dashboard paragraphs sit naturally within the right panel */
body.npl-woo-account .woocommerce-MyAccount-content > p:first-child{
    margin-top:0!important;
}


/* ==========================================================
   TABLET / MOBILE STRUCTURAL FALLBACKS
   ========================================================== */

@media(max-width:1100px){

    body.npl-woo-cart .wc-block-cart,
    body.npl-woo-checkout .wc-block-checkout{
        grid-template-columns:minmax(0,1fr) 330px!important;
        column-gap:24px!important;
    }

    body.npl-woo-account .entry-content > .woocommerce,
    body.npl-woo-account #main-content .woocommerce{
        grid-template-columns:220px minmax(0,1fr)!important;
    }

    body.npl-woo-account .woocommerce-MyAccount-navigation{
        width:220px!important;
        min-width:220px!important;
        max-width:220px!important;
    }
}

@media(max-width:900px){

    body.npl-woo-cart .wc-block-cart{
        grid-template-columns:1fr!important;
        grid-template-areas:
            "cart-main"
            "cart-sidebar"!important;
        row-gap:24px!important;
    }

    body.npl-woo-checkout .wc-block-checkout{
        grid-template-columns:1fr!important;
        grid-template-areas:
            "checkout-main"
            "checkout-sidebar"!important;
        row-gap:26px!important;
    }

    body.npl-woo-cart .wc-block-cart__sidebar,
    body.npl-woo-checkout .wc-block-checkout__sidebar{
        position:static!important;
    }

    body.npl-woo-account .entry-content > .woocommerce,
    body.npl-woo-account #main-content .woocommerce{
        grid-template-columns:1fr!important;
        grid-template-areas:
            "account-nav"
            "account-content"!important;
    }

    body.npl-woo-account .woocommerce-MyAccount-navigation{
        width:100%!important;
        min-width:0!important;
        max-width:none!important;
    }

    body.npl-woo-account .woocommerce-MyAccount-navigation ul{
        display:flex!important;
        overflow-x:auto!important;
        white-space:nowrap!important;
    }

    body.npl-woo-account .woocommerce-MyAccount-navigation li{
        flex:0 0 auto!important;
        width:auto!important;
    }
}

@media(max-width:600px){

    body.npl-woo-account .woocommerce-EditAccountForm .form-row-first,
    body.npl-woo-account .woocommerce-EditAccountForm .form-row-last,
    body.npl-woo-account .woocommerce-address-fields .form-row-first,
    body.npl-woo-account .woocommerce-address-fields .form-row-last{
        float:none!important;
        width:100%!important;
        margin-right:0!important;
    }

    body.npl-woo-account .woocommerce-Addresses{
        grid-template-columns:1fr!important;
    }
}


/* ==========================================================
   v1.3.0 TARGETED FIXES
   Shop and Cart intentionally left unchanged.
   ========================================================== */


/* ==========================================================
   CHECKOUT — FULL WIDTH + CLEAN TWO-COLUMN NPL PANELS
   ========================================================== */

body.npl-woo-checkout article.page,
body.npl-woo-checkout article.type-page,
body.npl-woo-checkout .entry-content,
body.npl-woo-checkout .wp-block-woocommerce-checkout,
body.npl-woo-checkout .wc-block-checkout{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
}

body.npl-woo-checkout .entry-content{
    padding:0!important;
}

body.npl-woo-checkout .wc-block-checkout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 420px!important;
    grid-template-areas:"checkout-main checkout-sidebar"!important;
    column-gap:38px!important;
    align-items:start!important;
}

body.npl-woo-checkout .wc-block-checkout__main{
    grid-area:checkout-main!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
}

body.npl-woo-checkout .wc-block-checkout__sidebar{
    grid-area:checkout-sidebar!important;
    width:420px!important;
    max-width:420px!important;
    min-width:0!important;
    margin:0!important;
    position:sticky!important;
    top:145px!important;
    padding:20px!important;
    border:1px solid var(--npl-line)!important;
    background:rgba(3,20,45,.88)!important;
    box-sizing:border-box!important;
}

body.npl-woo-checkout .wc-block-checkout__main > div,
body.npl-woo-checkout .wc-block-components-checkout-step,
body.npl-woo-checkout .wc-block-components-checkout-step__container,
body.npl-woo-checkout .wc-block-components-checkout-step__content,
body.npl-woo-checkout .wc-block-components-address-form{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
}

body.npl-woo-checkout .wc-block-components-checkout-step{
    margin:0 0 18px!important;
    padding:22px 24px 24px!important;
    border:1px solid var(--npl-line)!important;
    border-radius:2px!important;
    background:rgba(3,20,45,.62)!important;
}

body.npl-woo-checkout .wc-block-components-checkout-step__heading{
    margin:0 0 18px!important;
    padding:0 0 13px!important;
    border-bottom:1px solid var(--npl-line-soft)!important;
}

body.npl-woo-checkout .wc-block-components-checkout-step__title{
    margin:0!important;
    color:var(--npl-cream)!important;
    font-family:Cinzel,Georgia,serif!important;
    font-size:20px!important;
    line-height:1.2em!important;
    font-weight:500!important;
}

body.npl-woo-checkout .wc-block-components-text-input input,
body.npl-woo-checkout .wc-block-components-combobox-control input,
body.npl-woo-checkout .wc-block-components-select__select,
body.npl-woo-checkout .wc-block-components-address-form select{
    min-height:50px!important;
    border:1px solid var(--npl-line)!important;
    border-radius:1px!important;
    background:#020b19!important;
    color:#f4efe6!important;
    box-shadow:none!important;
}

body.npl-woo-checkout .wc-block-components-text-input input:focus,
body.npl-woo-checkout .wc-block-components-combobox-control input:focus,
body.npl-woo-checkout .wc-block-components-select__select:focus,
body.npl-woo-checkout .wc-block-components-address-form select:focus{
    border-color:var(--npl-gold2)!important;
    box-shadow:0 0 0 1px rgba(224,173,85,.18)!important;
}

body.npl-woo-checkout input:-webkit-autofill,
body.npl-woo-checkout input:-webkit-autofill:hover,
body.npl-woo-checkout input:-webkit-autofill:focus{
    -webkit-text-fill-color:#f4efe6!important;
    -webkit-box-shadow:0 0 0 1000px #020b19 inset!important;
    box-shadow:0 0 0 1000px #020b19 inset!important;
}

body.npl-woo-checkout .wc-block-components-radio-control{
    border:1px solid var(--npl-line)!important;
    background:#020f22!important;
}

body.npl-woo-checkout .wc-block-components-radio-control__option{
    padding:16px!important;
    background:transparent!important;
}

body.npl-woo-checkout .wc-block-checkout__actions{
    margin-top:18px!important;
}

body.npl-woo-checkout .wc-block-components-checkout-place-order-button{
    width:100%!important;
    min-height:56px!important;
    margin-top:12px!important;
    background:linear-gradient(110deg,#bd8535,#e4b960,#bd8535)!important;
}

body.npl-woo-checkout .wc-block-components-order-summary{
    border:1px solid var(--npl-line-soft)!important;
    border-radius:2px!important;
    background:#031126!important;
}

body.npl-woo-checkout .wc-block-components-order-summary__button-text,
body.npl-woo-checkout .wc-block-components-order-summary .wc-block-components-title{
    color:var(--npl-cream)!important;
}


/* ==========================================================
   MY ACCOUNT — ADDRESS + ENDPOINT LAYOUT CORRECTIONS
   ========================================================== */

body.npl-woo-account .woocommerce-MyAccount-content > *{
    max-width:none!important;
}

body.npl-woo-account .woocommerce-MyAccount-content > p:first-child{
    margin:0 0 22px!important;
}

body.npl-woo-account .woocommerce-Addresses,
body.npl-woo-account .u-columns.woocommerce-Addresses,
body.npl-woo-account .col2-set.woocommerce-Addresses{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}

body.npl-woo-account .woocommerce-Addresses > .woocommerce-Address,
body.npl-woo-account .woocommerce-Addresses > .u-column1,
body.npl-woo-account .woocommerce-Addresses > .u-column2,
body.npl-woo-account .woocommerce-Addresses > .col-1,
body.npl-woo-account .woocommerce-Addresses > .col-2{
    float:none!important;
    clear:none!important;
    position:relative!important;
    display:block!important;
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:22px!important;
    border:1px solid var(--npl-line)!important;
    border-radius:2px!important;
    background:#03152e!important;
    box-sizing:border-box!important;
}

body.npl-woo-account .woocommerce-Addresses > .u-column1,
body.npl-woo-account .woocommerce-Addresses > .col-1{
    grid-column:1!important;
    grid-row:1!important;
}

body.npl-woo-account .woocommerce-Addresses > .u-column2,
body.npl-woo-account .woocommerce-Addresses > .col-2{
    grid-column:2!important;
    grid-row:1!important;
}

body.npl-woo-account .woocommerce-Addresses:before,
body.npl-woo-account .woocommerce-Addresses:after{
    display:none!important;
    content:none!important;
}

body.npl-woo-account .woocommerce-Address-title{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:15px!important;
    margin:0 0 16px!important;
    padding:0 0 14px!important;
    border-bottom:1px solid var(--npl-line-soft)!important;
}

body.npl-woo-account .woocommerce-Address-title h2,
body.npl-woo-account .woocommerce-Address-title h3{
    float:none!important;
    margin:0!important;
    padding:0!important;
    color:var(--npl-cream)!important;
    font-family:Cinzel,Georgia,serif!important;
    font-size:20px!important;
    line-height:1.2em!important;
    font-weight:500!important;
}

body.npl-woo-account .woocommerce-Address-title a.edit{
    float:none!important;
    color:var(--npl-gold2)!important;
    font-size:10px!important;
    font-weight:700!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
}

body.npl-woo-account .woocommerce-Address address{
    margin:0!important;
    color:var(--npl-copy)!important;
    font-size:12px!important;
    line-height:1.7em!important;
}

body.npl-woo-account .woocommerce-MyAccount-content > .woocommerce-info{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:20px!important;
    width:100%!important;
    min-height:78px!important;
    margin:0!important;
    padding:18px 20px!important;
    box-sizing:border-box!important;
}

body.npl-woo-account .woocommerce-MyAccount-content > .woocommerce-info .button{
    float:none!important;
    flex:0 0 auto!important;
    margin:0!important;
}

body.npl-woo-account .woocommerce-EditAccountForm,
body.npl-woo-account .woocommerce-address-fields{
    width:100%!important;
    max-width:none!important;
}

body.npl-woo-account .woocommerce-EditAccountForm .input-text,
body.npl-woo-account .woocommerce-address-fields .input-text,
body.npl-woo-account .woocommerce-address-fields select{
    width:100%!important;
    box-sizing:border-box!important;
}


/* ==========================================================
   SINGLE PRODUCT — NPL ADD-TO-CART NOTICE
   ========================================================== */

body.npl-woo-product .woocommerce-notices-wrapper{
    position:fixed!important;
    z-index:99990!important;
    top:118px!important;
    right:28px!important;
    width:min(470px,calc(100vw - 40px))!important;
    margin:0!important;
    padding:0!important;
    pointer-events:none!important;
}

body.admin-bar.npl-woo-product .woocommerce-notices-wrapper{
    top:150px!important;
}

body.npl-woo-product .woocommerce-notices-wrapper:empty{
    display:none!important;
}

body.npl-woo-product .woocommerce-message{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
    width:100%!important;
    min-height:66px!important;
    margin:0!important;
    padding:14px 16px 14px 18px!important;
    border:1px solid var(--npl-line)!important;
    border-left:3px solid var(--npl-gold2)!important;
    border-top:1px solid var(--npl-line)!important;
    border-radius:2px!important;
    background:
        radial-gradient(circle at 0% 50%,rgba(28,104,220,.16),transparent 35%),
        #031126!important;
    color:var(--npl-copy)!important;
    font-size:12px!important;
    line-height:1.45em!important;
    box-shadow:0 18px 48px rgba(0,0,0,.42)!important;
    pointer-events:auto!important;
    box-sizing:border-box!important;
}

body.npl-woo-product .woocommerce-message:before{
    color:var(--npl-gold2)!important;
}

body.npl-woo-product .woocommerce-message .button.wc-forward,
body.npl-woo-product .woocommerce-message a.button{
    order:2!important;
    float:none!important;
    flex:0 0 auto!important;
    min-width:105px!important;
    margin:0!important;
    padding:11px 14px!important;
    border:1px solid var(--npl-gold2)!important;
    border-radius:1px!important;
    background:linear-gradient(110deg,#bd8535,#e4b960,#bd8535)!important;
    color:#07101e!important;
    font-size:9px!important;
    line-height:1.2em!important;
    font-weight:800!important;
    letter-spacing:.055em!important;
    text-align:center!important;
    text-transform:uppercase!important;
}

body.npl-woo-product .woocommerce-message .button.wc-forward:hover,
body.npl-woo-product .woocommerce-message a.button:hover{
    filter:brightness(1.08)!important;
    color:#07101e!important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media(max-width:1180px){
    body.npl-woo-checkout .wc-block-checkout{
        grid-template-columns:minmax(0,1fr) 360px!important;
        column-gap:26px!important;
    }

    body.npl-woo-checkout .wc-block-checkout__sidebar{
        width:360px!important;
        max-width:360px!important;
    }
}

@media(max-width:900px){
    body.npl-woo-checkout .wc-block-checkout{
        grid-template-columns:1fr!important;
        grid-template-areas:
            "checkout-main"
            "checkout-sidebar"!important;
        row-gap:24px!important;
    }

    body.npl-woo-checkout .wc-block-checkout__sidebar{
        width:100%!important;
        max-width:none!important;
        position:static!important;
    }

    body.npl-woo-account .woocommerce-Addresses,
    body.npl-woo-account .u-columns.woocommerce-Addresses,
    body.npl-woo-account .col2-set.woocommerce-Addresses{
        grid-template-columns:1fr!important;
    }

    body.npl-woo-account .woocommerce-Addresses > .u-column1,
    body.npl-woo-account .woocommerce-Addresses > .u-column2,
    body.npl-woo-account .woocommerce-Addresses > .col-1,
    body.npl-woo-account .woocommerce-Addresses > .col-2{
        grid-column:1!important;
        grid-row:auto!important;
    }

    body.npl-woo-product .woocommerce-notices-wrapper,
    body.admin-bar.npl-woo-product .woocommerce-notices-wrapper{
        top:auto!important;
        right:15px!important;
        bottom:15px!important;
        width:calc(100vw - 30px)!important;
    }
}

@media(max-width:600px){
    body.npl-woo-checkout .wc-block-components-checkout-step{
        padding:18px 15px!important;
    }

    body.npl-woo-product .woocommerce-message{
        align-items:flex-start!important;
        flex-direction:column!important;
    }

    body.npl-woo-product .woocommerce-message .button.wc-forward,
    body.npl-woo-product .woocommerce-message a.button{
        width:100%!important;
    }

    body.npl-woo-account .woocommerce-MyAccount-content > .woocommerce-info{
        align-items:flex-start!important;
        flex-direction:column!important;
    }
}


/* ==========================================================
   v1.4.0 — CHECKOUT INNER SIDEBAR-LAYOUT FIX
   Cart / Shop / My Account intentionally unchanged.
   ========================================================== */

body.npl-woo-checkout #main-content .container{
    width:92%!important;
    max-width:1360px!important;
}

body.npl-woo-checkout #left-area,
body.npl-woo-checkout article.page,
body.npl-woo-checkout article.type-page,
body.npl-woo-checkout .entry-content,
body.npl-woo-checkout .wp-block-woocommerce-checkout,
body.npl-woo-checkout .wc-block-checkout{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
}

/* WooCommerce actual checkout layout wrapper */
body.npl-woo-checkout .wc-block-checkout .wc-block-components-sidebar-layout,
body.npl-woo-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 390px!important;
    gap:34px!important;
    align-items:start!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
}

body.npl-woo-checkout .wc-block-checkout .wc-block-components-main,
body.npl-woo-checkout .wp-block-woocommerce-checkout .wc-block-components-main{
    grid-column:1!important;
    float:none!important;
    flex:none!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
}

body.npl-woo-checkout .wc-block-checkout .wc-block-components-sidebar,
body.npl-woo-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar{
    grid-column:2!important;
    float:none!important;
    flex:none!important;
    width:390px!important;
    max-width:390px!important;
    min-width:0!important;
    margin:0!important;
    padding:20px!important;
    position:sticky!important;
    top:145px!important;
    align-self:start!important;
    border:1px solid var(--npl-line)!important;
    border-radius:2px!important;
    background:
        radial-gradient(circle at 50% 0%,rgba(24,82,180,.12),transparent 35%),
        rgba(3,20,45,.90)!important;
    box-sizing:border-box!important;
}

/* neutralize older wrapper styling */
body.npl-woo-checkout .wc-block-checkout__sidebar{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    position:static!important;
}

body.npl-woo-checkout .wc-block-components-main > div,
body.npl-woo-checkout .wc-block-components-checkout-step,
body.npl-woo-checkout .wc-block-components-checkout-step__container,
body.npl-woo-checkout .wc-block-components-checkout-step__content,
body.npl-woo-checkout .wc-block-components-address-form{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
}

body.npl-woo-checkout .wc-block-components-checkout-step{
    margin:0 0 18px!important;
    padding:23px 24px 24px!important;
    border:1px solid var(--npl-line)!important;
    border-radius:2px!important;
    background:linear-gradient(180deg,rgba(5,27,58,.72),rgba(3,18,40,.72))!important;
}

body.npl-woo-checkout .wc-block-components-checkout-step__container{
    margin-left:0!important;
    padding-left:0!important;
}

body.npl-woo-checkout .wc-block-components-checkout-step__heading{
    margin:0 0 19px!important;
    padding:0 0 13px!important;
    border-bottom:1px solid var(--npl-line-soft)!important;
}

body.npl-woo-checkout .wc-block-components-checkout-step__title{
    margin:0!important;
    padding:0!important;
    color:var(--npl-cream)!important;
    font-family:Cinzel,Georgia,serif!important;
    font-size:20px!important;
    line-height:1.2em!important;
    font-weight:500!important;
}

body.npl-woo-checkout .wc-block-components-checkout-step__step-number{
    display:none!important;
}

body.npl-woo-checkout .wc-block-components-text-input input,
body.npl-woo-checkout .wc-block-components-combobox-control input,
body.npl-woo-checkout .wc-block-components-select__select,
body.npl-woo-checkout .wc-block-components-address-form select{
    min-height:50px!important;
    border:1px solid rgba(201,145,61,.58)!important;
    border-radius:1px!important;
    background:#020b19!important;
    color:#f4efe6!important;
    box-shadow:none!important;
}

body.npl-woo-checkout .wc-block-components-text-input input:focus,
body.npl-woo-checkout .wc-block-components-combobox-control input:focus,
body.npl-woo-checkout .wc-block-components-select__select:focus,
body.npl-woo-checkout .wc-block-components-address-form select:focus{
    border-color:var(--npl-gold2)!important;
    box-shadow:0 0 0 1px rgba(224,173,85,.18)!important;
}

body.npl-woo-checkout .wc-block-components-text-input label,
body.npl-woo-checkout .wc-block-components-combobox label,
body.npl-woo-checkout .wc-block-components-select label{
    color:#8e9aab!important;
}

body.npl-woo-checkout input:-webkit-autofill,
body.npl-woo-checkout input:-webkit-autofill:hover,
body.npl-woo-checkout input:-webkit-autofill:focus{
    -webkit-text-fill-color:#f4efe6!important;
    -webkit-box-shadow:0 0 0 1000px #020b19 inset!important;
    box-shadow:0 0 0 1000px #020b19 inset!important;
}

/* Fix clipped Zelle label */
body.npl-woo-checkout .wc-block-components-radio-control{
    overflow:visible!important;
    border:1px solid rgba(201,145,61,.58)!important;
    border-radius:2px!important;
    background:#020f22!important;
}

body.npl-woo-checkout .wc-block-components-radio-control__option{
    position:relative!important;
    display:flex!important;
    align-items:flex-start!important;
    min-height:66px!important;
    margin:0!important;
    padding:17px 17px 17px 46px!important;
    background:transparent!important;
    box-sizing:border-box!important;
}

body.npl-woo-checkout .wc-block-components-radio-control__input{
    position:absolute!important;
    top:18px!important;
    left:16px!important;
    width:16px!important;
    height:16px!important;
    margin:0!important;
}

body.npl-woo-checkout .wc-block-components-radio-control__label,
body.npl-woo-checkout .wc-block-components-radio-control__label-group{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    color:var(--npl-cream)!important;
    line-height:1.4em!important;
}

body.npl-woo-checkout .wc-block-components-sidebar .wc-block-components-order-summary{
    overflow:hidden!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    border:1px solid var(--npl-line-soft)!important;
    border-radius:2px!important;
    background:#031126!important;
}

body.npl-woo-checkout .wc-block-components-sidebar .wc-block-components-order-summary__button-text,
body.npl-woo-checkout .wc-block-components-sidebar .wc-block-components-title{
    color:var(--npl-cream)!important;
}

body.npl-woo-checkout .wc-block-components-order-summary-item{
    padding-left:12px!important;
    padding-right:12px!important;
}

body.npl-woo-checkout .wc-block-checkout__actions{
    width:100%!important;
    max-width:none!important;
}

body.npl-woo-checkout .wc-block-components-checkout-place-order-button{
    width:100%!important;
    min-height:56px!important;
    margin-top:14px!important;
    border:1px solid var(--npl-gold2)!important;
    border-radius:1px!important;
    background:linear-gradient(110deg,#bd8535,#e4b960,#bd8535)!important;
    color:#07101e!important;
    font-size:10px!important;
    font-weight:800!important;
    letter-spacing:.065em!important;
    text-transform:uppercase!important;
}

@media(max-width:1080px){
    body.npl-woo-checkout .wc-block-checkout .wc-block-components-sidebar-layout,
    body.npl-woo-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout{
        grid-template-columns:minmax(0,1fr) 340px!important;
        gap:24px!important;
    }

    body.npl-woo-checkout .wc-block-checkout .wc-block-components-sidebar,
    body.npl-woo-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar{
        width:340px!important;
        max-width:340px!important;
    }
}

@media(max-width:850px){
    body.npl-woo-checkout .wc-block-checkout .wc-block-components-sidebar-layout,
    body.npl-woo-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout{
        grid-template-columns:1fr!important;
        gap:22px!important;
    }

    body.npl-woo-checkout .wc-block-checkout .wc-block-components-main,
    body.npl-woo-checkout .wp-block-woocommerce-checkout .wc-block-components-main{
        grid-column:1!important;
        grid-row:1!important;
    }

    body.npl-woo-checkout .wc-block-checkout .wc-block-components-sidebar,
    body.npl-woo-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar{
        grid-column:1!important;
        grid-row:2!important;
        width:100%!important;
        max-width:none!important;
        position:static!important;
    }
}

@media(max-width:600px){
    body.npl-woo-checkout #main-content .container{
        width:92%!important;
    }

    body.npl-woo-checkout .wc-block-components-checkout-step{
        padding:18px 15px!important;
    }

    body.npl-woo-checkout .wc-block-components-checkout-step__title{
        font-size:17px!important;
    }
}


/* ==========================================================
   v1.5.0 — EXACT CHECKOUT BLOCK STRUCTURE FIX
   Based directly on the block markup used on the NPL checkout page.

   Actual structure:
   .wp-block-woocommerce-checkout
      > .wp-block-woocommerce-checkout-fields-block
      > .wp-block-woocommerce-checkout-totals-block
   ========================================================== */


/* ----------------------------------------------------------
   ROOT CHECKOUT BLOCK
   ---------------------------------------------------------- */

body.npl-woo-checkout .wp-block-woocommerce-checkout.alignwide,
body.npl-woo-checkout .wp-block-woocommerce-checkout{
    display:grid!important;

    grid-template-columns:minmax(0,1fr) 390px!important;
    gap:38px!important;

    align-items:start!important;

    width:100%!important;
    max-width:1240px!important;
    min-width:0!important;

    margin:0!important;
    padding:0!important;

    box-sizing:border-box!important;
}


/* Remove any Woo flex pseudo-layout */
body.npl-woo-checkout .wp-block-woocommerce-checkout:before,
body.npl-woo-checkout .wp-block-woocommerce-checkout:after{
    display:none!important;
    content:none!important;
}


/* ----------------------------------------------------------
   LEFT COLUMN — EXACT FIELDS BLOCK
   ---------------------------------------------------------- */

body.npl-woo-checkout
.wp-block-woocommerce-checkout
> .wp-block-woocommerce-checkout-fields-block{

    grid-column:1!important;
    grid-row:1!important;

    display:block!important;

    float:none!important;
    clear:none!important;
    flex:none!important;

    order:1!important;

    width:100%!important;
    max-width:none!important;
    min-width:0!important;

    margin:0!important;
    padding:0!important;

    box-sizing:border-box!important;
}


/* Override runtime class if Woo adds wc-block-checkout__main */
body.npl-woo-checkout
.wp-block-woocommerce-checkout
> .wp-block-woocommerce-checkout-fields-block.wc-block-checkout__main{

    width:100%!important;
    max-width:none!important;
    min-width:0!important;

    margin:0!important;
    padding:0!important;

    flex-basis:auto!important;
}


/* Every checkout section occupies the full left column */
body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
> [class*="wp-block-woocommerce-checkout-"]{

    width:100%!important;
    max-width:none!important;
    min-width:0!important;

    margin-left:0!important;
    margin-right:0!important;

    box-sizing:border-box!important;
}


/* Express payment is empty on NPL — remove its empty footprint */
body.npl-woo-checkout
.wp-block-woocommerce-checkout-express-payment-block:empty{
    display:none!important;
}


/* ----------------------------------------------------------
   RIGHT COLUMN — EXACT TOTALS BLOCK
   ---------------------------------------------------------- */

body.npl-woo-checkout
.wp-block-woocommerce-checkout
> .wp-block-woocommerce-checkout-totals-block{

    grid-column:2!important;
    grid-row:1!important;

    display:block!important;

    float:none!important;
    clear:none!important;
    flex:none!important;

    order:2!important;

    width:390px!important;
    max-width:390px!important;
    min-width:0!important;

    margin:0!important;
    padding:20px!important;

    position:sticky!important;
    top:145px!important;
    align-self:start!important;

    border:1px solid var(--npl-line)!important;
    border-radius:2px!important;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(28,91,192,.13),
            transparent 35%
        ),
        rgba(3,20,45,.92)!important;

    box-sizing:border-box!important;
}


/* Runtime Woo sidebar class must not override direct block sizing */
body.npl-woo-checkout
.wp-block-woocommerce-checkout
> .wp-block-woocommerce-checkout-totals-block.wc-block-checkout__sidebar{

    width:390px!important;
    max-width:390px!important;
    min-width:0!important;

    margin:0!important;
    padding:20px!important;

    position:sticky!important;
    top:145px!important;

    border:1px solid var(--npl-line)!important;
    background:rgba(3,20,45,.92)!important;

    flex-basis:auto!important;
}


/* ----------------------------------------------------------
   CANCEL THE WRONG v1.4 SIDEBAR WRAPPER ASSUMPTION
   ---------------------------------------------------------- */

/*
   If Woo outputs one of these internally, it should no longer
   establish the page's overall 2-column layout. The direct
   fields/totals blocks above are now the authoritative columns.
*/

body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
.wc-block-components-sidebar-layout,

body.npl-woo-checkout
.wp-block-woocommerce-checkout-totals-block
.wc-block-components-sidebar-layout{

    display:block!important;

    width:100%!important;
    max-width:none!important;

    margin:0!important;
    padding:0!important;
}


/* Nested main/sidebar components should fill their parent block */
body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
.wc-block-components-main,

body.npl-woo-checkout
.wp-block-woocommerce-checkout-totals-block
.wc-block-components-sidebar{

    display:block!important;

    float:none!important;
    clear:none!important;

    width:100%!important;
    max-width:none!important;
    min-width:0!important;

    margin:0!important;

    position:static!important;

    box-sizing:border-box!important;
}


/* ----------------------------------------------------------
   LEFT COLUMN VISUAL REFINEMENT
   ---------------------------------------------------------- */

/* Use consistent vertical rhythm */
body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
.wp-block-woocommerce-checkout-contact-information-block,

body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
.wp-block-woocommerce-checkout-shipping-address-block,

body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
.wp-block-woocommerce-checkout-billing-address-block,

body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
.wp-block-woocommerce-checkout-shipping-methods-block,

body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
.wp-block-woocommerce-checkout-payment-block{

    margin:0 0 18px!important;
}


/* Main rendered checkout step panels */
body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
.wc-block-components-checkout-step{

    width:100%!important;
    max-width:none!important;

    margin:0 0 18px!important;
    padding:24px!important;

    border:1px solid var(--npl-line)!important;
    border-radius:2px!important;

    background:
        linear-gradient(
            180deg,
            rgba(5,29,62,.78),
            rgba(3,18,40,.76)
        )!important;

    box-sizing:border-box!important;
}


/* Remove Woo left indentation from the step content */
body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
.wc-block-components-checkout-step__container{

    width:100%!important;
    max-width:none!important;

    margin:0!important;
    padding:0!important;
}


/* Section heading */
body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
.wc-block-components-checkout-step__heading{

    margin:0 0 19px!important;
    padding:0 0 13px!important;

    border-bottom:1px solid var(--npl-line-soft)!important;
}


body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
.wc-block-components-checkout-step__title{

    margin:0!important;

    color:var(--npl-cream)!important;

    font-family:Cinzel,Georgia,serif!important;
    font-size:20px!important;
    line-height:1.25em!important;
    font-weight:500!important;
}


/* ----------------------------------------------------------
   FORM WIDTHS
   ---------------------------------------------------------- */

body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
.wc-block-components-address-form,

body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
.wc-block-components-address-form__address_1,

body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
.wc-block-components-text-input,

body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
.wc-block-components-combobox,

body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
.wc-block-components-select{

    max-width:none!important;
    min-width:0!important;

    box-sizing:border-box!important;
}


/* Dark field design */
body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
.wc-block-components-text-input input,

body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
.wc-block-components-combobox-control input,

body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
.wc-block-components-select__select,

body.npl-woo-checkout
.wp-block-woocommerce-checkout-fields-block
select{

    min-height:50px!important;

    border:1px solid rgba(201,145,61,.58)!important;
    border-radius:1px!important;

    background:#020b19!important;
    color:#f4efe6!important;

    box-shadow:none!important;
}


/* ----------------------------------------------------------
   ZELLE PAYMENT ROW
   ---------------------------------------------------------- */

body.npl-woo-checkout
.wp-block-woocommerce-checkout-payment-block
.wc-block-components-radio-control{

    overflow:visible!important;

    width:100%!important;

    border:1px solid rgba(201,145,61,.58)!important;
    border-radius:2px!important;

    background:#020f22!important;
}


body.npl-woo-checkout
.wp-block-woocommerce-checkout-payment-block
.wc-block-components-radio-control__option{

    position:relative!important;

    display:block!important;

    width:100%!important;
    min-height:82px!important;

    margin:0!important;
    padding:17px 18px 17px 47px!important;

    box-sizing:border-box!important;
}


body.npl-woo-checkout
.wp-block-woocommerce-checkout-payment-block
.wc-block-components-radio-control__input{

    position:absolute!important;

    top:18px!important;
    left:17px!important;

    width:16px!important;
    height:16px!important;

    margin:0!important;
}


body.npl-woo-checkout
.wp-block-woocommerce-checkout-payment-block
.wc-block-components-radio-control__label,

body.npl-woo-checkout
.wp-block-woocommerce-checkout-payment-block
.wc-block-components-radio-control__label-group{

    display:block!important;

    width:100%!important;

    margin:0!important;
    padding:0!important;

    color:var(--npl-cream)!important;

    line-height:1.45em!important;
}


/* ----------------------------------------------------------
   ORDER SUMMARY
   ---------------------------------------------------------- */

body.npl-woo-checkout
.wp-block-woocommerce-checkout-totals-block
> .wp-block-woocommerce-checkout-order-summary-block{

    width:100%!important;
    max-width:none!important;

    margin:0!important;

    border:1px solid var(--npl-line-soft)!important;
    border-radius:2px!important;

    background:#031126!important;

    box-sizing:border-box!important;
}


/* Individual summary children stay full width */
body.npl-woo-checkout
.wp-block-woocommerce-checkout-order-summary-block
> [class*="wp-block-woocommerce-checkout-order-summary-"]{

    width:100%!important;
    max-width:none!important;

    box-sizing:border-box!important;
}


/* ----------------------------------------------------------
   NOTE / TERMS / PLACE ORDER
   ---------------------------------------------------------- */

body.npl-woo-checkout
.wp-block-woocommerce-checkout-order-note-block{

    width:100%!important;

    margin:0 0 18px!important;
    padding:18px 20px!important;

    border:1px solid var(--npl-line)!important;

    background:rgba(3,20,45,.72)!important;

    box-sizing:border-box!important;
}


body.npl-woo-checkout
.wp-block-woocommerce-checkout-actions-block,

body.npl-woo-checkout
.wp-block-woocommerce-checkout-actions-block
.wc-block-checkout__actions{

    width:100%!important;
    max-width:none!important;

    margin:0!important;
}


body.npl-woo-checkout
.wp-block-woocommerce-checkout-actions-block
.wc-block-components-checkout-place-order-button{

    width:100%!important;
    min-height:56px!important;

    border:1px solid var(--npl-gold2)!important;
    border-radius:1px!important;

    background:
        linear-gradient(
            110deg,
            #bd8535,
            #e4b960,
            #bd8535
        )!important;

    color:#07101e!important;

    font-size:10px!important;
    font-weight:800!important;
    letter-spacing:.065em!important;

    text-transform:uppercase!important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media(max-width:1050px){

    body.npl-woo-checkout
    .wp-block-woocommerce-checkout.alignwide,

    body.npl-woo-checkout
    .wp-block-woocommerce-checkout{

        grid-template-columns:minmax(0,1fr) 340px!important;
        gap:25px!important;
    }


    body.npl-woo-checkout
    .wp-block-woocommerce-checkout
    > .wp-block-woocommerce-checkout-totals-block,

    body.npl-woo-checkout
    .wp-block-woocommerce-checkout
    > .wp-block-woocommerce-checkout-totals-block.wc-block-checkout__sidebar{

        width:340px!important;
        max-width:340px!important;
    }
}


@media(max-width:820px){

    body.npl-woo-checkout
    .wp-block-woocommerce-checkout.alignwide,

    body.npl-woo-checkout
    .wp-block-woocommerce-checkout{

        display:grid!important;

        grid-template-columns:1fr!important;

        gap:22px!important;
    }


    body.npl-woo-checkout
    .wp-block-woocommerce-checkout
    > .wp-block-woocommerce-checkout-fields-block{

        grid-column:1!important;
        grid-row:1!important;

        width:100%!important;
    }


    body.npl-woo-checkout
    .wp-block-woocommerce-checkout
    > .wp-block-woocommerce-checkout-totals-block,

    body.npl-woo-checkout
    .wp-block-woocommerce-checkout
    > .wp-block-woocommerce-checkout-totals-block.wc-block-checkout__sidebar{

        grid-column:1!important;
        grid-row:2!important;

        width:100%!important;
        max-width:none!important;

        position:static!important;
    }
}


@media(max-width:600px){

    body.npl-woo-checkout
    .wp-block-woocommerce-checkout-fields-block
    .wc-block-components-checkout-step{

        padding:18px 15px!important;
    }
}
