@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: "woodmart-font";
	src: url("//dripsteezy.com/wp-content/themes/woodmart/fonts/woodmart-font-1-300.woff2?v=8.3.7") format("woff2");
	font-display:swap;
}

@font-face {
	font-family: "star";
	font-weight: 400;
	font-style: normal;
	src: url("//dripsteezy.com/wp-content/plugins/woocommerce/assets/fonts/star.eot?#iefix") format("embedded-opentype"), url("//dripsteezy.com/wp-content/plugins/woocommerce/assets/fonts/star.woff") format("woff"), url("//dripsteezy.com/wp-content/plugins/woocommerce/assets/fonts/star.ttf") format("truetype"), url("//dripsteezy.com/wp-content/plugins/woocommerce/assets/fonts/star.svg#star") format("svg");
}

@font-face {
	font-family: "WooCommerce";
	font-weight: 400;
	font-style: normal;
	src: url("//dripsteezy.com/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.eot?#iefix") format("embedded-opentype"), url("//dripsteezy.com/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.woff") format("woff"), url("//dripsteezy.com/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.ttf") format("truetype"), url("//dripsteezy.com/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.svg#WooCommerce") format("svg");
}

:root {
	--wd-text-font: "hkgroteskpro", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: rgb(0,0,0);
	--wd-text-font-size: 16px;
	--wd-title-font: "Balenciaga", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 500;
	--wd-title-transform: none;
	--wd-title-color: rgb(0,0,0);
	--wd-entities-title-font: "hkgroteskpro", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 500;
	--wd-entities-title-color: rgb(0,0,0);
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-alternative-font: "Lato", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "hkgroteskpro", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 500;
	--wd-widget-title-transform: capitalize;
	--wd-widget-title-color: rgb(0,0,0);
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: "Balenciaga", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 500;
	--wd-header-el-transform: capitalize;
	--wd-header-el-font-size: 15px;
	--wd-otl-style: dotted;
	--wd-otl-width: 2px;
	--wd-primary-color: rgb(17,17,17);
	--wd-alternative-color: rgb(140,93,63);
	--btn-default-bgcolor: rgb(147,147,147);
	--btn-default-bgcolor-hover: rgb(107,107,107);
	--btn-accented-bgcolor: rgb(42,117,68);
	--btn-accented-bgcolor-hover: rgb(43,81,59);
	--wd-form-brd-width: 1px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
	--wd-link-color: #333333;
	--wd-link-color-hover: #242424;
	--wd-sticky-btn-height: 95px;
}
.wd-age-verify-wrap {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: rgb(255,255,255);
	background-image: none;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.wd-promo-popup-wrap {
	--wd-popup-width: 800px;
	--wd-popup-padding: 0px;
}
:is(.woodmart-archive-shop .wd-builder-off,.wd-wishlist-content,.related-and-upsells,.cart-collaterals,.wd-shop-product,.wd-fbt) .wd-products-with-bg, :is(.woodmart-archive-shop .wd-builder-off,.wd-wishlist-content,.related-and-upsells,.cart-collaterals,.wd-shop-product,.wd-fbt) .wd-products-with-bg :is(.wd-product,.wd-cat) {
	--wd-prod-bg:rgb(246,246,246);
	--wd-bordered-bg:rgb(246,246,246);
}
:is(.woodmart-woocommerce-layered-nav, .wd-product-category-filter) .wd-scroll-content {
	max-height: 223px;
}
.wd-page-title .wd-page-title-bg img {
	object-fit: cover;
	object-position: center center;
}
.wd-footer {
	background-color: rgb(251,251,251);
	background-image: none;
}
html .product-image-summary-wrap .product_title, html .wd-single-title .product_title {
	font-family: "Balenciaga", Arial, Helvetica, sans-serif;
	font-size: 26px;
}
html .woocommerce-mini-cart__buttons .btn-cart {
	background: rgb(42,117,68);
}
html .woocommerce-mini-cart__buttons .btn-cart:hover {
	background: rgb(43,81,59);
}
.product-labels .product-label.onsale {
	background-color: rgb(42,117,68);
}
.product-labels .product-label.new {
	background-color: rgb(42,117,68);
}
.product-labels .product-label.featured {
	background-color: rgb(42,117,68);
}
.mfp-wrap.wd-popup-quick-view-wrap {
	--wd-popup-width: 920px;
}
.woocommerce-product-gallery {
	--wd-gallery-gap: 50px;
}

@media (max-width: 1024px) {
	:root {
		--wd-sticky-btn-height: 95px;
	}
	html .product-image-summary-wrap .product_title, html .wd-single-title .product_title {
		font-size: 20px;
	}
	.woocommerce-product-gallery {
		--wd-gallery-gap: 0px;
	}

}

@media (max-width: 768.98px) {
	:root {
		--wd-sticky-btn-height: 42px;
	}
	html .product-image-summary-wrap .product_title, html .wd-single-title .product_title {
		font-size: 18px;
	}
	.woocommerce-product-gallery {
		--wd-gallery-gap: 0px;
	}

}
:root{
--wd-form-brd-radius: 0px;
--btn-default-color: #fff;
--btn-default-color-hover: #fff;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 5px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-accented-brd-radius: 5px;
--btn-accented-box-shadow: none;
--btn-accented-box-shadow-hover: none;
--wd-brd-radius: 5px;
}


rs-slides :is([data-type=text],[data-type=button]) {
font-family: hkgroteskpro !important;
}
rs-slides :is(h1,h2,h3,h4,h5,h6)[data-type=text] {
font-family: Balenciaga !important;
}


@font-face {
	font-family: "hkgroteskpro";
	src: url("//dripsteezy.com/wp-content/uploads/2021/10/HKGroteskPro-Light.woff2") format("woff2"), 
url("//dripsteezy.com/wp-content/uploads/2021/10/HKGroteskPro-Light.woff") format("woff");
	font-weight: 300;
	font-display:swap;
	font-style: normal;
}

@font-face {
	font-family: "hkgroteskpro";
	src: url("//dripsteezy.com/wp-content/uploads/2021/09/hkgroteskpro-regular.woff2") format("woff2"), 
url("//dripsteezy.com/wp-content/uploads/2021/09/hkgroteskpro-regular.woff") format("woff");
	font-weight: 400;
	font-display:swap;
	font-style: normal;
}

@font-face {
	font-family: "hkgroteskpro";
	src: url("//dripsteezy.com/wp-content/uploads/2021/09/hkgroteskpro-medium.woff2") format("woff2"), 
url("//dripsteezy.com/wp-content/uploads/2021/09/hkgroteskpro-medium.woff") format("woff");
	font-weight: 500;
	font-display:swap;
	font-style: normal;
}

@font-face {
	font-family: "hkgroteskpro";
	src: url("//dripsteezy.com/wp-content/uploads/2026/01/BB-Condensed.woff2") format("woff2"), 
url("//dripsteezy.com/wp-content/uploads/2021/09/hkgroteskpro-bold.woff") format("woff");
	font-weight: 600;
	font-display:swap;
	font-style: normal;
}

@font-face {
	font-family: "Balenciaga";
	src: url("//dripsteezy.com/wp-content/uploads/2026/01/BB-Condensed.woff2") format("woff2"), 
url("//dripsteezy.com/wp-content/uploads/2026/01/BB-Condensed.woff") format("woff");
	font-weight: 400;
	font-display:swap;
	font-style: normal;
}

/* Global button bg fix: F3F3F3 → F9FAFB */
:root {
    --btn-bgcolor: #F9FAFB;
}

/* Esconder product_meta duplicado do Woodmart no summary */
.summary-inner .product_meta {
    display: none !important;
}

/* Brand e Reviews - linha flexbox */
.single-product .dripsteezy-brand-reviews-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 10px !important;
    margin-bottom: 18px !important;
    padding: 0 !important;
}

.single-product .dripsteezy-brand-reviews-row .explore-brand {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    font-size: 14px !important;
    text-decoration: none !important;
}

.single-product .dripsteezy-brand-reviews-row .explore-brand:hover {
    opacity: 0.85 !important;
}

.single-product .dripsteezy-brand-reviews-row .explore-brand .explore-text {
    background: #000 !important;
    color: #fff !important;
    padding: 5px 10px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    display: inline-block !important;
}

.single-product .dripsteezy-brand-reviews-row .explore-brand .brand-name {
    background: #fff !important;
    color: #000 !important;
    border: 1px solid #000 !important;
    padding: 4px 10px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    line-height: 1 !important;
    display: inline-block !important;
}

.single-product .dripsteezy-brand-reviews-row .product-reviews-stars {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 16px !important;
    color: #000 !important;
    text-decoration: none !important;
}

.single-product .dripsteezy-brand-reviews-row .product-reviews-stars:hover {
    opacity: 0.7 !important;
}

.single-product .dripsteezy-brand-reviews-row .product-reviews-stars .stars {
    color: #000 !important;
    letter-spacing: 1px !important;
    font-size: 16px !important;
}

.single-product .dripsteezy-brand-reviews-row .product-reviews-stars .rating-number {
    font-weight: 600 !important;
    color: #000 !important;
    font-size: 16px !important;
}

.single-product .dripsteezy-brand-reviews-row .product-reviews-stars .review-count {
    color: #666 !important;
    font-size: 15px !important;
}

/* Título alinhado à esquerda */
.single-product .entry-summary .product_title {
    text-align: left !important;
}

/* ===============================
   DESKTOP - SUMMARY PADDING E WISHLIST
   =============================== */
@media (min-width: 769px) {
    /* Padding do summary desktop */
    .single-product .product-summary-shadow,
    .single-product .summary-inner {
        padding: 0 15px 15px 15px !important;
    }
    
    /* Esconder div original do breadcrumb (vazia após mover) */
    .single-product .single-breadcrumbs-wrapper {
        display: none !important;
    }
    
    /* Breadcrumb wrapper com flexbox para alinhar wishlist à direita */
    .single-product #dripsteezy-breadcrumb-top {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 10px 10px 10px !important;
    }
    
    /* Breadcrumb ocupa espaço disponível */
    .single-product #dripsteezy-breadcrumb-top .woocommerce-breadcrumb {
        flex: 1 !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    /* Wishlist alinhado à direita */
    .single-product #dripsteezy-breadcrumb-top .wd-wishlist-btn {
        position: static !important;
        margin: 0 !important;
        margin-inline-end: 0 !important;
        flex-shrink: 0 !important;
    }
    
    /* Views counter em linha própria abaixo */
    .single-product #dripsteezy-breadcrumb-top .dripsteezy-views-counter {
        width: 100% !important;
        margin-top: 5px !important;
    }
}


/* Container full width */
.woocommerce-product-gallery .wd-nav-pagin.wd-type-bullets {
  width: 100% !important;
  display: flex !important;
  justify-content: stretch !important;
  gap: 0 !important;
}

/* Cada item ocupa espaço igual e some quando inativo */
.woocommerce-product-gallery .wd-nav-pagin.wd-type-bullets .wd-nav-pagin-item {
  flex: 1 !important;
  position: relative !important;
  left: 0 !important;
  height: 3px !important;
}

/* Inativos: totalmente transparentes */
.woocommerce-product-gallery .wd-nav-pagin.wd-type-bullets .wd-nav-pagin-item span {
  width: 100% !important;
  height: 3px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  transform: none !important;
}

/* Ativo: traço mais claro (ajuste se quiser ainda mais claro) */
.woocommerce-product-gallery .wd-nav-pagin.wd-type-bullets .wd-nav-pagin-item.wd-active span,
.woocommerce-product-gallery .wd-nav-pagin.wd-type-bullets .wd-nav-pagin-item.wd-active-main span {
  background: #777 !important; /* deixe #666 ou #777 se quiser mais claro */
}

/* Remover efeitos do dynamic */
.woocommerce-product-gallery .wd-nav-pagin.wd-type-bullets-dynamic .wd-nav-pagin-item {
  transform: none !important;
  opacity: 1 !important;
}

.woocommerce-product-gallery .wd-nav-pagin.wd-type-bullets-dynamic .wd-nav-pagin-item span {
  transform: none !important;
}



/* 1) Esconder quantidade */
.single-product form.cart .quantity {
  display: none !important;
}

/* 2) Botão Add to Cart full width e mais baixo */
.single-product form.cart .single_add_to_cart_button,
.single-product form.cart button.single_add_to_cart_button,
.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button,
body.single-product .single_add_to_cart_button.button {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 44px !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
}

/* Bag icon on Add to Bag button */
html body.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button::before,
html body.single-product form.cart .single_add_to_cart_button.button::before {
  content: '' !important;
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  margin-right: 6px !important;
  background: currentColor !important;
  position: static !important;
  border: none !important;
  animation: none !important;
  opacity: 1 !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 002 2h14a2 2 0 002-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 01-8 0'/%3E%3C/svg%3E") !important;
  -webkit-mask-size: contain !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 002 2h14a2 2 0 002-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 01-8 0'/%3E%3C/svg%3E") !important;
  mask-size: contain !important;
  mask-repeat: no-repeat !important;
  flex-shrink: 0;
}

/* 3) Variação: remover label “Size:” e deixar full width */
.single-product form.variations_form .variations th.label {
  display: none !important;
}
.single-product form.variations_form .variations tr,
.single-product form.variations_form .variations td {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
}

/* Select full width, borda suave */
.single-product form.variations_form select {
  width: 100% !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  height: 44px !important;
  box-shadow: none !important;
}

/* Placeholder mais claro (invisível quando seleciona) */
.single-product form.variations_form select option[value=""] {
  color: #777 !important;
}

/* Select realmente 100% do container do summary */
.single-product .entry-summary .variations_form,
.single-product .entry-summary .variations_form .variations,
.single-product .entry-summary .variations_form .variations tr,
.single-product .entry-summary .variations_form .variations td.value {
  width: 100% !important;
}
.single-product .entry-summary .variations_form select {
  width: 100% !important;
  max-width: 100% !important;
}

/* Hide reset variations button */
.wd-reset-var,
a.reset_variations {
  display: none !important;
}

/* Alinhar título e preço à esquerda */
.single-product .entry-summary .product_title,
.single-product .entry-summary .price {
  text-align: left !important;
}

/* Reduzir espaço entre título e preço se quiser */
.single-product .entry-summary .product_title {
  margin-bottom: 6px !important;
  font-weight: 700 !important; /* Título em bold */
}
.single-product .entry-summary .price {
  margin-bottom: 8px !important;
}

/* =====================================================
   SISTEMA DE RESERVA 50%
   ===================================================== */

/* Preço e Reserve - layout vertical */
.dripsteezy-price-reserve-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    margin: 0 0 10px 0 !important;
    gap: 0 !important;
    padding: 10px 0 0 0 !important;
}

.dripsteezy-price-reserve-row {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.dripsteezy-price-reserve-row .price {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}

.dripsteezy-price-reserve-row .reserve-system {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

.dripsteezy-price-reserve-row .reserve-system .reserve-text {
    margin: 0 !important;
    padding: 0 !important;
}

.dripsteezy-price-reserve-row .reserve-system .reserve-subtext {
    margin: 0 0 10px 0 !important;
    margin-top: 0 !important;
    padding: 0 !important;
}

/* Size label em negrito */
.single-product .variations .label label,
.single-product .custom-size-selector .size-label {
    font-weight: 700 !important;
}

.dripsteezy-price-reserve-row .reserve-system .reserve-text {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    justify-content: flex-start !important;
}

.dripsteezy-price-reserve-row .reserve-system .reserve-subtext {
    display: block !important;
    font-size: 13px !important;
    color: #666 !important;
    margin-top: 4px !important;
}

.reserve-system {
    text-align: left;
    margin-bottom: 8px;
    padding: 4px 0;
}

.reserve-text {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    flex-wrap: wrap;
}

.reserve-label {
    font-size: 16px;
    font-weight: 300;
    color: #666;
    letter-spacing: 0.3px;
}

.reserve-price {
    font-size: 16px;
    font-weight: 600;
    color: #2d7a4f;
}

.reserve-info-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    font-size: 10px;
    font-weight: 600;
    color: #999;
    border: 1px solid #ccc;
    border-radius: 50%;
    cursor: help;
    position: relative;
    z-index: 10;
    transition: all 0.2s ease;
}

.reserve-info-icon:hover {
    color: #333;
    border-color: #999;
    z-index: 9999;
}

/* Tooltip */
.reserve-info-icon:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 130%;
    left: 50%;
    transform: translateX(-50%);
    width: 300px;
    padding: 14px 16px;
    background: #333;
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    border-radius: 8px;
    z-index: 99999;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
    text-align: left;
}

/* Seta do tooltip */
.reserve-info-icon:hover::before {
    content: "";
    position: absolute;
    bottom: 115%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: #333;
    z-index: 99999;
}

.reserve-subtext {
    font-size: 11px;
    font-weight: 300;
    color: #888;
    margin-top: 4px;
    letter-spacing: 0.2px;
}

/* ================================================
   Custom Model Notice (tag: custom-model)
   ================================================ */
.dripsteezy-custom-model-notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: linear-gradient(135deg, #fdf8f0 0%, #fef6e8 100%);
    border: 1px solid #e8d5b0;
    border-left: 3px solid #c9a44e;
    border-radius: 6px;
    padding: 12px 14px;
    margin: 8px 0 4px 0;
}

.dripsteezy-custom-model-notice .custom-model-icon {
    flex-shrink: 0;
    color: #b8942e;
    margin-top: 1px;
}

.dripsteezy-custom-model-notice .custom-model-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.dripsteezy-custom-model-notice .custom-model-text strong {
    font-size: 13px;
    font-weight: 700;
    color: #7a6520;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.dripsteezy-custom-model-notice .custom-model-text span {
    font-size: 12.5px;
    font-weight: 400;
    color: #6b5c3a;
    line-height: 1.45;
}

/* PayPal + card brands row */
.single_variation_wrap .paypal-checkout-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 10px 0 10px 0 !important;
    padding: 0;
    line-height: 1;
    flex-wrap: wrap;
}

.dripsteezy-price-reserve-row .woocommerce-Price-amount {
    color: #333 !important;
}

.paypal-price-label {
    font-size: 13px;
    font-weight: 400;
    color: #666;
    line-height: 1;
}

.paypal-logo-inline {
    display: block;
    height: 18px;
    width: auto;
}

.drip-card-icon {
    height: 18px;
    width: auto;
    display: block;
}

.paypal-info-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    font-size: 10px;
    font-weight: 600;
    color: #999;
    border: 1px solid #ccc;
    border-radius: 50%;
    cursor: help;
    position: relative;
    z-index: 10;
    transition: all 0.2s ease;
}

.paypal-info-icon:hover {
    color: #333;
    border-color: #999;
    z-index: 9999;
}

.paypal-info-icon:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 130%;
    left: 50%;
    transform: translateX(-50%);
    width: 300px;
    padding: 14px 16px;
    background: #333;
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    border-radius: 8px;
    z-index: 99999;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
    text-align: left;
}

.paypal-info-icon:hover::before {
    content: "";
    position: absolute;
    bottom: 115%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: #333;
    z-index: 99999;
}

/* "or" separator between PayPal and Reserve */
.paypal-or-separator {
    font-size: 13px;
    font-weight: 400;
    color: #999;
    text-align: left;
    margin: 4px 0;
    text-transform: lowercase;
}

/* Mobile */
@media (max-width: 480px) {
    .reserve-info-icon:hover::after {
        width: 220px;
        left: auto;
        right: -10px;
        transform: none;
    }
    
    .reserve-info-icon:hover::before {
        left: auto;
        right: 2px;
        transform: none;
    }

    .paypal-info-icon:hover::after {
        width: 220px;
        left: auto;
        right: -10px;
        transform: none;
    }

    .paypal-info-icon:hover::before {
        left: auto;
        right: 2px;
        transform: none;
    }
}

/* Formatação de preços - Regular e Sale */
.single-product .entry-summary .price {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

/* Preço regular (quando há desconto) - riscado e menor */
.single-product .entry-summary .price del,
.single-product .entry-summary .price del .amount {
  color: #666 !important;
  font-size: 18px !important;
  text-decoration: line-through !important;
  font-weight: 400 !important;
  opacity: 0.7 !important;
}

del .amount,
.price del .amount,
.price del .woocommerce-Price-amount {
    color: #666 !important;
    font-weight: 400 !important;
}

/* Preço de venda (com desconto) - destaque - DESKTOP MAIOR */
.single-product .entry-summary .price ins,
.single-product .entry-summary .price ins .amount {
  color: #333 !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* Preço normal (sem desconto) - DESKTOP MAIOR */
.single-product .entry-summary .price > .amount {
  color: #333 !important;
  font-size: 24px !important;
  font-weight: 600 !important;
}


/* Badge de SALE/NEW/HOT visível e estilizado na página de produto */
/* Container da galeria precisa ser relativo */
.single-product .wd-carousel-container.wd-gallery-images,
.single-product .wd-carousel-container.wd-gallery-images .wd-carousel-inner {
    position: relative !important;
}

.single-product .wd-carousel-inner > .product-labels,
.single-product .wd-carousel-inner > .wd-product-labels {
    display: none !important;
}

.single-product .wd-carousel-inner .product-label,
.single-product .wd-carousel-inner .wd-product-label,
.single-product .wd-carousel-inner .onsale {
    font-size: 14px !important;
    padding: 8px 16px !important;
    font-weight: 600 !important;
    border-radius: 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    min-width: 70px !important;
    text-align: center !important;
    display: inline-block !important;
}

/* Contêiner relativo para posicionar */
.single-product .woocommerce-product-gallery {
  position: relative !important;
}

/* Contêiner relativo da galeria */
.single-product .product-image-summary,
.single-product .product-images,
.single-product .woocommerce-product-gallery {
  position: relative !important;
}

/* Summary above image column so tooltips render on top */
.single-product .summary.entry-summary {
  position: relative;
  z-index: 2;
}

/* 1. Posicionamento da Bolha - bem no canto */
.single-product .wd-wishlist-btn {
    position: absolute !important;
    top: 6px;
    right: 6px;
    z-index: 100 !important;
}

/* 2. Estilo da Bolha (Branca, Redonda, Sombra) - 20% menor */
.single-product .wd-wishlist-btn a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    background-color: #ffffff !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.15) !important;
    transition: all 0.3s ease !important;
    padding: 0 !important;
    position: relative !important;
}

/* 3. NUKAR o ícone de check/bola cinza que está bugando */
.single-product .wd-wishlist-btn .wd-added-icon {
    display: none !important;
}

/* 4. Esconder o texto */
.single-product .wd-wishlist-btn .wd-action-text {
    display: none !important;
}

/* 5. Esconder ícones existentes */
.single-product .wd-wishlist-btn a svg,
.single-product .wd-wishlist-btn a i,
.single-product .wd-wishlist-btn a span:not(.wd-tooltip-label) {
    display: none !important;
}

/* 5.1 REMOVER o ícone :before do Woodmart */
.single-product .wd-wishlist-btn > a:before {
    content: none !important;
    display: none !important;
}

/* 6. Forçar o Coração - usando SVG inline (funciona em todos os dispositivos) */
.single-product .wd-wishlist-btn > a:after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 18px !important;
    height: 18px !important;
    
    /* SVG do coração vazio */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'%3E%3C/path%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    
    /* Remover estilos conflitantes */
    border: none !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    animation: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 7. Hover NORMAL - contorno fica mais escuro */
.single-product .wd-wishlist-btn:not(.added):not(.wd-added) a:hover:after {
    opacity: 0.7 !important;
}

/* 8. Quando o produto for adicionado, o coração fica preenchido preto */
.single-product .wd-wishlist-btn.added a:after,
.single-product .wd-wishlist-btn.wd-added a:after,
.single-product .wd-wishlist-btn a.added:after {
    /* SVG do coração preenchido preto */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23333' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'%3E%3C/path%3E%3C/svg%3E") !important;
}

/* Hover quando já está adicionado - mantém preenchido preto */
.single-product .wd-wishlist-btn.added a:hover:after,
.single-product .wd-wishlist-btn.wd-added a:hover:after,
.single-product .wd-wishlist-btn a.added:hover:after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23333' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'%3E%3C/path%3E%3C/svg%3E") !important;
}

/* Feedback visual ao clicar */
.single-product .wd-wishlist-btn a:active {
    transform: scale(0.9) !important;
}

/* Wishlist mobile - garantir funcionamento em dispositivos reais */
@media (max-width: 768px) {
    /* Esconder div original do breadcrumb (vazia após mover) */
    .single-product .single-breadcrumbs-wrapper {
        display: none !important;
    }
    
    /* Reduce variation table bottom margin */
    .wd-reset-bottom-md.variation-swatch-selected {
        --wd-var-table-mb: 10px !important;
    }
    
    /* Breadcrumb wrapper com flexbox para alinhar wishlist à direita */
    .single-product #dripsteezy-breadcrumb-top {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 !important;
        margin-top: 0 !important;
    }
    
    /* Breadcrumb ocupa espaço disponível */
    .single-product #dripsteezy-breadcrumb-top .woocommerce-breadcrumb {
        flex: 1 !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    /* Wishlist alinhado à direita - menor */
    .single-product #dripsteezy-breadcrumb-top .wd-wishlist-btn {
        position: static !important;
        margin: 0 !important;
        margin-inline-end: 0 !important;
        flex-shrink: 0 !important;
    }
    
    .single-product #dripsteezy-breadcrumb-top .wd-wishlist-btn a {
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        min-height: 24px !important;
    }
    
    .single-product #dripsteezy-breadcrumb-top .wd-wishlist-btn > a:after {
        width: 14px !important;
        height: 14px !important;
    }
    
    /* Views counter em linha própria abaixo */
    .single-product #dripsteezy-breadcrumb-top .dripsteezy-views-counter {
        width: 100% !important;
        margin-top: 5px !important;
    }
}


/* =====================================================
   SISTEMA DE TAMANHOS COM BOTÕES E CONVERSÃO
   ===================================================== */

/* Esconder select original quando botões estão ativos */
.variations_form select#pa_size,
.variations_form select[name="attribute_pa_size"],
.variations_form select[name="attribute_size"] {
    display: none !important;
}

/* Container principal */
.custom-size-selector {
    width: 100%;
    margin-bottom: 8px;
}

/* Label "Size:" pequeno */
.size-label {
    font-size: 14px;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    font-weight: 500;
}

/* Toggle de Sistema (US/EU/UK/CM) */
.size-system-toggle {
    display: flex;
    gap: 6px;
    margin-bottom: 10px;
    justify-content: center;
}

.size-system-toggle .system-btn {
    flex: 1;
    padding: 6px 8px;
    background: #f7f7f7;
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 600;
    color: #666;
    cursor: pointer;
    transition: all 0.2s ease;
    text-transform: uppercase;
}

.size-system-toggle .system-btn:hover {
    background: #efefef;
    border-color: #d0d0d0;
}

.size-system-toggle .system-btn.active {
    color: #fff;
    border-color: #333;
}

/* Grid de Botões de Tamanho */
.size-buttons-grid {
    display: none; /* Escondido por padrão */
    grid-template-columns: repeat(6, 1fr);
    gap: 5px;
    margin-top: 0;
}

/* Quando sistema é selecionado - mostra sem animação (evita CLS) */
.size-buttons-grid.show {
    display: grid;
    margin-top: 6px;
}

.size-buttons-grid .size-btn {
    padding: 8px 2px;
    background: #fff;
    border: 1.5px solid #e0e0e0;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 500;
    color: #333;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
    min-width: 0;
}

.size-buttons-grid .size-btn:hover {
    border-color: #999;
    background: #fafafa;
}

