/*
 Theme Name:   Creavi
 Theme URI:    https://example.com/
 Description:  Child theme for Hello Elementor, no default header/footer
 Author:       Your Name
 Template:     hello-elementor
 Version:      1.0.0
 Text Domain:  hello-elementor-child
*/

:root {
  --brand-orange: #F39659;
  --brand-background: #F7EDE2;
  --brand-hover-accent: #D85C13;
  --brand-dark-brown: #503629;
  --brand-light-brown:#C1A191;
  --brand-middle-brown:#896e61;
  --page-background: #fbf7f4;
}


/* ===========================
   FLAMA FONT FAMILY
   =========================== */


/* --- Core Flama Weights --- */
@font-face {
  font-family: 'Flama';
  src: url('../hello-elementor-child/assets/fonts/flama/Flama-Thin.otf') format('opentype');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Flama';
  src: url('../hello-elementor-child/assets/fonts/flama/Flama-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Flama';
  src: url('../hello-elementor-child/assets/fonts/flama/Flama-Basic.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Flama';
  src: url('../hello-elementor-child/assets/fonts/flama/Flama-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* --- Semicondensed Variants --- */

@font-face {
  font-family: 'Flama Semicondensed';
  src: url('../hello-elementor-child/assets/fonts/flama/FlamaSemicondensed-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* Alias to normalize font name for Elementor */
@font-face {
  font-family: "The-Seasons";
  src: local("the-seasons"), local("The Seasons"), local("The-Seasons");
  font-weight: 400;
  font-style: normal;
}



@media (min-width: 1200px) {
    .page-header .entry-title, .site-footer .footer-inner, .site-footer:not(.dynamic-footer), .site-header .header-inner, .site-header:not(.dynamic-header), body:not([class*=elementor-page-]) .site-main {
        max-width: 1300px !important;
    }
}


/* Contact Form 7  */

/* Inputs and textarea */
p, body, .entry-title, .woocommerce h1, .woocommerce h2{
  font-family: "Flama", sans-serif;
}

a{
   font-family: "Flama", sans-serif;
   text-decoration: none;
   color: var(--brand-dark-brown);
}

a:hover{
  color:var(--brand-light-brown);
}

.creavi-readmore b, .creavi-readmore strong,
.woocommerce-tabs b, .woocommerce-tabs strong{
    font-weight: bold !important;
}

.wpcf7-form input[type="email"],
.wpcf7-form input[type="text"],
.wpcf7-form textarea,
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="text"],
.woocommerce-checkout textarea,
.woocommerce form .form-row .input-text,
.cbs-wc-login-form input[type="email"], 
.cbs-wc-login-form input[type="password"]
{
  width: 100%;
  padding: 14px 18px;
  border: none;
  border-radius: 15px;
  box-shadow: none;
  font-size: 16px;
  background: #fff; 
  margin-bottom: 10px;
  transition: box-shadow 0.2s ease;
}

.wpcf7-form input:focus,
.wpcf7-form textarea:focus, 
.cbs-wc-login-form input:focus{
  outline: none;
  box-shadow: inset 0 0 0 2px var(--brand-orange);
}


/* Submit button */
.wpcf7-form input[type="submit"], 
.woocommerce .cbs-wc-login-form button, 
.woocommerce button.button{
  display: block;
  width: 100%;
  padding: 14px;
  background: var(--brand-orange);
  border: none;
  border-radius: 30px;
  font-size: 18px;
  font-weight: 400;
  color: #fff;
  cursor: pointer;
  transition: background 0.5s ease, transform 0.3s ease;
}

.wpcf7-form input[type="submit"]:hover,
.woocommerce .cbs-wc-login-form button:hover,
.woocommerce button.button:hover{
  background: var(--brand-hover-accent);
  color: #fff;  
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
    border-top-color: var(--brand-orange);
    background: transparent;
    color: var(--brand-dark-brown);
    outline: none;
    box-shadow: none;
}

.woocommerce-message::before, 
.woocommerce-info::before,
.woocommerce-error::before{
   color: var(--brand-orange);
}


/* Match ILEE input styling for Select2 dropdowns */
.woocommerce-checkout .select2-container--default .select2-selection--single,
.woocommerce form .form-row select,
.woocommerce-page form .form-row select {
  width: 100% !important;
  padding: 8px 18px;
  border: none;
  border-radius: 15px;
  font-size: 16px;
  background: #fff;
  margin-bottom: 10px;
  box-shadow: none;
  height: auto;
  line-height: 1.4;
  transition: box-shadow 0.2s ease;
}

/* Text color inside the select */
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--brand-dark-brown, #3b2b21);
  line-height: normal;
  padding-left: 0;
  font-size: 16px;
}

/* Remove default borders from Select2 arrow container */
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100%;
  right: 14px;
}

/* Focus state (same as inputs) */
.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce form .form-row select:focus,
.woocommerce-page form .form-row select:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--brand-orange);
}

/* Open dropdown highlight */
.select2-container--open .select2-selection {
  box-shadow: inset 0 0 0 2px var(--brand-orange);
}

/* Dropdown styling */
.select2-container--default .select2-dropdown {
  border-radius: 15px;
  border: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

/* Dropdown items */
.select2-container--default .select2-results__option {
  padding: 10px 16px;
  font-size: 16px;
  color: var(--brand-dark-brown, #3b2b21);
  transition: background 0.2s ease;
}

.select2-container--default .select2-results__option--highlighted {
  background-color: var(--brand-orange, #e9772c);
  color: #fff;
}


/* Prevent Select2 and WooCommerce selects from causing horizontal scroll */
.select2-container {
  max-width: 100% !important;
  box-sizing: border-box;
}

/* Contain dropdowns inside viewport */
.select2-container .select2-dropdown {
  max-width: 100vw;
  overflow-x: hidden;
}

/* Force proper layout within form rows */
.woocommerce form .form-row,
.woocommerce-page form .form-row {
  overflow: hidden;
  width: 100%;
}

/* Optional: fix Safari/Chrome horizontal overflow edge case */
body {
  overflow-x: hidden;
}

.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected]{
  background-color: var(--brand-orange) !important;
}


/* Error / success messages */
.wpcf7-response-output {
  margin-top: 15px;
  padding: 10px 15px;
  border-radius: 8px;
  font-size: 14px;
}

.wpcf7-not-valid-tip {
  color: var(--brand-orange);
  font-size: 13px;
  margin-top: -10px;
  margin-bottom: 10px;
}

/* buttons */
/*
.button-orange {
  position: relative;
  display: inline-block;   
  color: var(--brand-orange);
  border: 2px solid var(--brand-orange);
  border-radius: 30px;
  background: transparent;
  cursor: pointer;
  overflow: hidden;
  transition: all 0.4s ease;
  z-index: 1;
}


.button-orange::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;  
  width: 100%;
  height: 100%;
  background-color: var(--brand-orange);
  border-radius: inherit;
  z-index: -1;
  transition: all 0.5s ease-in;
}


.button-orange:hover::after {
  left: -3px;
  width: 102%;
  border-radius: 19px;
}


.button-orange:hover {
  color: #fff;  
}


*/

.fish-draw img,
.fish-draw svg {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInReveal 2s ease forwards;
}

@keyframes fadeInReveal {
  0%   { opacity: 0; filter: blur(6px); transform: translateY(20px); }
  100% { opacity: 1; filter: blur(0);   transform: translateY(0); }
}

/* ==============================
   GLOBAL FLAMA FONT FOR WOO ELEMENTS
   ============================== */

/* Apply Flama to all WooCommerce elements site-wide */
body.woocommerce,
body.woocommerce-page,
body.woocommerce-cart,
body.woocommerce-checkout,
.woocommerce,
.woocommerce-page {
  font-family: "Flama" sans-serif !important;
}

/* Ensure key cart elements also use Flama explicitly */
.woocommerce-cart .shop_table,
.woocommerce-cart .cart_totals,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .checkout-button,
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .product-name a,
.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal,
.woocommerce-cart .product-quantity,
.woocommerce-cart .coupon input,
.woocommerce-cart button,
.woocommerce-cart .button {
  font-family: "Flama" sans-serif !important;
}


/* =====================
   Branded Buttons (self-contained)
   ===================== */

/* Base button */
.branded-btn {
  position: relative;
  display: inline-block;
  padding: 8px 23px;  
  background: transparent;
  border-radius: 25px;
  border: 3px solid currentColor;
  cursor: pointer;
  overflow: hidden;
  transition: color 0.3s ease;
  z-index: 1;
}

/* Sliding fill */
.branded-btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: currentColor;  
  z-index: -1;
  transition: all 0.4s ease-in;
}

/* On hover: fill slides in */
.branded-btn:hover::after {
  left: -3px;
  width: 103%;
  border-radius: inherit;
}

/* =====================
   Color Variants
   ===================== */

/* Orange */
.branded-btn--orange {
  color: var(--brand-orange);
  border-color: var(--brand-orange);
}
.branded-btn--orange::after {
  background-color: var(--brand-orange);
}
.branded-btn--orange:hover {
  color: #fff;
}

/* Brown */
.branded-btn--brown {
  color: var(--brand-light-brown);
  border-color: var(--brand-light-brown);
}
.branded-btn--brown::after {
  background-color: var(--brand-light-brown);
}
.branded-btn--brown:hover, .branded-btn--brown:hover span{
  color: #fff;
}

/* White */
.branded-btn--white {
  color: #fff;
  border-color: #fff;
}
.branded-btn--white::after {
  background-color: #fff;
}
.branded-btn--white:hover, .branded-btn--white:hover span{
  color: var(--brand-dark-brown); /* switch text to dark for contrast */
}

/* White button variant */
.branded-btn--white .elementor-button {
  color: #fff;
  border: 2px solid #fff;
  border-radius: 25px;
  background: transparent;
  position: relative;
  overflow: hidden;
  transition: color 0.4s ease;
  z-index: 9;
}

/* Sliding fill */
.branded-btn--white .elementor-button::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: #fff;  
  z-index: -1;
  transition: all 0.5s ease-in;
}

/* On hover → fill slides in */
.branded-btn--white .elementor-button:hover::after {
  left: -3px;
  width: 103%;
}

/* On hover → text becomes black */
.branded-btn--white .elementor-button:hover {
  color: var(--brand-dark-brown) !important;
}


/* end buttons */


/* Wrapper */
.cart-holder {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-right: 10px; /* spacing from other menu items */
}

/* Cart icon link */
.cart-holder .cart {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  cursor: pointer;
}

.cart-holder .cart img {
  width: 60px;
  height: auto;
  display: block;
  max-width: none;
}

/* Counter badge */
.cart-holder .cart-counter {
  position: absolute;
  top: 27px;
  right: 21px;    
  font-size: 12px;
  font-weight: bold;
  border-radius: 50%;
  min-width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-family: "Flama", sans-serif;
  font-style: normal;
  font-weight: 400;
}

/* Dropdown (hidden by default) */
.submenu_cart {
  display: none; /* will toggle via JS */
  position: absolute;
  top: 120%;
  right: 0;
  width: 400px;
  background: #fbf7f4;  
  border-radius: 15px;  
  z-index: 999;
  animation: dropdownFade 0.3s ease;
  flex-direction: column;
  padding-bottom: 20px; 
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

body.woocommerce-cart .submenu_cart,
body.woocommerce-checkout .submenu_cart {
    display: none !important;
}


@media (max-width: 767px) {
    .submenu_cart {       
        right: 0;
        max-width: 400px;
        top: calc(100% + 10px);       
        max-height: 70vh;                  
    }   
}


/* Dropdown animation */
@keyframes dropdownFade {
  from { opacity: 0; transform: translateY(-10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Cart header */

.cbs-login-account-btn {
    background-color: var(--brand-orange);
    font-family: "Flama Semicondensed", Sans-serif;
    font-weight: 400;
    fill: #FFFFFF;
    color: #FFFFFF !important;
    border-radius: 25px;
    padding: 8px 24px;
    display: inline-flex;
    align-items: center;
}

.cbs-login-account-btn:hover {
    background: var(--brand-hover-accent);
}

/* Hide account button on mobile when logged in */
@media (max-width: 767px) {    
    .cbs-login-account-btn.is-logged-in {
        display: none !important;
    }
}



/* Hide icon on desktop, show text */
.cbs-login-button-icon {
    display: none;
}

/* For mobile + tablet */
@media (max-width: 1024px) {

    /* Hide text button on small screens */
    .cbs-login-button-text {
        display: none !important;
    }

    /* Show icon version */
    .cbs-login-button-icon {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
    }

    /* Turn button into clean circular icon */
    .cbs-login-account-btn {
        padding: 0 !important;
        display: flex;              
        background: transparent;
        margin-right: 10px;
    }
}

/* Icon graphics */
.cbs-login-icon,
.cbs-account-icon {
    width: 34px;
    height: 34px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
}

/* Guest = LOGIN icon */
.cbs-login-icon {
    background-image: url('../hello-elementor-child/images/profile-icon-login-spquare.png');
}

/* Logged-in = ACCOUNT icon */
.cbs-account-icon {    
    background-image: url('../hello-elementor-child/images/mobile_profile_icon.png');
}

li.menu-item.ehf-mobile-profile {
    display: none;
}


@media (max-width: 767px) {
    li.menu-item.ehf-mobile-profile {
        display: block;
    }

    /* Style the profile icon (your image or circle) */
    .ehf-mobile-profile-icon {
        width: 32px;
        height: 32px;
        display: inline-block;        
        background-image: url('../hello-elementor-child/images/mobile_profile_icon.png');
        background-size: contain;
        background-repeat: no-repeat;
        margin-right: 8px;
        vertical-align: middle;
    }
}



.cart_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;  
  border-radius: 15px 15px 0 0;
}

.cart_heading_title {
  font-size: 14px;
  font-weight: 600;
  margin: 0;
  color: var(--brand-dark-brown);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

a.cart:hover{
  color: var(--brand-orange) !important;
}

/* Close button */
.close-bar {
  cursor: pointer;
}

.close-bar .clb-close {  
  border-radius: 50%;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}

.close-bar .clb-close:hover {
  background: var(--brand-orange);
  color: #fff;
}

.btn-round {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%; 
  cursor: pointer;
  transition: background 0.3s ease, transform 0.2s ease;
}

.btn-round:hover {
  background: var(--brand-dark-brown);
  transform: scale(1.05);
}

.close-icon {
  width: 14px;
  height: 14px;
  stroke: var(--brand-dark-brown);
  stroke-width: 2;
  stroke-linecap: round;
  transition: stroke 0.3s ease;
}

.btn-round:hover .close-icon {
  stroke: #fff;
}


/* Cart content */
.widget_shopping_cart_content {
  padding: 16px;
  max-height: 400px;
  
}


/* Close button */
.close-bar .clb-close {  
  border-radius: 50%;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease;
}

.close-bar .clb-close:hover {
  background: var(--brand-orange);
  color: #fff;
}

/* Mini cart items */
.woocommerce-mini-cart {
  list-style: none;
  margin: 0;
  padding: 12px 0;
}

.woocommerce-mini-cart-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 18px;  
  justify-content: flex-start;  
  position: relative;
}

.cbs-mini-cart-subtotal{    
    position: absolute;
    bottom: 0;
    left: 114px;
}

.woocommerce-cart-form__cart-item .cbs-mini-cart-subtotal{
  display:none;
}

.woocommerce-mini-cart-item:last-child {
  border-bottom: none;
}



/* Product image */
.mini-cart-image {
  flex: 0 0 60px;
}
.mini-cart-image img {
  width: 60px;
  height: auto;
  border-radius: 8px;  
}

/* Product description */
.mini-cart-description {
  flex: 1;
}
.mini-cart-item-title a {
  font-size: 14px;
  font-weight: 500;
  color: var(--brand-dark-brown);
  text-decoration: none;
  line-height: 1.4;
}

.woocommerce-mini-cart-item > a:not(.remove) {
  flex: 1;
  display: flex !important;
  align-items: center;
  gap: 10px;
  text-align: left;
}

.mini-cart-item-title a:hover {
  color: var(--brand-orange);
}

.mini-cart-price {
  font-size: 14px;
  font-weight: 600;
  color: var(--brand-dark-brown);
  margin-top: 4px;
}

/* Price (right side) */
.woocommerce-mini-cart-item .quantity {
  flex-shrink: 0;
  text-align: right;
  font-size: 14px;
  color: var(--brand-dark-brown);
  font-weight: 500;
}

.woocommerce div.product form.cart div.quantity{
  margin: 0 12px 0 0;
}

.cbs-mini-cart-block {
    margin: 8px 0 0;
    display: block;
}

.cbs-mini-cart-package-info {
    font-size: 13px;
    margin-bottom: 5px;
    color: #555;
}

.cbs-mini-cart-qty .qty {
    width: 60px !important;
}

.cbs-mini-cart-price {
    display: block;
    margin-top: 6px;
    font-size: 14px;
}


/* Subtotal */
.woocommerce-mini-cart__total {
  padding: 14px 18px;
  font-size: 15px;
  font-weight: 600;
  text-align: right; 
  color: var(--brand-dark-brown);
  margin-bottom: 0;
}

/* Buttons */
.woocommerce-mini-cart__buttons {
  display: flex;
  gap: 10px;
  padding: 14px 18px;  
}

.woocommerce-mini-cart__buttons .button {
  flex: 1;
  border-radius: 25px;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
  transition: all 0.3s ease;
}

/* View cart button */
.woocommerce-mini-cart__buttons .button.wc-forward {
  background: transparent;
  border: 2px solid var(--brand-dark-brown);
  color: var(--brand-dark-brown);
  font-weight: 400;
  text-transform: capitalize;
}

.woocommerce-mini-cart__buttons .button.wc-forward:hover {
  background: var(--brand-dark-brown);
  color: #fff;
}

/* Checkout button */
.woocommerce-mini-cart__buttons .button.checkout {
  background: var(--brand-orange);
  border: 2px solid var(--brand-orange);
  color: #fff;
}
.woocommerce-mini-cart__buttons .button.checkout:hover {
  background: var(--brand-hover-accent);
  border-color: var(--brand-hover-accent);
}

.widget_shopping_cart_content .mini_cart_item img {    
    max-width: 70px;    
    vertical-align: top;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button{
  border-radius: 25px;
  font-weight: 600;
}

/* Make the whole mini-cart flexible */

/* Scrollable content (product list) */
.widget_shopping_cart_content {
  flex: 1;    
}

.woocommerce-mini-cart.cart_list.product_list_widget{
  overflow-y: auto;
  max-height: 280px;
} 

/* === Sticky bottom section (subtotal + buttons) === */
.cart-footer-sticky {
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;  
  z-index: 20;
  padding: 15px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Subtotal line */
.cart-footer-sticky .woocommerce-mini-cart__total {
  display: flex;
  justify-content: space-between;
  font-size: 15px;
  font-weight: 500;
  margin: 0;
}

/* Buttons block */
.cart-footer-sticky .woocommerce-mini-cart__buttons {
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.cart-footer-sticky .woocommerce-mini-cart__buttons .button {
  flex: 1;
  text-align: center;
  padding: 12px 0;
  border-radius: 30px;
  font-weight: 500;
  transition: all 0.3s ease;
}

/* Accent colors */
.cart-footer-sticky .button.wc-forward {
  background: var(--brand-dark-brown);
  color: #fff;
}

.cart-footer-sticky .button.checkout {
  background: var(--brand-hover-accent);
  color: #fff;
}

.cart-footer-sticky .button:hover {
  opacity: 0.9;
  transform: translateY(-2px);
}

/* Optional: stack vertically on mobile */
@media (max-width: 480px) {
  .cart-footer-sticky .woocommerce-mini-cart__buttons {
    flex-direction: column;
  }
}

.woocommerce ul.cart_list li img, .woocommerce ul.product_list_widget li img {
    float: unset; 
    margin-left: 0px; 
    width: unset;
    height: auto; 
}

 .widget_shopping_cart_content a.remove {
   
    font-size: unset;
    height: unset;
    width: unset;
    text-align: left; 
    line-height: 1; 
    border-radius: unset;
    color: var(--brand-dark-brown) !important;
    font-weight: unset;     
}

.widget_shopping_cart_content a.remove:hover {
    color: var(--brand-dark-brown) !important;
    background: unset;
}

.widget_shopping_cart_content ul.cart_list li a, .woocommerce ul.product_list_widget li a{
  font-weight: 600;
  color: var(--brand-dark-brown);
}

/* --- Product Grid Layout --- */



ul.products li.product {    
    box-shadow: none;
    border: none;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* --- Product Image --- */
ul.products li.product img {
    height: auto;
    max-width: 100%;
    background: var(--brand-background); /* light beige background */    
    margin: 0 !important;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}

/* --- Title --- */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 18px;
    font-weight: 500;
    text-transform: none;
    margin: 0 !important;
    min-height: 116px;
    font-family: "Flama", sans-serif;
    text-align: center;
    background: var(--brand-background); 
    border-bottom-right-radius: 15px;
    border-bottom-left-radius: 15px;
    padding-bottom: 20px !important;
}
.cbs-ml-inside{
  font-size: 12px;
  font-weight: 300;
}

.title-main{
  font-weight:800;  
  text-transform: uppercase;
  padding: 0 5px;
}

.title-sub{
  font-weight: 100;
  text-transform: uppercase;
}

.woocommerce-loop-product__title .package-info{
  font-size: 12px;
  font-weight: 300;
}

/* --- Subtext (pcs per box) --- */
ul.products li.product .woocommerce-loop-product__title::after {
    content: attr(title);
    display: block;
    font-size: 13px;
    color: var(--brand-dark-brown);
    font-weight: 400;
}

/* --- Price --- */
.woocommerce ul.products li.product .price {
    color: var(--brand-orange); /* orange */
    font-size: 18px;
    font-weight: 700;
    margin: 5px 0;
    font-family: "Flama", sans-serif;    
}

.woocommerce ul.products li.product .price .price-label{
  color: var(--brand-middle-brown);
  font-size: 12px;
  font-weight: 300;
}

/* --- Volume info (ml, etc.) --- */



/* --- Pagination Wrapper --- */
.woocommerce nav.woocommerce-pagination {
    margin: 40px auto;
    text-align: center;
}

/* --- Pagination List --- */
.woocommerce nav.woocommerce-pagination ul.page-numbers {
    display: inline-flex;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
    border: none;
}

/* --- Pagination Items --- */
.woocommerce nav.woocommerce-pagination ul.page-numbers li {
    margin: 0;
    border: none;
}

/* --- Default Page Links --- */
.woocommerce nav.woocommerce-pagination ul.page-numbers li a,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

/* --- Normal Pages --- */
.woocommerce nav.woocommerce-pagination ul.page-numbers li a {
    background: var(--brand-background); /* light beige */
    color: var(--brand-dark-brown);    
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li a:hover {
    background: var(--brand-orange); /* orange accent */
    color: #fff;
    border-color: var(--brand-orange);
}

/* --- Current Page --- */
.woocommerce nav.woocommerce-pagination ul.page-numbers li .current {
    background: var(--brand-orange);
    color: #fff;
    border: 1px solid var(--brand-orange);
}

/* --- Next/Prev Arrows --- */
.woocommerce nav.woocommerce-pagination ul.page-numbers li .next,
.woocommerce nav.woocommerce-pagination ul.page-numbers li .prev {
    font-size: 18px;
    line-height: 1;
}

.jquery-ripples { position: relative; overflow: hidden; background-position: center; }
.jquery-ripples canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; }
.jquery-ripples > * { position: relative; z-index: 2; }



/* Category list wrapper */
.ilee-categories ul.product-cats {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Sidebar (set how far the text is indented from the left edge) */
.ilee-categories {
  --cat-left: 30px;             
  padding-left: var(--cat-left);  
  margin-left: -20px;
  margin-right: 20px;
  position: sticky;
  top: 100px;                
  align-self: flex-start;    
}

/* List reset */
.ilee-categories ul.product-cats { margin: 0; padding: 0; list-style: none; }
.ilee-categories li { 
  margin: 12px 0;
  text-align: left;
 }

/* Link + underline */
.ilee-categories li a {
  position: relative;  
  padding-bottom: 4px;
  font-size: 18px;
  color: var(--brand-dark-brown);
  font-weight: 400;
  text-decoration: none;
  transition: 0.3s ease;
  font-family: "Flama", sans-serif;
}

.ilee-categories li.active a{
  color:var(--brand-orange);
}


.ilee-categories li a:hover{
  color: var(--brand-dark-brown);
}


/* === Mobile (≤768px): horizontal scroll bar === */
@media (max-width: 768px) {
    .ilee-shop-layout {
        flex-direction: column;
    }

    .ilee-categories {
        flex: unset !important;
        width: 100%;
        margin-bottom: 10px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;        
        position: relative;
        top:0;
    }

    .product-cats {
        display: flex;
        flex-wrap: nowrap;
        gap: 24px;
        padding: 0 16px 6px;
        margin: 0;
        justify-content: flex-start;
        overflow-x: auto;
        scrollbar-width: none; /* hide scrollbar (Firefox) */
        justify-content: center;
    }

    .product-cats::-webkit-scrollbar {
        display: none; /* hide scrollbar (Chrome/Safari) */
    }

    .product-cats li {
        margin: 0;
        flex: 0 0 auto;
        position: relative;
    }

    .product-cats li a {
        display: inline-block;
       
    }
 
   
}


/* product-meta */

.product-meta-row {
  margin-top: 7px;
  text-align: center;
}

.product-meta-row.only-price {
  justify-content: flex-end; /* 🔑 align price to the right if no subheader */
}

.product-meta-row .product-subheader {
  font-size: 12px;
  color: var(--brand-middle-brown);
  font-weight: 300;
}

.product-meta-row .price {
  font-size: 16px;
  font-weight: 600;
  color: var(--brand-orange);
}


.product-cart-row { 
  margin-top: 10px;
  text-align: center;
}

.product-cart-row .quantity {             
  flex: 1;
}

.input-text.qty{
  border: none;
  background-color: var(--brand-background);
  transition: box-shadow 0.2s ease;
  border-radius: 5px;
}


/* Remove default browser arrows */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"] {
  -moz-appearance: textfield; /* Firefox */
}

/* Quantity wrapper */
.quantity {
  position: relative;
  display: inline-flex;
  align-items: center;  
  border-radius: 10px;
  overflow: hidden;
}

/* Base input */
.quantity .qty {
  width: 30px !important;
  text-align: center;
  border: none;
  background: transparent;
  font-size: 16px;
  font-weight: 600;
  color: #59372E;
  padding: 10px 0;
  outline: none;
}


/* === Remove button (X) on cart page === */
.woocommerce-cart a.remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;  
  font-size: 16px;
  font-weight: 600;  
  color: var(--brand-dark-brown) !important; 
  text-decoration: none;
  transition: all 0.3s ease;
  font-family: "Flama", sans-serif;
  width: 30px; 
  height: 30px; 
}

.woocommerce-cart a.remove:hover {
  background: var(--brand-orange, #e27d4e);
  color: #fff !important;
  border-color: var(--brand-orange, #e27d4e);  
}

.woocommerce-cart a.remove:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(226, 125, 78, 0.3);
}

/* === Cart Table Headings === */
.woocommerce-cart table.shop_table thead th {
  font-family: "Flama", sans-serif;
  color: var(--brand-dark-brown, #3a2b25);
  font-weight: 400;
  font-size: 15px;  
  letter-spacing: 0.5px;
  background: transparent;
  /*border: none;*/
  border-bottom: 1px solid var(--brand-dark-brown);
  padding-bottom: 15px;
  text-align: left;
}

/* === Thin Underline for Cart Table Headings === */
.woocommerce-cart table.shop_table thead { 
  position: relative;
}

.woocommerce-cart table.cart img{
  width: 62px;
}

.woocommerce-cart-form__contents thead::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: var(--brand-dark-brown);
}

/* Adjust spacing for balance */
.woocommerce-cart table.shop_table thead th {
  padding-bottom: 18px;
  font-family: "Flama", sans-serif;
  color: var(--brand-dark-brown, #3a2b25);
  font-weight: 400;
  font-size: 15px;
  background: transparent;
  border: none;
}

/* Right-align price/subtotal headers */
.woocommerce-cart table.shop_table th.product-price,
.woocommerce-cart table.shop_table th.product-subtotal {
  text-align: right;
}

/* Optional: smooth visual consistency */
.woocommerce-cart table.shop_table {
  border-collapse: separate;
  border-spacing: 0 0;
}


/* Align price-related headings properly */
.woocommerce-cart table.shop_table th.product-price,
.woocommerce-cart table.shop_table th.product-subtotal {
  text-align: right;
}

/* Optional: subtle bottom border for better separation */
.woocommerce-cart table.shop_table thead tr {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

/* Make sure table layout stays clean */
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
  vertical-align: middle;
}

/* ==============================
   CART PAGE LAYOUT & STYLE
   ============================== */

/* Responsive container width */
body.woocommerce-cart .woocommerce {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  flex-wrap: nowrap;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

/* Make full width on smaller screens */
@media (max-width: 1024px) {
  body.woocommerce-cart .woocommerce {
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size: 14px;
  }
}

/* Left column — product table */
.woocommerce-cart-form {
  flex: 1 1 68%;
}

.woocommerce-cart button[name="update_cart"] {
  display: none !important;
}

/* === ILEE cart price styling === */
td.product-price {
  text-align: right;
  vertical-align: middle;
  white-space: nowrap;
  font-family: inherit;
}

/* Discounted (new) price */
.cbs-discounted-price {
  display: block;  
}

/* Regular (old) price */
.cbs-regular-price {
  display: block;  
  font-weight: 300 !important;
  position: relative;
  text-decoration: none !important;
}

.cbs-regular-price::after {
  content: "";
  position: absolute;
  left: 25px;
  width: 85%;
  right: 0;
  top: 50%;
  height: 1px;                 /* thin custom line */
  background-color: var(--brand-orange); /* softer than text */  
  pointer-events: none;
}

/* Optional: small transition hover (for subtle polish) */
td.product-price:hover .cbs-discounted-price {
  color: var(--brand-dark-brown, #3b2b21);
  transition: color 0.25s ease;
}


@media (max-width: 767px) {
   .woocommerce-cart-form{
      width: 86%;
      margin: 0 auto;
   }

   .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item, 
   .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item{
        background: #f7ede25e;
        border-radius: 15px;        
        margin: 10px;
        padding: 0 10px 10px 10px;    
   }

   form.woocommerce-cart-form .cbs-mini-cart-subtotal{
    display: none;
   }

   .cbs-regular-price::after {
      content: "";
      position: absolute;      
      width: 25%;
      right: 0;
      left: unset;
      top: 50%;
      height: 1px;
      background-color: var(--brand-orange);
      pointer-events: none;
  }

  form.woocommerce-cart-form .product-name a{
    font-weight: 700;
  }

  body.woocommerce-cart .woocommerce{
    gap:0;
  }
}




/* Custom +/- buttons */
.quantity .qty-btn {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 600;
  color: #59372E;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
  border-radius: 50%;
  background: var(--brand-background);
}

.quantity .qty-btn:hover {
  background: var(--brand-orange);
  color: #fff;
  border-radius: 50%;
}




ul.products li.product .button, .single_add_to_cart_button, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt {
    background: var(--brand-orange);
    color: #fff;
    border-radius: 35px;
    padding: 12px 14px;
    font-weight: 400;
    font-size: 16px;      
    transition: 0.3s ease;
    font-family: "Flama", sans-serif;
    flex: 0 0 auto;     /* only as wide as content */  
    min-width: 120px;   /* optional: enforce a consistent min width */ 
    text-align: center;
    margin-top: 0 !important;
    width: auto;
}

ul.products li.product .button:hover {
    background: var(--brand-hover-accent);
}

.added_to_cart{
  display: none !important;
}

/* single woo page */
/* Product Tabs - Right Column Styling */
.woocommerce div.product .woocommerce-tabs {
    border: none;
    padding: 0;
    margin-top: 20px;
    font-family: "Flama", sans-serif;
    font-weight: 300;
}

/* Tabs list */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 30px; /* space between tabs */   
    margin: 0 0 15px;
    padding: 0;
    list-style: none;
}

/* Each tab */
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
}

/* Tab links */
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
    color: var(--brand-light-brown); /* inactive color */
    padding: 8px 0;
    display: inline-block;
    border-bottom: 2px solid transparent;
    transition: all 0.3s ease;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{
  color: var(--brand-orange);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  background: unset;
}

/* Active tab */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    font-weight: 600;
    color: var(--brand-dark-brown); /* active color */    
}

/* Tab panels (content) */
.woocommerce div.product .woocommerce-tabs .panel {
    border: none;
    padding: 0;
    margin: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before{
  content: none;
  border-bottom: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::after, 
.woocommerce div.product .woocommerce-tabs ul.tabs li::before{
  border: none;
  box-shadow: none;
}

.product_title.entry-title{
  color:var(--brand-dark-brown);
  font-size: 36px;
  font-weight: 800;
  margin-bottom: 0;
  text-transform: uppercase;
}

.product-subtitle{
  font-size: 36px;
  font-weight: 100;
  text-transform: uppercase;
}

.price-label{
  font-size: 14px;
  color: var(--brand-dark-brown);
}

.woocommerce-Price-amount.amount{
  color: var(--brand-orange);
  font-weight: 500;  
}

.single-product .entry-summary .woocommerce-Price-amount.amount{
  font-size: 24px;
}

.woocommerce.single-product .related.products {
    clear: both;
    float: none;
    display: block;
    width: 100%;
    margin-top: 60px; /* spacing from summary */
    padding-top: 40px;    
}


.cbs-certificates-block {
    width: 100%;
    max-width: 100%;
    margin: 10px 0;
    clear: both; 
}

.flex-viewport{
  background-color: var(--brand-background);
  border-top-left-radius: 15px;   
  border-top-right-radius: 15px;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper .zoomImg{
  background-color: var(--brand-background);
}

.flex-control-nav.flex-control-thumbs{
  background-color: var(--brand-background);
  border-bottom-left-radius: 15px;   
  border-bottom-right-radius: 15px;
}

.woocommerce-breadcrumb{
  display: none;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover{
  background-color: var(--brand-hover-accent);
}

.related.products>h2{
  font-family: "The-Seasons";
  color: var(--brand-hover-accent);
  margin-bottom: 40px;
}
 



/* === Cart Update Toast Notification === */
.cbs-cart-toast {
  position: fixed;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: var(--brand-orange, #e27d4e);
  color: #fff;
  font-family: "Flama", sans-serif;
  font-weight: 600;
  font-size: 16px;
  padding: 14px 28px;
  border-radius: 50px;
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.15);
  opacity: 0;
  pointer-events: none;
  transition: all 0.5s ease;
  z-index: 9999;
}

.cbs-cart-toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

.woocommerce-notices-wrapper a.button.wc-forward{
  background: none;
  font-weight: 500;
  color: var(--brand-hover-accent);
}

/* Right column — Cart totals sidebar */
.cart-collaterals {
  flex: 0 0 32%;
  position: sticky;
  top: 40px;
  align-self: flex-start;
  background: #f7ede2;
  border-radius: 20px;
  padding: 30px;
  
}

.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals{
  width: 100%;
  float: none;
}

#add_payment_method .wc-proceed-to-checkout a.checkout-button, 
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button, 
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button{
  background-color: var(--brand-orange);
  font-weight: 300;
  border-radius: 35px;
  padding: 12px;
  font-size: 16px;
  font-family: 'Flama';
}

#add_payment_method .wc-proceed-to-checkout a.checkout-button:hover, 
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover, 
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button:hover{
  background-color: var(--brand-hover-accent);
  font-weight: 300;
  border-radius: 35px;
}

.woocommerce-checkout .woocommerce-message{
  display: none;
}

/* Sidebar heading */
.cart-collaterals h2 {
  font-size: 20px;
  font-weight: 600;
  color: var(--brand-dark-brown);
  margin-bottom: 25px;
  text-align: left;
}



/* ========== Cart Totals Table ========== */
.cart_totals table {
  width: 100%;
  border: none;
  margin-bottom: 20px;
}

.cart_totals table th,
.cart_totals table td {
  border: none;
  padding: 10px 0;
  text-align: right;
  color: var(--brand-dark-brown);
}

.cart_totals table th {
  text-align: left;
  font-weight: 500;
}

.cart_totals .order-total td {
  color: var(--brand-orange);
  font-size: 22px;
  font-weight: 700;
}

.cbs-cart-saving-msg{
    border-bottom: 1px solid var(--brand-light-brown);
    padding-bottom: 16px;
    margin-bottom: 20px;
}


.ilee-shop-override{
  max-width: 1400px; /* or 1200px, choose your value */
  margin: 0 auto;    /* center the shop */
  padding: 0 20px;   /* optional side padding */
}

/* Remove all table borders and separators */

.woocommerce-cart .shop_table,
.woocommerce-cart .shop_table th,
.woocommerce-cart .shop_table td,
.woocommerce-cart .cart_totals table,
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  border: none !important;
  box-shadow: none !important;
  background: transparent;
}

/* Remove row separators */
/*
.woocommerce-cart .shop_table tr,
.woocommerce-cart .cart_totals tr {
  border: none !important;
  background: transparent;
}*/

/* Soft background only for product rows */
/*
.shop_table tbody tr {
  background: #f7ede2;
  border-radius: 16px;
  overflow: hidden;
}*/

/* Remove inner separators */
.woocommerce-cart .cart_totals table tr:not(:last-child) td,
.woocommerce-cart .cart_totals table tr:not(:last-child) th {
  border-bottom: none !important;
}

/* Cart table spacing */
.shop_table.cart {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 20px;
}

.shop_table tbody tr td {
  border: none;
  vertical-align: middle;
  padding: 20px 25px;
}

/* Product titles & prices */
.product-name a {
  font-size: 18px;
  font-weight: 500;
  color: var(--brand-dark-brown);
  text-decoration: none !important;
   transition: color 0.25s ease, transform 0.25s ease;
}

.product-name a:hover {
  color: var(--brand-orange) !important;
}
.cbs-discounted-price{
  text-decoration: none !important;
}

.product-price,
.product-subtotal {
  color: var(--brand-orange);
  font-weight: 700;
  font-size: 18px;
  text-align: right;
}




/* Coupon input row */
.cart-collaterals .woocommerce-coupon {
  display: flex;
  gap: 10px;
  margin-bottom: 25px;
}

.cart-collaterals .woocommerce-coupon input.input-text {
  flex: 1;
  border-radius: 8px;
  border: 1px solid #ddd;
  padding: 10px 14px;
  font-size: 14px;
}

/* Checkout button */
.cart-collaterals .checkout-button {
  width: 100%;
  display: block;
  text-align: center;
  background: var(--brand-orange);
  border-radius: 25px;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  padding: 14px 0;
  text-transform: capitalize;
  transition: all 0.3s ease;
}

.cart-collaterals .checkout-button:hover {
  background: var(--brand-hover-accent);
}

/* Responsive layout (mobile) */
@media (max-width: 900px) {
  .woocommerce-cart .woocommerce {
    flex-direction: column;
  }

  .cart-collaterals {
    position: static;
    width: 100%;
    margin-top: 30px;
    box-shadow: none;
  }
}


/* ===========================
   Guest login hover message
   =========================== */

.guest-login-message a, .guest-login-single, .read-more-btn{
    display: block;
    text-align: center;
    border: 1px solid var(--brand-orange);
    width: fit-content;
    margin: 0 auto;
    padding: 9px 23px;
    border-radius: 35px;
    color: var(--brand-orange) !important;
    transition: all 0.3s ease;

}

.guest-login-message:hover a, .guest-login-single:hover, .read-more-btn:hover{
   color:#fff !important;  
   background: var(--brand-orange);     
}

.guest-login-single{
  margin: 20px 0;
}

/* Store locator */

.csl-search-form, #location-search-alert{
  display: none;
}

.csl-wrapper, .csl-fullwidthmap-wrapper{
  box-shadow: none;
  background: var(--page-background);
  border: none;
}

.csl-wrapper #locations-near-you .csl-list-item .marker-link{
  border-bottom: unset;
  background-color: var(--brand-background);
  border-radius: 15px;
  margin-bottom: 7px;
  cursor:pointer;
}

.csl-wrapper .location-near-you-box{
  background-color: var(--page-background);
}

@media (max-width: 991px) {
    .csl-wrapper #locations-near-you .csl-list-item .marker-link {
        padding: 22px 20px 22px 43px !important;
    }
}

@media (max-width: 575px) {
    .csl-wrapper .location-near-you-box {
        height: 600px;
    }
}

/* ========================================
   CREAVI CHECKOUT PAGE LAYOUT
   Two-column structure with clean styling
   ======================================== */

.cbs-checkout-columns {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 40px;
  max-width: 1300px;
  margin: 0 auto;
  padding: 40px 20px;
}

#order_review_heading{
  display: none;
}

.woocommerce-terms-and-conditions-wrapper h2{
  font-size: 24px;
  font-weight: 100;
}

.woocommerce-terms-and-conditions-wrapper ul li{
  margin-bottom: 16px;
  font-weight: 500;
}


/* ========== LEFT COLUMN (Customer Details) ========== */
#customer_details {
  flex: 1 1 64%;
  background: #f7ede2;
  border-radius: 15px;
  padding: 40px;  
}

#customer_details h3 {
  font-family: "Flama", sans-serif;
  font-size: 18px;  
  color: var(--brand-dark-brown, #503629);  
}

/* Form Fields */
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select {
  width: 100%;
  border: none;
  border-radius: 12px;
  background: #fff;
  padding: 12px 16px;
  font-size: 15px;
  color: #503629;
  box-shadow: inset 0 0 0 1px #ddd;
  transition: box-shadow 0.2s ease;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus, 
.woocommerce-form input:focus{
  outline: none;
  box-shadow: 0 0 0 2px var(--brand-orange, #e27d4e);
}

label.required_field {
  font-weight: 500;
  color: #503629;
}

/* Add spacing between fields */
.woocommerce-billing-fields__field-wrapper p,
.woocommerce-additional-fields__field-wrapper p {
  margin-bottom: 15px;
}

/* Additional info textarea */
.woocommerce-additional-fields textarea {
  min-height: 90px;
}

/* ========== RIGHT COLUMN (Order Review) ========== */
#order_review {
  flex: 0 0 32%;
  background: #f7ede2;
  border-radius: 15px;
  padding: 30px 25px;
  position: sticky;
  top: 40px;
  height: fit-content;  
}

/* Heading inside right box */
.cbs-order-heading {
  font-family: "Flama", sans-serif;
  font-size: 22px;
  font-weight: 600;
  color: var(--brand-dark-brown, #503629);
  margin-bottom: 20px;
  text-align: left;
}

/* Order Table */
.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 25px;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  border: none !important;
  padding: 10px 0;
}

.woocommerce-checkout-review-order-table th {
  text-align: left;
  color: #503629;
  font-weight: 500;
}

.woocommerce-checkout-review-order-table td.product-total,
.woocommerce-checkout-review-order-table tfoot td {
  text-align: right;
  color: var(--brand-orange, #e27d4e);
  font-weight: 600;
}

/* Totals lines */
.woocommerce-checkout-review-order-table tfoot th {
  color: #503629;
  font-weight: 600;
}

.woocommerce-checkout-review-order-table tfoot tr.order-total th {
  font-size: 17px;
}

.woocommerce-checkout-review-order-table tfoot tr.order-total td {
  font-size: 18px;
  font-weight: 700;
}

/* Terms and Privacy text box */
.woocommerce-terms-and-conditions-wrapper {
  margin-top: 20px;
  font-size: 14px;
  color: #503629;  
  border-radius: 12px;  
}

.woocommerce-terms-and-conditions-wrapper a {
  color: var(--brand-orange, #e27d4e);
  text-decoration: underline;
}

/* Place Order Button */
#place_order {
  background: var(--brand-orange, #e27d4e);
  color: #fff;
  border: none;
  border-radius: 35px;
  padding: 14px 20px;
  font-size: 16px;
  font-weight: 500;
  width: 100%;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: 25px;
}

#place_order:hover {
  background: var(--brand-hover-accent, #f18b53);
  transform: translateY(-2px);
}

/* =====================
   Responsive Adjustments
   ===================== */
@media (max-width: 992px) {
  .cbs-checkout-columns {
    flex-direction: column;
  }

  #customer_details,
  #order_review {
    width: 100%;
    padding: 25px;
    position: relative;
  }

  #order_review {
    position: static;
    margin-top: 25px;
  }
}

#add_payment_method #payment, 
.woocommerce-cart #payment, 
.woocommerce-checkout #payment{
  background: transparent;
}

.woocommerce table.shop_table{
  border: none;
}

/* ========================================
   Checkout columns full width layout
   ======================================== */

/* Make both billing and additional info blocks 100% wide */
#customer_details .col-1,
#customer_details .col-2 {
  width: 100% !important;
  flex: 0 0 100%;
  max-width: 100%;
  position: relative;
}

/* Stack them neatly with spacing */
#customer_details {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

/* Make sure form fields fill the width properly */
#customer_details .form-row {
  width: 100%;
}


/* -------------------------------
   ILEE - Thank You Page Style
--------------------------------*/

/* Center entire page */
.woocommerce-order{
  text-align: center;
}

.woocommerce-order-received h1.entry-title,
.woocommerce-account h1.entry-title{
    display: none !important;
}

/* Remove default WC borders, backgrounds */
.woocommerce table.shop_table,
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    border: none !important;
    background: none !important;
    box-shadow: none !important;
}

/* Hide standard Woo Thank You message (we replace it) */
.woocommerce-notice--success {
    display: none !important;
}

/* Top "Order Received" custom box */
.ilee-thankyou-box {
    background: #f7ede3;
    border-radius: 16px;
    padding: 35px 20px;
    margin: 20px auto 40px;
    max-width: 600px;
    position: relative;
}

/* Beige wave pattern background */
.ilee-thankyou-box::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60px;
    background-image: url('https://i.imgur.com/1H8MqO8.png'); /* Replace with your SVG */
    background-repeat: repeat-x;
    background-size: contain;
    opacity: 0.4;
    border-radius: 0 0 16px 16px;
}

/* Title inside box */
.ilee-thankyou-box h2 {
    font-size: 26px;
    margin: 0 0 10px;
    color: #4a3a2d;
    font-weight: 500;
}

/* Subtitle */
.ilee-thankyou-box p {
    margin: 0;
    font-size: 18px;
    color: #4a3a2d;
    font-weight: 400;
}

/* Message below */
.ilee-thankyou-message {
    margin: 20px 0 40px;
    font-size: 17px;
    color: #4a3a2d;
    line-height: 1.6;
}

/* Footer closing line */
.ilee-thankyou-signature {
    font-size: 16px;
    color: #4a3a2d;
    margin-bottom: 40px;
}

/* Link back to site */
.ilee-thankyou-return {
    color: #4a3a2d !important;
    font-size: 16px;
    text-decoration: underline;
}

/* Hide WC default sections for now */

.woocommerce-order-details,
.woocommerce-customer-details,
.woocommerce-order-overview {
    display: none;
}

.woocommerce-MyAccount-content .woocommerce-order-details{
  display: block;
}



/* If you want them later, you can style them. */

/* Responsive */
@media (max-width: 600px) {
    .ilee-thankyou-box {
        padding: 25px 15px;
    }
    .ilee-thankyou-box h2 {
        font-size: 22px;
    }
}

/* ------------------------------
   My Account Page – Full Styling
   ------------------------------ */

/* Main container 1300px centered */
.woocommerce-account.logged-in .site-main {
    max-width: 1300px; 
    margin: 0 auto;
    padding: 40px 20px;
}

.woocommerce-lost-password .site-main{
    max-width: 600px !important;
    margin: 0 auto;
    background: var(--brand-background);
    border-radius: 15px;
    padding: 61px;
}

/* Two-column layout */
.woocommerce-account .woocommerce {
    /*display: flex; */ 
    display: block;
    gap: 30px;
}

/* Left menu width */
.woocommerce-MyAccount-navigation {
    width: 280px;
}

/* Right content flexible */
.woocommerce-MyAccount-content {
    flex: 1;
    background: var(--brand-background);
    padding: 30px 40px;
    border-radius: 15px;
}

/* ---------------------------------
   Left Menu Styling (clean modern)
   --------------------------------- */

  .woocommerce-account .woocommerce-MyAccount-navigation {
    width: 20%;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    width: 80%;
  }

/* Remove bullets */
.woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0;
    padding: 0;
}

