/* ==========================================================
   THE SALTBOX DESIGN SYSTEM
========================================================== */

:root{
    --sb-navy:#1F3A5F;
    --sb-sand:#D6C2A1;
    --sb-white:#F5F3EF;
    --sb-teal:#07B26B;
    --sb-raspberry:#B0327F;
    --sb-text:#2C2C2C;
}

/* ==========================================================
   GLOBAL
========================================================== */

body{
    background:#F8F8F8;
    color:var(--sb-text);
}

/* ==========================================================
   WOOCOMMERCE PRODUCT PAGE
========================================================== */

/* Hide breadcrumbs */
.woocommerce-breadcrumb{
    display:none;
}

/* Hide metadata */
.product_meta{
    display:none;
}

/* Hide related products */
.related.products{
    display:none;
}

/* Hide additional information tab */
li.additional_information_tab{
    display:none;
}

/* Hide quantity selector */
.single-product .quantity{
    display:none;
}

/* Hide WooCommerce tabs */
.woocommerce-tabs{
    display:none;
}



/* ==========================================================
   PRODUCT SUMMARY
========================================================== */

.single-product div.product .summary{

    background:#ffffff;
    border-radius:20px;
    padding:40px;
    box-shadow:0 15px 45px rgba(0,0,0,.08);

}

/* ==========================================================
   VARIATION DROPDOWN
========================================================== */

.single-product .variations{

    width:100%;
    margin:24px 0;

}

.single-product .variations td,
.single-product .variations th{

    display:block;
    width:100%;
    padding:0;
    border:none;

}

.single-product .variations label{

    font-weight:600;
    color:var(--sb-navy);
    margin-bottom:8px;
    display:block;

}

.single-product .variations select{

    width:100%;
    min-height:52px;
    border:2px solid var(--sb-navy);
    border-radius:10px;
    padding:0 16px;
    background:#ffffff;
    font-size:16px;

}

.single-product .variations select:hover{

    border-color:var(--sb-teal);

}

.single-product .variations select:focus{

    outline:none;
    border-color: #318992;
    box-shadow: 0 0 0 4px rgba(0,190,190,0.20);

}

/* ==========================================================
   FOUNDER BUTTON
========================================================== */

.single-product .single_add_to_cart_button{

    width:100%;
    background:#B8934E;
    color:#182230;
    border:none;
    border-radius:12px;
    padding:18px 24px;
    font-size:18px;
    font-weight:700;
    letter-spacing:.5px;
    text-transform:none;
    transition:all .25s ease;

}

.single-product .single_add_to_cart_button:hover:not(:disabled){

    background:#D6C2A1;
    transform:translateY(-2px);
    box-shadow:0 10px 25px rgba(184,147,78,.35);

}

.single-product .single_add_to_cart_button:disabled{

    background:#5b5b5b;
    color:#cccccc;
    transform:none;
    box-shadow:none;

}

.single-product div.product {
    position: relative;
    z-index: 2;
}

.single-product {
    background: #182230;
}

.single-product div.product .summary{

    background:#223146;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 25px 60px rgba(0,0,0,.35);
    border-radius:24px;

}

.single-product .site-main{

    max-width:1200px;
    margin:60px auto;
    padding:0 24px;

}

.single-product .summary h1,
.single-product .summary p,
.single-product .summary label,
.single-product .price,
.single-product .woocommerce-variation-price{
    color:#F5F3EF;
}

.single-product .summary{
    padding:60px;
}

/* Product image + summary layout */
.single-product div.product{

    display:flex;
    align-items:flex-start;
    gap:40px;

}

.single-product div.product .woocommerce-product-gallery{

    flex:0 0 52%;

}

.single-product div.product .summary{

    flex:1;

}

.single-product .single_add_to_cart_button{

    min-height:60px;

}

/* =========================
   HEADER LOGO
========================= */

.site-header .custom-logo{
    width:180px !important;
    max-width:180px !important;
    height:auto !important;
}

.site-header .custom-logo-link{
    display:flex;
    align-items:center;
}

.site-header .site-branding{
    flex:0 0 auto;
}

footer img,
.site-footer img {
    display: none !important;
}

/* Hide navigation bar on single product pages */
.single-product nav,
.single-product .main-navigation,
.single-product .site-navigation,
.single-product #site-navigation {
    display: none !important;
}

/* Change WooCommerce "Become a Founder" button color */
.single-product .single_add_to_cart_button.button {
    background-color: #c58f43 !important; /* Main background color */
    color: #ffffff !important;            /* Text color */
    border-color: #c58f43 !important;        /* Optional border color */
}

/* Change button color when hovered */
.single-product .single_add_to_cart_button.button:hover {
    background-color: #008f6f !important; /* Hover background color */
    color: #ffffff !important;            /* Hover text color */
}

.single-product div.quantity {
    display: none !important;
}

.single-product .stock {
    display: none !important;
}

/* Selected value */
.single-product .variations select {
    color: #F5F3EF !important;
}

.single-product table.variations,
.single-product table.variations tbody,
.single-product table.variations tr,
.single-product table.variations td {
    background: transparent !important;
}