.size-buttons-grid .size-btn.selected {
    transform: scale(1.05);
}

.size-buttons-grid .size-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    background: #f5f5f5;
}

.size-buttons-grid .size-btn:disabled:hover {
    border-color: #e0e0e0;
    background: #f5f5f5;
}

/* Responsivo */
@media (max-width: 480px) {
    .size-buttons-grid {
        grid-template-columns: repeat(6, 1fr);
        gap: 4px;
    }
    
    .size-buttons-grid .size-btn {
        padding: 7px 1px;
        font-size: 12px;
    }
    
    .size-system-toggle {
        gap: 4px;
        margin-bottom: 8px;
    }
    
    .size-system-toggle .system-btn {
        font-size: 11px;
        padding: 5px 4px;
    }
}

/* =====================================================
   BANNER DE MÉTODOS DE PAGAMENTO
   ===================================================== */

.payment-methods-banner {
    text-align: center;
    margin-top: 12px;
    padding: 8px 0;
}

.payment-methods-banner img {
    max-width: 70%;
    height: auto;
    display: block;
    margin: 0 auto;
    opacity: 0.6;
    filter: grayscale(20%);
    aspect-ratio: 450 / 30;
}

/* Mobile */
@media (max-width: 480px) {
    .payment-methods-banner {
        padding: 6px 0;
        margin-top: 10px;
    }
    
    .payment-methods-banner img {
        max-width: 75%;
        opacity: 0.5;
        aspect-ratio: 450 / 30;
    }
}

/* =====================================================
   DRIPSTEEZY DIFFERENCE SECTION
   ===================================================== */

.dripsteezy-difference-section {
    width: 100%;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e8e8e8;
}

.dripsteezy-difference-card {
    margin-bottom: 16px;
    width: 100%;
}

.dripsteezy-difference-card img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    object-fit: contain;
}

/* --- DS Difference Content Section --- */
.ds-diff-content {
    padding: 0 4px;
}

.ds-diff-title {
    text-align: center;
    font-size: clamp(20px, 4vw, 24px);
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    letter-spacing: -0.025em;
    text-transform: uppercase;
    color: #1a1a1a;
    margin: 0 0 24px 0;
    line-height: 1.3;
}

.ds-diff-subtitle {
    display: block;
    margin-top: 4px;
    font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', sans-serif;
    font-size: clamp(14px, 3vw, 18px);
    font-weight: 700;
    letter-spacing: normal;
    color: #2D6A4F;
    text-transform: uppercase;
}

.ds-diff-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 28px;
}

.ds-diff-stat-card {
    background: #f8fafc;
    padding: 20px 16px;
    border-radius: 16px;
    text-align: center;
    border: 1px solid #f1f5f9;
}

.ds-diff-stat-value {
    font-size: clamp(24px, 5vw, 30px);
    font-weight: 800;
    color: #2D6A4F;
    margin-bottom: 4px;
    line-height: 1;
}

.ds-diff-stat-label {
    font-size: clamp(12px, 2.5vw, 16px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #94a3b8;
}

.ds-diff-features {
    display: flex;
    flex-direction: column;
    gap: 28px;
    margin-bottom: 28px;
}

.ds-diff-feature {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.ds-diff-feature-icon {
    flex-shrink: 0;
    width: clamp(44px, 8vw, 52px);
    height: clamp(44px, 8vw, 52px);
    border-radius: 50%;
    background: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ds-diff-feature-icon .material-icons-round {
    font-size: clamp(24px, 5vw, 30px);
    color: #2D6A4F;
}

.ds-diff-feature-title {
    font-size: clamp(14px, 3vw, 18px);
    font-weight: 700;
    color: #1a1a1a;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 4px 0;
    line-height: 1.3;
}

.ds-diff-feature-desc {
    font-size: clamp(13px, 2.8vw, 16px);
    color: #64748b;
    line-height: 1.6;
    font-weight: 300;
    margin: 0;
}

.ds-diff-quote {
    background: rgba(45, 106, 79, 0.05);
    border: 1px solid rgba(45, 106, 79, 0.1);
    border-radius: 12px;
    padding: 16px 20px;
    margin-bottom: 20px;
}

.ds-diff-quote p {
    font-size: clamp(13px, 2.6vw, 15px);
    text-align: center;
    font-style: italic;
    color: #475569;
    margin: 0;
    line-height: 1.6;
}

.dripsteezy-difference-image {
    width: 100%;
    margin-top: 14px;
}

.dripsteezy-difference-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    aspect-ratio: 3 / 2; /* Reserva espaço para evitar CLS */
    object-fit: cover;
}

/* Mobile */
@media (max-width: 480px) {
    .dripsteezy-difference-section {
        margin-top: 16px;
        padding-top: 16px;
    }
    
    .dripsteezy-difference-card img {
        border-radius: 6px;
    }
    
    .ds-diff-stat-card {
        padding: 16px 12px;
    }
    
    .ds-diff-features {
        gap: 22px;
    }
    
    .dripsteezy-difference-image {
        margin-top: 12px;
    }
    
    .dripsteezy-difference-image img {
        border-radius: 6px;
    }
}


/* Esconde a tag de promoção em todo o site */
.product-label.onsale {
    display: none !important;
}


/* =====================================================
   GRID ESTILO DROPER - VERSÃO FINAL CORRIGIDA
   ===================================================== */

/* 1. Ajuste do Card (Altura reduzida para caber 4 na tela) */
.product-grid-item .product-wrapper {
    display: flex !important;
    flex-direction: column !important;
    background-color: #f6f6f6 !important;
    border-radius: 15px !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: relative !important;

    /* comportamento correto */
    height: clamp(240px, 25vw, 420px) !important;
}

/* 2. Container de Texto (Título e Preço) */
.product-grid-item .product-element-bottom {
    order: 1 !important;
    display: grid !important; 
    grid-template-columns: 1fr auto !important; 
    gap: 10px !important;
    padding: 8px 10px !important;
    width: 100% !important;
    align-items: start !important;
    position: relative !important;
    z-index: 5 !important;
}

/* 3. TÍTULO (Sem movimento no hover) */
.product-grid-item .wd-entities-title {
    margin: 0 !important;
    padding: 0 !important;
    white-space: normal !important; 
    word-break: break-word !important;
    overflow: visible !important;
    display: block !important;
    transform: none !important;
}

.product-grid-item .wd-entities-title a {
    font-family: 'Balenciaga', sans-serif !important;
    font-size: clamp(12px, 2vw, 18px) !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    color: #313a3a !important;
    display: block !important;
    position: relative !important;
    z-index: 10 !important;
}

/* TORNAR TODO O CARD CLICÁVEL (Sem depender de JS) */
.product-grid-item .product-wrapper {
    position: relative !important;
    cursor: pointer !important;
}

/* O link da imagem vai expandir para cobrir TODO o wrapper */
.product-grid-item .product-image-link {
    position: static !important;
}

.product-grid-item .product-image-link::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 8 !important; /* Acima da imagem, abaixo do texto se quiser clicar no texto individualmente */
    display: block !important;
}

/* Garante que o título e preço fiquem por cima para serem lidos, mas o clique do card funciona */
.product-grid-item .product-element-bottom,
.product-grid-item .wrap-price {
    pointer-events: none !important; /* O clique passa para o link gigante ::before */
}

/* REMOVE QUALQUER HOVER DE SUBIDA */
.product-grid-item:hover .product-wrapper,
.product-grid-item:hover .product-element-bottom,
.product-grid-item:hover .wd-entities-title,
.product-grid-item .wd-entities-title:hover {
    transform: none !important;
    transition: none !important;
}

/* 4. PREÇO */
.product-grid-item .wrap-price {
    text-align: right !important;
    margin: 0 !important;
}

.product-grid-item .price {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
}

.product-grid-item .price ins .amount,
.product-grid-item .price > .amount {
    font-size: 24px !important;
    font-weight: 600 !important;
    color: #313a3a !important;
}

/* 5. IMAGEM */
.product-grid-item .product-element-top {
    order: 2 !important;
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px 10px !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
}

.product-grid-item .product-element-top img {
    max-height: 165px !important; 
    width: auto !important;
    object-fit: contain !important;
    transform: translateY(15px) !important; /* Sua posição original */
}


/* Esconder elementos extras */
.product-grid-item .wd-add-btn,
.product-grid-item .product-labels,
.product-grid-item .wd-buttons,
.product-grid-item .wd-product-grid-slider-pagin {
    display: none !important;
}

/* Card clicável - cursor pointer em toda a área */
.product-grid-item .product-wrapper {
    cursor: pointer !important;
}


/* =====================================================
   FILTRO DE CORES: GRID TOTALMENTE ALINHADO
   ===================================================== */

/* 1. Container Principal */
.wd-swatches-filter {
    display: flex !important;
    flex-wrap: wrap !important; 
    gap: 8px !important; 
    max-height: none !important;
    padding: 10px 0 !important;
    list-style: none !important;
}

/* 2. Blindagem contra as tags <link> que desalinham a primeira linha */
.wd-swatches-filter link, 
.wd-swatches-filter style {
    display: none !important;
    position: absolute !important;
}

/* 3. Forçar cada item a ser um bloco quadrado e alinhado */
.wc-layered-nav-term {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex: 0 0 auto !important;
    width: 32px !important; /* Tamanho fixo para garantir alinhamento */
    height: 32px !important;
    justify-content: center;
    align-items: center;
}

/* Esconder textos e contadores */
.layer-term-lable, .count, .wd-swatch-text {
    display: none !important;
}

/* 4. Estilo dos Círculos */
.wd-swatch {
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(0,0,0,0.1) !important;
    background-size: cover;
    transition: transform 0.2s ease;
}

/* Correção para o "White" que estava sem círculo — restrito ao filtro de cores */
.wd-widget-layered-nav li:has([href*="white"]) a {
    background-color: #ffffff;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid #ddd;
}

/* 5. ORDENAÇÃO DO GRADIENTE (REVISADA) */
/* ORDENAÇÃO POR ESPECTRO DE COR (CLARO → ESCURO) */

/* Brancos & Off-whites */
li:has([href*="white"])      { order: 1 !important; }
li:has([href*="ivory"])      { order: 2 !important; }
li:has([href*="sail"])       { order: 3 !important; }
li:has([href*="cream"])      { order: 4 !important; }
li:has([href*="off-white"])  { order: 5 !important; }

/* Beges & Tons claros quentes */
li:has([href*="beige"])      { order: 6 !important; }
li:has([href*="tan"])        { order: 7 !important; }

/* Amarelos & Dourados */
li:has([href*="yellow"])     { order: 8 !important; }
li:has([href*="gold"])       { order: 9 !important; }

/* Laranjas & Rosados */
li:has([href*="orange"])     { order: 10 !important; }
li:has([href*="pink"])       { order: 11 !important; }
li:has([href*="gum"])        { order: 12 !important; }

/* Vermelhos & Vinhos */
li:has([href*="red"])        { order: 13 !important; }
li:has([href*="burgundy"])   { order: 14 !important; }

/* Verdes */
li:has([href*="aqua"])       { order: 15 !important; }
li:has([href*="green"])      { order: 16 !important; }
li:has([href*="teal"])       { order: 17 !important; }
li:has([href*="olive"])      { order: 18 !important; }

/* Azuis */
li:has([href*="blue"])       { order: 19 !important; }
li:has([href*="navy-blue"])  { order: 20 !important; }
li:has([href*="navy"])       { order: 21 !important; }

/* Roxos */
li:has([href*="purple"])     { order: 22 !important; }

/* Marrons */
li:has([href*="brown"])      { order: 23 !important; }

/* Cinzas */
li:has([href*="silver"])     { order: 24 !important; }
li:has([href*="grey"])       { order: 25 !important; }

/* Escuro absoluto */
li:has([href*="black"])      { order: 26 !important; }

/* Fora do espectro */
li:has([href*="multi-color"]){ order: 27 !important; }


/* Efeito Hover */
.wc-layered-nav-term:hover .wd-swatch {
    transform: scale(1.1);
}


/* 1. TRAVA O ARREDONDAMENTO NO ESTADO NORMAL E NO HOVER */
.product-grid-item .product-wrapper,
.product-grid-item:hover .product-wrapper,
.wd-hover-fw-button .product-wrapper,
.wd-hover-fw-button:hover .product-wrapper {
    border-radius: 15px !important; /* Mesma medida para ambos os estados */
    overflow: hidden !important;
    background-color: #f6f6f6 !important; /* Cor de fundo fixa */
    transform: none !important; /* Impede que o card mude de tamanho/escala */
}

/* 2. REMOVE BORDAS EXTRAS DO TEMA QUE APARECEM NO HOVER */
.product-grid-item:hover .product-wrapper {
    outline: none !important;
    border: none !important;
    box-shadow: none !important; /* Se quiser sombra no hover, mude para: 0 5px 15px rgba(0,0,0,0.1) */
}

/* 3. AJUSTE DAS IMAGENS E SLIDERS INTERNOS */
.product-element-top, 
.product-image-link,
.wd-product-grid-slider,
.wd-product-grid-slide {
    border-radius: 15px 15px 0 0 !important;
    overflow: hidden !important;
}

/* 4. GARANTE QUE O CONTEÚDO INFERIOR TAMBÉM NÃO MUDE */
.product-element-bottom {
    border-radius: 0 0 15px 15px !important;
    background-color: transparent !important;
	  z-index: 1 !important;
	  position: relative !important;


}

/* Esconde sort by no desktop */
@media (min-width: 769px) {
    .woocommerce-ordering {
        display: none !important;
    }
}

/* alinhamento produto sidebar */

#main-content {
    padding-top: 5px !important;
}

#main-content .woocommerce-products-header,
#main-content .woocommerce-notices-wrapper {
    display: none !important;
}

@media (min-width: 769px) {
    .shop-loop-head {
        margin-bottom: -30px !important;
    }
}


.wd-header-main-nav .wd-nav {
    flex-wrap: nowrap;
}

.wd-header-main-nav .woodmart-nav-link .nav-link-text {
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: clamp(10px, 0.75vw, 13px);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    white-space: nowrap;
}

/* Espaço nas bordas */
@media (min-width: 769px) {
  .wd-content-layout.container {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* Padding do content layout - produto e shop */
.single-product .wd-content-layout {
    padding-block: 15px !important;
}

/* Padding do content layout - páginas de listagem (shop/brand/categoria) */
.wd-content-layout {
    padding-block: 15px !important;
}

/* ===== MARGENS LATERAIS ESTILO FOOTLOCKER (DESKTOP) ===== */
@media (min-width: 1200px) {
    .single-product .wd-content-layout {
        max-width: 1400px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 40px !important;
        padding-right: 40px !important;
    }
}

@media (min-width: 1600px) {
    .single-product .wd-content-layout {
        max-width: 1500px !important;
        padding-left: 60px !important;
        padding-right: 60px !important;
    }
}

@media (min-width: 1920px) {
    .single-product .wd-content-layout {
        max-width: 1600px !important;
        padding-left: 80px !important;
        padding-right: 80px !important;
    }
}

/* ===== GALERIA DINÂMICA - FUNDO ACOMPANHA SIDEBAR ===== */
@media (min-width: 769px) {
    /* Faz o container da galeria ter altura mínima da sidebar */
    .single-product .product-images,
    .single-product .woocommerce-product-gallery,
    .single-product .wd-carousel-container.wd-gallery-images {
        min-height: 100% !important;
    }
    
    
    /* Sem shadow na galeria (fundo transparente) */
    .single-product .woocommerce-product-gallery,
    .single-product .wd-carousel-container.wd-gallery-images {
        box-shadow: none !important;
    }
}

@media (min-width: 1024px) {
  .whb-main-header .whb-row {
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media (min-width: 769px) {
  .wd-header-main-nav > .menu {
    margin-left: clamp(16px, 3vw, 80px);
		max-width: none !important;
    width: 100% !important;
  }
}

@media (min-width: 769px) {
  .wd-header-main-nav {
    transform: translateX(10px);
  }
}

/* ===============================
   MOBILE HEADER - 3 COLUMN ALIGNMENT (TABLET)
   =============================== */
.whb-general-header .whb-flex-row {
    align-items: center;
}

.whb-general-header .whb-mobile-left {
    flex: 1;
}

.whb-general-header .whb-mobile-center {
    flex: 0 0 auto;
    text-align: center;
}

.whb-general-header .whb-mobile-right {
    flex: 1;
}

.whb-general-header .whb-mobile-left .wd-header-text,
.whb-general-header .whb-mobile-right .wd-header-text {
    width: 100%;
    display: flex;
}

.whb-general-header .whb-mobile-left .wd-nav,
.whb-general-header .whb-mobile-right .wd-nav {
    width: 100%;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-evenly;
    align-items: center;
}

/* Prevent text wrapping and enforce inline layout */
.whb-general-header .whb-mobile-left .wd-nav > li,
.whb-general-header .whb-mobile-right .wd-nav > li {
    flex-shrink: 0;
    white-space: nowrap;
}

/* Font styling for mobile header nav items (no <nav> wrapper) */
.whb-general-header .whb-mobile-left .woodmart-nav-link .nav-link-text,
.whb-general-header .whb-mobile-right .woodmart-nav-link .nav-link-text {
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: clamp(9px, 2.5vw, 13px);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    white-space: nowrap;
    color: #fff;
}



/* REMOVE slider e paginação do grid */
.product-grid-item .wd-product-grid-slider,
.product-grid-item .wd-product-grid-slider-pagin {
    display: none !important;
}

/* permite a imagem sobrepor tudo */
.product-grid-item .product-element-top,
.product-grid-item .product-image-link {
    overflow: visible !important;
}

.product-grid-item .product-element-top img {
    position: relative !important;
    z-index: 60 !important;
}

.product-grid-item .wd-buttons,
.product-grid-item .wd-hover-mask,
.product-grid-item .wd-product-hover {
    pointer-events: none !important;
    z-index: 1 !important;
}

/* ===============================
   BRANDS OFF-CANVAS SIDEBAR
   =============================== */

.brands-sidebar {
    position: fixed;
    top: 0;
    left: -360px;
    width: 360px;
    height: 100dvh;
    height: 100vh;

    background: rgba(235, 235, 235, 0.5);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    border-right: 1px solid rgba(0,0,0,0.08);

    z-index: 10001;
    padding: 28px 24px 80px;
    overflow-y: auto;

    transition: left 0.35s ease;
}

.brands-sidebar.active {
    left: 0;
}

/* Close button (MAIOR) */
.brands-close {
    position: absolute !important;
    top: 10px !important;     /* Distância do topo */
    right: 15px !important;   /* Distância da direita */
    
    /* Remove estilos de botão padrão do WoodMart */
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: unset !important;
    width: auto !important;
    height: auto !important;
    
    /* Estilo do X */
    font-size: 45px !important; /* X bem maior */
    line-height: 1 !important;
    color: #333 !important;    /* Cor do X */
    cursor: pointer;
    z-index: 100;
}

/* Remove hover do botão fechar */
.brands-close:hover,
.brands-close:focus,
.brands-close:active {
    opacity: 0.7 !important;
    color: #111 !important;
    background: none !important;
}

/* Title */
.brands-title {
    margin: 6px 0 22px 4px;
    font-family: 'Balenciaga', sans-serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    color: #111;
}

/* Overlay */
.brands-overlay {
    position: fixed;
    inset: 0;

    background: rgba(0,0,0,0);

    opacity: 0;
    pointer-events: none;

    transition: opacity 0.3s ease;
    z-index: 10000;
}

.brands-overlay.active {
    opacity: 1;
    pointer-events: auto;
}

/* Brands list */
.sidebar-brands {
    display: flex;
    flex-direction: column;
    gap: 16px;

    padding-left: 6px; /* margem esquerda aumentada */
}

/* Top 10 section bottom separator */
.sidebar-brands-top {
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(0,0,0,0.08);
    margin-bottom: 4px;
}

/* A-Z title */
.brands-title-az {
    margin: 6px 0 22px 4px;
}

/* Letter group headings */
.brands-letter-group {
    margin-bottom: 16px;
}

.brands-letter-heading {
    font-family: 'Balenciaga', sans-serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding-bottom: 6px;
    margin-bottom: 10px;
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

/* A-Z brands list */
.sidebar-brands-az {
    gap: 0;
}

.sidebar-brands-az .brand-item {
    padding: 4px 0;
}


.brands-sidebar h3 {
    font-size: 22px;          /* ↑ título maior */
    font-weight: 600;
    letter-spacing: 0.04em;
    margin-bottom: 18px;
    color: #111;
}

/* Brand item */
.brand-item a {
    display: block;
    font-family: 'Balenciaga', sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    letter-spacing: 0.2px;
		line-height: 1.4;
    color: #333 !important;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.brand-item a:hover {
    opacity: 0.65;
}

/* Scrollbar clean */
.brands-sidebar::-webkit-scrollbar {
    width: 6px;
}

.brands-sidebar::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.15);
    border-radius: 4px;
}

/* Mobile */
@media (max-width: 480px) {
    .brands-sidebar {
        width: 85vw;
        left: -85vw;
    }

    .brands-sidebar.active {
        left: 0;
    }
}

@media (max-width: 768px) {
    #brands-sidebar.brands-sidebar {
        position: fixed;
        top: 0;
        width: 85vw;
        left: -85vw;
        height: 100dvh;
        height: 100vh;
        background: rgba(235, 235, 235, 0.5);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        border-right: 1px solid rgba(0,0,0,0.08);
        z-index: 10001;
        padding: 28px 24px 80px;
        overflow-y: auto;
    }

    #brands-sidebar.brands-sidebar.active {
        left: 0;
    }

    #brands-sidebar .brands-close {
        position: absolute !important;
        top: 10px !important;
        right: 15px !important;
        background: none !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        min-height: unset !important;
        width: auto !important;
        height: auto !important;
        font-size: 45px !important;
        line-height: 1 !important;
        color: #333 !important;
    }

    #brands-sidebar h3.brands-title {
        font-family: 'Balenciaga', sans-serif !important;
        font-size: 22px !important;
        font-weight: 600 !important;
        letter-spacing: 0.04em;
        margin-bottom: 18px;
        color: #111 !important;
        text-transform: uppercase;
    }

    #brands-sidebar h3.brands-title-az {
        margin: 6px 0 22px 4px;
    }

    #brands-sidebar .sidebar-brands {
        display: flex;
        flex-direction: column;
        gap: 16px;
        padding-left: 6px;
    }

    #brands-sidebar .sidebar-brands-top {
        padding-bottom: 24px;
        border-bottom: 1px solid rgba(0,0,0,0.08);
        margin-bottom: 4px;
    }

    #brands-sidebar .sidebar-brands-az {
        gap: 0;
    }

    #brands-sidebar .sidebar-brands-az .brand-item {
        padding: 4px 0;
    }

    #brands-sidebar .brands-letter-group {
        margin-bottom: 16px;
    }

    #brands-sidebar .brands-letter-heading {
        font-family: 'Balenciaga', sans-serif !important;
        font-size: 22px !important;
        font-weight: 600 !important;
        color: #333 !important;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        padding-bottom: 6px;
        margin-bottom: 10px;
        border-bottom: 1px solid rgba(0,0,0,0.06);
    }

    #brands-sidebar .brand-item a {
        display: block;
        font-family: 'Balenciaga', sans-serif !important;
        font-size: 18px !important;
        font-weight: 400 !important;
        letter-spacing: 0.2px;
        line-height: 1.4;
        color: #333 !important;
        text-decoration: none;
    }
}

.brand-item a:hover {
    text-decoration: underline;
}

/* ===============================
   SHOP BY SIDEBAR - Reutiliza estilos do brands
   =============================== */

.shop-by-sidebar {
    position: fixed;
    top: 0;
    left: -360px;
    width: 360px;
    height: 100vh;
    background: rgba(235, 235, 235, 0.5);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-right: 1px solid rgba(0,0,0,0.08);
    z-index: 10001;
    padding: 28px 24px 24px;
    overflow-y: auto;
    transition: left 0.35s ease;
}

.shop-by-sidebar.active {
    left: 0;
}

.shop-by-close {
    position: absolute;
    top: 16px;
    right: 18px;
    background: none;
    border: none;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    color: #111 !important;
    opacity: 0.7 !important;
}

.shop-by-close:hover,
.shop-by-close:focus,
.shop-by-close:active {
    opacity: 0.7 !important;
    color: #111 !important;
    background: none !important;
}

.shop-by-title {
    margin: 6px 0 22px 4px;
    font-family: 'Balenciaga', sans-serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    color: #111;
}

.shop-by-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 10000;
}

.shop-by-overlay.active {
    opacity: 1;
    pointer-events: auto;
}

.shop-by-sidebar::-webkit-scrollbar {
    width: 6px;
}

.shop-by-sidebar::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.15);
    border-radius: 4px;
}

/* Menu items (mesmo estilo do brand-item) */
.shop-by-menu {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-left: 6px;
}

.shop-by-item > a {
    display: block;
    font-family: 'Balenciaga', sans-serif !important;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.2px;
    line-height: 1.4;
    color: #313a3a !important;
    text-decoration: none;
    transition: opacity 0.2s ease;
    text-transform: uppercase !important;
}

.shop-by-item > a:hover {
    opacity: 0.65;
}

/* ESPECÍFICO DO SHOP BY - Dropdowns */
.shop-by-dropdown-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-family: 'Balenciaga', sans-serif !important;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.2px;
    line-height: 1.4;
    color: #313a3a !important;
    transition: opacity 0.2s ease;
    text-transform: uppercase !important;
}

.shop-by-dropdown-title:hover {
    opacity: 0.65;
}

.shop-by-dropdown-title span {
    text-transform: uppercase !important;
}

.shop-by-arrow {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 2px solid #666;
    border-bottom: 2px solid #666;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
}

.shop-by-dropdown.open .shop-by-arrow {
    transform: rotate(-135deg);
}

.shop-by-dropdown-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, opacity 0.3s ease;
    opacity: 0;
    padding-left: 12px;
}

.shop-by-dropdown.open .shop-by-dropdown-content {
    max-height: 500px;
    overflow-y: auto;
    opacity: 1;
    padding-top: 8px;
}

/* Scrollbar dropdown */
.shop-by-dropdown-content::-webkit-scrollbar {
    width: 4px;
}

.shop-by-dropdown-content::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.2);
    border-radius: 2px;
}

.shop-by-dropdown-content a,
.shop-by-dropdown-content a *,
.shop-by-sidebar .shop-by-dropdown-content a {
    display: block;
    padding: 10px 0;
    font-family: 'Balenciaga', sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    letter-spacing: 0.2px !important;
    line-height: 1.4 !important;
    color: #313a3a !important;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.shop-by-dropdown-content a:hover {
    opacity: 0.65;
}

/* Força weight 400 e tamanho 18px em TODOS os elementos internos */
.shop-by-sidebar .shop-by-dropdown-content,
.shop-by-sidebar .shop-by-dropdown-content *,
.brands-sidebar .brand-item a,
.brands-sidebar .brand-item a * {
    font-size: 18px !important;
    font-weight: 400 !important;
}

/* Swatches de cores (específico) */
.shop-by-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 0;
}

.shop-by-swatch {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,0.1);
    transition: transform 0.2s ease;
    cursor: pointer;
}

.shop-by-swatch:hover {
    transform: scale(1.1);
}

/* Mobile */
@media (max-width: 480px) {
    .shop-by-sidebar {
        width: 85vw;
        left: -85vw;
    }

    .shop-by-sidebar.active {
        left: 0;
    }
}