/* Menu items spacing */
.woocommerce-MyAccount-navigation ul li {
    margin-bottom: 8px;
}

/* Base link style */
.woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding-bottom: 5px;    
    text-decoration: none;
    font-size: 18px;;
    font-family: "Flama", sans-serif;
    font-weight: 400;
    color: var(--brand-dark-brown);   
    transition: all 0.25s ease-in-out;   
}

/* Hover state */
.woocommerce-MyAccount-navigation ul li a:hover {
   color: var(--brand-hover-accent);
}

/* Active state */
.woocommerce-MyAccount-navigation ul li.is-active a {
     color: var(--brand-hover-accent);
}

.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout>a{
    border: 1px solid var(--brand-orange);
    width: fit-content;
    padding: 5px 36px;
    border-radius: 50px;
    color: var(--brand-orange);
    font-weight: 300;
    margin-bottom: 30px;
}

.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout>a:hover{
  background-color: var(--brand-orange);
  color:#fff;
}

.woocommerce-EditAccountForm .woocommerce-Button.button{
    width: fit-content;
    padding: 12px 30px;
    font-weight: 300;
} 

.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--cbs-myaccount-home>a{
    text-transform: uppercase;
    font-weight: 100;
    font-size: 24px;
}

/* ---------------------------------
   Page Title
   --------------------------------- */

