/* =========================================================
   0) GLOBAL / THEME OVERRIDES
   ========================================================= */
.page_content_wrap{
  padding-top: 0;
  padding-bottom: 0;
}
p { font-weight: 500; }


/* =========================================================
   1) FOOTER FIX (avoid double footer)
   ========================================================= */
footer.footer_wrap.footer_custom_footer-main,
footer.footer_wrap.footer_custom_footer-main .elementor > .elementor-section{
  display: block !important;
}
footer.footer_wrap.footer_custom_footer-main:nth-of-type(2){
  display: none !important;
}


/* =========================================================
   2) CONTACT FORM 7 (CF7)
   ========================================================= */
.wpcf7 .select_container,
.wpcf7 textarea,
.wpcf7 input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]){
  margin-bottom: 0 !important;
}

.wpcf7 .wpcf7-submit-style .submit-style-in{
  display: block;
  position: absolute;
  z-index: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  overflow: hidden;
  font-size: 16px;
  background-color: transparent !important;
  color: var(--theme-color-inverse_link);
  border-radius: 30px;
  transition: all 0.3s ease;
}
.wpcf7 .wpcf7-submit-style .submit-style-in:before{ display: none; }

.wpcf7 .wpcf7-submit-style .wpcf7-submit{
  padding: 0 !important;
  font-size: 11px;
}

h3#ship-to-different-address label span,
input[type="radio"] + label,
input[type="checkbox"] + label,
input[type="radio"] + .wpcf7-list-item-label,
input[type="checkbox"] + .wpcf7-list-item-label,
.edd_price_options ul li label input[type="radio"] + span,
.edd_price_options ul li label input[type="checkbox"] + span{
  font-size: 11px;
}

.wpcf7 input[type="email"]{ color: black !important; }
input[type="checkbox"] + .wpcf7-list-item-label:before{ color: black !important; }


/* =========================================================
   3) ELEMENTOR (one-off button styling)
   ========================================================= */
.elementor-3238 .elementor-element.elementor-element-426b8d0 .elementor-button{
  background-color: #37000E;
  border-radius: 0;
  width: 350px;
}


/* =========================================================
   4) TABLES
   ========================================================= */
table:not(:where([class*="tribe-events"])) th{
  color: black;
  background-color: transparent;
  font-size: 14px;
}
table:not(:where([class*="tribe-events"])) > tbody > tr:nth-child(2n) > td{
  background-color: transparent;
}


/* =========================================================
   5) RANDOM WORDPRESS / THEME QUIRKS
   ========================================================= */
form.customize-unpreviewable input{ display: none !important; }
input[type="number"].filled{ display: none !important; }


/* =========================================================
   6) PRODUCT PAGE – DES / YSL LAYOUT + DRAWER
   ========================================================= */
.single-product.woocommerce div.product{
  display: flex;
  align-items: flex-start;
  gap: 60px;
  max-width: 1200px;
  margin: 60px auto 80px;
  padding: 0 40px;
}
.single-product.woocommerce div.product .woocommerce-product-gallery{ width: 60%; }
.single-product.woocommerce div.product .summary{ width: 40%; }

.single-product .woocommerce-product-gallery__image img{
  width: 100%;
  height: auto;
  object-fit: cover;
}

.single-product .flex-control-thumbs{
  display: flex;
  gap: 8px;
  margin-top: 16px;
  justify-content: flex-start;
}
.single-product .flex-control-thumbs li{ width: 70px; }
.single-product .flex-control-thumbs img{
  width: 100%;
  height: auto;
  object-fit: cover;
}

