/****************************
 * Private Style for Woo pages
*****************************/
body.woocommerce-page .site-header {margin-bottom:0 !important;}
body.woocommerce-page .site-content,
body.woocommerce-page .twc-cta-section {background:var(--woo-color-bg); overflow:hidden;}

body.woocommerce-page.list-product .site-content__text ~ .site-footer .twc-cta-section {background:var(--woo-color-bg-white);}


/****************************
 * Misc
*****************************/
.screen-reader-text {display:none;}

/* Product Item > Image > Badge */
.woocommerce .badge {
    position:absolute; top:0; left:0; z-index:2;
    background:var(--twc-color-green); color:#fff;
    min-height:34px; min-width:70px; padding:5px 15px;
    font-size:14px; font-weight:500;
    display:flex; align-items:center; justify-content:center;
    border-radius:10px 0 10px 0;
}
.woocommerce .badge.onsale {}
.woocommerce .badge.outofstock {background:#7d90a5; color:#fff;}

/****************************
 * Columns
*****************************/
/* Columns */
.woocommerce .col2-set {display:flex; flex-wrap:wrap; justify-content:space-between;}
.woocommerce .col2-set > div {width:calc(50% - var(--woo-gap-field));}
@media only screen and (max-width:768px) {
    /* Columns */
    .woocommerce .col2-set > div {width:100%;}
    .woocommerce .col2-set > div:not(:last-child) {margin-bottom:20px;}
}


/****************************
 * Price
*****************************/
.woocommerce .price {display:flex; flex-wrap:wrap; align-items:center; color:var(--woo-color-blue);}
.woocommerce .price,
.woocommerce-Price-amount.amount {font-weight:600;}

/* Price > Price from */
.woocommerce .price .from {margin-right:8px;}

/* Price > Total */
.woocommerce .price .amount {}

/* Price > Price not sale */
.woocommerce .price del {
    text-decoration:none; position:relative; margin-left:15px;
    opacity:.5; order:2; color:var(--woo-color-blue);
}
.woocommerce .price del:before {
    content:""; position:absolute; top:50%; left:50%;
    transform:translate(-50%, -50%);
    width:100%; height:1px; background:var(--woo-color-blue);
}

/* Price > Price */
.woocommerce .price ins {background:none;}

/* Price > Sale percentage */
.woocommerce .price .price__percent {width:100%; order:3;}
.woocommerce .price .price__percent span {
    background:var(--twc-color-primary); color:var(--twc-color-on-primary);
    padding:3px 5px; border-radius:4px; font-size:.8em;
}

/* Price > Sale percentage (inline) */
.woocommerce .shop_table.woocommerce-checkout-review-order-table .price .price__percent {width:auto; margin-left:8px;}
@media only screen and (max-width:767px) {
    .woocommerce .price .price__percent {width:auto; margin-left:8px;}
}


/****************************
 * Quantity
*****************************/
/* Default quantity style for cart page */
.woocommerce .quantity.hidden {display:none !important;}
.woocommerce .quantity {
    display:flex; align-items:center; background:#fff;
    border:var(--woo-border); border-radius:var(--woo-radius);
    height:30px; width:100px; overflow:hidden;
}
.woocommerce .quantity .quantity-button {
    text-decoration:none; width:31%; height:100%; font-size:10px;
    display:flex; align-items:center; justify-content:center;
    color:#000;
}
.woocommerce .quantity .quantity-button:hover {background:var(--twc-color-primary); color:#fff;}
.woocommerce .quantity .qty {
    width:40%; height:100%;
    text-align:center; font-size:16px;
    background:transparent; border-left:var(--woo-border); border-right:var(--woo-border);
}

/* Product quantity > hide number arrows */
.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button {-webkit-appearance:none; margin:0;}
.woocommerce .quantity .qty {-moz-appearance:textfield;}


/****************************
 * Addresses
*****************************/
address {
    font-style:normal; background:var(--woo-color-surface);
    padding:15px; border:var(--woo-border); border-radius:var(--woo-radius);
}
address p:not(:last-child) {margin-bottom:10px;}


/****************************
 * Buttons
*****************************/
.woocommerce .button.alt,
.woocommerce .button.button {
    --btn-bg-color:var(--twc-color-primary); --btn-color:var(--twc-color-on-primary);
    --btn-bg-color-hover:var(--twc-color-dark-blue); --btn-color-hover:var(--twc-color-on-primary);

    display:inline-flex; align-items:center; justify-content:center;
    text-align:center; text-decoration:none; text-transform:uppercase;
    font-family:var(--twc-font-primary); font-weight:600; font-size:var(--twc-size-15);
    line-height:1.2; letter-spacing:0.05em;
    background:var(--btn-bg-color); color:var(--btn-color);
    padding:5px 30px; min-height:56px; border-radius:10px;
}
.woocommerce .button.alt:hover, .woocommerce .button.alt:focus,
.woocommerce .button.button:hover, .woocommerce .button.button:focus {
    text-decoration:none;
    background:var(--btn-bg-color-hover); color:var(--btn-color-hover);
}


/* default permalink in Woo pages */
.woocommerce p > a:not([class]) {text-decoration:underline;}
.woocommerce p > a:not([class]):hover,
.woocommerce p > a:not([class]):focus {color:var(--twc-color-primary);}

/* button not primary style */
.woocommerce .button:not([class*="btn_"]):not(.alt) {
    font-size:var(--woo-field-size); font-family:var(--woo-field-font);
    line-height:1.2;
}
.woocommerce .button:not([class*="btn_"]):not(.alt):hover,
.woocommerce .button:not([class*="btn_"]):not(.alt):focus {
    text-decoration:none;
    background:var(--twc-color-dark-blue); color:var(--twc-color-on-primary);
}

/* button disabled */
.woocommerce .button.disabled {pointer-events:none; opacity:.5; filter:grayscale(1);}