.page-header h1.entry-title {
    font-family: "Flama", sans-serif;
    font-size: 42px;
    margin-bottom: 25px;
    text-align: left;
    color: var(--brand-dark-brown);
}

.lost-password a:hover{
  color: var(--brand-orange);
}

:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button{
  background: no-repeat;
  color: var(--brand-orange);
}

:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:hover{
  background: no-repeat;
  color: var(--brand-hover-accent);
}

.woocommerce-account .addresses .title .edit {
    float: none; 
    text-decoration: none;
    color: var(--brand-orange);
}

fieldset{
    outline: none;   
    border: 1px solid var(--brand-orange);
    border-radius: 15px;
    margin-bottom: 21px;
}

.woocommerce-table.woocommerce-table--order-details.shop_table.order_details{
  width: 50%;
}

@media (max-width: 768px) {
    .woocommerce-account .woocommerce-MyAccount-navigation {
      width: 100%;
      margin-left: 10px;
  }
 

  .woocommerce-account .woocommerce-MyAccount-content {
      width: 100%;
  }

  .woocommerce-table.woocommerce-table--order-details.shop_table.order_details{
    width: 100%;
  }

  .ilee-shop-override{      
      padding: 0 0; 
  }

}

/* creavi-pdf-dropdown */

.creavi-pdf-dropdown {
	position: relative;
	display: inline-block;
}