/* ===============================
   VIDEO FEED MODAL (DESKTOP ONLY) - AJAX LOADED
   =============================== */

.video-feed-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.video-feed-modal.active {
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
}

/* Overlay with glassmorphism - always visible */
.video-feed-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    cursor: pointer;
}

/* Feed content container */
.video-feed-content {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

/* Allow pointer events only on the feed itself */
.video-feed-content .vcf-feed-container,
.video-feed-content .video-feed-loading {
    pointer-events: auto;
}

/* Override feed container styles when inside modal */
.video-feed-modal .vcf-feed-container {
    position: relative !important;
    width: 430px !important;
    max-width: 430px !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: #000 !important;
    box-shadow: 0 0 80px rgba(0, 0, 0, 0.8);
    border-radius: 0;
}

.video-feed-modal .vcf-feed {
    width: 100% !important;
    max-width: 100% !important;
}

/* Loading spinner - centered, transparent bg */
.video-feed-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 430px;
    height: 100%;
    background: transparent;
}

.video-feed-spinner {
    width: 50px;
    height: 50px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: video-feed-spin 0.8s linear infinite;
}

@keyframes video-feed-spin {
    to { transform: rotate(360deg); }
}

/* Close button */
.video-feed-close {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 100000;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    color: #111 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

.video-feed-close:hover,
.video-feed-close:focus,
.video-feed-close:active {
    background: rgba(255, 255, 255, 1);
    transform: scale(1.05);
}

/* Mobile - comportamento normal (sem modal) */
@media (max-width: 768px) {
    .video-feed-modal {
        display: none !important;
    }
}

/* Mobile Custom button search*/
/* ===============================
   MOBILE TOP SEARCH – WOODMART
   =============================== */

.mobile-search-top {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999998;
  background: #fff;
  padding: 12px 16px;
  box-sizing: border-box;

  /* animação */
  transform: translateY(-120%);
  opacity: 0;
  transition:
    transform .35s cubic-bezier(.4,0,.2,1),
    opacity .25s ease;

  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

/* ativo */
.mobile-search-top.active {
  transform: translateY(0);
  opacity: 1;
}

/* container interno */
.mobile-search-inner {
  position: relative;
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
  box-sizing: border-box;
}

/* form */
.mobile-search-top form {
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

/* input */
.mobile-search-top input.wd-search-input {
  width: 100%;
  height: 48px;
  line-height: 48px;

  padding: 0 48px 0 16px; /* espaço pro ícone */
  box-sizing: border-box;

  border-radius: 14px;
  border: 1px solid #e5e5e5;
  background: #fff;

  font-size: 16px;
  color: #111;
  outline: none;
}

/* placeholder */
.mobile-search-top input.wd-search-input::placeholder {
  color: #999;
}

/* botão SVG */
.mobile-search-submit {
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);

  width: 24px;
  height: 24px;

  background: none;
  border: 0;
  padding: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #111;
  opacity: .6;
  cursor: pointer;
}

.mobile-search-submit:active {
  opacity: 1;
}

/* evita que o input ultrapasse */
.mobile-search-top,
.mobile-search-inner,
.mobile-search-top form,
.mobile-search-top input {
  max-width: 100%;
  overflow: hidden;
}

/* segurança mobile */
@media (max-width: 768px) {
  .mobile-search-top {
    padding-top: calc(12px + env(safe-area-inset-top));
  }
}

/* ===============================
   AJUSTES DROPDOWN AJAX (segurança)
   =============================== */

.wd-search-dropdown,
.wd-search-results {
  z-index: 1000000;
  max-height: 55vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}


/* ===============================
   PHOTOSWIPE CUSTOMIZADO
   - Fundo #f6f6f6 em vez de preto
   - Especificidade MÁXIMA
   =============================== */

/* Fundo do popup - especificidade máxima */
html body .pswp .pswp__bg,
html body .pswp.pswp--open .pswp__bg,
html body .pswp.pswp--visible .pswp__bg,
html body .pswp.pswp--animated-in .pswp__bg,
html body div.pswp div.pswp__bg,
.pswp[role="dialog"] .pswp__bg {
    background: #f6f6f6 !important;
    background-color: #f6f6f6 !important;
}

/* Top bar */
html body .pswp .pswp__top-bar,
html body .pswp.pswp--open .pswp__top-bar {
    background: #f6f6f6 !important;
    background-color: #f6f6f6 !important;
}

/* Contador */
html body .pswp .pswp__counter {
    color: #333 !important;
}

/* Botões - inverter cor para escuro */
html body .pswp .pswp__button,
html body .pswp button.pswp__button {
    background-color: transparent !important;
    filter: invert(1) !important;
    opacity: 0.7 !important;
}

html body .pswp .pswp__button:hover {
    opacity: 1 !important;
}

/* Setas de navegação - MAIORES */
html body .pswp .pswp__button--arrow--left,
html body .pswp .pswp__button--arrow--right,
html body .pswp button.pswp__button--arrow--left,
html body .pswp button.pswp__button--arrow--right {
    filter: invert(1) !important;
    opacity: 0.7 !important;
    width: 60px !important;
    height: 60px !important;
    transform: scale(1.5) !important;
}

html body .pswp .pswp__button--arrow--left:hover,
html body .pswp .pswp__button--arrow--right:hover {
    opacity: 1 !important;
}

/* Todos os botões do Photoswipe - MAIORES */
html body .pswp .pswp__button--close,
html body .pswp .pswp__button--share,
html body .pswp .pswp__button--fs,
html body .pswp .pswp__button--zoom {
    width: 50px !important;
    height: 50px !important;
    transform: scale(1.3) !important;
}

/* Contador maior */
html body .pswp .pswp__counter {
    font-size: 18px !important;
    padding: 15px 20px !important;
}


/* ===============================
   MOBILE - REMOVER SHADOW E PADDING DO SUMMARY
   =============================== */

@media (max-width: 768px) {
    /* Remover shadow */
    .single-product .summary-inner,
    .single-product .entry-summary,
    .single-product .product-summary-shadow {
        box-shadow: none !important;
    }
    
    /* Summary alinhado com a galeria - full width sem padding */
    .single-product .summary.entry-summary {
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 0 !important;
    }
    
    .single-product .summary-inner {
        padding: 0 !important;
        margin: 0 !important;
    }
    
    /* Container do summary full width */
    .single-product .product-image-summary {
        padding: 0 !important;
    }
    
    .single-product .product-summary-wrap {
        padding: 0 !important;
        margin: 0 !important;
    }
}


/* ===============================
   CAROUSEL DE IMAGENS - FUNDO E GAP (DESKTOP)
   =============================== */

/* ===============================
   GALERIA DE IMAGENS DO PRODUTO - FUNDO E GAP
   Seletores ESPECÍFICOS para não afetar outras áreas
   =============================== */

/* Fundo transparente na galeria de imagens (estilo FootLocker) - APENAS DESKTOP */
@media (min-width: 769px) {
    html body.single-product .product-images .woocommerce-product-gallery,
    html body.single-product .product-images .wd-carousel-container.wd-gallery-images,
    html body.single-product .product-images .wd-carousel-inner,
    html body.single-product .product-images .woocommerce-product-gallery__wrapper,
    html body.single-product .product-images .wd-carousel-wrap {
        background: transparent !important;
        background-color: transparent !important;
    }
}

/* Cada item/imagem com fundo cinza claro - APENAS DESKTOP */
@media (min-width: 769px) {
    html body.single-product .product-images .wd-carousel-item,
    html body.single-product .product-images figure.woocommerce-product-gallery__image {
        background: #f6f6f6 !important;
        background-color: #f6f6f6 !important;
        border-radius: 0 !important;
    }
    
    /* Item vazio para imagens ímpares */
    html body.single-product .product-images .dripsteezy-gallery-filler {
        background: #f6f6f6 !important;
        background-color: #f6f6f6 !important;
        border-radius: 0 !important;
    }
}

/* GAP entre imagens - APENAS DESKTOP */
@media (min-width: 769px) {
    html body.single-product .product-images .woocommerce-product-gallery__wrapper.wd-carousel.wd-grid {
        gap: 10px !important;
    }

    html body.single-product .product-images .wd-gallery-images .wd-carousel-wrap {
        gap: 10px !important;
    }
}

/* Sem padding extra no container da galeria - APENAS DESKTOP */
@media (min-width: 769px) {
    html body.single-product .product-images .wd-carousel-container.wd-gallery-images {
        padding: 0 !important;
    }
}


/* ===============================
   MOBILE - AJUSTES DO SUMMARY (TÍTULO, PREÇO, RESERVE)
   =============================== */

@media (max-width: 768px) {
    /* Título do produto - 20px e alinhado com galeria */
    .single-product .entry-summary .product_title {
        font-size: 20px !important;
        margin: 5px 0 6px 0 !important;
        padding: 0 !important;
        line-height: 1.2 !important;
        width: 100% !important;
        text-align: left !important;
    }
    
    /* Reserve system alinhado com galeria */
    .single-product .entry-summary .reserve-system {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }
    
    /* Brand e Reviews row - mobile */
    .single-product .dripsteezy-brand-reviews-row {
        margin: 10px 0 10px 0 !important;
        padding: 0 !important;
    }

    /* Hide duplicate brand-reviews-row inside summary (SSR version is in mobile-header) */
    .single-product .summary-inner .dripsteezy-brand-reviews-row {
        display: none !important;
    }
    
    
    /* Views counter abaixo da galeria - mobile */
    .single-product .dripsteezy-views-counter {
        width: 100% !important;
        max-width: 100% !important;
        padding: 10px 15px !important;
        margin: 0 !important;
        display: block !important;
        white-space: nowrap !important;
    }
    
    /* Esconder views counter no breadcrumb wrapper - mobile */
    .single-product .dripsteezy-breadcrumb-wrapper .dripsteezy-views-counter {
        display: none !important;
    }
    
    .single-product .entry-summary .wd-product-brands {
        display: none !important;
    }
    
    /* Preço alinhado e tamanho */
    .single-product .entry-summary .price {
        font-size: 18px !important;
        margin: 0 0 8px 0 !important;
        padding: 0 !important;
        text-align: left !important;
        justify-content: flex-start !important;
    }
    
    /* Tabs alinhadas */
    .single-product .entry-summary .woocommerce-tabs {
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Reserve system - tamanhos */
    .single-product .entry-summary .reserve-system .reserve-label {
        font-size: 15px !important;
    }
    
    .single-product .entry-summary .reserve-system .reserve-price {
        font-size: 16px !important;
        font-weight: 600 !important;
    }
    
    .single-product .entry-summary .reserve-system .reserve-subtext {
        font-size: 13px !important;
    }
    
    /* Menos espaço entre galeria e summary */
    .single-product .product-image-summary-inner.wd-grid-g {
        --wd-gap-sm: 5px !important;
        gap: 5px !important;
    }
    
    .single-product .product-images.wd-grid-col {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* ===== STICKY ADD TO CART BAR ===== */

/* Título do produto no sticky bar */
.wd-sticky-btn .wd-entities-title {
    font-size: 18px !important;
    font-weight: 600 !important;
}

/* Preço no sticky bar */
.wd-sticky-btn .price .woocommerce-Price-amount {
    font-size: 20px !important;
    font-weight: 700 !important;
}

/* Container do sticky - melhor espaçamento */
.wd-sticky-btn-container {
    padding: 0 40px !important;
}

/* Botão add to bag - menos colado na borda */
.wd-sticky-btn-cart {
    gap: 15px !important;
}

.wd-sticky-btn-cart .wd-sticky-add-to-cart {
    margin-right: 10px !important;
}

/* ===== TABS NA SIDEBAR - ACCORDION STYLE ===== */

/* Nav tabs em coluna vertical */
.single-product .entry-summary .woocommerce-tabs .wd-nav-wrapper {
    text-align: left !important;
    width: 100% !important;
}

.single-product .entry-summary .woocommerce-tabs .wd-nav.wd-nav-tabs {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

.single-product .entry-summary .woocommerce-tabs .wd-nav-tabs > li {
    width: 100% !important;
    margin: 0 !important;
    border-bottom: 1px solid #e0e0e0 !important;
}

.single-product .entry-summary .woocommerce-tabs .wd-nav-tabs > li > a {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 15px 0 !important;
    text-align: left !important;
    font-size: 21px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Seta indicadora - chevron */
.single-product .entry-summary .woocommerce-tabs .tab-arrow {
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    border-right: 2px solid #999 !important;
    border-bottom: 2px solid #999 !important;
    transform: rotate(45deg) !important;
    transition: transform 0.2s ease !important;
    margin-left: 10px !important;
}

/* Seta para cima quando ativo */
.single-product .entry-summary .woocommerce-tabs .wd-nav-tabs > li.active .tab-arrow {
    transform: rotate(-135deg) !important;
}

/* Ocultar títulos e containers do accordion original (exceto description) */
.single-product .entry-summary .woocommerce-tabs .wd-accordion-title:not(.tab-title-description),
.single-product .entry-summary .woocommerce-tabs > .wd-accordion-item:not(:has(#tab-description)) {
    display: none !important;
}

/* Description accordion item: mostrar, mas esconder apenas o título do accordion */
.single-product .entry-summary .woocommerce-tabs > .wd-accordion-item:has(#tab-description) {
    display: block !important;
}

/* Conteúdo das tabs (movido para dentro do li) */
.single-product .entry-summary .woocommerce-tabs .wd-nav-tabs > li .woocommerce-Tabs-panel {
    display: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 15px 0 !important;
    box-sizing: border-box !important;
}

/* Tab ativa mostra conteúdo */
.single-product .entry-summary .woocommerce-tabs .wd-nav-tabs > li.active .woocommerce-Tabs-panel {
    display: block !important;
}

/* Garantir que nenhuma tab inicie ativa */
.single-product .entry-summary .woocommerce-tabs .wd-nav-tabs > li:not(.active) .woocommerce-Tabs-panel {
    display: none !important;
}

/* Elementor containers full width */
.single-product .entry-summary .woocommerce-tabs .elementor,
.single-product .entry-summary .woocommerce-tabs .e-con,
.single-product .entry-summary .woocommerce-tabs .e-con-inner,
.single-product .entry-summary .woocommerce-tabs .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
}

/* WooCommerce tab inner full width */
.single-product .entry-summary .woocommerce-tabs .wc-tab-inner {
    width: 100% !important;
    max-width: 100% !important;
}

/* ===== BREADCRUMBS ACIMA DE TUDO (ESTILO FOOTLOCKER) ===== */

/* Container do breadcrumb movido via JS */
.single-product .dripsteezy-breadcrumb-wrapper {
    width: 100% !important;
    padding: 0 0 10px 0 !important;
    margin: 0 !important;
    /* Alinhado com a galeria - mesmo padding lateral */
    padding-left: 20px !important;
}

/* Estilo do breadcrumb */
.single-product .woocommerce-breadcrumb {
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #666 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Links do breadcrumb */
.single-product .woocommerce-breadcrumb a {
    color: #666 !important;
    text-decoration: none !important;
}

.single-product .woocommerce-breadcrumb a:hover {
    color: #333 !important;
    text-decoration: underline !important;
}

/* Separador do breadcrumb */
.single-product .woocommerce-breadcrumb .breadcrumb-separator {
    margin: 0 8px !important;
    color: #999 !important;
}

/* Remover título do produto no breadcrumb (último item) e última barra */
.single-product .woocommerce-breadcrumb > span:last-child,
.single-product .woocommerce-breadcrumb > a:last-child,
.single-product .woocommerce-breadcrumb .breadcrumb-last,
.single-product .woocommerce-breadcrumb > strong {
    display: none !important;
}

/* Remover última barra separadora */
.single-product .woocommerce-breadcrumb .breadcrumb-separator:last-of-type {
    display: none !important;
}

/* Contador de views estilizado */
.single-product .dripsteezy-views-counter {
    font-size: 14px !important;
    color: #666 !important;
    margin-top: 8px !important;
    padding: 0 !important;
}

.single-product .dripsteezy-views-counter .view-icon {
    width: 16px !important;
    height: 16px !important;
    vertical-align: middle !important;
    margin-right: 4px !important;
    position: relative !important;
    top: -1px !important;
}

.single-product .dripsteezy-views-counter .views-number {
    font-weight: 600 !important;
    color: #333 !important;
}

/* ===============================
   ACTIVE FILTERS - ESPAÇO RESERVADO (ALINHADO)
   =============================== */

:root {
    --dripsteezy-filters-space: 40px;
}

/* Alinhar sidebar e produtos com o mesmo offset */
.widget-area {
    margin-top: var(--dripsteezy-filters-space) !important;
}

.wd-content-area .wd-products-element {
    margin-top: var(--dripsteezy-filters-space) !important;
}

/* Active filters ocupa o espaço reservado sem empurrar o grid */
.wd-content-area .wd-active-filters {
    height: var(--dripsteezy-filters-space) !important;
    margin-bottom: calc(-1 * var(--dripsteezy-filters-space)) !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Shop loop head com margem para separar do grid */
.wd-content-area .shop-loop-head {
    margin-bottom: 15px !important;
}

/* ===============================
   WIDGETS SIDEBAR - ESTILO GERAL
   =============================== */

/* Borda fina em volta de TODA a sidebar */
.widget-area {
    border: 1px solid #e8e8e8 !important;
    border-radius: 8px !important;
    padding: 15px !important;
    background: #fff !important;
}

/* Separador entre widgets */
.widget-area .wd-widget {
    padding: 0 !important;
    margin-bottom: 15px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding-bottom: 0 !important;
}

/* Último widget sem borda inferior */
.widget-area .wd-widget:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Padding no título do widget */
.widget-area .wd-widget .widget-title {
    padding: 0 0 10px 0 !important;
    margin: 0 !important;
}

/* Padding no conteúdo do widget */
.widget-area .wd-widget .wd-scroll,
.widget-area .wd-widget form {
    padding: 0 !important;
}

/* Background mais escuro quando widget está aberto - até a borda */
.widget-area .wd-widget.wd-opened {
    background-color: #f9f9f9 !important;
    margin-left: -15px !important;
    margin-right: -15px !important;
    margin-top: -15px !important;
    padding: 15px !important;
    border-radius: 6px !important;
}

/* ===============================
   FILTROS SIDEBAR - SILHOUETTE/MATERIAL/PATTERN
   =============================== */

/* Esconder swatches visuais (bolinhas de cor) dos filtros de texto */
#woodmart-woocommerce-layered-nav-7 .wd-swatch,
#woodmart-woocommerce-layered-nav-13 .wd-swatch,
#woodmart-woocommerce-layered-nav-14 .wd-swatch,
#woodmart-woocommerce-layered-nav-15 .wd-swatch,
#woodmart-woocommerce-layered-nav-7 .wd-swatch-wrap .wd-swatch,
#woodmart-woocommerce-layered-nav-13 .wd-swatch-wrap .wd-swatch,
#woodmart-woocommerce-layered-nav-14 .wd-swatch-wrap .wd-swatch,
#woodmart-woocommerce-layered-nav-15 .wd-swatch-wrap .wd-swatch {
    display: none !important;
}

/* Forçar variável de cor para texto escuro */
#woodmart-woocommerce-layered-nav-7,
#woodmart-woocommerce-layered-nav-13,
#woodmart-woocommerce-layered-nav-14,
#woodmart-woocommerce-layered-nav-15 {
    --wd-link-color: #333 !important;
}

/* Texto sempre visível - todos os estados */
#woodmart-woocommerce-layered-nav-7 .layer-term-lable,
#woodmart-woocommerce-layered-nav-13 .layer-term-lable,
#woodmart-woocommerce-layered-nav-14 .layer-term-lable,
#woodmart-woocommerce-layered-nav-15 .layer-term-lable,
#woodmart-woocommerce-layered-nav-7 .wd-filter-lable,
#woodmart-woocommerce-layered-nav-13 .wd-filter-lable,
#woodmart-woocommerce-layered-nav-14 .wd-filter-lable,
#woodmart-woocommerce-layered-nav-15 .wd-filter-lable,
#woodmart-woocommerce-layered-nav-7 a,
#woodmart-woocommerce-layered-nav-13 a,
#woodmart-woocommerce-layered-nav-14 a,
#woodmart-woocommerce-layered-nav-15 a,
#woodmart-woocommerce-layered-nav-7 a span,
#woodmart-woocommerce-layered-nav-13 a span,
#woodmart-woocommerce-layered-nav-14 a span,
#woodmart-woocommerce-layered-nav-15 a span,
#woodmart-woocommerce-layered-nav-7 .layered-nav-link,
#woodmart-woocommerce-layered-nav-13 .layered-nav-link,
#woodmart-woocommerce-layered-nav-14 .layered-nav-link,
#woodmart-woocommerce-layered-nav-15 .layered-nav-link,
#woodmart-woocommerce-layered-nav-7 .layered-nav-link span,
#woodmart-woocommerce-layered-nav-13 .layered-nav-link span,
#woodmart-woocommerce-layered-nav-14 .layered-nav-link span,
#woodmart-woocommerce-layered-nav-15 .layered-nav-link span {
    color: #333 !important;
    display: inline !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Hover */
#woodmart-woocommerce-layered-nav-7 a:hover,
#woodmart-woocommerce-layered-nav-13 a:hover,
#woodmart-woocommerce-layered-nav-14 a:hover,
#woodmart-woocommerce-layered-nav-15 a:hover {
    color: #000 !important;
}

/* Layout de lista limpo - forçar lista vertical */
#woodmart-woocommerce-layered-nav-7 .wd-swatches-filter,
#woodmart-woocommerce-layered-nav-13 .wd-swatches-filter,
#woodmart-woocommerce-layered-nav-14 .wd-swatches-filter,
#woodmart-woocommerce-layered-nav-15 .wd-swatches-filter {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

#woodmart-woocommerce-layered-nav-7 .wc-layered-nav-term,
#woodmart-woocommerce-layered-nav-13 .wc-layered-nav-term,
#woodmart-woocommerce-layered-nav-14 .wc-layered-nav-term,
#woodmart-woocommerce-layered-nav-15 .wc-layered-nav-term {
    display: block !important;
    width: 100% !important;
    margin-bottom: 12px !important;
    list-style: none !important;
}

#woodmart-woocommerce-layered-nav-7 .wc-layered-nav-term a,
#woodmart-woocommerce-layered-nav-13 .wc-layered-nav-term a,
#woodmart-woocommerce-layered-nav-14 .wc-layered-nav-term a,
#woodmart-woocommerce-layered-nav-15 .wc-layered-nav-term a {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    text-decoration: none !important;
}

/* CHECKBOX CUSTOMIZADO - Sobrescreve o ícone de fonte do Woodmart */
.widget .wd-checkboxes-on li > a::before,
.widget-area .wd-checkboxes-on .wc-layered-nav-term a::before {
    content: '' !important;
    font-family: inherit !important;
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    border: 2px solid #bbb !important;
    border-radius: 3px !important;
    margin-right: 10px !important;
    background: #fff !important;
    font-size: 0 !important;
    transition: all 0.15s ease !important;
}

/* CHECKBOX MARCADO - Estado ativo com checkmark */
.widget .wd-checkboxes-on li.wd-active > a::before,
.widget-area .wd-checkboxes-on .wc-layered-nav-term.wd-active a::before {
    background: #333 !important;
    border-color: #333 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-size: 12px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

/* Remove hover do card que sobe */
.wd-hover-with-fade.hover-ready:hover .product-wrapper,
.wd-hover-with-fade.hover-ready.state-hover .product-wrapper,
.product-grid-item:hover .product-wrapper,
.product-grid-item.state-hover .product-wrapper {
    transform: none !important;
}

/* Checkboxes reais (se existirem) - MAIORES */
#woodmart-woocommerce-layered-nav-7 input[type="checkbox"],
#woodmart-woocommerce-layered-nav-13 input[type="checkbox"],
#woodmart-woocommerce-layered-nav-14 input[type="checkbox"],
#woodmart-woocommerce-layered-nav-15 input[type="checkbox"] {
    display: inline-block !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 12px 0 0 !important;
}

/* Count (número) visível */
#woodmart-woocommerce-layered-nav-7 .count,
#woodmart-woocommerce-layered-nav-13 .count,
#woodmart-woocommerce-layered-nav-14 .count,
#woodmart-woocommerce-layered-nav-15 .count {
    color: #666 !important;
    margin-left: auto !important;
}

/* ========================================
   GIFT CARD - LAYOUT PERSONALIZADO
   ================================================ */


/* ================================================
   CHECKOUT - CUSTOMIZAÇÕES
   ================================================ */

/* Remover espaço entre header e checkout */
.woocommerce-checkout .wd-page-content {
    padding-top: 0 !important;
}

.woocommerce-checkout .wd-content-layout {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.woocommerce-checkout .wd-content-area {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.woocommerce-checkout .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.woocommerce-checkout .wp-block-woocommerce-checkout {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ================================================
   CHECKOUT - REMOVER LINHAS DE DIVISÃO
   ================================================ */

/* Remover todas as bordas/separadores do checkout */
.wc-block-checkout .wc-block-components-totals-wrapper,
.wc-block-checkout .wc-block-components-totals-wrapper::before,
.wc-block-checkout .wc-block-components-totals-wrapper::after {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

/* Remover separadores entre items do carrinho */
.wc-block-components-order-summary-item {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
}

/* Aumentar valor do Total */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item-tax-value {
    font-size: 28px !important;
    font-weight: 700 !important;
}

/* Preços dos produtos individuais com peso 400 (igual ao subtotal) */
.wc-block-components-order-summary-item__total-price .wc-block-formatted-money-amount,
.wc-block-components-product-price__value {
    font-weight: 400 !important;
}

/* Remover bordas do order summary content */
.wc-block-components-checkout-order-summary__content {
    border: none !important;
}

/* Remover borda e padding do título */
.wc-block-components-checkout-order-summary__title {
    border: none !important;
    border-bottom: none !important;
    padding: 0 !important;
}

/* Aumentar preço do topo */
.wc-block-components-checkout-order-summary__title-price {
    font-size: 24px !important;
    font-weight: 700 !important;
}

/* ================================================
   CHECKOUT: Título breadcrumb visível
   ================================================ */
.wd-page-title.color-scheme-light .container,
.wd-page-title.color-scheme-light .breadcrumb a,
.wd-page-title.color-scheme-light .woocommerce-breadcrumb,
.page-title .container {
    color: #333 !important;
}

.wd-page-title.color-scheme-light .breadcrumb .current,
.wd-page-title.color-scheme-light .breadcrumb span {
    color: #333 !important;
}

/* Checkout Steps - Layout e cores */
.wd-checkout-steps {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 30px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.wd-checkout-steps li {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    padding-bottom: 8px !important;
}

/* Seta entre os steps */
.wd-checkout-steps li:not(:last-child)::after {
    content: '→' !important;
    position: absolute !important;
    right: -22px !important;
    color: #999 !important;
    font-size: 14px !important;
}

/* Texto inativo */
.wd-checkout-steps a,
.wd-checkout-steps span {
    color: #999 !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Step ativo - cor e sublinhado */
.wd-checkout-steps .step-active,
.wd-checkout-steps .step-active a,
.wd-checkout-steps li.step-active span {
    color: #000 !important;
    font-weight: 600 !important;
}

.wd-checkout-steps li.step-active::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 2px !important;
    background: #000 !important;
}

/* Mobile - garantir visibilidade de todos os steps */
@media (max-width: 768px) {
    .wd-checkout-steps {
        gap: 15px !important;
        flex-wrap: nowrap !important;
    }
    
    .wd-checkout-steps li {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    .wd-checkout-steps li.step-inactive {
        display: flex !important;
    }
    
    .wd-checkout-steps a,
    .wd-checkout-steps span {
        font-size: 11px !important;
    }
    
    .wd-checkout-steps li:not(:last-child)::after {
        right: -12px !important;
        font-size: 10px !important;
    }
}

/* ================================================
   DESKTOP (is-large): Order Summary SEMPRE visível
   ================================================ */
/* Sidebar sem fundo */
.wc-block-checkout.is-large .wc-block-checkout__sidebar,
.wc-block-checkout.is-large .wp-block-woocommerce-checkout-order-summary-block {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

/* Título do Order Summary - alinhado com outros títulos */
.wc-block-checkout.is-large .wc-block-components-checkout-order-summary__title {
    background: transparent !important;
    padding: 0 0 8px 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* Sidebar - container para o sticky interno */
.wc-block-checkout.is-large .wc-block-checkout__sidebar {
    padding-top: 18px !important;
    margin-top: 0 !important;
    position: relative !important;
    top: auto !important;
}

/* Remover sticky do sidebar inteiro (WooCommerce default) */
.wc-block-checkout.is-large .wc-block-checkout__sidebar.is-sticky,
.wc-block-checkout.is-large .wp-block-woocommerce-checkout-totals-block.is-sticky {
    position: relative !important;
    top: auto !important;
}

/* DESKTOP: Igualar altura das colunas main e sidebar */
.wc-block-checkout.is-large.wc-block-components-sidebar-layout {
    align-items: stretch !important;
}

.wc-block-checkout.is-large .wc-block-checkout__sidebar {
    display: block !important;
    height: auto !important;
}

/* STICKY INTERNO: O conteudo do Order Summary fica sticky */
.wc-block-checkout.is-large .wp-block-woocommerce-checkout-order-summary-block.checkout-sticky-content {
    position: sticky !important;
    top: 20px !important;
    max-height: calc(100vh - 40px) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}

.wc-block-checkout.is-large .wc-block-components-checkout-order-summary__content {
    /* display managed by block rule below (display: block) */
    overflow: hidden !important;
}

/* Container da lista de produtos - wrapper com scroll */
.wc-block-checkout.is-large .wp-block-woocommerce-checkout-order-summary-cart-items-block {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    max-height: 45vh !important;
}

/* Lista de produtos interna - SEM scroll proprio */
.wc-block-checkout.is-large .wc-block-components-order-summary,
.wc-block-checkout.is-large .wc-block-components-order-summary.is-large,
.wc-block-checkout .wc-block-components-order-summary.is-large {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-y: visible !important;
    overflow-x: visible !important;
}

.wc-block-checkout.is-large .wc-block-components-order-summary__content,
.wc-block-checkout.is-large .wc-block-components-order-summary.is-large .wc-block-components-order-summary__content,
.wc-block-checkout .wc-block-components-order-summary.is-large .wc-block-components-order-summary__content {
    max-height: none !important;
    overflow: visible !important;
    overflow-y: visible !important;
    height: auto !important;
}

/* Forcar remocao de scroll em QUALQUER div dentro do cart-items-block */
.wc-block-checkout.is-large .wp-block-woocommerce-checkout-order-summary-cart-items-block > div {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

/* Scrollbar customizada para lista de produtos */
.wc-block-checkout.is-large .wp-block-woocommerce-checkout-order-summary-cart-items-block::-webkit-scrollbar {
    width: 4px;
}

.wc-block-checkout.is-large .wp-block-woocommerce-checkout-order-summary-cart-items-block::-webkit-scrollbar-track {
    background: transparent;
}

.wc-block-checkout.is-large .wp-block-woocommerce-checkout-order-summary-cart-items-block::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 2px;
}

/* Cupom e Totais ficam SEMPRE visiveis (sem scroll) */
.wc-block-checkout.is-large .wp-block-woocommerce-checkout-order-summary-coupon-form-block,
.wc-block-checkout.is-large .wp-block-woocommerce-checkout-order-summary-totals-block,
.wc-block-checkout.is-large .wc-block-components-checkout-order-summary__content > .wc-block-components-totals-wrapper {
    flex-shrink: 0 !important;
}

/* Totals block fica no final */
.wc-block-checkout.is-large .wp-block-woocommerce-checkout-order-summary-totals-block {
    flex-shrink: 0 !important;
    margin-top: auto !important;
}

/* Coupon block não estica */
.wc-block-checkout.is-large .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
    flex-shrink: 0 !important;
}

.wc-block-checkout.is-large .wp-block-woocommerce-checkout-order-summary-block {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Texto do título igual aos outros (Contact, Billing, Payment) */
.wc-block-checkout.is-large .wc-block-components-checkout-order-summary__title-text {
    margin: 0 !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    font-family: inherit !important;
}

.wc-block-checkout .wc-block-components-checkout-step__heading-container .wc-block-components-checkout-order-summary__title-text {
    font-weight: 500 !important;
}

/* Mobile: remover margin-bottom dos títulos - sobrescrever Woodmart */
@media (max-width: 768px) {
    .wc-block-checkout .wc-block-components-checkout-step__heading-container,
    .wc-block-checkout .wc-block-components-checkout-step__heading,
    .wc-block-checkout .wc-block-components-checkout-step__heading-container p {
        margin-bottom: 0 !important;
        --wd-tags-mb: 0 !important;
    }
}

/* Esconder Terms e separador */
.wc-block-checkout.is-large .wc-block-checkout__terms,
.wc-block-checkout.is-large .wc-block-checkout__terms--with-separator {
    display: none !important;
}

/* Order Notes dentro do Billing - remover box extra */
.wc-block-checkout.is-large #billing-fields .wc-block-checkout__order-notes {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 16px 0 0 0 !important;
    border-top: 1px solid #e0e0e0 !important;
    padding-top: 16px !important;
}

.wc-block-checkout.is-large #billing-fields .wc-block-checkout__order-notes .wc-block-components-checkout-step__content {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Sidebar - padding para alinhar o título com os outros */
.wc-block-checkout.is-large .wp-block-woocommerce-checkout-order-summary-block {
    padding: 0 !important;
}

/* Conteúdo do Order Summary - com estilo */
.wc-block-checkout.is-large .wc-block-components-checkout-order-summary__content {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    padding: 5px !important;
    background: #f6f6f6 !important;
    border-radius: 8px !important;
    border: 1px solid #e0e0e0 !important;
    margin-top: 8px !important;
}

/* DESKTOP: Lista de produtos com scroll quando excede altura */
.wc-block-checkout.is-large .wc-block-components-order-summary {
    overflow-y: auto !important;
    max-height: 600px !important;
    scrollbar-width: thin !important;
    scrollbar-color: #ccc #f6f6f6 !important;
}

/* Scrollbar estilizada para Webkit (Chrome, Safari, Edge) */
.wc-block-checkout.is-large .wc-block-components-order-summary::-webkit-scrollbar {
    width: 6px !important;
}

.wc-block-checkout.is-large .wc-block-components-order-summary::-webkit-scrollbar-track {
    background: #f6f6f6 !important;
    border-radius: 3px !important;
}

.wc-block-checkout.is-large .wc-block-components-order-summary::-webkit-scrollbar-thumb {
    background: #ccc !important;
    border-radius: 3px !important;
}

.wc-block-checkout.is-large .wc-block-components-order-summary::-webkit-scrollbar-thumb:hover {
    background: #aaa !important;
}

/* Esconder ícone de toggle no desktop */
.wc-block-checkout.is-large .wc-block-components-checkout-order-summary__title-icon {
    display: none !important;
}

/* Cupom sempre visível no desktop */
.wc-block-checkout.is-large .wc-block-components-totals-coupon .wc-block-components-panel__button {
    display: none !important;
}

.wc-block-checkout.is-large .wc-block-components-totals-coupon .wc-block-components-panel__content {
    display: block !important;
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
}

/* ================================================
   MOBILE (is-mobile): Order Summary com toggle
   ================================================ */
.wc-block-checkout.is-mobile .wc-block-components-checkout-order-summary__title {
    cursor: pointer !important;
}

/* Fundo cinza, borda fina e border radius no conteúdo quando aberto */
.wc-block-checkout.is-mobile .wc-block-components-checkout-order-summary__content.is-open {
    display: block !important;
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    padding: 16px !important;
    padding-top: 20px !important;
    background: #f6f6f6 !important;
    border-radius: 8px !important;
    margin-top: 12px !important;
    border: 1px solid #e0e0e0 !important;
}

/* Transição suave para abrir/fechar */
.wc-block-checkout.is-mobile .wc-block-components-checkout-order-summary__content {
    transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease, margin 0.3s ease !important;
    overflow: hidden !important;
}

/* Fechado quando não tem is-open */
.wc-block-checkout.is-mobile .wc-block-components-checkout-order-summary__content:not(.is-open) {
    max-height: 0 !important;
    opacity: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    display: block !important;
}

/* Ícone correto: para cima quando aberto, para baixo quando fechado */
.wc-block-checkout.is-mobile .wc-block-components-checkout-order-summary__title-icon svg {
    transform: rotate(180deg);
    transition: transform 0.3s ease;
}

.wc-block-checkout.is-mobile .wc-block-components-checkout-order-summary__title.is-open .wc-block-components-checkout-order-summary__title-icon svg {
    transform: rotate(0deg);
}

/* Remover padding do sidebar no mobile */
.wc-block-checkout.is-mobile .wc-block-checkout__sidebar {
    padding-top: 0 !important;
}

.wc-block-checkout.is-mobile .wp-block-woocommerce-checkout-order-summary-block {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

    /* Checkout mobile: manter Order Summary e Cupom apenas no topo (sidebar) */
    .wc-block-checkout__actions .wp-block-woocommerce-checkout-order-summary-block,
    .wc-block-checkout__actions .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
        display: none !important;
    }

    .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
    .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
        display: block !important;
    }


/* ================================================
   CUPOM - Estilos gerais (mobile e desktop)
   ================================================ */

/* Cupom sempre aberto e fixo */
.wp-block-woocommerce-checkout-order-summary-coupon-form-block {
    border: none !important;
    padding: 16px 0 !important;
    margin: 0 !important;
}

/* Esconder botão "Add coupons" completamente */
.wc-block-components-totals-coupon .wc-block-components-panel__button {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Forçar conteúdo do cupom SEMPRE visível */
.wc-block-components-totals-coupon .wc-block-components-panel__content {
    display: block !important;
    max-height: 9999px !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    height: auto !important;
    padding: 0 !important;
    clip-path: none !important;
    transform: none !important;
}

.wc-block-components-totals-coupon .wc-block-components-panel__content[aria-hidden="true"],
.wc-block-components-totals-coupon .wc-block-components-panel__content[aria-hidden="false"] {
    display: block !important;
}

/* Forçar wrapper do conteúdo */
.wc-block-components-totals-coupon__content {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
}

/* Forçar divs internas */
.wc-block-components-totals-coupon__content > div,
.wc-block-components-totals-coupon__content > div > div {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
}

/* Form do cupom */
.wc-block-components-totals-coupon__content form {
    display: flex !important;
    gap: 8px !important;
}

/* Input do cupom */
.wc-block-components-totals-coupon .wc-block-components-text-input {
    flex: 1 !important;
    position: relative !important;
}

.wc-block-components-totals-coupon input[type="text"] {
    width: 100% !important;
    padding: 14px !important;
    padding-top: 20px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
}

/* Label dentro do input - centralizado */
.wc-block-components-totals-coupon .wc-block-components-text-input label {
    position: absolute !important;
    top: 50% !important;
    left: 14px !important;
    transform: translateY(-50%) !important;
    font-size: 0 !important;
    color: #999 !important;
    font-weight: 400 !important;
    pointer-events: none !important;
}

.wc-block-components-totals-coupon .wc-block-components-text-input label::before {
    content: 'Discount coupon or Gift Card' !important;
    font-size: 13px !important;
}

/* Esconder label quando input tem valor */
.wc-block-components-totals-coupon .wc-block-components-text-input.is-active label {
    top: 4px !important;
    transform: none !important;
}

.wc-block-components-totals-coupon .wc-block-components-text-input.is-active label::before {
    font-size: 10px !important;
}

/* Botão Apply - bem menor */
.wc-block-components-totals-coupon .wc-block-components-button {
    padding: 8px 16px !important;
    min-width: 70px !important;
    max-width: 80px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

/* Form do cupom - input maior, botão menor */
.wc-block-components-totals-coupon__form {
    display: flex !important;
    gap: 8px !important;
}

.wc-block-components-totals-coupon .wc-block-components-text-input {
    flex: 1 !important;
    min-width: 0 !important;
}

/* IMPORTANTE: Manter form do cupom SEMPRE visível (mesmo com cupom aplicado) */
.wc-block-components-totals-coupon__content,
.wc-block-components-totals-coupon__content > div,
.wc-block-components-totals-coupon__form {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
}

/* Garantir que o wrapper do form nunca seja escondido */
.wc-block-components-panel__content .wc-block-components-totals-coupon__content {
    display: block !important;
}

.wp-block-woocommerce-checkout-order-summary-subtotal-block {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.wp-block-woocommerce-checkout-order-summary-totals-block {
    border: none !important;
}

/* Linha de Free Shipping abaixo do Subtotal - CSS puro */
/* Linha de Shipping - mesma formatação do Discount */
.wp-block-woocommerce-checkout-order-summary-fee-block {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    padding: 12px 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* Label do Shipping - copiar formatação exata do Discount */
.wp-block-woocommerce-checkout-order-summary-fee-block .shipping-label {
    font-size: 14px !important;
    color: #333 !important;
    font-weight: 600 !important;
}

@media (min-width: 768px) {
    .wp-block-woocommerce-checkout-order-summary-fee-block .shipping-label {
        margin-left: 17px !important;
    }
}

/* Container do texto à direita */
.wp-block-woocommerce-checkout-order-summary-fee-block .shipping-text {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 2px !important;
}

/* Linha 1: Express Shipping FREE */
.wp-block-woocommerce-checkout-order-summary-fee-block .shipping-line1 {
    font-size: 14px !important;
    color: #333 !important;
    font-weight: 400 !important;
}

/* Linha 2: (7 to 12 business days) */
.wp-block-woocommerce-checkout-order-summary-fee-block .shipping-line2 {
    font-size: 12px !important;
    color: #999 !important;
    font-weight: 400 !important;
}

/* FREE em verde e negrito (igual ao desconto) */
.wp-block-woocommerce-checkout-order-summary-fee-block .shipping-free {
    color: #22a722 !important;
    font-weight: 700 !important;
}

/* Input do cupom - fundo branco */
.wc-block-components-totals-coupon input[type="text"],
.wc-block-components-totals-coupon .wc-block-components-text-input input,
#wc-block-components-totals-coupon__input-coupon {
    background-color: #fff !important;
}

/* ================================================
   CHECKOUT: Espaçamentos laterais igual página de produto
   ================================================ */
@media (min-width: 1200px) {
    .woocommerce-checkout .wd-content-layout,
    .woocommerce-checkout .whb-general-header .container {
        max-width: 1400px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 40px !important;
        padding-right: 40px !important;
    }
}

@media (min-width: 1600px) {
    .woocommerce-checkout .wd-content-layout,
    .woocommerce-checkout .whb-general-header .container {
        max-width: 1500px !important;
        padding-left: 60px !important;
        padding-right: 60px !important;
    }
}

@media (min-width: 1920px) {
    .woocommerce-checkout .wd-content-layout,
    .woocommerce-checkout .whb-general-header .container {
        max-width: 1600px !important;
        padding-left: 80px !important;
        padding-right: 80px !important;
    }
}

/* ================================================
   CHECKOUT DESKTOP: Blocos separados estilo Order Summary
   ================================================ */
/* Área principal sem fundo (os blocos individuais terão) */
.wc-block-checkout.is-large .wc-block-checkout__main {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

/* Cada bloco (Contact, Billing, Payment, etc) - SEM borda no container */
.wc-block-checkout.is-large .wc-block-components-checkout-step {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-bottom: 16px !important;
}

/* Títulos dos blocos - SEM fundo, SEM borda */
.wc-block-checkout.is-large .wc-block-components-checkout-step__heading-container,
.wc-block-checkout.is-large .wc-block-components-checkout-order-summary__title {
    background: transparent !important;
    padding: 0 0 8px 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Conteúdo dos blocos (formulários) com estilo */
.wc-block-checkout.is-large .wc-block-components-checkout-step__content {
    background: #f6f6f6 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 16px !important;
    margin-top: 8px !important;
}

/* Order notes, Terms e Actions - dentro do bloco Payment */
.wc-block-checkout.is-large .wc-block-checkout__order-notes,
.wc-block-checkout.is-large .wc-block-checkout__terms,
.wc-block-checkout.is-large .wc-block-checkout__actions {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 16px !important;
    margin: 0 !important;
}

/* Payment block inclui tudo até o final */
.wc-block-checkout.is-large .wc-block-checkout__payment-method {
    border-radius: 8px 8px 0 0 !important;
    margin-bottom: 0 !important;
}

/* Remover border do container externo das opcoes de pagamento */
.wc-block-checkout .wc-block-components-radio-control--highlight-checked,
.wc-block-checkout .wc-block-components-radio-control--highlight-checked--first-selected,
.wc-block-checkout .wc-block-components-radio-control--highlight-checked--last-selected,
.wc-block-checkout .wc-block-components-radio-control {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
}

/* Order notes sem borda superior */
.wc-block-checkout.is-large .wc-block-checkout__order-notes {
    padding-top: 16px !important;
    padding-bottom: 8px !important;
}

/* Terms */
.wc-block-checkout.is-large .wc-block-checkout__terms {
    padding-top: 8px !important;
    padding-bottom: 16px !important;
    border-top: 1px solid #e0e0e0 !important;
}

/* Actions (botões) */
.wc-block-checkout.is-large .wc-block-checkout__actions {
    background: #f6f6f6 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 16px !important;
    margin-top: 16px !important;
}

/* TODOS os inputs com fundo branco no desktop */
.wc-block-checkout.is-large .wc-block-components-checkout-step__content input,
.wc-block-checkout.is-large .wc-block-components-checkout-step__content input[type="text"],
.wc-block-checkout.is-large .wc-block-components-checkout-step__content input[type="email"],
.wc-block-checkout.is-large .wc-block-components-checkout-step__content input[type="tel"],
.wc-block-checkout.is-large .wc-block-components-checkout-step__content input[type="number"],
.wc-block-checkout.is-large .wc-block-components-checkout-step__content input[type="password"],
.wc-block-checkout.is-large .wc-block-components-checkout-step__content select,
.wc-block-checkout.is-large .wc-block-components-checkout-step__content textarea,
.wc-block-checkout.is-large .wc-block-components-checkout-step__content .wc-block-components-text-input input,
.wc-block-checkout.is-large .wc-block-components-checkout-step__content .wc-block-components-address-form input,
.wc-block-checkout.is-large .wc-block-components-checkout-step__content .wc-blocks-components-select__select,
.wc-block-checkout.is-large .wc-block-components-checkout-step__content .wc-blocks-components-select__container,
.wc-block-checkout.is-large .wc-block-components-text-input,
.wc-block-checkout.is-large .wc-blocks-components-select__container,
.wc-block-checkout.is-large .wc-block-components-textarea,
.wc-block-checkout.is-large textarea.wc-block-components-textarea {
    background: #fff !important;
    background-color: #fff !important;
}

/* Reserve Now - Destaque igual página do produto */
.wc-block-components-payment-method-label .reserve-now-title {
    display: block !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #333 !important;
}

.wc-block-components-payment-method-label .reserve-price-highlight {
    display: block !important;
    margin-top: 4px !important;
    font-size: 13px !important;
    color: #666 !important;
}

.wc-block-components-payment-method-label .reserve-price {
    color: #d4a056 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

.wc-block-components-payment-method-label .reserve-label {
    color: #666 !important;
    font-weight: 400 !important;
}

/* PayPal - Label com ícone */
.wc-block-components-payment-method-label .payment-label-with-icon {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.wc-block-components-payment-method-label .paypal-icon {
    height: 20px !important;
    width: auto !important;
}

/* PayPal Mobile - bandeiras abaixo e menores */
@media (max-width: 768px) {
    .wc-block-components-payment-method-label .payment-label-with-icon {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
    }
    
    .wc-block-components-payment-method-label .paypal-icon {
        height: 16px !important;
        max-width: 150px !important;
    }
}

/* ================================================
   ORDER SUMMARY: Layout reorganizado
   ================================================ */
/* Item do summary - usar layout padrão com total-price à direita */
.wc-block-components-order-summary-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
}

/* Imagem */
.wc-block-components-order-summary-item__image {
    flex-shrink: 0 !important;
    position: relative !important;
}

/* Badge de quantidade à esquerda da miniatura */
.wc-block-components-order-summary-item__quantity {
    position: absolute !important;
    left: 8px !important;
    top: -14px !important;
    transform: translateX(-100%) !important;
    right: auto !important;
}

/* Descrição do produto - flex grow mas não ocupar tudo */
.wc-block-components-order-summary-item__description {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    min-width: 0 !important;
    gap: 2px !important;
    position: relative !important;
    padding-right: 50px !important; /* espaço para os preços à direita */
}

/* Override do padding padrão (era 24px à esquerda) */
.wc-block-components-order-summary .wc-block-components-order-summary-item__description {
    padding-left: 10px !important;
}

/* Nome do produto - limitado a 2 linhas */
.wc-block-components-order-summary-item .wc-block-components-product-name {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    min-height: 2.4em !important;
    line-height: 1.2 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1e1e1e !important;
    text-decoration: none !important;
    margin-bottom: 2px !important;
}

/* Size abaixo do nome */
.wc-block-components-order-summary-item .wc-block-components-product-metadata {
    margin: 0 !important;
}

.wc-block-components-order-summary-item .wc-block-components-product-details {
    font-size: 12px !important;
    color: #666 !important;
}

/* Preços dentro da descrição: posicionar à direita */
.wc-block-components-order-summary-item__individual-prices {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    text-align: right !important;
    position: absolute !important;
    top: 0 !important;
    right: 5px !important;
}

/* Sales price em cima */
.wc-block-components-order-summary-item__individual-prices ins,
.wc-block-components-order-summary-item__individual-prices .wc-block-components-product-price__value.is-discounted {
    order: 1 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    text-decoration: none !important;
    background: none !important;
}

/* Regular price cortado embaixo */
.wc-block-components-order-summary-item__individual-prices del,
.wc-block-components-order-summary-item__individual-prices .wc-block-components-product-price__regular {
    order: 2 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #999 !important;
}

/* Esconder preço total duplicado */
.wc-block-components-order-summary-item__total-price {
    display: none !important;
}

/* ================================================
   CHECKOUT: Inputs padronizados
   ================================================ */
/* Espaçamento entre inputs - menor */
.wc-block-checkout .wc-block-components-text-input {
    margin-bottom: 10px !important;
}

/* Border radius nos inputs igual ao Payment options */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-blocks-components-select__select,
.wc-block-checkout .wc-block-components-text-input input[type="text"],
.wc-block-checkout .wc-block-components-text-input input[type="email"],
.wc-block-checkout .wc-block-components-text-input input[type="tel"] {
    border-radius: 4px !important;
    border: 1px solid #d3d3d3 !important;
}

/* Espaçamento dos fieldsets (Contact, Billing, Payment) */
.wc-block-checkout .wc-block-components-checkout-step {
    margin-bottom: 24px !important;
}

/* Padding interno dos fieldsets */
.wc-block-checkout .wc-block-components-checkout-step__content {
    padding-top: 16px !important;
}

/* Selects com border radius e borda completa */
.wc-block-checkout .wc-blocks-components-select__container {
    border-radius: 4px !important;
    border: 1px solid #d3d3d3 !important;
    overflow: visible !important;
}

/* Select interno sem borda própria (usa a do container) */
.wc-block-checkout .wc-blocks-components-select__select {
    border: none !important;
}

/* Select do país - garantir espaçamento correto */
.wc-block-checkout .wc-block-components-country-input {
    margin-bottom: 10px !important;
}

/* Select do estado */
.wc-block-checkout .wc-block-components-state-input {
    margin-bottom: 10px !important;
}

/* Radio options (Payment) com border radius */
.wc-block-checkout .wc-block-components-radio-control-accordion-option {
    border-radius: 4px !important;
    border: 1px solid #d3d3d3 !important;
    margin-bottom: 8px !important;
}

.wc-block-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
    border-color: #333 !important;
}

/* Botão Apply do cupom - mesma altura do input */
.wc-block-components-totals-coupon__button {
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Input do cupom - altura consistente */
.wc-block-components-totals-coupon__input input {
    height: 48px !important;
}

/* ================================================
   GIFT CARD - LAYOUT PERSONALIZADO
   ======================================== */

/* Esconder preço e reserve now */
.postid-181069 .dripsteezy-price-reserve-row,
.postid-181069 .reserve-system,
.postid-181069 .summary > .price {
    display: none !important;
}

/* Esconder segunda imagem, setas e navegação */
.postid-181069 .wd-carousel-item:nth-child(2),
.postid-181069 .dripsteezy-gallery-filler,
.postid-181069 .wd-nav-arrows,
.postid-181069 .wd-nav-pagin-wrap {
    display: none !important;
}

/* FORÇAR 1 COLUNA no grid da galeria */
.postid-181069 .woocommerce-product-gallery__wrapper.wd-grid {
    --wd-col-lg: 1 !important;
    --wd-col-md: 1 !important;
    --wd-col-sm: 1 !important;
}

/* ============================================
   GIFT CARD - IMAGEM CENTRALIZADA E GRANDE
   ============================================ */

/* Container principal */
.postid-181069 .product-images {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Galeria container */
.postid-181069 .wd-gallery-images {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
}

.postid-181069 .wd-carousel-inner {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

/* Grid wrapper - forçar centralização */
.postid-181069 .woocommerce-product-gallery__wrapper {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
}

.postid-181069 .wd-carousel-wrap {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
}

/* Primeiro item (única imagem visível) */
.postid-181069 .wd-carousel-item:first-child {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
}

.postid-181069 .wd-carousel-item:first-child figure {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto !important;
}

.postid-181069 .wd-carousel-item:first-child figure a {
    display: block !important;
}

/* IMAGEM - Grande e centralizada */
.postid-181069 .wd-carousel-item:first-child img.wp-post-image {
    width: 100% !important;
    max-width: 500px !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
}

/* Esconder select ORIGINAL de variações (fora do box) */
.postid-181069 form.cart > table.variations {
    display: none !important;
}

/* Mostrar select clonado DENTRO do box */
.postid-181069 .dsgc-variation-select {
    display: block !important;
    margin-bottom: 20px !important;
}

.postid-181069 .dsgc-variation-select label {
    display: block !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    color: #333 !important;
    font-size: 14px !important;
}

.postid-181069 .dsgc-variation-select select {
    width: 100% !important;
    padding: 12px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    background: #fff !important;
}

/* Esconder "The Dripsteezy Difference" no Gift Card */
.postid-181069 .dripsteezy-difference-section {
    display: none !important;
}

/* Esconder TABS padrão de produtos */
.postid-181069 .woocommerce-tabs,
.postid-181069 .wc-tabs-wrapper {
    display: none !important;
}

/* Esconder label NEW */
.postid-181069 .product-labels {
    display: none !important;
}

/* Equalizar altura da imagem com formulário */
.postid-181069 .row.product-image-summary-wrap {
    align-items: stretch !important;
}


/* Área da imagem ocupar toda altura */
.postid-181069 .product-images {
    height: 100% !important;
    min-height: 100% !important;
    background: #f5f5f5 !important;
    border-radius: 8px !important;
}

.postid-181069 .wd-gallery-images {
    height: 100% !important;
}

.postid-181069 .wd-carousel-inner {
    height: 100% !important;
}

.postid-181069 .woocommerce-product-gallery__wrapper {
    height: 100% !important;
    align-items: center !important;
}

/* ================================================
   CLASSIC CHECKOUT - CUSTOMIZAÇÕES
   Estilos para checkout shortcode [woocommerce_checkout]
   Replica visual do antigo WooCommerce Blocks checkout
   ================================================ */

/* ------ LAYOUT GERAL ------ */
/* Two-column layout via CSS grid to avoid wrap-induced CLS */
.woocommerce-checkout .woocommerce form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 65%) minmax(280px, 35%) !important;
    column-gap: 15px !important;
    row-gap: 15px !important;
    align-items: stretch !important;
}

/* Left column: billing + additional */
.woocommerce-checkout #customer_details {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

/* Right column: order review */
.woocommerce-checkout .checkout-order-review {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

/* Sticky inner wrapper inside billing column */
.woocommerce-checkout .drip-billing-sticky {
    position: sticky !important;
    top: 20px !important;
}

/* Full-width rows inside the grid */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .checkout_coupon,
.woocommerce-checkout .drip-express-checkout {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}

/* Fallback: if Woodmart doesn't wrap in .checkout-order-review */
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
    width: 100% !important;
}

/* Coupon toggle at full width above the columns */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .checkout_coupon {
    flex: 0 0 100% !important;
    width: 100% !important;
}

/* ------ HEADINGS ------ */
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .drip-contact-info > h3,
.woocommerce-checkout #order_review_heading {
    font-size: 20px !important;
    font-weight: 500 !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    color: #333 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

/* ------ CONTACT INFO CARD (email) ------ */
/* Inside #customer_details, above billing */
.woocommerce-checkout .drip-contact-info {
    margin-bottom: 24px !important;
}

.woocommerce-checkout .drip-contact-info-wrapper {
    background: #f6f6f6 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 16px !important;
}

.woocommerce-checkout .drip-contact-info-wrapper .form-row {
    margin-bottom: 0 !important;
}

/* ------ BILLING FIELDS BLOCK ------ */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    background: #f6f6f6 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 16px !important;
}

/* Lock billing field visual order via flex + CSS order.
   Prevents address-i18n.js DOM sort from affecting layout. */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    column-gap: 12px !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row {
    float: none !important;
    clear: none !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row.form-row-first,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row.form-row-last {
    flex: 0 0 calc(50% - 6px) !important;
    width: calc(50% - 6px) !important;
    max-width: calc(50% - 6px) !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row.form-row-wide {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
}

.woocommerce-checkout #billing_first_name_field { order: 10 !important; }
.woocommerce-checkout #billing_last_name_field { order: 20 !important; }
.woocommerce-checkout #billing_company_field { order: 30 !important; }
.woocommerce-checkout #billing_country_field { order: 40 !important; }
.woocommerce-checkout #billing_address_1_field { order: 50 !important; }
.woocommerce-checkout #billing_address_2_field { order: 60 !important; }
.woocommerce-checkout #billing_city_field { order: 70 !important; }
.woocommerce-checkout #billing_state_field { order: 80 !important; }
.woocommerce-checkout #billing_postcode_field { order: 90 !important; }
.woocommerce-checkout #billing_phone_field { order: 100 !important; }

/* ------ ORDER NOTES TOGGLE (inside billing field wrapper) ------ */
.woocommerce-checkout .drip-order-notes-toggle {
    margin: 12px 0 0 0 !important;
    padding: 12px 14px !important;
    background: #f6f6f6 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 4px !important;
    width: 100% !important;
    flex-basis: 100% !important;
}

.woocommerce-checkout .drip-notes-checkbox-label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #555 !important;
    margin: 0 !important;
}

.woocommerce-checkout .drip-notes-checkbox {
    width: 16px !important;
    height: 16px !important;
    accent-color: #333 !important;
    cursor: pointer !important;
    margin: 0 !important;
}

.woocommerce-checkout .drip-notes-optional {
    color: #999 !important;
    font-weight: 300 !important;
    font-size: 12px !important;
}

.woocommerce-checkout .drip-notes-area {
    margin-top: 10px !important;
}

.woocommerce-checkout .drip-notes-area .form-row {
    margin-bottom: 0 !important;
}

.woocommerce-checkout .drip-notes-area textarea {
    background: #fff !important;
    border: 1px solid #d3d3d3 !important;
    border-radius: 4px !important;
    padding: 20px 14px 8px 14px !important;
    font-size: 14px !important;
    min-height: 80px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    resize: vertical !important;
}

.woocommerce-checkout #order_comments.input-text {
    background: #fff !important;
    border: 1px solid #d3d3d3 !important;
    border-radius: 4px !important;
    padding: 20px 14px 8px 14px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout .drip-notes-area textarea:focus {
    border-color: #333 !important;
    outline: none !important;
}

.woocommerce-checkout #order_comments.input-text:focus {
    border-color: #333 !important;
    outline: none !important;
}

/* Additional fields section - disabled via PHP (woocommerce_enable_order_notes_field) */
.woocommerce-checkout .woocommerce-additional-fields {
    display: none !important;
}

/* ------ ADDRESS 2 TOGGLE ------ */
/* Hide address_2 field by default */
#billing_address_2_field.drip-address2-hidden {
    display: none !important;
}

/* Toggle link styled like the Blocks checkout */
.drip-address2-toggle {
    display: inline-block;
    font-size: 13px !important;
    font-weight: 400 !important;
    cursor: pointer !important;
    margin: 10px 0 10px 10px !important;
    padding: 0 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

/* ------ FLOATING LABELS ------ */
/* Form row container for floating label positioning */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-checkout .drip-contact-info-wrapper .form-row {
    position: relative !important;
    margin-bottom: 12px !important;
}

/* Hide screen-reader-only labels (address_2 etc.) */
.woocommerce-checkout .form-row label.screen-reader-text {
    position: absolute !important;
    left: -9999px !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden !important;
}

/* Floating label - default state (inside input) */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row > label:not(.screen-reader-text),
.woocommerce-checkout .drip-contact-info-wrapper .form-row > label:not(.screen-reader-text) {
    position: absolute !important;
    top: 14px !important;
    left: 15px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #1e1e1e !important;
    pointer-events: none !important;
    transition: all 0.15s ease !important;
    z-index: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    transform-origin: left top !important;
    background: transparent !important;
}

/* Floating label - active state (focused or filled) */
.woocommerce-checkout .form-row.drip-float > label:not(.screen-reader-text) {
    top: 6px !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    color: #1e1e1e !important;
}

/* Autofill detection: browser autofill does not fire input/change events.
   This keyframe triggers animationstart in JS so floating labels react. */
@keyframes dripAutofillDetect { from { opacity: 1; } to { opacity: 1; } }
.woocommerce-checkout input:-webkit-autofill { animation-name: dripAutofillDetect !important; }

/* Inputs - taller to accommodate floating label */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input[type="text"],
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input[type="email"],
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input[type="tel"],
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input[type="number"],
.woocommerce-checkout .drip-contact-info-wrapper input[type="email"] {
    background: #fff !important;
    border: 1px solid #d3d3d3 !important;
    border-radius: 4px !important;
    padding: 20px 14px 8px 14px !important;
    font-size: 14px !important;
    width: 100% !important;
    height: 48px !important;
    box-sizing: border-box !important;
}

/* Textarea */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper textarea,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper textarea {
    background: #fff !important;
    border: 1px solid #d3d3d3 !important;
    border-radius: 4px !important;
    padding: 20px 14px 8px 14px !important;
    font-size: 14px !important;
}

/* Select (native hidden by select2) */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper select {
    background: #fff !important;
    border: 1px solid #d3d3d3 !important;
    border-radius: 4px !important;
    padding: 20px 14px 8px 14px !important;
    font-size: 14px !important;
}

/* Select2 dropdown override */
.woocommerce-checkout .select2-container--default .select2-selection--single {
    background: #fff !important;
    border: 1px solid #d3d3d3 !important;
    border-radius: 4px !important;
    height: 48px !important;
    display: flex !important;
    align-items: flex-end !important;
    padding: 0 14px 8px 14px !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1.2 !important;
    padding-left: 0 !important;
    color: #333 !important;
    font-size: 14px !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 48px !important;
}

/* Select2 placeholder - looks like label */
.woocommerce-checkout .select2-selection__placeholder {
    color: transparent !important;
}

/* Focus ring on inputs */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input:focus,
.woocommerce-checkout .drip-contact-info-wrapper input:focus {
    border-color: #333 !important;
    outline: none !important;
}

/* Invalid field - red border only after user attempts checkout submit */
.woocommerce-checkout form.drip-submitted .form-row.woocommerce-invalid input.input-text,
.woocommerce-checkout form.drip-submitted .form-row.woocommerce-invalid select,
.woocommerce-checkout form.drip-submitted .form-row.woocommerce-invalid textarea,
.woocommerce-checkout form.drip-submitted .form-row.woocommerce-invalid .select2-selection {
    border-color: #CA1919 !important;
}

/* Red border on fields that have inline error messages (server validation) */
.woocommerce-checkout .form-row:has(.checkout-inline-error-message) input.input-text,
.woocommerce-checkout .form-row:has(.checkout-inline-error-message) select,
.woocommerce-checkout .form-row:has(.checkout-inline-error-message) textarea,
.woocommerce-checkout .form-row:has(.checkout-inline-error-message) .select2-selection {
    border-color: #CA1919 !important;
}

/* Inline error message styling */
.woocommerce-checkout .checkout-inline-error-message {
    color: #CA1919 !important;
    font-size: 12px !important;
    margin: 4px 0 0 0 !important;
    padding: 0 !important;
}


/* ------ ORDER REVIEW BLOCK ------ */
/* Reset Woodmart gray bg + torn-paper corner pseudo-elements */
.woocommerce-checkout .checkout-order-review,
.woocommerce-checkout > .checkout-order-review {
    background-color: transparent !important;
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}
.woocommerce-checkout .checkout-order-review::before,
.woocommerce-checkout .checkout-order-review::after,
.woocommerce-checkout > .checkout-order-review::before,
.woocommerce-checkout > .checkout-order-review::after {
    display: none !important;
    content: none !important;
}

/* Right column: no sticky on wrapper, let #order_review handle it */
.woocommerce-checkout .checkout-order-review {
    position: static !important;
    align-self: flex-start !important;
}

/* Sticky limited to #order_review (table + coupon only) */
.woocommerce-checkout #order_review {
    position: sticky !important;
    top: 20px !important;
    min-height: 200px !important;
}

/* Order review container - transparent, children get their own bg */
.woocommerce-checkout #order_review {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

/* Products table wrapper - gray block */
.woocommerce-checkout #order_review .wd-table-wrapper {
    background: #f6f6f6 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 16px !important;
    margin-bottom: 12px !important;
}

/* Loading overlay - match gray bg instead of white */
.woocommerce-checkout #order_review .blockUI.blockOverlay,
.woocommerce-checkout .wd-table-wrapper .blockUI.blockOverlay {
    background: #f6f6f6 !important;
}

/* Table reset */
.woocommerce-checkout .woocommerce-checkout-review-order-table {
    border: none !important;
    margin: 0 !important;
    border-collapse: collapse !important;
}

/* Override Woodmart flex row border */
.woocommerce-checkout .woocommerce-checkout-review-order-table tr {
    border-bottom: none !important;
}

/* Hide thead (Product / Subtotal headers) */
.woocommerce-checkout .woocommerce-checkout-review-order-table thead {
    display: none !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    border: none !important;
    padding: 8px 0 !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #999 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding-bottom: 12px !important;
    border-bottom: none !important;
}

/* ================================================
   CHECKOUT: Product rows - match Cart visual
   ================================================ */

/* Product row layout - match cart */
.woocommerce-checkout .wd-checkout-prod {
    display: flex !important;
    align-items: flex-start !important;
    gap: 16px !important;
    padding: 12px 0 !important;
}

/* Product image - 80px to match cart */
.woocommerce-checkout .wd-checkout-prod-img {
    flex-shrink: 0 !important;
    width: 80px !important;
    min-width: 80px !important;
}

.woocommerce-checkout .wd-checkout-prod-img img {
    width: 80px !important;
    height: auto !important;
    border-radius: 4px !important;
}

/* Content wrapper - flex row with title and total, top-aligned like cart */
.woocommerce-checkout .wd-checkout-prod-cont {
    display: flex !important;
    flex: 1 !important;
    min-width: 0 !important;
    gap: 0 !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
}

/* Title column - name + variation + quantity stacked vertically */
.woocommerce-checkout .wd-checkout-prod-title {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    min-width: 0 !important;
    gap: 2px !important;
    flex-wrap: nowrap !important;
    margin-inline-end: 10px !important;
}

/* Reset Woodmart order override on quantity inside title */
.woocommerce-checkout .wd-checkout-prod-cont .quantity {
    order: unset !important;
}

/* Product name - match cart */
.woocommerce-checkout .wd-checkout-prod-title .cart-product-label,
.woocommerce-checkout .wd-checkout-prod-title .cart-product-label-link {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    min-height: 2.4em !important;
    line-height: 1.2 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1e1e1e !important;
    text-decoration: none !important;
    margin-bottom: 2px !important;
}

/* Variation data - match cart metadata */
.woocommerce-checkout .wd-checkout-prod .variation {
    font-size: 12px !important;
    color: #757575 !important;
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
}

.woocommerce-checkout .wd-checkout-prod .variation dt,
.woocommerce-checkout .wd-checkout-prod .variation dd,
.woocommerce-checkout .wd-checkout-prod .variation p {
    font-size: 12px !important;
    color: #757575 !important;
    font-weight: 400 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Quantity selector container - match cart round buttons */
.woocommerce-checkout .wd-checkout-prod .quantity {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    border: none !important;
    background: transparent !important;
    margin-top: 4px !important;
    width: auto !important;
}

/* Override Woodmart default height for quantity buttons/input */
.woocommerce-checkout .wd-checkout-prod .quantity :is(input[type="button"], input[type="number"], input[type="text"]) {
    height: auto !important;
}

/* Round minus/plus buttons - match cart */
.woocommerce-checkout .wd-checkout-prod .quantity .minus,
.woocommerce-checkout .wd-checkout-prod .quantity .plus {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    border: 1px solid #ccc !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #333 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: border-color 0.2s !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.woocommerce-checkout .wd-checkout-prod .quantity .minus:hover,
.woocommerce-checkout .wd-checkout-prod .quantity .plus:hover {
    border-color: #333 !important;
    background: #fff !important;
    color: #333 !important;
}

/* Quantity input - match cart (no border, transparent bg) */
.woocommerce-checkout .wd-checkout-prod .quantity .qty {
    width: 24px !important;
    min-width: 24px !important;
    height: auto !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    padding: 0 !important;
    -moz-appearance: textfield !important;
}

.woocommerce-checkout .wd-checkout-prod .quantity .qty::-webkit-outer-spin-button,
.woocommerce-checkout .wd-checkout-prod .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Hide x1 static text when quantity input is present */
.woocommerce-checkout .wd-checkout-prod .quantity + .product-quantity,
.woocommerce-checkout .wd-checkout-prod .product-quantity:has(+ .quantity) {
    display: none !important;
}

/* Product total price - fixed width column right-aligned, match cart */
.woocommerce-checkout .wd-checkout-prod-total {
    width: 80px !important;
    min-width: 80px !important;
    text-align: right !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    white-space: nowrap !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
}

/* Sale price in checkout total */
.woocommerce-checkout .wd-checkout-prod-total ins {
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
}

/* Regular price (crossed out) in checkout total */
.woocommerce-checkout .wd-checkout-prod-total del {
    display: block !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #999 !important;
}

/* Price layout stacked - sale on top, regular below */
.woocommerce-checkout .wd-checkout-prod-total .woocommerce-Price-amount {
    display: block !important;
}

/* Totals section */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr {
    border: none !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #333 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #333 !important;
    text-align: right !important;
}

/* Subtotal row */
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal td {
    padding-top: 16px !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal th {
    padding-top: 16px !important;
}

/* Total row - large and bold */
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th {
    font-size: 16px !important;
    font-weight: 600 !important;
    padding-top: 12px !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
    padding-top: 12px !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td strong .woocommerce-Price-amount {
    font-size: 28px !important;
    font-weight: 700 !important;
}

/* Discount row */
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-discount td,
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-discount td .woocommerce-Price-amount {
    color: #22a722 !important;
}

/* Remove coupon link */
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-discount .woocommerce-remove-coupon {
    font-size: 11px !important;
    color: #999 !important;
}

/* ------ PAYMENT METHODS ------ */
.woocommerce-checkout #payment {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    margin-top: 16px !important;
}

.woocommerce-checkout #payment .drip-payment-heading {
    font-size: 18px !important;
    font-weight: 600 !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
}

/* Limit order items list to 4 products on desktop; coupon stays outside scroll */
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody.drip-cart-scroll {
    display: block !important;
    max-height: 250px !important;
    overflow-y: auto !important;
    width: 100% !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody.drip-cart-scroll tr {
    display: table-row !important;
    width: 100% !important;
}

.woocommerce-checkout #payment .payment_methods {
    padding: 0 !important;
    border: none !important;
    list-style: none !important;
    margin: 0 !important;
}

.woocommerce-checkout #payment .payment_methods li {
    background: #f6f6f6 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 4px !important;
    margin-bottom: 8px !important;
    padding: 12px 10px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0 8px !important;
}

/* Radio and label inline */
.woocommerce-checkout #payment .payment_methods li > input[type="radio"] {
    display: inline-block !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}

.woocommerce-checkout #payment .payment_methods li label {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
}

.woocommerce-checkout #payment .payment_methods li .drip-paypal-text {
    font-weight: 600 !important;
    color: #111 !important;
    white-space: nowrap !important;
}

.woocommerce-checkout #payment .payment_methods li .drip-payment-icons {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    flex-wrap: nowrap !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
}
.woocommerce-checkout #payment .payment_methods li .drip-payment-icons img {
    max-height: 18px !important;
    width: auto !important;
}

/* Trust block below payment methods */
.woocommerce-checkout .drip-trust-block {
    margin-top: 16px !important;
    padding: 14px 16px !important;
    background: linear-gradient(135deg, #fdfdfd 0%, #f4f6f8 100%) !important;
    border: 1px solid #e3e6ea !important;
    border-radius: 10px !important;
    box-shadow: 0 6px 16px rgba(0,0,0,0.06) !important;
    line-height: 1.4 !important;
}

.woocommerce-checkout .drip-trust-header {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
}

.woocommerce-checkout .drip-trust-shield {
    font-size: 20px !important;
}

.woocommerce-checkout .drip-trust-text {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.woocommerce-checkout .drip-trust-title {
    font-weight: 700 !important;
    font-size: 15px !important;
    color: #111 !important;
}

.woocommerce-checkout .drip-trust-sub {
    font-size: 13px !important;
    color: #555 !important;
}

.woocommerce-checkout .drip-trust-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 8px 12px !important;
}

.woocommerce-checkout .drip-trust-item {
    font-size: 14px !important;
    color: #1b1b1b !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: rgba(255,255,255,0.8) !important;
    border: 1px solid #e8ebef !important;
    border-radius: 8px !important;
    padding: 8px 10px !important;
}

.woocommerce-checkout .drip-trust-item .dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #2a7544 !important;
    flex-shrink: 0 !important;
}

/* Mobile-only trust block (shipping-promotions) */
.woocommerce-checkout .drip-trust-mobile {
    display: none !important;
    margin-top: 16px !important;
}

.woocommerce-checkout .drip-trust-mobile .shipping-promotions-information {
    border: 1px solid #e0e0e0 !important;
    border-radius: 10px !important;
    padding: 12px !important;
    background: #f6f6f6 !important;
    display: grid !important;
    gap: 12px !important;
}

.woocommerce-checkout .shipping-promotions-information__item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    border-bottom: 1px dashed #e6e6e6 !important;
    padding-bottom: 10px !important;
}

.woocommerce-checkout .shipping-promotions-information__item:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.woocommerce-checkout .shipping-promotions-information__item img {
    width: 34px !important;
    height: 34px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
}

.woocommerce-checkout .shipping-promotions-information__item .drip-trust-icon {
    width: 34px !important;
    height: 34px !important;
    flex-shrink: 0 !important;
}

.woocommerce-checkout .drip-trust-stars-row {
    justify-content: center !important;
    gap: 8px !important;
}

.woocommerce-checkout .drip-trust-stars-row .shipping-promotions-information__description {
    font-size: 18px !important;
    font-weight: 700 !important;
}

.woocommerce-checkout .drip-trust-stars-svg {
    flex-shrink: 0 !important;
}

.woocommerce-checkout .shipping-promotions-information__description {
    font-size: 14px !important;
    line-height: 1 !important;
    color: #1b1b1b !important;
}

.woocommerce-checkout .shipping-promotions-information__description strong {
    display: block !important;
    margin-bottom: 2px !important;
}

@media (max-width: 768px) {
    .woocommerce-checkout .drip-trust-block {
        display: none !important;
    }
    .woocommerce-checkout .drip-trust-mobile {
        display: block !important;
    }
    .woocommerce-checkout .drip-trust-mobile.drip-trust-step1 {
        display: block !important;
    }
    /* Hide step 1 trust block when step 2 is open */
    .woocommerce-checkout form.checkout.drip-mobile-step2 .drip-trust-step1 {
        display: none !important;
    }
}

/* Trust block on single product page (mirrors checkout styling) */
.single-product .drip-trust-product {
    display: block !important;
    margin-top: 16px !important;
}

.single-product .drip-trust-product .shipping-promotions-information {
    border: 1px solid #e0e0e0 !important;
    border-radius: 10px !important;
    padding: 12px !important;
    background: #f6f6f6 !important;
    display: grid !important;
    gap: 12px !important;
}

.single-product .drip-trust-product .shipping-promotions-information__item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    border-bottom: 1px dashed #e6e6e6 !important;
    padding-bottom: 10px !important;
}

.single-product .drip-trust-product .shipping-promotions-information__item:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.single-product .drip-trust-product .shipping-promotions-information__item img {
    width: 34px !important;
    height: 34px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
}

.single-product .drip-trust-product .shipping-promotions-information__item .drip-trust-icon {
    width: 34px !important;
    height: 34px !important;
    flex-shrink: 0 !important;
}

.single-product .drip-trust-product .shipping-promotions-information__description {
    font-size: 14px !important;
    line-height: 1 !important;
    color: #1b1b1b !important;
}

.single-product .drip-trust-product .shipping-promotions-information__description strong {
    display: block !important;
    margin-bottom: 2px !important;
}

.woocommerce-checkout #payment .payment_methods li.woocommerce-notice {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

/* Selected payment method highlight */
.woocommerce-checkout #payment .payment_methods li input[type="radio"]:checked + label {
    font-weight: 600 !important;
}

.woocommerce-checkout #payment .payment_methods li:has(input[type="radio"]:checked) {
    border-color: #333 !important;
}

/* PayPal logo in payment label */
.woocommerce-checkout .drip-paypal-logo {
    height: 20px !important;
    width: auto !important;
    vertical-align: middle !important;
}

/* Card icons next to PayPal logo */
.woocommerce-checkout .drip-payment-icons {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin-left: auto !important;
}

.woocommerce-checkout .drip-card-icon {
    height: 18px !important;
    width: auto !important;
    border-radius: 3px !important;
}

/* Hide original plugin payment icons */
.woocommerce-checkout .mecom-paypal-payment-icon,
.woocommerce-checkout .wc-pg-payment-icon {
    display: none !important;
}

/* Payment method label - inline with radio */
.woocommerce-checkout #payment .payment_methods li label {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 1 !important;
    min-width: 0 !important;
}

/* Payment desc box - full width on next line */
.woocommerce-checkout #payment .payment_box {
    background: transparent !important;
    padding: 4px 5px 0 5px !important;
    margin: 0 !important;
    color: #666 !important;
    font-size: 13px !important;
    flex-basis: 100% !important;
    width: 100% !important;
}

.woocommerce-checkout #payment .payment_box::before {
    display: none !important;
}

/* PayPal payment box - remove shadow and radius */
.woocommerce-checkout #payment .payment_box.payment_method_wc_pg_pp {
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Place order button */
.woocommerce-checkout #payment .place-order {
    padding: 2px 0 0 0 !important;
    margin: 0 !important;
}