.des-product-summary{
  max-width: 420px;
  margin-left: auto;
  font-family: "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0.03em;
}
.des-brand{
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.des-product-title{
  font-size: 20px;
  font-weight: 400;
  text-transform: uppercase;
  margin: 0 0 4px;
  letter-spacing: 0.1px;
}
.des-price{
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 16px;
}
.des-short-description{
  font-size: 11px;
  line-height: 1.6;
  margin-bottom: 12px;
}

.des-info-links{
  margin-bottom: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.des-info-link{
  background: none;
  border: none;
  padding: 0;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: underline;
  cursor: pointer;
}

.des-variations-form table.variations{
  border: none;
  margin: 0 0 14px;
  width: 100%;
}
.des-variations-form table.variations tr{
  display: flex;
  align-items: center;
  margin-bottom: 0;
}
.des-variations-form table.variations td.label{
  flex: 0 0 auto;
  margin-right: 10px;
}
.des-variations-form table.variations td.label label{
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.7;
}
.des-variations-form table.variations td.label label::after{
  content: ":";
  margin-left: 4px;
}
.des-variations-form table.variations td.value{
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
}
.des-variations-form .reset_variations{ display: none; }
.des-variations-form > p{ display: none; }

.des-variations-form .single_add_to_cart_button{
  display: block;
  width: 100%;
  background-color: #37000e;
  color: #fff;
  border-radius: 0;
  padding: 5px 0;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 11px;
  font-weight: 500;
  border: none;
  height: 30px;
}
.des-variations-form .single_add_to_cart_button:before{ display: none !important; }

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item){
  background-color: transparent !important;
  font-size: 12px !important;
}
.woo-variation-swatches .wvs-style-squared.variable-items-wrapper .variable-item:not(.radio-variable-item){
  box-shadow: none;
}

.woocommerce-variation-availability{
  font-size: 13px !important;
  color: black !important;
}

.des-service-block{
  border-top: 1px solid #e0e0e0;
  margin-top: 20px;
  padding-top: 12px;
  font-size: 11px;
  text-transform: uppercase;
}
.des-service-line{ margin-bottom: 6px; }
.des-service-strong{ font-weight: 600; }
.des-contact-link{ text-decoration: underline; margin-left: 6px; }

.des-sidepanel-overlay{
  position: fixed;
  inset: 0;
  background-color: rgba(0,0,0,0.35);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease;
  z-index: 998;
}
.des-sidepanel-overlay.is-open{
  opacity: 1;
  visibility: visible;
}
.des-sidepanel{
  position: fixed;
  top: 0;
  right: 0;
  width: 420px;
  max-width: 100%;
  height: 100%;
  background-color: #fff;
  transform: translateX(100%);
  transition: transform 0.25s ease;
  z-index: 999;
  display: flex;
  flex-direction: column;
  padding: 24px 24px 32px;
  font-family: "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0.03em;
}
.des-sidepanel.is-open{ transform: translateX(0); }
.des-sidepanel-header{
  display: flex;
  justify-content: flex-end;
  margin-bottom: 16px;
}
.des-sidepanel-close{
  background: none;
  border: none;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
}
.des-sidepanel-inner{
  overflow-y: auto;
  flex: 1;
  font-size: 11px;
  line-height: 1.6;
}
.des-sidepanel-section{ display: none; }
.des-sidepanel-section.is-active{ display: block; }
.des-sidepanel-section h2{
  font-size: 12px;
  text-transform: uppercase;
  margin-bottom: 8px;
}

@media (max-width: 900px){
  .single-product.woocommerce div.product{
    flex-direction: column;
    gap: 30px;
    padding: 0 20px;
    margin: 30px auto 50px;
  }
  .single-product.woocommerce div.product .woocommerce-product-gallery,
  .single-product.woocommerce div.product .summary{
    width: 100%;
  }
  .des-product-summary{
    margin-left: 0;
    max-width: 100%;
  }
}


/* =========================================================
   7) CART PAGE – DES / YSL STYLE (Bag)
   ========================================================= */
.des-cart-page{
  max-width: 750px;
  margin: 0 auto;
  padding: 0 20px 80px !important;
  background: #fff;
  font-family: "Helvetica Neue", Arial, sans-serif;
}

.des-cart-title{
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.12em;
  margin: 40px 0 24px;
}

.des-cart-items{
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
.des-cart-item{
  display: grid;
  grid-template-columns: 120px 1fr 120px;
  gap: 40px;
  align-items: flex-start;
  padding: 24px 0;
}

.des-cart-item-image img{
  width: 120px;
  height: auto;
  display: block;
}

.des-cart-item-name,
.des-cart-item-name a{
  text-decoration: none;
  color: #000;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

.des-cart-item-meta{
  font-size: 11px;
  margin-top: 4px;
  text-transform: uppercase;
}

.des-cart-item-price{
  text-align: right;
  font-size: 12px;
  white-space: nowrap;
}

.des-cart-remove{ margin-top: 6px; }
.des-cart-remove-link{
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-decoration: underline;
  color: #000;
}
.des-cart-remove-link:hover,
.des-cart-remove-link:focus,
.des-cart-remove-link:active{
  color: #000 !important;
  text-decoration: underline !important;
}

.des-cart-bottom{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 30px;
  font-size: 11px;
}
.des-cart-bottom,
.des-cart-bottom *{
  font-size: 11px;
}

.des-cart-summary-title{
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 16px;
}

.des-cart-summary-row{
  display: flex;
  justify-content: space-between;
  margin-bottom: 6px;
}
.des-cart-summary-row-total{
  margin-top: 12px;
  font-weight: 600;
}
.des-cart-summary-row-total span:last-child strong{
  font-weight: 600;
  font-size: 13px;
}

.des-cart-actions{
  width: 50%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.des-cart-btn{
  display: block;
  text-align: center;
  padding: 14px 20px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 11px;
  border: 1px solid #000;
  text-decoration: none;
}

.des-cart-btn--light{ background: #fff; color: #000; }
.des-cart-btn--dark{ background: #37000e; border-color: #37000e; color: #fff; }

.des-cart-btn--dark:hover,
.des-cart-btn--dark:focus,
.des-cart-btn--dark:active{
  background: #37000e !important;
  border-color: #37000e !important;
  color: #fff !important;
}
.des-cart-btn--light:hover,
.des-cart-btn--light:focus,
.des-cart-btn--light:active{
  background: #fff !important;
  border-color: #000 !important;
  color: #000 !important;
}

.des-hidden-update{ display: none !important; }

/* IMPORTANT: keep it 100% to avoid Safari misalignment */
.woocommerce-cart-form{
  width: 100%;
}

@media (max-width: 768px){
  .woocommerce-cart-form{ width: 100% !important; }

  .des-cart-item{
    grid-template-columns: 80px 1fr;
    grid-template-rows: auto auto;
    gap: 20px;
    font-size: 12px !important;
  }

  .des-cart-item-price{
    grid-column: 2 / 3;
    text-align: left;
    margin-top: 12px;
  }

  .des-cart-bottom{
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }

  .des-cart-actions{ width: 100%; }
}

/* Mobile: move price above REMOVE */
.des-cart-item-price-mobile{ display: none; }
@media (max-width: 768px){
  .des-cart-item-price-mobile{
    display: block;
    margin-top: 6px;
    font-size: 12px !important;
    opacity: 0.7;
  }
  .des-cart-item > .des-cart-item-price{
    display: none !important;
  }
}


/* =========================================================
   8) CHECKOUT PAGE – DES / YSL STYLE
   ========================================================= */
body.woocommerce-checkout .checkout-breadcrumb,
body.woocommerce-checkout .ux-checkout-nav,
body.woocommerce-checkout .woocommerce-breadcrumb,
body.woocommerce-checkout .woocommerce-order-steps{
  display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .des-checkout-wrapper{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px 100px;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 12px !important;
  text-transform: uppercase;
}

#payment #order_review_heading_payment{
  margin: 0;
  padding-bottom: 35px;
  font-size: 14px;
  line-height: 1.2em;
  font-weight: 700;
  color: grey;
  text-transform: uppercase;
}

.woocommerce-checkout-review-order-table,
.woocommerce-checkout #order_review,
.woocommerce-checkout #payment,
.woocommerce-checkout #payment div.payment_box{
  background: #fff !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods{
  padding: 0 50px;
  border: none;
  background: #fff;
}

#payment ul.methods label{
  font-size: 13px;
  line-height: 25px !important;
}
.woocommerce-checkout #payment div.payment_box p:last-child{
  margin-bottom: 0;
  font-size: 13px;
}
.woocommerce-checkout #payment div.form-row{
  padding: 5px 50px 50px;
  font-size: 13px;
  font-weight: 300;
  line-height: 26px;
  color: var(--theme-color-alter_text);
  text-align: left;
  background: #fff;
  font-family: 'Manrope';
}

.woocommerce-page #payment #place_order{
  float: left;
  border: none;
  border-radius: 0;
  width: 100%;
  justify-content: center;
  padding: 10px;
  text-transform: uppercase;
  font-size: 13px;
  width: 100% !important;
  font-family: 'Manrope';
}

@media (max-width: 900px){
  .woocommerce-checkout #payment ul.payment_methods,
  .woocommerce-checkout #payment div.form-row{
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* Checkout 2-column layout */
body.woocommerce-checkout:not(.woocommerce-order-received) .des-checkout-grid{
  display:flex;
  gap:80px;
  align-items:flex-start;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .des-checkout-left,
body.woocommerce-checkout:not(.woocommerce-order-received) .des-checkout-right{
  flex:1;
  min-width:0;
}

/* Typography 12/13px */
body.woocommerce-checkout:not(.woocommerce-order-received) .des-checkout-wrapper{
  font-size:12px;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .des-checkout-section-title,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment #order_review_heading_payment,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.methods label{
  font-size:13px;
}

/* Mobile stack */
@media (max-width: 900px){
  body.woocommerce-checkout:not(.woocommerce-order-received) .des-checkout-grid{
    flex-direction:column;
    gap:40px;
  }
}

/* =========================================================
   9) THANK YOU PAGE
   ========================================================= */
body.woocommerce-order-received .checkout-breadcrumb,
body.woocommerce-order-received .ux-checkout-nav,
body.woocommerce-order-received .woocommerce-breadcrumb,
body.woocommerce-order-received .woocommerce-order-steps{
  display: none !important;
}

body.woocommerce-order-received .des-checkout-wrapper{
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 20px 100px;
  font-family: "Helvetica Neue", Arial, sans-serif;
}

.des-thankyou-btn{
  display: inline-block;
  padding: 5px 100px !important;
  border-radius: 0 !important;
  background: #37000e !important;
  color: #fff !important;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  text-decoration: none;
}
.des-thankyou-btn:hover,
.des-thankyou-btn:focus,
.des-thankyou-btn:active{
  color: #fff !important;
}

/* Order details tables */
.shop_table_checkout_review{
  padding: 0 !important;
  background-color: #fff;
}
.shop_table_checkout_review table tr > th:first-child,
.shop_table_checkout_review table tr > td:first-child{
  text-align: left;
  font-size: 13px;
  width: 235px !important;
}
.shop_table_checkout_review table th span.amount,
.shop_table_checkout_review table th *,
.shop_table_checkout_review table td span.amount,
.shop_table_checkout_review table td *{
  color: var(--theme-color-alter_dark);
  font-size: 13px !important;
}
.shop_table_checkout_review table td:last-child{
  padding: 0 !important;
}

.shop_table_order_details{
  padding: 18px 50px;
  color: var(--theme-color-alter_dark);
  background-color: #fff;
}

#box_now_delivery_button{
  background-color: #6CD04E !important;
  color: #fff !important;
  padding: 10px;
}

.woocommerce-message{ display: none !important; }


/* =========================================================
   10) COOKIE BANNER (Complianz)
   ========================================================= */
.cmplz-cookiebanner .cmplz-title{
  font-size: 13px !important;
  text-transform: uppercase;
}
#cmplz-manage-consent .cmplz-manage-consent{
  font-size: 13px;
  text-transform: uppercase;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn{
  font-size: 13px !important;
}



/* =========================================================
   THANK YOU PAGE — MATCH BAG / CHECKOUT LOOK
   ========================================================= */

/* 1) Same centered page width as Bag */
body.woocommerce-order-received .des-checkout-wrapper,
body.woocommerce-order-received .site-main.des-checkout-wrapper{
  padding-top: 0 !important;               /* remove the big top padding */
  padding-left: 20px !important;
  padding-right: 20px !important;
}

body.woocommerce-order-received .des-thankyou{
  max-width: 750px;                         /* same as .des-cart-page */
  margin: 0 auto !important;
  padding: 0 0 80px !important;
}

/* 2) Make THANK YOU title behave like BAG title */
body.woocommerce-order-received .des-thankyou-header{
  margin: 40px 0 24px !important;           /* same spacing as .des-cart-title */
  text-align: center;
}

body.woocommerce-order-received .des-thankyou-title{
  font-size: 14px !important;               /* match bag title size */
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  margin: 0 !important;
}

body.woocommerce-order-received .des-thankyou-subtitle{
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  margin: 10px 0 0 !important;
  opacity: .75;
}

/* 3) Add a “topline” like Bag/Checkout */
body.woocommerce-order-received .des-thankyou-header::after{
  content: "";
  display: block;
  border-top: 1px solid #000;
  margin-top: 24px;
}

/* 4) Cards = same style as order summary (clean borders) */
body.woocommerce-order-received .des-thankyou-grid{
  margin-top: 24px !important;
  gap: 24px !important;
}

body.woocommerce-order-received .des-thankyou-meta.des-order-summary,
body.woocommerce-order-received .des-thankyou-details.des-order-summary{
  border: 1px solid #000 !important;
  background: #fff !important;
  padding: 20px !important;                /* same feel as checkout right box */
  font-size: 11px !important;
}

/* headings inside cards */
body.woocommerce-order-received .des-thankyou-meta-title{
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  margin: 0 0 16px !important;
}

/* list spacing */
body.woocommerce-order-received .des-thankyou-meta-list li{
  margin-bottom: 8px;
  color:black;
}

/* 5) Button = align like Bag buttons (full width on mobile) */
body.woocommerce-order-received .des-thankyou-btn{
  display: block !important;
  width: 100%;
  text-align: center;
  padding: 14px 20px !important;
  background: #37000e !important;
  border: 1px solid #37000e !important;
  border-radius: 0 !important;
  letter-spacing: 0.08em !important;
  font-size: 11px !important;
}

/* 6) Mobile: stack cards */
@media (max-width: 900px){
  body.woocommerce-order-received .des-thankyou-grid{
    flex-direction: column !important;
  }
}
/* =========================================================
   THANK YOU PAGE FIXES: button overflow + huge order details
   ========================================================= */

/* Keep both cards clean + prevent overflow */
body.woocommerce-order-received .des-thankyou-meta,
body.woocommerce-order-received .des-thankyou-details{
  overflow: hidden;                 /* stops button stretching outside */
  box-sizing: border-box;
}

/* Button should stay inside the left card */
body.woocommerce-order-received .des-thankyou-meta .des-thankyou-btn{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 18px 0 0 !important;
  padding: 14px 20px !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  background: #37000e !important;
  border: 1px solid #37000e !important;
  color: #fff !important;
  text-align: center !important;
}

/* Hide Woo default big heading inside your right card */
body.woocommerce-order-received .des-thankyou-details .woocommerce-order-details__title{
  display: none !important;
}

/* If your gateway outputs an "Order details" H2/H3, force it small */
body.woocommerce-order-received .des-thankyou-details h2,
body.woocommerce-order-received .des-thankyou-details h3{
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px !important;
}

/* Make the Woo order details table typography small like Bag */
body.woocommerce-order-received .des-thankyou-details,
body.woocommerce-order-received .des-thankyou-details table,
body.woocommerce-order-received .des-thankyou-details th,
body.woocommerce-order-received .des-thankyou-details td,
body.woocommerce-order-received .des-thankyou-details .amount{
  font-size: 11px !important;
  text-transform: uppercase !important;
}

/* Reduce padding so the table looks tighter */
body.woocommerce-order-received .des-thankyou-details table.shop_table th,
body.woocommerce-order-received .des-thankyou-details table.shop_table td{
  padding: 10px 0 !important;
}

/* Mobile safety */
@media (max-width: 900px){
  body.woocommerce-order-received .des-thankyou-meta .des-thankyou-btn{
    margin-top: 14px !important;
  }
}

body.woocommerce-order-received .des-checkout-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 20px 0px;
    font-family: 'Manrope';
}