.creavi-pdf-dropdown-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	cursor: pointer;
	position: relative;
	transition:
		color 0.25s ease,
		background-color 0.25s ease,
		border-color 0.25s ease,
		box-shadow 0.25s ease,
		transform 0.2s ease;
	-webkit-tap-highlight-color: transparent;
}

.creavi-pdf-dropdown-toggle:focus {
	outline: none;
  background-color: var(--brand-orange) !important;
  color: #fff !important;
}

.creavi-pdf-dropdown-toggle:focus-visible {
	box-shadow:
		0 0 0 3px rgba(0, 122, 255, 0.16),
		0 8px 24px rgba(15, 23, 42, 0.10);
}

.creavi-pdf-dropdown-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: 10px;
	line-height: 1;
	opacity: 0.72;
	transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.2s ease;
	flex-shrink: 0;
}

.creavi-pdf-dropdown.is-open .creavi-pdf-dropdown-arrow {
	transform: rotate(180deg);
	opacity: 1;
}

.creavi-pdf-dropdown-menu {
	position: fixed;
	top: 0;
	left: 0;
	min-width: 240px;
	max-width: min(92vw, 380px);
	box-sizing: border-box;
	padding: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-8px) scale(0.985);
	transform-origin: top center;
	transition:
		opacity 0.22s ease,
		transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
		visibility 0.22s ease;
	will-change: top, left, transform, opacity;
	z-index: 2147483000;
	background: rgba(255, 255, 255, 0.86);
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 18px;
	-webkit-backdrop-filter: blur(20px) saturate(180%);
	backdrop-filter: blur(20px) saturate(180%);
	box-shadow:
		0 24px 60px rgba(15, 23, 42, 0.18),
		0 8px 24px rgba(15, 23, 42, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.5);
	overflow: visible;
}