/* WhatsApp card inside place-order - ensure proper stacking */
.woocommerce-checkout #payment .place-order .dswc-card {
    position: relative !important;
    z-index: 1 !important;
    margin-top: 12px !important;
}

/* Hide empty terms-and-conditions wrapper */
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper {
    display: none !important;
}

/* Hide abandoned cart consent checkbox (auto-checked via JS) */
.woocommerce-checkout #_wd_recover_guest_cart_consent_field {
    display: none !important;
}

/* Payment iframe container - hidden until inside payment box */
.woocommerce-checkout #wc-pg-form-container {
    visibility: hidden !important;
    position: fixed !important;
    left: -9999px !important;
    top: -9999px !important;
    pointer-events: none !important;
}

.woocommerce-checkout .payment_box.payment_method_wc_pg_pp #wc-pg-form-container {
    visibility: visible !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    z-index: 2 !important;
    margin: 13px auto 0 auto !important;
    max-width: 400px !important;
    display: block !important;
    pointer-events: auto !important;
}

/* CardsShield mecom iframe container - same pattern */
.woocommerce-checkout #mecom-paypal-credit-form-container {
    visibility: hidden !important;
    position: fixed !important;
    left: -9999px !important;
    top: -9999px !important;
    pointer-events: none !important;
}