/* Product prices */
.single-product .price,
.single-product .price .woocommerce-Price-amount,
.single-product .price bdi {
    color: #c58f43 !important;
}

.founder-trust {
    margin-top: 36px;
    padding-top: 0;
}

.founder-trust p {
    margin: 12px 0;
    color: #F5F3EF;
    font-size: 15px;
    line-height: 1.5;
}

.founder-trust .trust-small {
    margin-top: 16px;
    font-size: 13px;
    color: rgba(245,243,239,0.75);
}

.founder-trust a {
    color: #41C7C7;
    text-decoration: none;
}

.founder-trust a:hover {
    text-decoration: underline;
}

.single-product .single_add_to_cart_button {
    margin-bottom: 30px !important;
}

/* Disable image zoom animation */
.woocommerce div.product div.images img {
    transform: none !important;
    transition: none !important;
}

.woocommerce div.product div.images:hover img {
    transform: none !important;
}

/* SALTBOX single product mobile optimisation */
@media (min-width: 768px) and (max-width: 900px) {

    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    body.single-product .site-main,
    body.single-product .site-main > *,
    body.single-product .woocommerce,
    body.single-product div.product {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    body.single-product div.product {
        display: block !important;
    }

    body.single-product div.product .woocommerce-product-gallery,
    body.single-product div.product .summary.entry-summary {
        display: block !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box;
    }

    /* Product image */
    body.single-product .woocommerce-product-gallery {
        margin-bottom: 26px !important;
    }

    body.single-product .woocommerce-product-gallery img {
        display: block;
        width: 100% !important;
        height: auto !important;
    }

    /* Main product card */
    body.single-product .summary.entry-summary {
        padding: 28px 24px !important;
        margin-bottom: 30px !important;
        border-radius: 22px;
    }

    /* Product title */
    body.single-product h1.product_title {
        font-size: 42px !important;
        line-height: 1 !important;
        letter-spacing: -1px;
        overflow-wrap: anywhere;
        margin-bottom: 16px !important;
    }

    /* Price */
    body.single-product .summary .price {
        font-size: 21px !important;
        line-height: 1.3;
        margin-bottom: 20px !important;
    }

    /* Description */
    body.single-product .woocommerce-product-details__short-description {
        font-size: 17px;
        line-height: 1.5;
    }

    /* Variations */
    body.single-product form.variations_form,
    body.single-product table.variations,
    body.single-product table.variations tbody,
    body.single-product table.variations tr,
    body.single-product table.variations th,
    body.single-product table.variations td {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    body.single-product table.variations th,
    body.single-product table.variations td {
        display: block;
        padding: 0;
    }

    body.single-product table.variations label {
        display: block;
        margin-bottom: 8px;
    }

    body.single-product table.variations select {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 52px;
        font-size: 16px;
        padding: 0 14px;
    }

    /* Purchase button */
    body.single-product .single_add_to_cart_button {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 54px;
        margin: 14px 0 0 !important;
        padding: 15px 18px !important;
        font-size: 16px !important;
        box-sizing: border-box;
    }

    /* Express checkout */
    body.single-product #wc-stripe-express-checkout-element,
    body.single-product .wc-stripe-product-checkout-container {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
}

/* SALTBOX mobile product-page polish */
@media (max-width: 767px) {
    
/* Stack image above product card */
body.single-product div.product {
    display: block !important;
}

body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product .summary.entry-summary {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

    /* Reduce header-to-content gap */
    body.single-product .site-header {
        min-height: auto !important;
        padding-bottom: 20px !important;
    }

    body.single-product .site-main {
        padding-top: 0 !important;
    }

    body.single-product .founder-back-link {
        margin-top: 0 !important;
        margin-bottom: 18px !important;
    }

    /* Product image */
    body.single-product .woocommerce-product-gallery {
        width: 94% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-bottom: 30px !important;
    }

    body.single-product .woocommerce-product-gallery img {
        border-radius: 10px;
    }

    /* Product card */
    body.single-product .summary.entry-summary {
        padding: 28px 26px !important;
    }

    body.single-product h1.product_title {
        font-size: 40px !important;
        line-height: 0.98 !important;
        margin-bottom: 18px !important;
    }

    /* Selected variation price */
    body.single-product .woocommerce-variation-price {
        margin: 14px 0 22px !important;
    }

    body.single-product .woocommerce-variation-price .price {
        font-size: 25px !important;
        font-weight: 600;
    }

    /* Main button spacing */
    body.single-product .single_add_to_cart_button {
        margin-bottom: 22px !important;
    }

    /* Trust content */
    body.single-product .founder-trust {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    body.single-product .founder-trust p {
        margin: 0 0 16px !important;
        font-size: 16px !important;
        line-height: 1.45 !important;
    }

    body.single-product .founder-trust p:last-child {
        margin-bottom: 0 !important;
    }

    /* Express checkout */
    body.single-product #wc-stripe-express-checkout-element,
    body.single-product .wc-stripe-product-checkout-container {
        margin-top: 30px !important;
    }

    /* Footer */
    body.single-product footer,
    body.single-product .site-footer {
        padding-top: 28px !important;
        padding-bottom: 35px !important;
    }

    body.single-product .site-footer p,
    body.single-product .site-footer .copyright {
        margin-top: 28px !important;
    }
}

/* Hide mobile menu on WooCommerce product pages */
.single-product .elementor-menu-toggle,
.single-product .menu-toggle,
.single-product .site-navigation-toggle,
.single-product .hamburger {
    display: none !important;
}

/* SALTBOX tablet optimisation */
@media (min-width: 768px) and (max-width: 1100px) {

    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    body.single-product .site-main,
    body.single-product .woocommerce,
    body.single-product div.product {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    /* Stack gallery and product card */
    body.single-product div.product {
        display: block !important;
    }

    body.single-product div.product .woocommerce-product-gallery,
    body.single-product div.product .summary.entry-summary {
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 760px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box;
    }

    /* Back link */
    body.single-product .founder-back-link {
        display: block;
        max-width: 760px;
        margin: 0 auto 24px !important;
        font-size: 18px;
    }

    /* Product image */
    body.single-product .woocommerce-product-gallery {
        margin-bottom: 36px !important;
    }

    body.single-product .woocommerce-product-gallery img {
        display: block;
        width: 100% !important;
        height: auto !important;
        border-radius: 12px;
    }

    /* Product card */
    body.single-product .summary.entry-summary {
        padding: 44px 48px !important;
        border-radius: 28px;
        margin-bottom: 40px !important;
    }

    /* Product title */
    body.single-product h1.product_title {
        font-size: 58px !important;
        line-height: 0.98 !important;
        letter-spacing: -1.5px;
        overflow-wrap: normal;
        word-break: normal;
        margin-bottom: 22px !important;
    }

    /* Price */
    body.single-product .summary .price {
        font-size: 28px !important;
        margin-bottom: 28px !important;
    }

    /* Description */
    body.single-product .woocommerce-product-details__short-description {
        font-size: 20px !important;
        line-height: 1.5;
    }

    /* Variations */
    body.single-product table.variations,
    body.single-product table.variations tbody,
    body.single-product table.variations tr,
    body.single-product table.variations th,
    body.single-product table.variations td {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    body.single-product table.variations th,
    body.single-product table.variations td {
        display: block;
        padding: 0;
    }

    body.single-product table.variations label {
        display: block;
        margin-bottom: 10px;
        font-size: 18px;
    }

    body.single-product table.variations select {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 58px;
        font-size: 18px;
        padding: 0 16px;
    }

    /* Purchase button */
    body.single-product .single_add_to_cart_button {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 60px;
        margin: 20px 0 26px !important;
        font-size: 18px !important;
        box-sizing: border-box;
    }

    /* Trust section */
    body.single-product .founder-trust p {
        font-size: 18px !important;
        line-height: 1.5;
        margin-bottom: 18px !important;
    }

    /* Apple Pay / Google Pay */
    body.single-product #wc-stripe-express-checkout-element,
    body.single-product .wc-stripe-product-checkout-container {
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 32px !important;
        box-sizing: border-box;
    }
}

/* Landscape tablet title fix */
@media (min-width: 901px) and (max-width: 1180px) {

    body.single-product h1.product_title {
        font-size: 54px !important;
        line-height: 0.95 !important;
        letter-spacing: -1.5px !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    body.single-product .summary.entry-summary {
        padding: 42px 34px !important;
    }
}

.woocommerce-cart .site-main,
.woocommerce-checkout .site-main {
    max-width: 1200px;
    margin: 60px auto;
    padding: 0 30px;
}

.woocommerce-cart h1.entry-title {
    font-size: 64px;
    line-height: 1.1;
    max-width: 750px;
    margin-bottom: 20px;
}

@media (max-width: 768px){
    .woocommerce-cart h1.entry-title{
        font-size:42px;
    }
}

/* ==========================================================
   CHECKOUT - FORCE ALL TEXT WHITE
========================================================== */

/* Express Checkout */
.wc-block-components-express-payment__text,
.wc-block-components-express-payment__event-text,
.wc-block-components-express-payment {
    color:#F5F3EF !important;
}

/* Order Summary */
.wc-block-components-order-summary,
.wc-block-components-order-summary *{
    color:#F5F3EF !important;
}

/* Billing Address */
.wc-block-components-address-form,
.wc-block-components-address-form *,
.wc-block-components-address-card,
.wc-block-components-address-card *{
    color:#F5F3EF !important;
}

/* Edit button */
.wc-block-components-address-card__edit,
.wc-block-components-address-card__edit button,
.wc-block-components-button{
    color:#07B26B !important;
}

/* Card labels */
.wc-block-components-payment-method-label,
.wc-block-components-payment-method-icons,
.wc-block-components-payment-method *{
    color:#F5F3EF !important;
}

/* Payment fields */
.wc-block-components-text-input input,
.wc-block-components-text-input select,
.wc-block-components-text-input textarea{
    color:#F5F3EF !important;
    background:#243246 !important;
}

.wc-block-components-address-form__country select,
.wc-block-components-combobox-control,
.components-input-control__container {
    background: #2B3A52 !important;
    color: #F5F3EF !important;
}