.creavi-pdf-dropdown-menu-inner {
	padding: 8px;
	border-radius: 18px;
	overflow: hidden;
}

.creavi-pdf-dropdown-menu.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.creavi-pdf-dropdown-menu.is-below.is-visible {
	transform: translateY(0) scale(1);
	transform-origin: top center;
}

.creavi-pdf-dropdown-menu.is-above {
	transform: translateY(8px) scale(0.985);
	transform-origin: bottom center;
}

.creavi-pdf-dropdown-menu.is-above.is-visible {
	transform: translateY(0) scale(1);
}

.creavi-pdf-dropdown-pointer {
	position: absolute;
	width: 14px;
	height: 14px;
	background: rgba(255, 255, 255, 0.92);
	border-left: 1px solid rgba(255, 255, 255, 0.5);
	border-top: 1px solid rgba(255, 255, 255, 0.5);
	transform: rotate(45deg);
	left: 24px;
	z-index: -1;
	-webkit-backdrop-filter: blur(20px) saturate(180%);
	backdrop-filter: blur(20px) saturate(180%);
}

.creavi-pdf-dropdown-menu.is-below .creavi-pdf-dropdown-pointer {
	top: -7px;
}

.creavi-pdf-dropdown-menu.is-above .creavi-pdf-dropdown-pointer {
	bottom: -7px;
	transform: rotate(225deg);
}