.woocommerce-checkout .payment_box.payment_method_mecom_paypal #mecom-paypal-credit-form-container {
    visibility: visible !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    z-index: 2 !important;
    margin: 13px auto 0 auto !important;
    max-width: 400px !important;
    display: block !important;
    pointer-events: auto !important;
}

/* PayPal iframe base reset - block display removes inline baseline gap.
   The 191px min-height is for the credit-card form mode. The smart-button-only
   mode marks the iframe with data-dpe-button-only="1" and renders at ~55px,
   so the min-height must NOT apply in that case. */
.woocommerce-checkout #payment-paypal-area {
    display: block !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-checkout #payment-paypal-area:not([data-dpe-button-only="1"]) {
    min-height: 191px !important;
}

.woocommerce-checkout #payment-paypal-area[data-dpe-button-only="1"] {
    min-height: 0 !important;
    max-width: none !important;
}

/* Smart-button-only container: drop the 400px max-width clamp so the iframe
   can fill the wrapper, and remove the top margin (the wrapper handles it). */
.woocommerce-checkout .payment_box.payment_method_mecom_paypal #mecom-paypal-credit-form-container:has(.dpe-paypal-overlay) {
    max-width: none !important;
    margin: 13px 0 0 0 !important;
}

/* Override plugin fullscreen mode on checkout - keep credit card form inline */
.woocommerce-checkout .payment_box.payment_method_wc_pg_pp #payment-paypal-area.full_screen_iframe_paypal_checkout,
.woocommerce-checkout .payment_box.payment_method_mecom_paypal #payment-paypal-area.full_screen_iframe_paypal_checkout {
    position: static !important;
    top: auto !important;
    left: auto !important;
    z-index: 2 !important;
    width: 100% !important;
}

/* Extra safety: never allow plugin fullscreen overlay in checkout page */
.woocommerce-checkout #payment-paypal-area.full_screen_iframe_paypal_checkout {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    transform: none !important;
}

.woocommerce-checkout #payment #place_order {
    width: 100% !important;
    padding: 14px 24px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    background-color: #317f43 !important;
    color: #fff !important;
    border: none !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
}

.woocommerce-checkout #payment #place_order:hover {
    background-color: #256633 !important;
}

/* Privacy text */
.woocommerce-checkout .woocommerce-privacy-policy-text {
    font-size: 12px !important;
    color: #999 !important;
    margin-bottom: 12px !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a {
    color: #666 !important;
}

/* ------ COUPON: Hide default toggle at top ------ */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon {
    display: none !important;
}

/* ------ COUPON INPUT (inside order review table) ------ */
.woocommerce-checkout .drip-coupon-row {
    display: block !important;
    width: 100% !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
}

.woocommerce-checkout .drip-coupon-row td {
    display: block !important;
    width: 100% !important;
    padding: 12px 0 4px 0 !important;
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    background: none !important;
    box-shadow: none !important;
}

/* Coupon toggle link */
.woocommerce-checkout .drip-coupon-toggle {
    font-size: 13px !important;
    color: #767676 !important;
    margin-bottom: 0 !important;
    text-align: left !important;
}
.woocommerce-checkout .drip-coupon-toggle-link {
    color: #333 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
}
.woocommerce-checkout .drip-coupon-toggle-link:hover {
    color: #000 !important;
}

.woocommerce-checkout .drip-coupon-form {
    padding: 0 !important;
    margin: 8px 0 0 0 !important;
    width: 100% !important;
}

.woocommerce-checkout .drip-coupon-form-inner {
    display: flex !important;
    gap: 8px !important;
    width: 100% !important;
}

.woocommerce-checkout .drip-coupon-input {
    flex: 1 !important;
    min-width: 0 !important;
    padding: 10px 14px !important;
    border: 1px solid #d3d3d3 !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout .drip-coupon-input:focus {
    outline: none !important;
    border-color: #333 !important;
}

.woocommerce-checkout .drip-coupon-input::placeholder {
    color: #999 !important;
}

.woocommerce-checkout .drip-coupon-button {
    min-width: 70px !important;
    padding: 10px 20px !important;
    background-color: #317f43 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    text-align: center !important;
}

.woocommerce-checkout .drip-coupon-button:hover {
    background-color: #256633 !important;
}

.woocommerce-checkout .drip-coupon-button:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    background-color: #317f43 !important;
}

.woocommerce-checkout .drip-coupon-button:disabled:hover {
    background-color: #317f43 !important;
}

.woocommerce-checkout .drip-coupon-message {
    font-size: 12px !important;
    color: #d00 !important;
    margin-top: 6px !important;
}

/* ------ COUPON CHIPS (applied coupons) ------ */
.woocommerce-checkout .cart-discount th {
    text-align: left !important;
}

.woocommerce-checkout .drip-coupon-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #f0f0f0 !important;
    border: 1px solid #ddd !important;
    border-radius: 20px !important;
    padding: 4px 8px 4px 12px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #333 !important;
    line-height: 1 !important;
}

.woocommerce-checkout .drip-coupon-chip-text {
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
}

.woocommerce-checkout .drip-coupon-chip-remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    background: #ddd !important;
    color: #666 !important;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease !important;
    flex-shrink: 0 !important;
}

.woocommerce-checkout .drip-coupon-chip-remove:hover {
    background: #c00 !important;
    color: #fff !important;
}

.woocommerce-checkout .drip-coupon-chip-remove svg {
    width: 12px !important;
    height: 12px !important;
}

/* ------ RESERVE NOW - Classic payment method ------ */
.woocommerce-checkout .payment_method_bacs label .reserve-label-content {
    display: flex !important;
    flex-direction: column !important;
}

.woocommerce-checkout .payment_method_bacs label .reserve-now-title {
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #333 !important;
    line-height: 1.2 !important;
}

.woocommerce-checkout .payment_method_bacs label .reserve-price-highlight {
    margin-top: 2px !important;
    font-size: 13px !important;
    color: #666 !important;
    line-height: 1.3 !important;
}

.woocommerce-checkout .payment_method_bacs label .reserve-price {
    color: #d4a056 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

.woocommerce-checkout .payment_method_bacs label .reserve-label {
    color: #666 !important;
    font-weight: 400 !important;
}

/* ------ SHIPPING TEXT (classic) ------ */
/* Hide WooCommerce native shipping row (redundant with custom checkout-shipping-row) */
.woocommerce-checkout .woocommerce-shipping-totals {
    display: none !important;
}

.woocommerce-checkout .checkout-shipping-row th {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
    font-weight: 400 !important;
}

.woocommerce-checkout .checkout-shipping-row th .shipping-country {
    font-size: 14px !important;
    color: #333 !important;
    font-weight: 400 !important;
}

.woocommerce-checkout .checkout-shipping-row th .shipping-zip {
    font-size: 12px !important;
    color: #999 !important;
    font-weight: 400 !important;
}

.woocommerce-checkout .checkout-shipping-row td {
    text-align: right !important;
    vertical-align: top !important;
}

.woocommerce-checkout .checkout-shipping-row .shipping-text {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 2px !important;
}

.woocommerce-checkout .checkout-shipping-row .shipping-line1 {
    font-size: 14px !important;
    color: #333 !important;
    font-weight: 400 !important;
}

.woocommerce-checkout .checkout-shipping-row .shipping-line2 {
    font-size: 12px !important;
    color: #999 !important;
    font-weight: 400 !important;
}

.woocommerce-checkout .checkout-shipping-row .shipping-free {
    color: #22a722 !important;
    font-weight: 700 !important;
}

/* ------ EXPRESS CHECKOUT SECTION ------ */
.woocommerce-checkout .drip-express-checkout {
    flex: 0 0 100% !important;
    width: 100% !important;
    text-align: center !important;
    padding: 0 !important;
    min-height: 170px !important;
}

.woocommerce-checkout #wc-pg-form-container-custom {
    display: none !important;
}

.woocommerce-checkout .drip-express-checkout #wc-pg-form-container-custom {
    display: block !important;
}

.woocommerce-checkout .drip-express-checkout.drip-express-placeholder {
    display: block !important;
}

.woocommerce-checkout .drip-express-checkout #paypal-button-express-text {
    font-size: 13px !important;
    color: #666 !important;
    margin-bottom: 8px !important;
}

.woocommerce-checkout .drip-express-checkout #wc-pg-form-container-custom {
    max-width: 400px !important;
    margin: 0 auto !important;
}

.woocommerce-checkout .drip-express-checkout > div:last-child {
    font-size: 13px !important;
    color: #999 !important;
    margin-top: 8px !important;
}

/* Remove extra gap created by dynamic express container (desktop + mobile) */
.woocommerce-checkout #paypal-button-container-express {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* If express container is empty, collapse its wrappers to avoid phantom gap */
.woocommerce-checkout #wc-pg-form-container-custom:has(#paypal-button-container-express:empty) {
    display: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-checkout .drip-express-checkout:has(#paypal-button-container-express:empty) {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Parking spots: offscreen, invisible, no space in layout */
.woocommerce-checkout #drip-iframe-parking,
.woocommerce-checkout #drip-express-parking {
    position: fixed !important;
    left: -9999px !important;
    top: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    min-height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Payment box reserve height when iframe is in transit */
.woocommerce-checkout .payment_box.payment_method_wc_pg_pp {
    min-height: 170px !important;
}

.woocommerce-checkout .payment_box.payment_method_mecom_paypal {
    min-height: 170px !important;
}

/* Smart-button-only mode does not need the 170px min-height reserved for
   the credit-card form. Removing it eliminates the empty space below the
   PayPal button and the reassurance line. */
.woocommerce-checkout .payment_box.payment_method_mecom_paypal:has(.dpe-paypal-overlay) {
    min-height: 0 !important;
}

/* ------ MOBILE 2-STEP CHECKOUT (one-page expand) ------ */
/* Next button: hidden on desktop */
.woocommerce-checkout .drip-mobile-next-wrap {
    display: none !important;
}

/* ------ MOBILE RESPONSIVE ------ */
@media (max-width: 768px) {

    /* Step 1: Show Next button */
    .woocommerce-checkout .drip-mobile-next-wrap {
        display: block !important;
        margin-top: 16px !important;
    }
    .woocommerce-checkout .drip-mobile-next-btn {
        display: block !important;
        width: 100% !important;
        padding: 14px 20px !important;
        background: rgb(42, 117, 68) !important;
        color: #fff !important;
        border: none !important;
        border-radius: 6px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        cursor: pointer !important;
        text-align: center !important;
        letter-spacing: 0.3px !important;
        transition: background 0.15s ease !important;
    }
    .woocommerce-checkout .drip-mobile-next-btn:hover {
        background: rgb(43, 81, 59) !important;
    }

    /* Hide Next button when step 2 is open */
    .woocommerce-checkout form.checkout.drip-mobile-step2 .drip-mobile-next-wrap {
        display: none !important;
    }

    /* Step 1 trust block: visible below Next button */
    .woocommerce-checkout .drip-trust-step1 {
        display: block !important;
        margin-top: 16px !important;
    }

    /* Hide step 1 trust block when step 2 is open */
    .woocommerce-checkout form.checkout.drip-mobile-step2 .drip-trust-step1 {
        display: none !important;
    }

    /* Step 2 wrapper: collapsed by default, expands smoothly */
    .woocommerce-checkout .drip-step2-wrap {
        max-height: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1),
                    opacity 0.3s ease 0.05s !important;
    }

    /* Step 2 expanded - 4000px to accommodate the inline credit card form */
    .woocommerce-checkout form.checkout.drip-mobile-step2 .drip-step2-wrap {
        max-height: 4000px !important;
        opacity: 1 !important;
        overflow: visible !important;
    }

    /* Override desktop 2-column grid to single column stack */
    .woocommerce-checkout .woocommerce form.checkout {
        display: grid !important;
        grid-template-columns: 1fr !important;
        column-gap: 0 !important;
        row-gap: 10px !important;
    }

    /* Order summary first on mobile */
    .woocommerce-checkout .checkout-order-review {
        order: -2 !important;
        grid-column: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        position: static !important;
        contain: none !important;
    }

    .woocommerce-checkout .drip-billing-sticky {
        position: static !important;
    }

    .woocommerce-checkout .woocommerce-checkout-review-order-table tbody.drip-cart-scroll {
        display: table-row-group !important;
        max-height: none !important;
        overflow: visible !important;
    }

    /* Express checkout after summary on mobile */
    .woocommerce-checkout .drip-express-checkout {
        order: -1 !important;
        grid-column: 1 !important;
        width: 100% !important;
        min-height: 0 !important;
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    /* Billing / customer details */
    .woocommerce-checkout #customer_details {
        order: 1 !important;
        grid-column: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* Hide step-2 elements everywhere on mobile until JS places them in wrapper.
       The wrapper itself controls visibility via max-height transition. */
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout #payment,
    .woocommerce-checkout .dswc-card[data-relocated] {
        display: none !important;
    }

    /* Visible inside step2 wrapper (wrapper max-height controls expand/collapse) */
    .woocommerce-checkout .drip-step2-wrap > .woocommerce-billing-fields,
    .woocommerce-checkout .drip-step2-wrap > #payment,
    .woocommerce-checkout .drip-step2-wrap > .dswc-card[data-relocated] {
        display: block !important;
        width: 100% !important;
    }

    /* Order-pay page: #payment must always be visible (not inside step2-wrap) */
    .drip-order-pay-wrapper #payment {
        display: block !important;
    }

    /* Coupon toggle and form also single column */
    .woocommerce-checkout .woocommerce-form-coupon-toggle,
    .woocommerce-checkout .checkout_coupon {
        grid-column: 1 !important;
        width: 100% !important;
    }

    /* Parking spots also in single column */
    .woocommerce-checkout #drip-iframe-parking,
    .woocommerce-checkout #drip-express-parking,
    .woocommerce-checkout #drip-express-slot {
        grid-column: 1 !important;
    }

    /* Payment icons smaller */
    .woocommerce-checkout .wc-pg-payment-icon {
        max-height: 18px !important;
    }
}

/* ------ HIDE IMPORTANT-HIDE CLASS ------ */
/* wc-pay-gateway plugin hides the original button */
.woocommerce-checkout .important-hide {
    position: absolute !important;
    left: -9999px !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* ------ WOODMART TABLE WRAPPER RESET ------ */
.woocommerce-checkout .wd-table-wrapper {
    overflow: visible !important;
}

/* ================================================
   ORDER-PAY PAGE - Retry payment layout
   Faithfully replicates the main checkout design.
   ================================================ */

/* ------ RESET: Neutralize Woodmart / WooCommerce defaults ------ */
/* Remove torn-paper pseudo-elements and gray bg from Woodmart wrappers */
.drip-order-pay-wrapper .responsive-table,
.drip-order-pay-wrapper .wd-table-wrapper {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
}

/* Hide intl-tel-input DDI selector rendered by wc-pay-gateway inside payment_box */
.drip-order-pay-wrapper .iti,
.drip-order-pay-wrapper .drip-intl-phone,
.drip-order-pay-wrapper input.iti__tel-input {
    display: none !important;
}
.drip-order-pay-wrapper .responsive-table::before,
.drip-order-pay-wrapper .responsive-table::after,
.drip-order-pay-wrapper .wd-table-wrapper::before,
.drip-order-pay-wrapper .wd-table-wrapper::after {
    display: none !important;
    content: none !important;
}

/* Reset default .shop_table borders from Woodmart/WooCommerce */
.drip-order-pay-wrapper table.shop_table,
.drip-order-pay-wrapper table.shop_table tr,
.drip-order-pay-wrapper table.shop_table th,
.drip-order-pay-wrapper table.shop_table td,
.drip-order-pay-wrapper table.shop_table thead,
.drip-order-pay-wrapper table.shop_table tbody,
.drip-order-pay-wrapper table.shop_table tfoot {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Remove Elementor/Woodmart extra padding on order-pay */
.woocommerce-checkout .drip-order-pay-wrapper {
    padding: 0 !important;
}

/* ------ TWO-COLUMN LAYOUT (matches checkout grid) ------ */
.drip-order-pay-wrapper {
    display: grid !important;
    grid-template-columns: minmax(0, 65%) minmax(280px, 35%) !important;
    column-gap: 15px !important;
    row-gap: 15px !important;
    align-items: start !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Left column */
.drip-order-pay-left {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

/* Right column - sticky like checkout #order_review */
.drip-order-pay-right {
    position: sticky !important;
    top: 20px !important;
}

/* ------ LEFT: Info cards (read-only, like checkout form blocks) ------ */
.drip-orderpay-card {
    background: #f6f6f6 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 16px !important;
}

.drip-orderpay-card > h3 {
    font-size: 20px !important;
    font-weight: 500 !important;
    color: #333 !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 1.4 !important;
}

.drip-orderpay-info-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    font-size: 14px !important;
    color: #555 !important;
    line-height: 1.5 !important;
}

.drip-orderpay-name {
    font-weight: 500 !important;
    color: #222 !important;
}

.drip-orderpay-shipping-method strong {
    color: #22a722 !important;
}

.drip-orderpay-shipping-eta {
    color: #999 !important;
    font-size: 12px !important;
}

/* Trust block inside order-pay left column */
.drip-trust-orderpay {
    display: block !important;
    margin-top: 0 !important;
}

/* ------ RIGHT: Order summary heading (matches checkout) ------ */
.drip-orderpay-summary-heading {
    font-size: 20px !important;
    font-weight: 500 !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    color: #333 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 1.4 !important;
}

/* ------ RIGHT: Review card (items + totals, like .wd-table-wrapper) ------ */
.drip-orderpay-review-card {
    background: #f6f6f6 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 16px !important;
    margin-bottom: 12px !important;
}

/* ------ Product items list (matches checkout product rows) ------ */
.drip-orderpay-items {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin: 0 !important;
}

.drip-orderpay-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 16px !important;
    padding: 12px 0 !important;
    border: none !important;
}

.drip-orderpay-item:last-child {
    padding-bottom: 0 !important;
}

/* Product image - 80px like checkout, natural aspect ratio */
.drip-orderpay-item-img {
    position: relative !important;
    flex-shrink: 0 !important;
    width: 80px !important;
    min-width: 80px !important;
}

.drip-orderpay-item-img img {
    width: 80px !important;
    height: auto !important;
    border-radius: 4px !important;
    display: block !important;
}

/* Quantity badge - matches checkout badge position */
.drip-orderpay-item-qty {
    position: absolute !important;
    top: -8px !important;
    right: -8px !important;
    background: #555 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

/* Product details - stacked name + meta */
.drip-orderpay-item-details {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.drip-orderpay-item-name {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    min-height: 2.4em !important;
    line-height: 1.2 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1e1e1e !important;
    text-decoration: none !important;
    margin-bottom: 2px !important;
}

.drip-orderpay-item-details .wc-item-meta {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.drip-orderpay-item-details .wc-item-meta li {
    font-size: 12px !important;
    color: #757575 !important;
    margin: 0 !important;
}

/* Product total - right-aligned, fixed width like checkout */
.drip-orderpay-item-total {
    width: 80px !important;
    min-width: 80px !important;
    flex-shrink: 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    text-align: right !important;
    white-space: nowrap !important;
    margin-left: auto !important;
}

/* ------ Totals table (matches checkout tfoot) ------ */
.drip-orderpay-totals {
    width: 100% !important;
    border: none !important;
    border-collapse: collapse !important;
    margin: 0 !important;
}

.drip-orderpay-totals tfoot tr {
    border: none !important;
}

.drip-orderpay-totals tfoot th {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #333 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    padding: 8px 0 !important;
    border: none !important;
}

.drip-orderpay-totals tfoot td {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #333 !important;
    text-align: right !important;
    padding: 8px 0 !important;
    border: none !important;
}

/* Subtotal row - extra top padding like checkout */
.drip-orderpay-totals tfoot .cart-subtotal th,
.drip-orderpay-totals tfoot .cart-subtotal td {
    padding-top: 16px !important;
}

/* Shipping row - matches checkout shipping row */
.drip-orderpay-totals .checkout-shipping-row th {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
    font-weight: 400 !important;
}

.drip-orderpay-totals .checkout-shipping-row th .shipping-country {
    font-size: 14px !important;
    color: #333 !important;
    font-weight: 400 !important;
}

.drip-orderpay-totals .checkout-shipping-row td {
    text-align: right !important;
    vertical-align: top !important;
}

.drip-orderpay-totals .checkout-shipping-row .shipping-text {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 2px !important;
}

.drip-orderpay-totals .checkout-shipping-row .shipping-line1 {
    font-size: 14px !important;
    color: #333 !important;
    font-weight: 400 !important;
}

.drip-orderpay-totals .checkout-shipping-row .shipping-line2 {
    font-size: 12px !important;
    color: #999 !important;
    font-weight: 400 !important;
}

.drip-orderpay-totals .checkout-shipping-row .shipping-free {
    color: #22a722 !important;
    font-weight: 700 !important;
}

/* Total row - large and bold like checkout */
.drip-orderpay-totals tfoot .order-total th {
    font-size: 16px !important;
    font-weight: 600 !important;
    padding-top: 12px !important;
}

.drip-orderpay-totals tfoot .order-total td {
    padding-top: 12px !important;
}

.drip-orderpay-totals tfoot .order-total td strong .woocommerce-Price-amount {
    font-size: 28px !important;
    font-weight: 700 !important;
}

/* Discount row green */
.drip-orderpay-totals tfoot .cart-discount td,
.drip-orderpay-totals tfoot .cart-discount td .woocommerce-Price-amount {
    color: #22a722 !important;
}

/* ------ PAYMENT SECTION (matches checkout #payment) ------ */
.drip-order-pay-right .drip-payment-heading {
    font-size: 18px !important;
    font-weight: 600 !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    color: #333 !important;
}

.drip-order-pay-right #payment {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    margin-top: 16px !important;
}

.drip-order-pay-right #payment .payment_methods {
    padding: 0 !important;
    border: none !important;
    list-style: none !important;
    margin: 0 !important;
}

.drip-order-pay-right #payment .payment_methods li {
    background: #f6f6f6 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 4px !important;
    margin-bottom: 8px !important;
    padding: 12px 10px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0 8px !important;
}

.drip-order-pay-right #payment .payment_methods li > input[type="radio"] {
    display: inline-block !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}

.drip-order-pay-right #payment .payment_methods li label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 1 !important;
    min-width: 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    cursor: pointer !important;
}

.drip-order-pay-right #payment .payment_methods li:has(input[type="radio"]:checked) {
    border-color: #333 !important;
}

.drip-order-pay-right #payment .payment_methods li input[type="radio"]:checked + label {
    font-weight: 600 !important;
}

/* Payment desc box - matches checkout */
.drip-order-pay-right #payment .payment_box {
    background: transparent !important;
    padding: 10px 5px 0 5px !important;
    margin: 0 !important;
    color: #666 !important;
    font-size: 13px !important;
    flex-basis: 100% !important;
    width: 100% !important;
}

.drip-order-pay-right #payment .payment_box::before {
    display: none !important;
}

.drip-order-pay-right #payment .payment_box.payment_method_wc_pg_pp {
    box-shadow: none !important;
    border-radius: 0 !important;
    min-height: 170px !important;
}

/* ------ PayPal iframe visibility override ------ */
/* Use higher specificity to beat the global hide rule on body.woocommerce-checkout */
.drip-order-pay-right .payment_box.payment_method_wc_pg_pp #wc-pg-form-container,
.drip-order-pay-right #wc-pg-form-container {
    visibility: visible !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    z-index: 2 !important;
    margin: 8px auto 0 auto !important;
    max-width: 400px !important;
    display: block !important;
    pointer-events: auto !important;
    width: 100% !important;
}

/* PayPal iframe itself - proper sizing */
.drip-order-pay-right #payment-paypal-area {
    width: 100% !important;
    min-height: 130px !important;
    border: none !important;
    display: block !important;
}

/* PayPal full screen iframe (redirect flow) */
.drip-order-pay-right .full_screen_iframe_paypal_checkout {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 99999 !important;
}

/* wc-pay-gateway loader */
.drip-order-pay-right #wc-pg-loader,
.drip-order-pay-right #wc-pg-loader-credit {
    text-align: center !important;
    padding: 20px 0 !important;
}

/* Hide original plugin payment icons */
.drip-order-pay-right .mecom-paypal-payment-icon,
.drip-order-pay-right .wc-pg-payment-icon {
    display: none !important;
}

/* Payment card icons */
.drip-order-pay-right .drip-payment-icons {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin-left: auto !important;
}

.drip-order-pay-right .drip-card-icon {
    height: 18px !important;
    width: auto !important;
    border-radius: 3px !important;
}

.drip-order-pay-right .drip-paypal-text {
    font-weight: 600 !important;
    color: #111 !important;
    white-space: nowrap !important;
}

/* Place order button - matches checkout */
.drip-order-pay-right #payment #place_order {
    width: 100% !important;
    padding: 14px 24px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    background-color: #317f43 !important;
    color: #fff !important;
    border: none !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
    margin-top: 12px !important;
}

.drip-order-pay-right #payment #place_order:hover {
    background-color: #256633 !important;
}

/* Hide terms on order-pay */
.drip-order-pay-right .woocommerce-terms-and-conditions-wrapper {
    display: none !important;
}