.creavi-pdf-dropdown-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	width: 100%;
	text-decoration: none;
	background: transparent;
	position: relative;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	color: #1d1d1f;
	padding: 13px 14px;
	transition:
		background-color 0.18s ease,
		color 0.18s ease,
		transform 0.18s ease,
		box-shadow 0.18s ease;
}

.creavi-pdf-dropdown-link + .creavi-pdf-dropdown-link {
	margin-top: 2px;
}

.creavi-pdf-dropdown-link:hover {
	background: var(--page-background);
	transform: translateX(2px);
}

.creavi-pdf-dropdown-link:focus {
	outline: none;
}

.creavi-pdf-dropdown-link:focus-visible {
	background: rgba(0, 122, 255, 0.08);
	box-shadow: inset 0 0 0 1px rgba(0, 122, 255, 0.12);
}

.creavi-pdf-dropdown-link-text {
	display: block;
	min-width: 0;
}

.creavi-pdf-dropdown-link-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	opacity: 0.5;
	transition: opacity 0.18s ease, transform 0.18s ease;
}

.creavi-pdf-dropdown-link:hover .creavi-pdf-dropdown-link-icon {
	opacity: 0.85;
	transform: translate(1px, -1px);
}

@media (max-width: 767px) {
	.creavi-pdf-dropdown-menu {
		max-width: min(94vw, 360px);
		border-radius: 16px;
	}

	.creavi-pdf-dropdown-menu-inner {
		padding: 7px;
		border-radius: 16px;
	}

	.creavi-pdf-dropdown-link {
		padding: 12px 13px;
		font-size: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.creavi-pdf-dropdown-toggle,
	.creavi-pdf-dropdown-arrow,
	.creavi-pdf-dropdown-menu,
	.creavi-pdf-dropdown-link,
	.creavi-pdf-dropdown-link-icon {
		transition: none !important;
	}
}

.creavi-readmore-content {
  max-height: 192px; 
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.creavi-readmore.open .creavi-readmore-content {
  max-height: 1000px;
}

.creavi-readmore-toggle {
  display: inline-block;
  margin-top: 10px;
  cursor: pointer;
  font-weight: 500;
  text-decoration: underline;
}

.creavi-scroll-column {
  height: 100%;
  max-height: 685px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 8px; /* space for scrollbar */
  scroll-behavior: smooth;
}

/* Smooth / minimal scrollbar */
.creavi-scroll-column::-webkit-scrollbar {
  width: 6px;
}

.creavi-scroll-column::-webkit-scrollbar-track {
  background: transparent;
}

.creavi-scroll-column::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  transition: background 0.2s ease;
}

.creavi-scroll-column::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.4);
}