/* CardsShield important-hide class */
.drip-order-pay-right .important-hide {
    position: absolute !important;
    left: -9999px !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Redirect SVG image */
.drip-order-pay-right .cs-pp-redirect-svg-container img {
    max-width: 100% !important;
    max-height: 100px !important;
    margin: 0 !important;
}

/* ------ MOBILE RESPONSIVE ------ */
@media (max-width: 768px) {
    .drip-order-pay-wrapper {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .drip-order-pay-right {
        position: static !important;
        order: 1 !important;
    }

    .drip-order-pay-left {
        order: 2 !important;
    }

    .drip-orderpay-item-img {
        width: 64px !important;
        min-width: 64px !important;
    }

    .drip-orderpay-item-img img {
        width: 64px !important;
    }

    .drip-orderpay-totals tfoot .order-total td strong .woocommerce-Price-amount {
        font-size: 22px !important;
    }

    .drip-trust-orderpay {
        display: block !important;
    }
}

/* ================================================
   CART - Padronização igual Checkout
   ================================================ */

/* Remover espaço entre header e cart */
.woocommerce-cart .wd-page-content {
    padding-top: 0 !important;
}

.woocommerce-cart .wd-content-layout {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.woocommerce-cart .wd-content-area {
    padding-top: 0 !important;
    margin-top: 14px !important;
}

.woocommerce-cart .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Espaçamentos laterais igual checkout */
@media (min-width: 1200px) {
    .woocommerce-cart .wd-content-layout {
        max-width: 1400px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 40px !important;
        padding-right: 40px !important;
    }
}

@media (min-width: 1600px) {
    .woocommerce-cart .wd-content-layout {
        max-width: 1500px !important;
        padding-left: 60px !important;
        padding-right: 60px !important;
    }
}

@media (min-width: 1920px) {
    .woocommerce-cart .wd-content-layout {
        max-width: 1600px !important;
        padding-left: 80px !important;
        padding-right: 80px !important;
    }
}

/* Layout dos itens do cart - igual checkout */

/* Esconder preços abaixo do nome do produto */
.wc-block-cart-item__prices {
    display: none !important;
}

/* Badge de desconto - manter visível */
.wc-block-components-product-badge.wc-block-components-sale-badge {
    display: inline-block !important;
}

/* Coluna TOTAL - mostrar preços alinhados verticalmente, posição fixa */
.wc-block-cart-item__total {
    text-align: right !important;
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
}

/* Coluna produto - min-width:0 permite table-layout:fixed conter sem clipar */
.wc-block-cart .wc-block-cart-item__product {
    min-width: 0 !important;
    overflow: visible !important;
}

/* Tabela do cart - layout fixo para colunas não se moverem */
.wc-block-cart .wc-block-cart-items {
    table-layout: fixed !important;
    width: 100% !important;
}

/* Container de preços na coluna total */
.wc-block-cart-item__total-price-and-sale-badge-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
}

/* Estrutura do price dentro do total */
.wc-block-cart-item__total .price,
.wc-block-cart-item__total .wc-block-components-product-price {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 2px !important;
}

/* Sales price em cima */
.wc-block-cart-item__total ins,
.wc-block-cart-item__total .wc-block-components-product-price__value {
    order: 1 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    text-decoration: none !important;
    background: none !important;
}

/* Regular price cortado embaixo */
.wc-block-cart-item__total del,
.wc-block-cart-item__total .wc-block-components-product-price__regular {
    order: 2 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #999 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* ================================================
   CART - Layout igual Checkout (blocos estilizados)
   ================================================ */

/* Remover TODAS as linhas de separação do cart */
.wc-block-cart .wc-block-cart-items,
.wc-block-cart .wc-block-cart-items tbody,
.wc-block-cart .wc-block-cart-items thead,
.wc-block-cart .wc-block-cart-items__row,
.wc-block-cart .wc-block-components-totals-wrapper,
.wc-block-cart .wc-block-components-totals-item,
.wc-block-cart table,
.wc-block-cart table tbody,
.wc-block-cart table thead {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

/* Layout principal - alinhar blocos */
.wc-block-cart .wc-block-components-sidebar-layout {
    align-items: flex-start !important;
    gap: 24px !important;
}

/* Alinhar steps com o conteúdo do cart */
@media (min-width: 1200px) {
    .woocommerce-cart .wd-page-title .container {
        max-width: 1400px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 40px !important;
        padding-right: 40px !important;
    }
}

@media (min-width: 1600px) {
    .woocommerce-cart .wd-page-title .container {
        max-width: 1500px !important;
        padding-left: 60px !important;
        padding-right: 60px !important;
    }
}

@media (min-width: 1920px) {
    .woocommerce-cart .wd-page-title .container {
        max-width: 1600px !important;
        padding-left: 80px !important;
        padding-right: 80px !important;
    }
}

/* Header da tabela - título "Product" visível */
/* Títulos FORA dos blocos - estilo checkout */
.wc-block-cart .wc-block-components-checkout-step__heading-container {
    background: transparent !important;
    padding: 0 0 8px 0 !important;
    margin: 2px 0 8px 0 !important;
    border: none !important;
}

.wc-block-cart .wc-block-components-checkout-step__heading-container h2,
.wc-block-cart .cart-product-title,
.wc-block-cart .wp-block-woocommerce-cart-order-summary-heading-block {
    font-size: 20px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-transform: none !important;
    color: #333 !important;
}

/* Esconder thead original */
.wc-block-cart .wc-block-cart-items__header {
    display: none !important;
}

/* Bloco de produtos - wrapper sem estilo */
.wc-block-cart .wc-block-cart__main {
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
}

/* Tabela de produtos - com estilo de bloco */
.wc-block-cart .wc-block-cart-items {
    background: #f6f6f6 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px 8px 0 0 !important;
    border-bottom: none !important;
    padding: 16px !important;
    overflow: visible !important;
    margin-top: 12px !important;
    display: table !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

/* Mensagem de aviso após tabela de produtos */
.wc-block-cart__main .cart-items-notice {
    display: flex !important;
    align-items: flex-start !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 16px 16px 16px !important;
    font-size: 11px !important;
    color: #333 !important;
    font-style: italic !important;
    text-align: left !important;
    background: #f6f6f6 !important;
    border: 1px solid #e0e0e0 !important;
    border-top: none !important;
    border-radius: 0 0 8px 8px !important;
    position: relative !important;
    z-index: 1 !important;
}

.wc-block-cart__main .cart-items-notice::before {
    content: 'ℹ️' !important;
    font-style: normal !important;
    font-size: 14px !important;
}

/* Miniatura do produto - tamanho reduzido */
.wc-block-cart .wc-block-cart-item__image {
    width: 80px !important;
    min-width: 80px !important;
}

.wc-block-cart .wc-block-cart-item__image img {
    width: 80px !important;
    height: auto !important;
    max-width: 80px !important;
}

/* Bloco Cart Totals - sidebar */
.wc-block-cart .wc-block-cart__sidebar {
    background: transparent !important;
}

/* Container do Cart Totals - bloco único com estilo */
.wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
    background: #f6f6f6 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 16px !important;
}

/* Conteúdo interno do Cart Totals - sem blocos separados */
.wc-block-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block,
.wc-block-cart .wp-block-woocommerce-cart-order-summary-totals-block,
.wc-block-cart .wc-block-cart__sidebar > .wc-block-components-totals-wrapper {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Espaçamento interno entre seções */
.wc-block-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block {
    margin-bottom: 12px !important;
}

.wc-block-cart .wp-block-woocommerce-cart-order-summary-totals-block {
    margin-bottom: 12px !important;
}

/* Botão Proceed to Checkout */
.wc-block-cart .wc-block-cart__submit {
    margin-top: 16px !important;
}

/* Esconder PayPal message block */
.wc-block-cart #ppcp-cart-paylater-messages {
    display: none !important;
}

/* ================================================
   CART: Linha de Shipping igual ao Checkout
   ================================================ */
.wc-block-cart .cart-shipping-line {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    padding: 12px 0 !important;
    margin: 0 !important;
    border: none !important;
}

.wc-block-cart .cart-shipping-line .wc-block-components-totals-item__label {
    font-size: 14px !important;
    color: #333 !important;
    font-weight: 400 !important;
}

.wc-block-cart .cart-shipping-line .wc-block-components-totals-item__value {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 2px !important;
    text-align: right !important;
}

.wc-block-cart .cart-shipping-line .shipping-line1 {
    font-size: 14px !important;
    color: #333 !important;
    font-weight: 400 !important;
}

.wc-block-cart .cart-shipping-line .shipping-line2 {
    font-size: 12px !important;
    color: #999 !important;
    font-weight: 400 !important;
}

.wc-block-cart .cart-shipping-line .shipping-free {
    color: #22a722 !important;
    font-weight: 700 !important;
}

/* CART: Custom Totals Container */
.wc-block-cart .cart-custom-totals {
    display: block !important;
    margin-bottom: 0 !important;
}

/* CART: Subtotal Line */
.wc-block-cart .cart-subtotal-line {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #e0e0e0 !important;
}

.wc-block-cart .cart-subtotal-line .wc-block-components-totals-item__label {
    font-size: 14px !important;
    color: #333 !important;
    font-weight: 400 !important;
}

.wc-block-cart .cart-subtotal-line .wc-block-components-totals-item__value {
    font-size: 14px !important;
    color: #333 !important;
    font-weight: 400 !important;
}

/* CART: Form de Cupom Customizado */
.wc-block-cart .cart-coupon-form-custom {
    margin-bottom: 16px !important;
}

.wc-block-cart .cart-coupon-form-inner {
    display: flex !important;
    gap: 8px !important;
}

.wc-block-cart .cart-coupon-input-wrapper {
    flex: 1 !important;
}

.wc-block-cart .cart-coupon-input {
    width: 100% !important;
    padding: 12px 14px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    box-sizing: border-box !important;
}

.wc-block-cart .cart-coupon-input-wrapper {
    background: #ffffff !important;
}

.wc-block-cart .cart-coupon-input:focus {
    outline: none !important;
    border-color: #333 !important;
}

.wc-block-cart .cart-coupon-input::placeholder {
    color: #999 !important;
}

.wc-block-cart .cart-coupon-button {
    padding: 12px 20px !important;
    background-color: #317f43 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}

.wc-block-cart .cart-coupon-button:hover {
    background-color: #256633 !important;
}

/* CART: Sidebar sem animação/transição */
.wc-block-cart .wc-block-cart__sidebar {
    padding-top: 0 !important;
    transition: none !important;
    animation: none !important;
}

/* Desktop: margin-top 17px */
@media (min-width: 769px) {
    .wc-block-cart .wc-block-cart__sidebar {
        margin-top: 4px !important;
    }
    
    /* Esconder valor total do header no desktop */
    .wc-block-cart .wc-block-components-checkout-order-summary__title-price.cart-header-total {
        display: none !important;
    }
}

/* Mobile: sem margin-top, mostrar valor */
@media (max-width: 768px) {
    .wc-block-cart .wc-block-cart__sidebar {
        margin-top: 0 !important;
    }
}

.wc-block-cart .wc-block-cart__sidebar * {
    transition: none !important;
    animation: none !important;
}

.wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
    transition: none !important;
    animation: none !important;
}

/* Subtotal do WooCommerce - visível */

/* CART: Igualar visual ao Checkout */
.wc-block-cart .wc-block-cart-item__wrap {
    gap: 2px !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
}

/* Nome do produto - igual checkout */
.wc-block-cart .wc-block-components-product-name {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    min-height: 2.4em !important;
    line-height: 1.2 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1e1e1e !important;
    text-decoration: none !important;
    margin-bottom: 2px !important;
}

/* Size - igual checkout */
.wc-block-cart .wc-block-components-product-metadata {
    margin: 0 !important;
}

.wc-block-cart .wc-block-components-product-details {
    font-size: 12px !important;
    color: #757575 !important;
    margin: 0 !important;
}

.wc-block-cart .wc-block-components-product-details__name {
    color: #757575 !important;
    font-weight: 400 !important;
}

.wc-block-cart .wc-block-components-product-details__value {
    color: #757575 !important;
    font-weight: 400 !important;
}

/* Preços - igual checkout (elemento hidden, margin desnecessaria) */

.wc-block-cart .wc-block-components-product-price {
    font-size: 14px !important;
    font-weight: 400 !important;
}

.wc-block-cart .wc-block-components-product-price__value {
    font-weight: 400 !important;
}

/* Preço riscado (original) */
.wc-block-cart .wc-block-components-product-price__regular {
    color: #757575 !important;
    text-decoration: line-through !important;
    font-size: 12px !important;
}

/* Botão lixeira para remover */
.wc-block-cart .cart-trash-btn {
    background: none !important;
    border: none !important;
    padding: 4px !important;
    cursor: pointer !important;
    color: #999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color 0.2s ease !important;
}

.wc-block-cart .cart-trash-btn:hover {
    color: #c00 !important;
}

.wc-block-cart .cart-trash-btn svg {
    width: 18px !important;
    height: 18px !important;
}

.wc-block-cart .wc-block-cart-item__wrap > *,
.wc-block-cart .wc-block-cart-item__wrap > div,
.wc-block-cart .wc-block-cart-item__wrap > a {
    margin: 0 0 2px 0 !important;
    padding: 0 !important;
}

.wc-block-cart .wc-block-components-product-name {
    margin: 0 0 2px 0 !important;
    line-height: 1.3 !important;
}

/* .wc-block-cart-item__prices hidden - margin removida */

.wc-block-cart .wc-block-components-sale-badge {
    display: none !important;
}

.wc-block-cart .wc-block-components-product-metadata {
    margin: 0 0 4px 0 !important;
}

.wc-block-cart .wc-block-components-product-details {
    margin: 0 !important;
    padding: 0 !important;
}

.wc-block-cart .wc-block-components-product-details__size {
    margin: 0 !important;
    padding: 0 !important;
}

.wc-block-cart .wc-block-cart-item__quantity {
    margin: 4px 0 0 0 !important;
}

.wc-block-cart .wc-block-components-quantity-selector {
    margin: 0 !important;
}

.wc-block-cart .wc-block-cart-item__remove-link {
    margin: 0 !important;
    padding: 0 !important;
}

/* CART: Quantity selector - estilo minimalista com botões redondos */
.wc-block-cart .wc-block-components-quantity-selector {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    width: auto !important;
    border: none !important;
    background: transparent !important;
}

/* Botões redondos */
.wc-block-cart .wc-block-components-quantity-selector__button {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    border: 1px solid #ccc !important;
    line-height: 1 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #333 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: border-color 0.2s !important;
    padding: 0 !important;
}

.wc-block-cart .wc-block-components-quantity-selector__button:hover {
    border-color: #333 !important;
}

.wc-block-cart .wc-block-components-quantity-selector__button:disabled {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
}

/* Reordenar: minus primeiro, input no meio, plus por último */
.wc-block-cart .wc-block-components-quantity-selector__button--minus {
    order: 1 !important;
}

.wc-block-cart .wc-block-components-quantity-selector__input {
    order: 2 !important;
}

.wc-block-cart .wc-block-components-quantity-selector__button--plus {
    order: 3 !important;
}

/* Input do número - sem borda, só o número */
.wc-block-cart .wc-block-components-quantity-selector__input {
    width: 24px !important;
    min-width: 24px !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    padding: 0 !important;
    -moz-appearance: textfield !important;
}

/* Esconder setas do input number */
.wc-block-cart .wc-block-components-quantity-selector__input::-webkit-outer-spin-button,
.wc-block-cart .wc-block-components-quantity-selector__input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* CART: Cobrir linha separadora acima do primeiro item usando pseudo-elemento na tabela */
.wc-block-cart .wc-block-cart-items {
    position: relative !important;
    overflow: hidden !important;
}

.wc-block-cart .wc-block-cart-items::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 2px !important;
    background: #f6f6f6 !important;
    z-index: 1 !important;
}

/* CART: Esconder panel original de cupom (usamos o customizado) */
.wc-block-cart .wc-block-components-totals-coupon {
    display: none !important;
}

/* ================================================
   CART: Wishlist Integration - Save for Later
   ================================================ */

/* Ajustar row para permitir posicionamento */
.wc-block-cart .wc-block-cart-items__row {
    position: relative !important;
    padding-bottom: 10px !important;
    margin-bottom: 8px !important;
}

/* Container das ações (quantity + save + remove) - abaixo da thumbnail */
.wc-block-cart .cart-actions-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 0px !important;
    width: 100% !important;
}

/* Container de ações (Save for later + Remove) - inline com quantity */
.wc-block-cart .cart-item-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-left: 0 !important;
    vertical-align: middle !important;
}

/* Quantity div deve ser flex row para alinhar tudo na mesma linha */
.wc-block-cart .wc-block-cart-item__quantity {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: none !important;
    justify-content: flex-start !important;
}

/* Botão Save for Later */
.wc-block-cart .save-for-later-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    background: #fff !important;
    border: 1px solid #ccc !important;
    border-radius: 8px !important;
    text-transform: none !important;
    padding: 12px 8px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 20px !important;
    line-height: 1 !important;
    font-size: 11px !important;
    color: #666 !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease, color 0.2s ease !important;
    white-space: nowrap !important;
}

.wc-block-cart .save-for-later-btn:hover {
    border-color: #333 !important;
    color: #333 !important;
}

.wc-block-cart .save-for-later-btn:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

.wc-block-cart .save-for-later-btn .save-icon {
    font-size: 14px !important;
}

/* Botão Remove no container de ações */
.wc-block-cart .cart-item-actions .wc-block-cart-item__remove-link {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    font-size: 13px !important;
    color: #999 !important;
    text-transform: none !important;
    text-decoration: none !important;
}

.wc-block-cart .cart-item-actions .wc-block-cart-item__remove-link:hover {
    color: #c00 !important;
}

/* Botão Remove (clone) - legacy */
.wc-block-cart .cart-remove-item-btn {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    font-size: 13px !important;
    color: #999 !important;
    text-transform: none !important;
    cursor: pointer !important;
    text-decoration: underline !important;
    transition: color 0.2s ease !important;
}

.wc-block-cart .cart-remove-item-btn:hover {
    color: #c00 !important;
}

/* ================================================
   CART: Saved for Later Section
   ================================================ */

.cart-wishlist-section {
    margin-top: 24px !important;
    padding-top: 16px !important;
}

.cart-wishlist-section .cart-wishlist-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    margin: 0 0 12px 0 !important;
    color: #333 !important;
}

.cart-wishlist-items {
    background: #f6f6f6 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 16px !important;
}

.cart-wishlist-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #e0e0e0 !important;
}

.cart-wishlist-item:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.cart-wishlist-item:first-child {
    padding-top: 0 !important;
}

.wishlist-item-image {
    width: 60px !important;
    flex-shrink: 0 !important;
}

.wishlist-item-image img {
    width: 60px !important;
    height: auto !important;
    border-radius: 4px !important;
}

.wishlist-item-details {
    flex: 1 !important;
    min-width: 0 !important;
}

.wishlist-item-name {
    display: block !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    text-decoration: none !important;
    margin-bottom: 4px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.wishlist-item-name:hover {
    text-decoration: underline !important;
}

.wishlist-item-price {
    font-size: 13px !important;
    color: #666 !important;
}

.wishlist-item-price del {
    color: #999 !important;
    margin-right: 6px !important;
}

.wishlist-item-price ins {
    text-decoration: none !important;
    font-weight: 500 !important;
}

.wishlist-item-actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
}

/* Botão Move to cart - igual Save for later */
.wishlist-add-to-cart-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    background: #fff !important;
    border: 1px solid #ccc !important;
    border-radius: 8px !important;
    text-transform: none !important;
    padding: 12px 8px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 20px !important;
    line-height: 1 !important;
    font-size: 11px !important;
    color: #666 !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease, color 0.2s ease !important;
    white-space: nowrap !important;
}

.wishlist-add-to-cart-btn:hover {
    border-color: #333 !important;
    color: #333 !important;
}

/* Botão Remove - lixeira igual cart */
.wishlist-remove-btn {
    background: none !important;
    border: none !important;
    padding: 4px !important;
    cursor: pointer !important;
    color: #999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color 0.2s ease !important;
}

.wishlist-remove-btn:hover {
    color: #c00 !important;
}

.wishlist-remove-btn svg {
    width: 18px !important;
    height: 18px !important;
}

/* ================================================
   POPUP: Seleção de Tamanho
   ================================================ */

.wishlist-size-popup {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    align-items: center !important;
    justify-content: center !important;
    display: none !important;
}

.wishlist-size-popup[style*="display: flex"] {
    display: flex !important;
}

.wishlist-size-popup-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.5) !important;
    cursor: pointer !important;
}

.wishlist-size-popup-content {
    position: relative !important;
    background: #fff !important;
    border-radius: 12px !important;
    padding: 24px !important;
    max-width: 400px !important;
    width: 90% !important;
    max-height: 80vh !important;
    overflow-y: auto !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2) !important;
}

.wishlist-size-popup-close {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    background: none !important;
    border: none !important;
    font-size: 24px !important;
    color: #999 !important;
    cursor: pointer !important;
    line-height: 1 !important;
}

.wishlist-size-popup-close:hover {
    color: #333 !important;
}

.wishlist-size-popup-content h3 {
    margin: 0 0 16px 0 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #333 !important;
}