/* Firefox */
.creavi-scroll-column {
  scrollbar-width: thin;
  scrollbar-color: rgba(0,0,0,0.2) transparent;
}

.yay-currency-custom-select__trigger{
    background: none !important;
    border: none !important;
    gap: 5px !important;
}

.yay-currency-custom-options{
  border:none;
}

/* =========================
   Currency Switcher Styling
   ========================= */

/* Hide default SVG arrow */
.yay-currency-custom-arrow svg {
    display: none;
}

/* Trigger layout */
.yay-currency-custom-select__trigger {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

/* Custom orange triangle (Figma style) */
.yay-currency-custom-arrow {
    width: 0 !important;
    height: 0 !important;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 7px solid #F28C4B; /* main orange */
    display: inline-block;
    margin-top: 2px;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

/* Rotate arrow when dropdown is open */
.yay-currency-custom-select.open .yay-currency-custom-arrow {
    transform: rotate(180deg);
}

/* Text styling */
.yay-currency-selected-option {
    font-weight: 400;
    letter-spacing: 0.02em;
}

/* Subtle hover effect */
.yay-currency-custom-select__trigger:hover .yay-currency-custom-arrow {
    border-top-color: #e57f3d; /* slightly darker orange */
}

.yay-currency-single-page-switcher{
  margin-bottom: 0 !important;
}

.yay-currency-custom-option-row:not(.yay-currency-row-with-flag) span.yay-currency-selected-checked-icon{
  position: initial !important;
}

/* =========================
   404 Page Styling
   ========================= */

.creavi-404 {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 80vh;
    text-align: center;    
}

.creavi-404-inner {
    max-width: 500px;
    padding: 40px 20px;
}

.creavi-404-image img {   
    margin-bottom: 30px;
}

.elementor-kit-9 h1.creavi-404-title {
    font-size: 30px;
    font-weight: 500;
    color: var(--brand-dark-brown);
    margin-bottom: 20px;
    font-family: 'the-seasons';
}

/* Button */
.elementor-kit-9 a.creavi-404-button {
    display: inline-block;
    padding: 12px 28px;
    border: 1px solid var(--brand-orange);
    border-radius: 30px;
    color: var(--brand-orange);
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
}

.elementor-kit-9 a.creavi-404-button:hover {
    background: var(--brand-orange);
    color: #fff;
}

@media (max-width: 430px) {
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
          min-height: 122px;
          max-height: 122px;
    }

    .woocommerce ul.products li.product .price{
      font-size: 16px;
    }
}