.wishlist-size-options {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

/* Toggle de sistema - IGUAL página de produto */
.wishlist-size-system-toggle {
    display: flex !important;
    gap: 6px !important;
    margin-bottom: 10px !important;
    justify-content: center !important;
}

.wishlist-system-btn {
    flex: 1 !important;
    padding: 6px 8px !important;
    background: #f7f7f7 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 5px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #666 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-transform: uppercase !important;
    text-align: center !important;
}

.wishlist-system-btn:hover {
    background: #efefef !important;
    border-color: #d0d0d0 !important;
}

.wishlist-system-btn.active {
    background: #333 !important;
    color: #fff !important;
    border-color: #333 !important;
}

/* Grid de tamanhos - IGUAL página de produto */
.wishlist-sizes-grid {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 5px !important;
}

.wishlist-size-btn .size-display {
    display: block !important;
}

.wishlist-size-btn {
    padding: 10px 8px !important;
    background: #fff !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #333 !important;
    cursor: pointer !important;
    text-align: center !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.wishlist-size-btn:hover {
    border-color: #333 !important;
    background: #f9f9f9 !important;
}

/* Mobile */
@media (max-width: 768px) {
    .cart-wishlist-item {
        flex-wrap: wrap !important;
    }
    
    .wishlist-item-details {
        flex: 1 1 calc(100% - 80px) !important;
    }
    
    .wishlist-item-actions {
        width: 100% !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        margin-top: 0px !important;
        padding-left: 86px !important;
    }
    
    .wishlist-sizes-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
    
    .wishlist-system-btn {
        padding: 5px 10px !important;
        font-size: 11px !important;
    }
}

/* CART: Footer item (Estimated total) */
.wc-block-cart .wc-block-components-totals-footer-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-top: 12px !important;
    border-top: 1px solid #e0e0e0 !important;
    margin-top: 12px !important;
}

/* ================================================
   CART MOBILE: Título "Products in cart" igual "Order summary"
   ================================================ */
.wc-block-cart .wc-block-components-checkout-order-summary__title {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
}

@media (max-width: 768px) {
    .wc-block-cart .wc-block-components-checkout-order-summary__title {
        margin: 0 0 8px 0 !important;
    }
    
    /* Thumb 48x48 igual checkout */
    .wc-block-cart .wc-block-cart-item__image,
    .wc-block-cart .wc-block-cart-item__image a {
        width: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
    }
    
    .wc-block-cart .wc-block-cart-item__image img {
        width: 48px !important;
        height: auto !important;
        object-fit: contain !important;
    }
    
    /* Reduzir gap entre imagem e título igual checkout */
    .wc-block-cart .wc-block-cart-item__image {
        padding-right: 0 !important;
    }
    
    .wc-block-cart .wc-block-cart-item__product {
        padding-left: 0 !important;
        padding-right: 0 !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    /* Tabela: remover padding padrão e ajustar colunas */
    .wc-block-cart .wc-block-cart-items__row td {
        padding: 0 !important;
        vertical-align: top !important;
    }

    .wc-block-cart .wc-block-cart-items {
        table-layout: fixed !important;
        overflow: hidden !important;
        max-width: 100% !important;
    }

    .wc-block-cart .wc-block-cart-item__image {
        width: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
    }

    .wc-block-cart .wc-block-cart-item__product {
        padding-right: 4px !important;
        min-width: 0 !important;
        overflow: visible !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
    }

    .wc-block-cart .wc-block-cart-item__total {
        width: 70px !important;
        min-width: 70px !important;
        max-width: 70px !important;
        text-align: right !important;
        overflow: visible !important;
    }

    .wc-block-cart .wc-block-cart-item__wrap {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }
    
    /* Actions row: estender para usar espaço da imagem */
    .wc-block-cart .cart-actions-row {
        justify-content: flex-start !important;
        gap: 12px !important;
        margin-left: -90px !important;
        width: calc(100% + 90px) !important;
    }
    
    .wc-block-cart .cart-item-actions {
        gap: 12px !important;
    }

    .wc-block-cart .cart-actions-row .dsm-cart-urgency {
        position: relative !important;
        z-index: 10 !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
        font-weight: 500 !important;
    }
}

.wc-block-cart .wc-block-components-checkout-order-summary__title-text {
    flex-grow: 1 !important;
    font-size: var(--wp--preset--font-size--medium, 22px) !important;
    font-weight: 500 !important;
    line-height: 27px !important;
    margin: 0 !important;
}

.wc-block-cart .wc-block-components-checkout-order-summary__title-price {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #1e1e1e !important;
}

/* Título Saved for later - espaçamento */
.cart-wishlist-section > .wc-block-components-checkout-order-summary__title-text {
    margin-bottom: 20px !important;
}

/* ================================================
   CART: Botão Proceed to Checkout Sticky
   ================================================ */
.wc-block-cart__submit-container--sticky {
    background: transparent !important;
    background-color: transparent !important;
    bottom: 60px !important;
    padding: 12px 16px !important;
}

.wc-block-cart__submit-container--sticky::before {
    display: none !important;
}

.wc-block-cart__submit-button .wc-block-components-button__text {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

.wc-block-cart__submit-button .wc-block-components-button__text::before {
    content: '' !important;
    display: inline-block !important;
    width: 16px !important;
    height: 16px !important;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg>') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* ================================================
   SKELETON LOADING - Save for Later / Wishlist
   ================================================ */

/* Skeleton animação base */
@keyframes skeleton-pulse {
    0% { opacity: 0.6; }
    50% { opacity: 1; }
    100% { opacity: 0.6; }
}

/* Botão skeleton (Save for later) */
.save-for-later-btn.is-loading,
.wishlist-add-to-cart-btn.is-loading {
    min-width: 80px !important;
}

.btn-skeleton {
    display: block !important;
    width: 60px !important;
    height: 10px !important;
    background: linear-gradient(90deg, #e0e0e0 25%, #f0f0f0 50%, #e0e0e0 75%) !important;
    background-size: 200% 100% !important;
    animation: skeleton-pulse 1.2s ease-in-out infinite !important;
    border-radius: 4px !important;
}

/* Wishlist skeleton section */
.wishlist-skeleton-items {
    padding: 16px !important;
    background: #f6f6f6 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
}

.wishlist-skeleton-item {
    display: flex !important;
    gap: 12px !important;
    align-items: flex-start !important;
}

.skeleton-img {
    width: 48px !important;
    height: 48px !important;
    background: #e0e0e0 !important;
    border-radius: 4px !important;
    animation: skeleton-pulse 1.2s ease-in-out infinite !important;
}

.skeleton-content {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.skeleton-line {
    height: 12px !important;
    background: #e0e0e0 !important;
    border-radius: 4px !important;
    animation: skeleton-pulse 1.2s ease-in-out infinite !important;
    width: 80% !important;
}

.skeleton-line.short {
    width: 50% !important;
}

/* ================================================
   CHECKOUT: Botão APPLY do cupom - igual Cart
   ================================================ */
.wc-block-checkout .wc-block-components-totals-coupon__button,
.wc-block-checkout button[type="submit"].wc-block-components-button,
.wc-block-components-totals-coupon__form button[type="submit"] {
    padding: 12px 20px !important;
    background-color: #317f43 !important;
    background: #317f43 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}

.wc-block-checkout .wc-block-components-totals-coupon__button:hover,
.wc-block-checkout button[type="submit"].wc-block-components-button:hover,
.wc-block-components-totals-coupon__form button[type="submit"]:hover {
    background-color: #256633 !important;
    background: #256633 !important;
}

/* ================================================
   CHECKOUT: Botão Place Order com cadeado
   ================================================ */
.wc-block-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
}

.wc-block-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text::before {
    content: '' !important;
    display: inline-block !important;
    width: 20px !important;
    height: 20px !important;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg>') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* ================================================
   CHECKOUT Desktop: Botão Place Order maior
   ================================================ */
@media (min-width: 769px) {
    .wc-block-checkout .wc-block-components-checkout-place-order-button {
        padding-left: 96px !important;
        padding-right: 96px !important;
    }
}

/* ================================================
   CHECKOUT: Order Summary com "View all"
   ================================================ */
.wc-block-checkout .drip-order-item-hidden {
    display: none !important;
}

.wc-block-checkout .drip-order-summary-toggle {
    margin-top: 8px;
}

.wc-block-checkout .drip-order-summary-toggle-btn {
    background: none;
    border: none;
    padding: 0;
    font-size: 12px;
    font-weight: 600;
    color: #111;
    text-decoration: underline;
    cursor: pointer;
}

/* ================================================
   FOOTER Mobile: Collapse/Expand column 3
   ================================================ */
@media (max-width: 768px) {
    .footer-column-2 .widget_nav_menu,
    .footer-column-3 .widget_nav_menu {
        display: none;
    }
    
    .footer-column-2.footer-accordion-open .widget_nav_menu,
    .footer-column-3.footer-accordion-open .widget_nav_menu {
        display: block;
    }
    
    .footer-column-2 .footer-accordion-title,
    .footer-column-3 .footer-accordion-title {
        display: flex;
        align-items: center;
        justify-content: space-between;
        cursor: pointer;
    }
    
    .footer-column-2 .footer-accordion-title::after,
    .footer-column-3 .footer-accordion-title::after {
        content: '+';
        font-size: 20px;
        font-weight: 600;
        line-height: 1;
        margin-left: 10px;
    }
    
    .footer-column-2.footer-accordion-open .footer-accordion-title::after,
    .footer-column-3.footer-accordion-open .footer-accordion-title::after {
        content: '-';
    }
}

/* ================================================
   FOOTER: Tamanho do titulo "Useful Links"
   ================================================ */
.footer-column .wp-block-heading {
    font-size: 150% !important;
}

/* Footer logo: explicit dimensions to prevent CLS (PageSpeed "Unsized image") */
img.attachment-220x44 {
    width: 220px;
    height: 44px;
}

/* ================================================
   PRODUCT: FAQ
   ================================================ */
.ds-faq--product {
    max-width: none;
    width: 100%;
    margin: 0px 0;
    font-family: inherit;
}

.ds-faq--product .ds-faq-title {
    font-size: 22px;
    margin: 0 0 16px;
    text-align: center;
}

.ds-faq--product .ds-faq-item {
    border: 1px solid #eee;
    border-radius: 10px;
    margin-bottom: 10px;
    overflow: hidden;
    background: #fff;
}

.ds-faq--product .ds-faq-question {
    font-size: 18px;
    width: 100%;
    text-align: left;
    padding: 14px 16px;
    background: #f7f7f7;
    border: 0;
    cursor: pointer;
    font-weight: 600;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ds-faq--product .ds-faq-answer {
    display: none;
    padding: 14px 16px;
    background: #fff;
}

.ds-faq--product .ds-faq-item.active .ds-faq-answer {
    display: block;
}

.ds-faq--product .ds-icon {
    font-size: 20px;
    line-height: 1;
}

.ds-faq--home .ds-faq-cta {
    margin-top: 16px;
    text-align: center;
}

.ds-faq--home .ds-faq-link {
    display: inline-block;
    font-weight: 600;
    text-decoration: underline;
    color: #111;
}

/* Home: alinhar FAQ com a largura do conteudo */
.ds-faq--home {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

/* ================================================
   PRODUCT: Tabs wrapper - remove top margin/padding
   ================================================ */
.single-product .product-tabs-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ================================================
   PRODUCT: Description 4 lines + ver mais
   ================================================ */
.single-product #tab-description .wc-tab-inner.ds-desc-collapsed {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.single-product #tab-description .wc-tab-inner.ds-desc-expanded {
    -webkit-line-clamp: unset;
    overflow: visible;
}

.single-product #tab-description .ds-desc-toggle {
    margin-top: 10px;
    margin-bottom: 0;
    background: none;
    border: none;
    padding: 0;
    color: #111;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
}

.single-product #tab-description {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}



/* Desabilitar acordeao do titulo "Product Description" */
.single-product .tab-title-description.wd-accordion-title {
    pointer-events: none;
}

.single-product .tab-title-description .wd-accordion-opener {
    display: none;
}

.single-product #tab-description {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
}

/* Product: Galeria sticky ao lado do summary */
@media (min-width: 769px) {
    .single-product .product-images {
        position: sticky;
        top: 0;
        align-self: flex-start;
    }
    
    .single-product .product-image-summary-wrap,
    .single-product .product-image-summary,
    .single-product .product-image-summary-inner,
    .single-product .product-images {
        overflow: visible !important;
    }
}

/* ================================================
   CART: Product name, size, value and price - Desktop 18px
   ================================================ */
@media (min-width: 769px) {
    /* Product name */
    .wc-block-cart .wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name,
    .wc-block-cart .wc-block-components-product-name,
    body .wc-block-cart .wc-block-components-product-name {
        font-size: 18px !important;
    }
    
    /* Size label and value */
    .wc-block-cart .wc-block-components-product-details__name,
    .wc-block-cart .wc-block-components-product-details__value,
    body .wc-block-cart .wc-block-components-product-details__name,
    body .wc-block-cart .wc-block-components-product-details__value {
        font-size: 18px !important;
    }
    
    /* Price, regular price, sale price */
    .wc-block-cart .wc-block-components-product-price,
    .wc-block-cart .wc-block-components-product-price__value,
    .wc-block-cart .wc-block-components-product-price__regular,
    .wc-block-cart .wc-block-components-product-price__sale,
    .wc-block-cart .wc-block-formatted-money-amount,
    .wc-block-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper .price,
    body .wc-block-cart .wc-block-components-product-price,
    body .wc-block-cart .wc-block-formatted-money-amount {
        font-size: 18px !important;
    }
    
    /* Thumbnail 120px */
    .wc-block-cart .wc-block-cart-item__image,
    .wc-block-cart .wc-block-cart-item__image img {
        width: 120px !important;
        min-width: 120px !important;
        height: auto !important;
    }
    
    /* Total footer value 22px */
    .wc-block-cart .wc-block-components-totals-footer-item-tax-value,
    .wc-block-cart .wc-block-formatted-money-amount.wc-block-components-formatted-money-amount.wc-block-components-totals-footer-item-tax-value,
    body .wc-block-cart .wc-block-components-totals-footer-item-tax-value {
        font-size: 22px !important;
    }
}

/* ==========================================================================
   EMPTY CART - CUSTOM STYLING
   ========================================================================== */
/* Hide original empty cart content (WooCommerce blocks) */
.wp-block-woocommerce-empty-cart-block > .wp-block-heading,
.wp-block-woocommerce-empty-cart-block > .wp-block-separator,
.wp-block-woocommerce-empty-cart-block > .wc-block-grid,
.wp-block-woocommerce-empty-cart-block > [data-block-name] {
    display: none !important;
}

/* Custom empty cart content */
.wp-block-woocommerce-empty-cart-block {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 20px;
    text-align: center;
    background-color: #f6f6f6;
}

/* Custom title and subtitle via CSS */
.wp-block-woocommerce-empty-cart-block .empty-cart-header {
    text-align: center;
    margin-bottom: 32px;
}

.wp-block-woocommerce-empty-cart-block .empty-cart-title {
    font-size: 28px;
    font-weight: 600;
    letter-spacing: 2px;
    color: #000;
    margin-bottom: 16px;
}

.wp-block-woocommerce-empty-cart-block .empty-cart-subtitle {
    font-size: 14px;
    font-weight: 400;
    color: #666;
    max-width: 400px;
    margin: 0 auto;
}

/* Custom CTA button - injected via JS */
.empty-cart-cta {
    display: inline-block;
    background: #000;
    color: #fff !important;
    padding: 14px 40px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-decoration: none;
    text-transform: uppercase;
    transition: all 0.3s ease;
    border: 2px solid #000;
    margin-bottom: 50px;
}

.empty-cart-cta:hover {
    background: #fff;
    color: #000 !important;
}

/* Empty Cart Product Sections */
.empty-cart-section {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 40px;
    padding: 0 20px;
}

.empty-cart-section-title {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 20px;
    text-align: left;
    color: #000;
}

.empty-cart-products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.empty-cart-product {
    text-decoration: none;
    color: inherit;
    display: block;
    transition: transform 0.2s ease;
}

.empty-cart-product:hover {
    transform: translateY(-4px);
}

.empty-cart-product-image {
    position: relative;
    overflow: hidden;
    margin-bottom: 12px;
    background: #f8f8f8;
}

.empty-cart-product-image img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.empty-cart-product:hover .empty-cart-product-image img {
    transform: scale(1.03);
}

.empty-cart-product-title {
    font-size: 13px;
    font-weight: 500;
    color: #000;
    margin-bottom: 6px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.empty-cart-product-price {
    font-size: 14px;
    font-weight: 600;
    color: #000;
}

.empty-cart-product-price del {
    color: #999;
    font-weight: 400;
    margin-right: 8px;
}

.empty-cart-product-price ins {
    text-decoration: none;
    color: #c00;
}

/* Wishlist section in empty cart */
.empty-cart-wishlist .loading-placeholder {
    text-align: center;
    padding: 40px;
    color: #999;
    font-size: 14px;
}

/* Responsive */
@media (max-width: 991px) {
    .empty-cart-products {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .wp-block-woocommerce-empty-cart-block {
        padding: 50px 15px;
    }
    
    .wp-block-woocommerce-empty-cart-block::before {
        font-size: 22px;
    }
    
    .wp-block-woocommerce-empty-cart-block::after {
        font-size: 13px;
    }
    
    .empty-cart-products {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .empty-cart-section {
        padding: 0 15px;
        margin-bottom: 30px;
    }
    
    .empty-cart-section-title {
        font-size: 16px;
    }
    
    .empty-cart-product-title {
        font-size: 12px;
    }
    
    .empty-cart-product-price {
        font-size: 13px;
    }
}

/* ========================================
   MINI CART CUSTOMIZATION
======================================== */

/* Fundo do mini cart */
.cart-widget-side,
.cart-widget-side .shopping-cart-widget-body,
.cart-widget-side .shopping-cart-widget-footer,
.wd-dropdown-cart .wd-dropdown {
    background-color: #f6f6f6 !important;
}

/* Layout do item do mini cart */
.woocommerce-mini-cart-item {
    display: grid !important;
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto auto;
    gap: 5px 10px;
    align-items: start;
}

.woocommerce-mini-cart-item .cart-item-image {
    grid-column: 1;
    grid-row: 1 / 3;
}

.cart-widget-side .woocommerce-mini-cart-item .cart-info {
    grid-column: 2 / 4;
    grid-row: 1;
    display: block !important;
    text-align: left !important;
}

.cart-widget-side .woocommerce-mini-cart-item .cart-info .wd-entities-title {
    width: 100%;
    display: block;
    margin-bottom: 6px;
}

/* Quantity input e preço na mesma linha, abaixo do título */
.cart-widget-side .woocommerce-mini-cart-item .cart-info .quantity.buttons_added {
    display: inline-flex !important;
    float: none !important;
    margin: 0 !important;
    vertical-align: middle;
}

.cart-widget-side .woocommerce-mini-cart-item .cart-info > .quantity:not(.buttons_added) {
    display: inline-block !important;
    float: none !important;
    margin: 0 0 0 10px !important;
    vertical-align: middle;
    font-weight: 600;
}

.cart-widget-side .woocommerce-mini-cart-item .cart-info .quantity,
.cart-widget-side .woocommerce-mini-cart-item .cart-info > .quantity {
    text-align: left !important;
}

/* Footer do mini cart - reordenar elementos */
.shopping-cart-widget-footer {
    display: flex;
    flex-direction: column;
    padding: 15px;
}

/* Shipping bar ACIMA do subtotal */
.shopping-cart-widget-footer .wd-free-progress-bar,
.shopping-cart-widget-footer .wd-progress-bar {
    order: -2;
    margin-bottom: 15px;
    padding: 12px 15px;
    background: #fff;
    border-radius: 4px;
}

.shopping-cart-widget-footer .wd-free-progress-bar .progress-msg,
.shopping-cart-widget-footer .wd-progress-bar .progress-msg {
    font-size: 13px;
    color: #333;
    text-align: center;
    margin-bottom: 8px;
}

.shopping-cart-widget-footer .wd-free-progress-bar .progress-area,
.shopping-cart-widget-footer .wd-progress-bar .progress-area {
    height: 4px;
    background: #e0e0e0;
    border-radius: 2px;
    overflow: hidden;
}

.shopping-cart-widget-footer .wd-free-progress-bar .progress-area .progress-bar,
.shopping-cart-widget-footer .wd-progress-bar .progress-area .progress-bar {
    height: 100%;
    background: #4caf50;
    border-radius: 2px;
}

/* Subtotal */
.shopping-cart-widget-footer .woocommerce-mini-cart__total {
    order: -1;
    padding: 15px 0 !important;
    margin-top: 10px !important;
    border-top: 1px solid #e0e0e0;
}

/* Botões */
.shopping-cart-widget-footer .woocommerce-mini-cart__buttons {
    order: 0;
}


/* =====================================================
   DRIPSTEEZY MINI CART - Layout Customizations v3
   ===================================================== */

/* Mini cart item - layout com CSS Grid */
.cart-widget-side .woocommerce-mini-cart-item.mini_cart_item {
    display: grid !important;
    grid-template-columns: 70px 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 8px 12px !important;
    padding: 15px 20px !important;
    position: relative !important;
    border-bottom: 1px solid #eee !important;
}

/* Imagem do produto - coluna 1, ocupa 2 rows */
.cart-widget-side .woocommerce-mini-cart-item .cart-item-image {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    width: 70px !important;
}

.cart-widget-side .woocommerce-mini-cart-item .cart-item-image img {
    width: 70px !important;
    height: auto !important;
    border-radius: 4px !important;
}

/* Cart info (título) - coluna 2, row 1 */
.cart-widget-side .woocommerce-mini-cart-item .cart-info {
    grid-column: 2 !important;
    grid-row: 1 !important;
    padding-right: 20px !important;
    display: block !important;
}

/* Título do produto - limite 2 linhas */
.cart-widget-side .woocommerce-mini-cart-item .wd-entities-title {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
    color: #333 !important;
    margin: 0 !important;
    max-height: 2.8em !important;
}

/* Esconder qty e preço do cart-info (movidos via JS) */
.cart-widget-side .woocommerce-mini-cart-item.drip-reorganized .cart-info .quantity {
    display: none !important;
}

/* Row de Qty + Preço (movida via JS) - coluna 2, row 2 */
.cart-widget-side .woocommerce-mini-cart-item .drip-qty-price-row {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

/* Quantity selector - mesmo estilo do cart */
.cart-widget-side .drip-qty-price-row .quantity {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    border: none !important;
    background: transparent !important;
}

.cart-widget-side .drip-qty-price-row .quantity input.qty {
    width: 28px !important;
    min-width: 28px !important;
    text-align: center !important;
    border: none !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    padding: 0 !important;
    -moz-appearance: textfield !important;
}

.cart-widget-side .drip-qty-price-row .quantity input.qty::-webkit-outer-spin-button,
.cart-widget-side .drip-qty-price-row .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.cart-widget-side .drip-qty-price-row .quantity .minus,
.cart-widget-side .drip-qty-price-row .quantity .plus {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    border: 1px solid #ccc !important;
    border-radius: 50% !important;
    background: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    padding: 0 !important;
}

.cart-widget-side .drip-qty-price-row .quantity .minus:hover,
.cart-widget-side .drip-qty-price-row .quantity .plus:hover {
    border-color: #333 !important;
}

/* Preço */
.cart-widget-side .drip-qty-price-row > span.quantity {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #333 !important;
    white-space: nowrap !important;
}

/* Link overlay - limitar altura para não cobrir qty row */
.cart-widget-side .woocommerce-mini-cart-item {
    position: relative !important;
}

.cart-widget-side .woocommerce-mini-cart-item .cart-item-link.wd-fill {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    height: calc(100% - 45px) !important;
    z-index: 1 !important;
}

/* Qty row - acima do link overlay */
.cart-widget-side .woocommerce-mini-cart-item .drip-qty-price-row {
    position: relative !important;
    z-index: 5 !important;
}

/* Botão remover - acima de tudo */
.cart-widget-side .woocommerce-mini-cart-item .remove_from_cart_button {
    z-index: 10 !important;
}

/* Botão de remover */
.cart-widget-side .woocommerce-mini-cart-item .remove_from_cart_button {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    font-size: 18px !important;
    color: #999 !important;
    z-index: 10 !important;
    line-height: 1 !important;
}

/* Esconder X duplicado do tema */
.cart-widget-side .woocommerce-mini-cart-item .remove_from_cart_button::before,
.cart-widget-side .woocommerce-mini-cart-item .remove_from_cart_button::after {
    display: none !important;
    content: none !important;
}

/* =====================================================
   MINI CART FOOTER - Free Shipping + Subtotal
   ===================================================== */

/* Footer layout */
.cart-widget-side .shopping-cart-widget-footer {
    display: flex !important;
    flex-direction: column !important;
    padding: 15px 10px !important;
}

/* Remover padding dos filhos diretos para alinhar com subtotal */
.cart-widget-side .shopping-cart-widget-footer > * {
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center;
}

/* Mini Cart - Shipping to Country + FREE (inserted via JS) */
.cart-widget-side .drip-minicart-shipping {
    order: -1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 10px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid #eee;
}

.cart-widget-side .drip-minicart-shipping .shipping-label {
    font-size: 16px;
    color: #333;
    font-weight: 600;
    text-align: left;
}

.cart-widget-side .drip-minicart-shipping .shipping-free {
    font-size: 14px;
    color: #22a722;
    font-weight: 700;
    text-align: right;
}

/* Subtotal */
.cart-widget-side .shopping-cart-widget-footer .woocommerce-mini-cart__total {
    padding: 0 !important;
    margin: 0 0 15px 0 !important;
}

/* Botões - container <p> */
.cart-widget-side .shopping-cart-widget-footer .woocommerce-mini-cart__buttons {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    display: block !important;
}
/* Botões individuais */
.cart-widget-side .shopping-cart-widget-footer .woocommerce-mini-cart__buttons a.button {
    margin: 0 0 8px 0 !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    text-align: center !important;
    border-radius: 8px !important;
    height: 44px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    letter-spacing: 0.5px !important;
}

/* Checkout button */
.cart-widget-side .shopping-cart-widget-footer .woocommerce-mini-cart__buttons a.button.checkout {
    background-color: #333 !important;
    color: #fff !important;
    border: none !important;
}

.cart-widget-side .shopping-cart-widget-footer .woocommerce-mini-cart__buttons a.button.checkout:hover {
    background-color: #444 !important;
    color: #fff !important;
}

/* ===============================
   FIX: Sidebar de Filtros Mobile (Woodmart)
   O overlay .wd-close-side tem z-index: 9998
   O sidebar precisa ter z-index MAIOR para ficar clicável
   =============================== */

/* Sidebar de filtros (widget-area) quando aberto no mobile */
.widget-area.wd-side-hidden.wd-opened,
.wd-sidebar.wd-side-hidden.wd-opened,
body.wd-side-opened .widget-area {
    z-index: 10000 !important;
}

/* Garantir que o conteúdo do sidebar seja clicável */
.widget-area.wd-opened .wd-scroll,
.widget-area.wd-opened .wd-widget,
.widget-area.wd-opened .wd-widget a,
.widget-area.wd-opened .wd-widget input,
.widget-area.wd-opened .wd-widget button {
    pointer-events: auto !important;
    position: relative;
    z-index: 1;
}

/* ===============================
   FIX: Sidebar Direito (Cart, My Account, etc.)
   Mesmo problema do overlay .wd-close-side (z-index: 9998)
   =============================== */

/* Cart sidebar / qualquer sidebar direito aberto */
.cart-widget-side,
.wd-side-hidden.wd-right.wd-opened,
.wd-my-account-sidebar.wd-opened,
body.wd-side-opened .cart-widget-side {
    z-index: 10000 !important;
}

/* Conteúdo do sidebar direito clicável */
.cart-widget-side *,
.wd-side-hidden.wd-right.wd-opened * {
    pointer-events: auto !important;
}

/* ===============================
   FIX: Esconder tamanhos não filtrados (evita flash)
   Tamanhos com "|" são escondidos até serem filtrados pelo JS
   =============================== */
.wc-block-components-product-details__value,
.wc-block-components-order-summary-item .wc-block-components-product-details li {
    opacity: 0;
    transition: opacity 0.15s ease;
}
.wc-block-components-product-details__value[data-filtered="true"],
.wc-block-components-order-summary-item .wc-block-components-product-details li[data-filtered="true"] {
    opacity: 1;
}
/* Mostrar imediatamente se não contém | (produto sem variação de tamanho) */
.wc-block-components-product-details__value:not(:empty),
.wc-block-components-order-summary-item .wc-block-components-product-details li:not(:empty) {
    animation: showAfterDelay 0.3s forwards;
    animation-delay: 0.5s;
}
@keyframes showAfterDelay {
    to { opacity: 1; }
}

/* ===============================
   FIX: Botão Add to Bag arredondado
   (override tema Woodmart)
   =============================== */
html body.single-product form.cart .single_add_to_cart_button,
html body.single-product form.cart button.single_add_to_cart_button,
html body.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button {
    border-radius: 8px !important;
}

/* Buy Now button - same style as Add to Bag but black */
.single-product form.cart .wd-buy-now-btn {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 44px !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    background-color: #333 !important;
    color: #fff !important;
    border: none !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    cursor: pointer;
}

.single-product form.cart .wd-buy-now-btn:hover {
    background-color: #444 !important;
}

/* Secure lock icon on Buy Now button */
.single-product form.cart .wd-buy-now-btn::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 6px;
    background: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    flex-shrink: 0;
}

/* ===============================
   Checkout: Reserve Now selecionado
   =============================== */
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
    border: 2px solid #22a722 !important;
    border-radius: 8px !important;
}


#shop-by-sidebar .shop-by-close {
    position: absolute !important;
    top: 10px !important;     /* Distância do topo */
    right: 15px !important;   /* Distância da direita */
    
    /* Remove estilos de botão padrão do WoodMart */
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: unset !important;
    width: auto !important;
    height: auto !important;
    
    /* Estilo do X */
    font-size: 45px !important; /* X bem maior */
    line-height: 1 !important;
    color: #333 !important;    /* Cor do X */
    cursor: pointer;
    z-index: 100;
}

/* ===============================
   RELATED PRODUCTS CAROUSEL (Product Page)
   "You might also like" - between size and add-to-bag
   =============================== */

.ds-related-carousel {
    width: 100%;
    margin: 16px 0 12px;
}

/* Label - same pattern as size-label */
.ds-related-label {
    font-size: 14px;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    font-weight: 700;
}

/* Scrollable container */
.ds-related-container {
    display: flex;
    gap: 28px;
    overflow-x: auto;
    overflow-y: visible;
    padding: 14px 16px;
    background: #f6f6f6;
    border-radius: 10px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    scroll-padding-left: 16px;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 2%, #000 98%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, #000 2%, #000 98%, transparent 100%);
}

.ds-related-container::-webkit-scrollbar {
    display: none;
}

/* Individual product card */
.ds-related-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-decoration: none;
    color: inherit;
    flex-shrink: 0;
    width: 140px;
    scroll-snap-align: start;
    background: transparent;
}

.ds-related-item:hover {
    opacity: 0.85;
}

/* Thumbnail - shows full sneaker (contain, not crop) */
.ds-related-thumb {
    width: 140px;
    height: 105px;
    background: transparent;
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}

.ds-related-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/* Product name */
.ds-related-name {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    color: #333;
    margin-bottom: 2px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: break-word;
    max-height: 32px;
}

/* Price */
.ds-related-price {
    font-size: 12px;
    font-weight: 600;
    color: #222;
}

.ds-related-price del {
    color: #999;
    font-weight: 400;
    margin-right: 4px;
}

.ds-related-price ins {
    text-decoration: none;
}

/* Responsive - mobile */
@media (max-width: 768px) {
    .ds-related-carousel {
        margin: 12px 0 10px;
    }

    .ds-related-container {
        gap: 22px;
        padding: 10px 12px;
    }

    .ds-related-item {
        width: 120px;
    }

    .ds-related-thumb {
        width: 120px;
        height: 90px;
    }

    .ds-related-name {
        font-size: 11px;
    }

    .ds-related-price {
        font-size: 11px;
    }
}

/* =====================================================
   Top Bar Auto-Slide (CSS only, 3 slides)
   ===================================================== */
.ds-topbar-slider {
    position: relative;
    height: 20px;
    overflow: hidden;
    text-align: center;
    width: 100%;
}

.ds-topbar-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    font-size: 13px;
    letter-spacing: 0.5px;
    line-height: 20px;
    font-weight: 500;
    color: #fff !important;
    animation: dsTopbarFade 10.5s infinite;
}

.ds-topbar-slide:nth-child(2) {
    animation-delay: 3.5s;
}

.ds-topbar-slide:nth-child(3) {
    animation-delay: 7s;
}


.whb-top-bar {
    background-color: #16362C !important;
}

@keyframes dsTopbarFade {
    0%, 5% { opacity: 0; }
    10%, 28% { opacity: 1; }
    33%, 100% { opacity: 0; }
}

/* Hide checkout-local-reviews drawer tab on video feed page */
.page-id-176179 .clr-drawer-tab,
.page-id-176179 .clr-drawer-overlay,
.page-id-176179 .clr-drawer-panel {
    display: none !important;
}

/* =========================================================================
   CardsShield PayPal Smart Button — Drip Steezy click-through overlay
   The iframe sits on top (transparent) to capture every click; the visual
   skin sits behind it and renders the store's brand look. The iframe drives
   the wrapper height naturally, so the skin always matches the click area.
   ========================================================================= */
.dpe-paypal-overlay {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    isolation: isolate;
    border-radius: 6px;
    overflow: hidden;
    background: rgb(42, 117, 68);
    line-height: 0;
    transition: background 0.15s ease;
}

.dpe-paypal-overlay[data-hover="true"] { background: rgb(43, 81, 59); }

/* Visible fake button — sits ON TOP of the iframe, pointer-events:none lets
   every click pass through to the real PayPal button below. The iframe
   stays fully visible (opacity:1) so PayPal SDK clickjacking detection
   does not block clicks; the skin's solid background hides it. */
.dpe-paypal-overlay .dpe-paypal-skin {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 100%;
    background: rgb(42, 117, 68);
    color: #fff;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.3px;
    text-transform: none;
    line-height: 1;
    pointer-events: none;
    user-select: none;
    transition: background 0.15s ease;
}

.dpe-paypal-overlay .dpe-paypal-skin__label {
    color: #fff;
    opacity: 1;
    font-weight: 600;
    letter-spacing: 0.3px;
}

.dpe-paypal-overlay .dpe-paypal-skin__brand {
    display: inline-flex;
    align-items: center;
    line-height: 0;
}

/* Official PayPal SVG wordmark — sized to match the label text height. */
.dpe-paypal-overlay .dpe-paypal-skin__logo {
    display: block;
    height: 18px;
    width: auto;
    /* The asset already includes its native colors; brightness keeps it readable
       on the dark skin without altering the brand hue. */
    filter: brightness(1.05) saturate(1.05);
}

/* PayPal wordmark rendered as text — both halves white to match the
   button typography (matches "Next: Shipping & Payment" style). */
.dpe-paypal-overlay .dpe-paypal-skin__pay { color: #ffffff; }
.dpe-paypal-overlay .dpe-paypal-skin__pal { color: #ffffff; }

.dpe-paypal-overlay[data-hover="true"] .dpe-paypal-skin { background: rgb(43, 81, 59); }
.dpe-paypal-overlay[data-active="true"] .dpe-paypal-skin { background: rgb(35, 65, 47); }

/* Real PayPal iframe — stays visually present (opacity:1) so PayPal SDK
   does not trigger clickjacking protection. The skin div above covers it
   visually. The iframe is the only click target. */
.dpe-paypal-overlay .dpe-paypal-iframe {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    border: 0;
    margin: 0;
    padding: 0;
    background: transparent;
    opacity: 1;
    pointer-events: auto;
}

/* Failure state — if anything goes wrong, hide skin and reveal the iframe
   so the customer always sees a working PayPal button. */
.dpe-paypal-overlay[data-state="error"] .dpe-paypal-skin { display: none; }

/* SDK warm-up: a few hundred ms after iframe load the PayPal SDK is still
   binding its button handler inside the shield iframe; clicks landing in
   that window are silently dropped. While the JS controller marks
   data-dpe-busy="1" we block clicks at the iframe layer and dim the skin
   slightly so the user sees a subtle "preparing" state instead of
   clicking on a dead button. The flag clears as soon as the iframe sends
   any postMessage (real SDK-ready signal) or after a 700ms fallback. */
.dpe-paypal-overlay[data-dpe-busy="1"] .dpe-paypal-iframe {
    pointer-events: none !important;
}
.dpe-paypal-overlay[data-dpe-busy="1"] .dpe-paypal-skin {
    opacity: 0.85;
    cursor: progress;
}
.dpe-paypal-overlay[data-dpe-busy="1"] {
    cursor: progress;
}

/* Reassurance line below the button — prominent but on-theme. */
.payment_box.payment_method_mecom_paypal .dpe-paypal-reassurance {
    margin: 10px 0 0;
    padding: 0;
    font-size: 13px;
    line-height: 1.3;
    color: #111;
    text-align: center;
    letter-spacing: 0.3px;
    font-weight: 600;
    text-transform: none;
}

.payment_box.payment_method_mecom_paypal .dpe-paypal-reassurance::before {
    content: "\2713";
    display: inline-block;
    margin-right: 6px;
    color: #111;
    font-weight: 700;
}

/* Tighter container in smart-button-only mode (no credit-card form below). */
.woocommerce-checkout .payment_box.payment_method_mecom_paypal:has(.dpe-paypal-overlay) {
    padding: 12px 14px !important;
}

/* DEBUG MODE — uncomment to see the real PayPal button location.
.dpe-paypal-overlay .dpe-paypal-skin { opacity: 0.4 !important; }
*/
