/* WooCommerce layout */
.woo-main { background: #fff; padding: 36px 0 76px; }
.woocommerce .woocommerce-breadcrumb { margin: 0 0 18px; color: var(--color-gray-500); font-size: .72rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--color-gray-600); }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--color-brand-orange-strong); }

/* Shop header */
.shop-header { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,380px); align-items: end; gap: 36px; border-bottom: 1px solid var(--color-gray-200); padding: 14px 0 28px; }
.shop-header__copy h1 { margin-bottom: 8px; font-size: clamp(2rem,4vw,3.25rem); }
.shop-header__copy .term-description, .shop-header__copy .page-description { max-width: 760px; color: var(--color-gray-500); font-size: .88rem; }
.shop-header__copy .term-description p:last-child, .shop-header__copy .page-description p:last-child { margin-bottom: 0; }
.shop-header__note { display: flex; align-items: flex-start; gap: 10px; border-left: 2px solid var(--color-brand-orange); background: var(--color-gray-50); padding: 12px 14px; }
.shop-header__note .esq-icon { width: 17px; height: 17px; margin-top: 2px; color: var(--color-brand-orange-strong); }
.shop-header__note p { margin: 0; color: var(--color-gray-600); font-size: .75rem; line-height: 1.45; }
.shop-category-rail { display: flex; align-items: center; gap: 7px; margin: 18px 0 0; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.shop-category-rail a { display: inline-flex; min-height: 36px; flex: 0 0 auto; align-items: center; gap: 6px; border: 1px solid var(--color-gray-200); border-radius: 6px; background: #fff; padding: 7px 10px; color: var(--color-gray-700); font-size: .72rem; font-weight: 720; }
.shop-category-rail a:hover { border-color: #b6b6b0; background: var(--color-gray-50); color: var(--color-black); }
.shop-category-rail a.is-all { color: var(--color-black); font-weight: 800; }
.shop-category-rail a .esq-icon { width: 15px; height: 15px; color: var(--color-brand-orange-strong); }
.shop-category-rail small { color: #999991; font-size: .62rem; }

/* Toolbar */
.shop-toolbar { display: flex; min-height: 66px; align-items: center; justify-content: space-between; gap: 18px; margin-top: 22px; border-top: 1px solid var(--color-gray-150); border-bottom: 1px solid var(--color-gray-150); }
.shop-toolbar__count { color: var(--color-gray-500); font-size: .76rem; }
.shop-toolbar__count .woocommerce-result-count { margin: 0; }
.shop-toolbar__actions { display: flex; align-items: center; gap: 8px; }
.shop-filter-button { display: none; min-height: 40px; }
.woocommerce .woocommerce-ordering { margin: 0; }
.woocommerce .woocommerce-ordering select { min-height: 40px; border: 1px solid var(--color-gray-300); border-radius: 6px; background: #fff; padding: 7px 34px 7px 10px; color: var(--color-gray-700); font-size: .76rem; }

/* Shop filters */
.shop-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 28px; margin-top: 26px; }
.shop-sidebar { position: sticky; top: 16px; align-self: start; border: 1px solid var(--color-gray-200); border-radius: 8px; background: #fff; overflow: hidden; }
.shop-sidebar__heading { display: flex; align-items: flex-start; gap: 10px; border-bottom: 1px solid var(--color-gray-200); background: #fafaf8; padding: 15px 16px; }
.shop-sidebar__heading > span { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border-radius: 6px; background: var(--color-brand-orange-soft); color: var(--color-brand-orange-strong); }
.shop-sidebar__heading .esq-icon { width: 16px; height: 16px; }
.shop-sidebar__heading strong { display: block; color: var(--color-black); font-size: .78rem; }
.shop-sidebar__heading small { display: block; margin-top: 2px; color: var(--color-gray-500); font-size: .65rem; line-height: 1.35; }
.shop-filter-widgets { display: block; }
.shop-filter-widget { margin: 0; border-bottom: 1px solid var(--color-gray-150); padding: 15px 16px 17px; }
.shop-filter-widget:last-child { border-bottom: 0; }
.shop-filter-widget h3 { margin: 0 0 10px; color: var(--color-black); font-size: .75rem; font-weight: 820; letter-spacing: .025em; }
.shop-filter-widget ul { margin: 0; padding: 0; list-style: none; }
.shop-filter-widget li { margin: 0; }
.shop-filter-widget li + li { margin-top: 6px; }
.shop-filter-widget li a { color: var(--color-gray-700); font-size: .74rem; line-height: 1.35; }
.shop-filter-widget li a:hover { color: var(--color-brand-orange-strong); }
.shop-filter-widget .count { float: right; color: #9c9c96; font-size: .65rem; }
.shop-filter-widget .woocommerce-widget-layered-nav-list__item--chosen a { color: var(--color-black); font-weight: 800; }
.shop-filter-widget .woocommerce-widget-layered-nav-list__item--chosen a::before { color: var(--color-brand-orange-strong) !important; }
.shop-filter-widget .price_slider_wrapper .ui-widget-content { height: 4px; border: 0; background: var(--color-gray-200); }
.shop-filter-widget .ui-slider .ui-slider-range { background: var(--color-brand-orange); }
.shop-filter-widget .ui-slider .ui-slider-handle { top: -5px; width: 14px; height: 14px; border: 2px solid #fff; border-radius: 50%; background: var(--color-black); box-shadow: 0 0 0 1px #888; }
.shop-filter-widget .price_slider_amount { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; margin-top: 13px; font-size: .69rem; }
.shop-filter-widget .price_slider_amount .button { min-height: 34px; grid-column: 2; grid-row: 1; border: 1px solid var(--color-gray-300); background: #fff; padding: 6px 9px; color: var(--color-black); font-size: .67rem; }
.shop-filter-widget .price_label { grid-column: 1; grid-row: 1; color: var(--color-gray-500); }
.shop-filter-empty { margin: 0; padding: 16px; color: var(--color-gray-500); font-size: .75rem; }
.shop-filter-drawer { display: none; }
.shop-filter-drawer__body { height: calc(100dvh - 74px); overflow-y: auto; padding: 0; }
.shop-filter-drawer .shop-filter-widget { padding-inline: 18px; }

/* Pagination */
.woocommerce nav.woocommerce-pagination { margin-top: 34px; }
.woocommerce nav.woocommerce-pagination ul { display: flex; gap: 5px; border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { display: grid; min-width: 38px; height: 38px; place-items: center; border: 1px solid var(--color-gray-200); border-radius: 6px; background: #fff; color: var(--color-gray-700); padding: 0; font-size: .75rem; }
.woocommerce nav.woocommerce-pagination ul li span.current { border-color: var(--color-black); background: var(--color-black); color: #fff; }
.woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--color-gray-300); background: var(--color-gray-50); color: var(--color-black); }

/* Single product */
.single-product .woo-main { padding-top: 26px; }
.single-product div.product { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(380px,.92fr); gap: 54px; align-items: start; }
.single-product div.product .woocommerce-product-gallery { position: sticky; top: 20px; float: none; width: auto; margin: 0; }
.single-product .woocommerce-product-gallery__wrapper { margin: 0; }
.single-product .woocommerce-product-gallery__image { display: grid; aspect-ratio: 1 / .92; place-items: center; border: 1px solid var(--color-gray-200); border-radius: 9px; background: #f8f8f6; padding: 22px; overflow: hidden; }
.single-product .woocommerce-product-gallery__image img { width: 100% !important; height: 100% !important; max-height: 650px; object-fit: contain; }
.single-product .flex-control-thumbs { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 7px; margin: 9px 0 0 !important; padding: 0; }
.single-product .flex-control-thumbs li { width: auto !important; float: none !important; }
.single-product .flex-control-thumbs img { width: 100%; aspect-ratio: 1; border: 1px solid var(--color-gray-200); border-radius: 6px; background: #fff; padding: 4px; object-fit: contain; opacity: 1; }
.single-product .flex-control-thumbs img.flex-active { border-color: var(--color-brand-orange); box-shadow: inset 0 0 0 1px var(--color-brand-orange); }
.single-product div.product .summary { float: none; width: auto; margin: 0; }
.product-kicker { display: flex; flex-wrap: wrap; gap: 7px 12px; margin: 0 0 9px; color: var(--color-gray-500); font-size: .68rem; font-weight: 690; }
.product-kicker span:first-child { color: var(--color-brand-orange-strong); font-weight: 830; letter-spacing: .05em; text-transform: uppercase; }
.single-product div.product .product_title { margin: 0 0 11px; font-size: clamp(2rem,3.3vw,3.15rem); letter-spacing: -.04em; }
.single-product .summary .price { margin: 0 0 18px; color: var(--color-black) !important; font-size: 1.75rem !important; font-weight: 880; }
.single-product .summary .price del { color: #91918b; font-size: 1rem; font-weight: 650; }
.single-product .summary .price ins { text-decoration: none; }
.single-product .woocommerce-product-details__short-description { margin-bottom: 20px; color: var(--color-gray-600); font-size: .9rem; line-height: 1.6; }
.single-product .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }
.single-product form.cart { display: grid; grid-template-columns: 106px minmax(0,1fr); gap: 9px; margin: 20px 0 0 !important; border-top: 1px solid var(--color-gray-200); padding-top: 20px; }
.single-product form.cart .single_add_to_cart_button { width: 100%; min-height: 48px; border: 1px solid var(--color-brand-orange); border-radius: 7px; background: var(--color-brand-orange); color: #111; font-size: .9rem; font-weight: 820; }
.single-product form.cart .single_add_to_cart_button:hover { border-color: var(--color-brand-orange-strong); background: var(--color-brand-orange-strong); color: #fff; }
.single-product form.variations_form.cart { display: block; }
.single-product .variations { width: 100%; margin: 0 0 10px; }
.single-product .variations tbody, .single-product .variations tr { display: block; }
.single-product .variations tr + tr { margin-top: 10px; }
.single-product .variations th, .single-product .variations td { display: block; padding: 0 !important; text-align: left; }
.single-product .variations th { margin-bottom: 5px; }
.single-product .variations label { color: var(--color-black); font-size: .75rem; font-weight: 760; }
.single-product .variations select { width: 100%; min-height: 45px; border: 1px solid var(--color-gray-300); border-radius: 7px; background: #fff; padding: 8px 10px; color: var(--color-gray-700); }
.single-product .reset_variations { display: inline-block; margin-top: 6px; color: var(--color-gray-500); font-size: .7rem; }
.single-product .single_variation_wrap { margin-top: 12px; }
.single-product .woocommerce-variation-price { margin-bottom: 10px; color: var(--color-black); font-weight: 820; }
.single-product .variations_form.cart .woocommerce-variation-add-to-cart { display: grid; grid-template-columns: 106px minmax(0,1fr); gap: 9px; }
.product-whatsapp { width: 100%; margin-top: 9px; }
.single-product-service-notes { display: grid; gap: 7px; margin-top: 14px; border-top: 1px solid var(--color-gray-100); padding-top: 13px; color: var(--color-gray-500); font-size: .7rem; }
.single-product-service-notes span { display: flex; align-items: center; gap: 7px; }
.single-product-service-notes .esq-icon { width: 15px; height: 15px; color: var(--color-brand-orange-strong); }
.single-product .stock { margin: 10px 0; color: var(--color-success) !important; font-size: .74rem; font-weight: 740; }
.single-product .out-of-stock { color: #9c2f26 !important; }
.single-product .woocommerce-tabs, .single-product .related, .single-product .upsells { grid-column: 1 / -1; }
.single-product .woocommerce-tabs { margin-top: 46px; border-top: 1px solid var(--color-gray-200); padding-top: 30px; }
.single-product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 3px; margin: 0 0 24px !important; border-bottom: 1px solid var(--color-gray-200); padding: 0 !important; }
.single-product .woocommerce-tabs ul.tabs::before, .single-product .woocommerce-tabs ul.tabs li::before, .single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li { margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; padding: 0 !important; }
.single-product .woocommerce-tabs ul.tabs li a { display: block; padding: 10px 13px 12px !important; color: var(--color-gray-500) !important; font-size: .76rem; font-weight: 760 !important; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--color-black) !important; box-shadow: inset 0 -2px 0 var(--color-brand-orange); }
.single-product .woocommerce-Tabs-panel { max-width: 900px; color: var(--color-gray-700); font-size: .9rem; }
.single-product .woocommerce-Tabs-panel h2 { font-size: 1.35rem; }
.single-product .woocommerce-product-attributes { border: 1px solid var(--color-gray-200); border-radius: 7px; overflow: hidden; }
.single-product .woocommerce-product-attributes th, .single-product .woocommerce-product-attributes td { border: 0; border-bottom: 1px solid var(--color-gray-150); padding: 10px 12px; font-size: .78rem; }
.single-product .woocommerce-product-attributes tr:last-child th, .single-product .woocommerce-product-attributes tr:last-child td { border-bottom: 0; }
.single-product .woocommerce-product-attributes th { width: 34%; background: var(--color-gray-50); color: var(--color-gray-600); font-weight: 720; }
.single-product .related, .single-product .upsells { margin-top: 50px; }
.single-product .related > h2, .single-product .upsells > h2 { margin-bottom: 24px; font-size: 1.75rem; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error { margin: 0 0 24px !important; border: 1px solid var(--color-gray-200) !important; border-top: 0 !important; border-left: 3px solid var(--color-brand-orange) !important; border-radius: 7px; background: #fafaf8 !important; color: var(--color-black) !important; padding: 14px 16px 14px 46px !important; font-size: .82rem; }
.woocommerce-error { border-left-color: #b42318 !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--color-brand-orange-strong) !important; }
.woocommerce-message .button, .woocommerce-info .button { min-height: 34px; border: 1px solid var(--color-gray-300); background: #fff; padding: 6px 10px; color: #111; }

/* Cart, checkout, account */
.woocommerce-cart .content-main, .woocommerce-checkout .content-main, .woocommerce-account .content-main { background: var(--color-gray-25); }
.woocommerce-cart .entry-content, .woocommerce-checkout .entry-content, .woocommerce-account .entry-content { max-width: none; }
.woocommerce table.shop_table { border: 1px solid var(--color-gray-200); border-radius: 8px; background: #fff; border-collapse: separate; overflow: hidden; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-top: 1px solid var(--color-gray-100); padding: 14px; }
.woocommerce table.shop_table thead th { border-top: 0; background: var(--color-gray-50); color: var(--color-black); font-size: .72rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.woocommerce table.shop_table .product-thumbnail img { width: 76px; height: 76px; border: 1px solid var(--color-gray-100); border-radius: 6px; background: #fafaf8; object-fit: contain; }
.woocommerce table.shop_table .product-name a { color: var(--color-black); font-size: .84rem; font-weight: 760; }
.woocommerce table.shop_table .product-price, .woocommerce table.shop_table .product-subtotal { color: var(--color-black); font-weight: 760; }
.woocommerce-cart table.cart td.actions .coupon { display: flex; gap: 8px; }
.woocommerce-cart table.cart td.actions .coupon .input-text { min-width: 190px; min-height: 44px; border: 1px solid var(--color-gray-300); border-radius: 7px; padding: 8px 12px; }
.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: min(100%,520px); margin-left: auto; }
.woocommerce-cart .cart-collaterals .cart_totals h2 { font-size: 1.45rem; }
.woocommerce .wc-proceed-to-checkout a.checkout-button { width: 100%; min-height: 50px; border-radius: 7px; background: var(--color-brand-orange); color: #111; font-size: .92rem; }
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover { background: var(--color-brand-orange-strong); color: #fff; }
.esq-cart-whatsapp { margin-top: 9px; }
.esq-cart-whatsapp .button { width: 100%; }
.woocommerce form .form-row label { color: var(--color-black); font-size: .76rem; font-weight: 720; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce .select2-container--default .select2-selection--single { min-height: 46px; border: 1px solid var(--color-gray-300); border-radius: 7px; background: #fff; padding: 9px 11px; }
.woocommerce form .form-row textarea { min-height: 120px; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 26px; padding-left: 0; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; }
.woocommerce-checkout #customer_details { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { float: none; width: auto; }
.woocommerce-checkout h3 { font-size: 1.28rem; }
.woocommerce-checkout #order_review_heading { margin-top: 34px; }
.woocommerce-checkout #payment { border: 1px solid var(--color-gray-200); border-radius: 8px; background: #fff; }
.woocommerce-checkout #payment div.payment_box { background: var(--color-gray-100); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--color-gray-100); }
.woocommerce #payment #place_order { min-height: 50px; border-radius: 7px; background: var(--color-brand-orange); color: #111; }
.woocommerce #payment #place_order:hover { background: var(--color-brand-orange-strong); color: #fff; }
.woocommerce-account .woocommerce-MyAccount-navigation { float: none; width: 100%; margin-bottom: 20px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; border: 1px solid var(--color-gray-200); border-radius: 6px; background: #fff; padding: 8px 11px; font-size: .76rem; font-weight: 720; }
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }

/* Empty */
.woocommerce-info, .woocommerce-no-products-found { max-width: 900px; }
.woocommerce .return-to-shop .button { background: var(--color-black); color: #fff; }

@media (max-width: 1180px) {
  .shop-layout { grid-template-columns: 224px minmax(0,1fr); gap: 20px; }
  .single-product div.product { gap: 38px; }
}

@media (max-width: 1023px) {
  .woo-main { padding-top: 28px; }
  .shop-header { grid-template-columns: 1fr; gap: 16px; }
  .shop-header__note { max-width: 520px; }
  .shop-sidebar { display: none; }
  .shop-layout { display: block; }
  .shop-filter-button { display: inline-flex; }
  .shop-filter-drawer { display: block; }
  .single-product div.product { grid-template-columns: minmax(0,1fr) minmax(330px,.9fr); gap: 28px; }
  .single-product div.product .woocommerce-product-gallery { position: static; }
  .single-product .woocommerce-product-gallery__image img { max-height: 560px; }
}

@media (max-width: 767px) {
  .woo-main { padding: 22px 0 58px; }
  .shop-header { padding-top: 4px; }
  .shop-header__copy h1 { font-size: 2rem; }
  .shop-header__note { display: none; }
  .shop-category-rail { margin-top: 14px; }
  .shop-toolbar { min-height: 60px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 8px; padding-block: 10px; }
  .shop-toolbar__actions { width: 100%; justify-content: space-between; }
  .shop-toolbar__actions > * { flex: 1; }
  .woocommerce .woocommerce-ordering { flex: 1; }
  .woocommerce .woocommerce-ordering select { width: 100%; max-width: none; }
  .shop-filter-button { min-width: 112px; }
  .single-product div.product { display: block; }
  .single-product div.product .summary { margin-top: 28px; }
  .single-product .woocommerce-product-gallery__image { aspect-ratio: 1; padding: 12px; }
  .single-product .woocommerce-product-gallery__image img { max-height: 460px; }
  .single-product .flex-control-thumbs { grid-template-columns: repeat(5,1fr); }
  .single-product div.product .product_title { font-size: 2rem; }
  .single-product form.cart { grid-template-columns: 104px minmax(0,1fr); }
  .single-product .variations_form.cart .woocommerce-variation-add-to-cart { grid-template-columns: 104px minmax(0,1fr); }
  .single-product .woocommerce-tabs ul.tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; }
  .single-product .woocommerce-tabs ul.tabs li a { white-space: nowrap; }
  .woocommerce-cart table.cart .product-thumbnail { display: none; }
  .woocommerce-cart table.cart td.actions .coupon { float: none; width: 100%; }
  .woocommerce-cart table.cart td.actions .coupon .input-text { flex: 1; width: auto; min-width: 0; }
  .woocommerce-checkout #customer_details { grid-template-columns: 1fr; gap: 10px; }
}

@media (max-width: 479px) {
  .shop-category-rail a { min-height: 34px; font-size: .68rem; }
  .single-product .flex-control-thumbs { grid-template-columns: repeat(4,1fr); }
  .single-product form.cart, .single-product .variations_form.cart .woocommerce-variation-add-to-cart { grid-template-columns: 100px minmax(0,1fr); }
}

/* =========================================================
   v1.4 — WooCommerce refinements
   ========================================================= */
.woo-main { background: #fff; padding: 32px 0 72px; }
.woocommerce .woocommerce-breadcrumb { color: #8a8c8f; font-size: .7rem; }
.shop-header { border-bottom-color: var(--line); padding-bottom: 24px; }
.shop-header__copy h1 { color: var(--ink); font-weight: 700; letter-spacing: -.025em; }
.shop-header__copy .term-description,.shop-header__copy .page-description { color: #777a7d; }
.shop-header__note { border-left-color: var(--color-brand-orange); background: #faf9f7; }
.shop-category-rail a { border-color: var(--line); border-radius: 7px; font-weight: 650; }
.shop-toolbar { border-color: var(--line); }
.shop-sidebar { border-color: var(--line); border-radius: 9px; }
.shop-sidebar__heading { border-bottom-color: var(--line); background: #fafaf8; }
.shop-filter-widget { border-bottom-color: var(--line); }
.shop-filter-widget h3 { font-weight: 700; }
.shop-filter-widget li a { color: #5f6266; }
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span { border-color: var(--line); border-radius: 7px; }
.woocommerce nav.woocommerce-pagination ul li span.current { border-color: #232527; background: #232527; }

/* Full product page */
.single-product .woo-main { padding-top: 24px; }
.single-product div.product { grid-template-columns: minmax(0,1.05fr) minmax(390px,.95fr); gap: 48px; }
.single-product div.product .woocommerce-product-gallery { top: 18px; }
.single-product .woocommerce-product-gallery__image { border-color: var(--line); border-radius: 10px; background: #fafaf8; padding: 24px; }
.single-product .flex-control-thumbs img { border-color: var(--line); border-radius: 7px; }
.single-product .flex-control-thumbs img.flex-active { border-color: var(--color-brand-orange); box-shadow: inset 0 0 0 1px var(--color-brand-orange); }
.product-kicker { color: #898b8f; font-size: .66rem; font-weight: 600; }
.product-kicker span:first-child { color: var(--color-brand-orange-strong); font-weight: 700; }
.single-product div.product .product_title { font-size: clamp(2rem,3vw,2.9rem); font-weight: 700; letter-spacing: -.03em; }
.single-product .summary .price { color: var(--ink)!important; font-size: 1.72rem!important; font-weight: 700; }
.single-product .woocommerce-product-details__short-description { color: #616469; font-size: .9rem; line-height: 1.62; }
.single-product form.cart { border-top-color: var(--line); }
.single-product form.cart .single_add_to_cart_button { border-radius: 8px; color: #fff; background: var(--color-brand-orange); font-weight: 700; }
.single-product form.cart .single_add_to_cart_button:hover { color: #fff; background: var(--color-brand-orange-strong); }
.single-product .quantity { border-color: var(--line-strong); border-radius: 8px; }
.single-product .product-whatsapp { margin-top: 8px; }
.single-product-service-notes { border-color: var(--line); border-radius: 8px; background: #fafaf8; }
.single-product .woocommerce-tabs { border-top-color: var(--line); }
.single-product .woocommerce-tabs ul.tabs { border-bottom-color: var(--line); }
.single-product .woocommerce-tabs ul.tabs li a { color: #777a7d!important; font-weight: 650!important; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--ink)!important; }
.single-product .woocommerce-product-attributes { border-color: var(--line); border-radius: 8px; }
.single-product .woocommerce-product-attributes th { background: #fafaf8; font-weight: 650; }

/* Cart / checkout: consistent buttons and surfaces */
.woocommerce table.shop_table { border-color: var(--line); border-radius: 9px; }
.woocommerce table.shop_table thead th { background: #fafaf8; color: var(--ink); font-weight: 700; }
.woocommerce .wc-proceed-to-checkout a.checkout-button,.woocommerce #payment #place_order { border-radius: 8px; color: #fff; background: var(--color-brand-orange); font-weight: 700; }
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,.woocommerce #payment #place_order:hover { color: #fff; background: var(--color-brand-orange-strong); }
.woocommerce form .form-row label { font-weight: 650; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce .select2-container--default .select2-selection--single { border-color: var(--line-strong); border-radius: 8px; }

@media(max-width:1023px){.single-product div.product{grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);gap:30px}}
@media(max-width:767px){.single-product div.product{display:block}.single-product .woocommerce-product-gallery__image{padding:14px}.single-product div.product .product_title{font-size:2rem}}


/* V1.5 product interaction refinements */
.esq-quick-view__dialog{border-radius:14px;box-shadow:0 34px 90px rgba(10,12,14,.28)}
.esq-qv-summary h2{font-weight:760;letter-spacing:-.03em}
.esq-qv-description{border-top:1px solid #ebe8e2;padding-top:18px}
.esq-qv-section-label{font-weight:760;letter-spacing:.06em}
.single-product .summary .button.single_add_to_cart_button{min-height:50px}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:10px}

/* =========================================================
   V1.6 — WooCommerce / WhatsApp checkout / mobile hardening
   ========================================================= */
.woocommerce ul.products li.product .button.button-primary,
.woocommerce ul.products li.product a.button.button-primary,
.woocommerce .product-card .product-card__primary{
  border-color:var(--color-brand-orange)!important;
  background:linear-gradient(135deg,var(--color-brand-orange),#ea741d)!important;
  color:#fff!important;
  opacity:1!important;
}
.woocommerce .product-card .product-card__secondary .button.button-card-secondary,
.woocommerce .product-card .product-card__secondary button.button-card-secondary{
  border:1px solid #d8d5cf!important;
  background:#fff!important;
  color:#34363a!important;
  padding:8px 11px!important;
}
.woocommerce .product-card .product-card__secondary .button.button-whatsapp-outline{
  border:1px solid var(--whatsapp)!important;
  background:#fff!important;
  color:var(--whatsapp-strong)!important;
  padding:8px 11px!important;
}
.woocommerce .product-card .product-card__secondary .button.button-whatsapp-outline:hover{
  background:var(--whatsapp)!important;
  color:#fff!important;
}

/* Dedicated checkout: no fake payment section, order continues on WhatsApp. */
.esq-checkout-page{background:#f7f7f5;padding:clamp(34px,5vw,70px) 0 80px}
.esq-checkout-shell{max-width:1120px}
.esq-checkout-header{max-width:760px;margin-bottom:28px}
.esq-checkout-header h1{margin-bottom:12px;font-size:clamp(2rem,4vw,3.25rem)}
.esq-checkout-header>p:last-child{max-width:700px;margin-bottom:0;color:#656762;font-size:.96rem}
.esq-checkout-card{border:1px solid #e1ded8;border-radius:14px;background:#fff;padding:clamp(20px,4vw,42px);box-shadow:0 16px 46px rgba(23,24,26,.06)}
.esq-checkout-page .woocommerce-checkout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);gap:42px;align-items:start}
.esq-checkout-page #customer_details{display:block!important;grid-column:1;min-width:0}
.esq-checkout-page #customer_details .col-1,.esq-checkout-page #customer_details .col-2{float:none!important;width:100%!important}
.esq-checkout-page #customer_details .col-2{margin-top:24px}
.esq-checkout-page #order_review_heading{grid-column:2;margin:0 0 12px!important;font-size:1.2rem}
.esq-checkout-page #order_review{grid-column:2;min-width:0;border:1px solid #e5e2dc;border-radius:12px;background:#fafaf8;padding:18px;position:sticky;top:18px}
.esq-checkout-page #order_review table.shop_table{margin:0 0 14px;border:0!important;background:transparent}
.esq-checkout-page #order_review table.shop_table th,.esq-checkout-page #order_review table.shop_table td{padding:10px 6px!important;background:transparent!important;font-size:.78rem}
.esq-checkout-page #order_review table.shop_table thead th{font-size:.68rem}
.esq-checkout-page #payment{border:0!important;border-radius:0!important;background:transparent!important;margin-top:12px}
.esq-checkout-page #payment ul.payment_methods{display:none!important}
.esq-checkout-page #payment .place-order{margin:0!important;border-top:1px solid #e5e2dc;padding:16px 0 0!important}
.esq-checkout-page #payment .woocommerce-privacy-policy-text{color:#777873;font-size:.72rem;line-height:1.5}
.esq-checkout-page #payment #place_order{width:100%;min-height:52px!important;margin-top:12px!important;border:0!important;border-radius:9px!important;background:linear-gradient(135deg,var(--whatsapp),var(--whatsapp-strong))!important;color:#fff!important;font-size:.9rem!important;font-weight:760!important;box-shadow:0 10px 24px rgba(24,138,90,.18)!important}
.esq-checkout-page #payment #place_order:hover{background:var(--whatsapp-strong)!important;transform:translateY(-2px)}
.esq-checkout-whatsapp-note{display:flex;align-items:flex-start;gap:12px;margin:0 0 14px;border:1px solid #cfe6d9;border-radius:10px;background:#f2fbf6;padding:13px 14px;color:#234b35}
.esq-checkout-whatsapp-note__icon{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:8px;background:#daf2e4;color:var(--whatsapp-strong)}
.esq-checkout-whatsapp-note__icon .esq-icon{width:18px;height:18px}
.esq-checkout-whatsapp-note strong{display:block;margin-bottom:2px;color:#153c28;font-size:.82rem}
.esq-checkout-whatsapp-note p{margin:0;font-size:.72rem;line-height:1.5}
.esq-checkout-page .woocommerce-billing-fields>h3,.esq-checkout-page .woocommerce-additional-fields>h3{margin-bottom:18px;font-size:1.22rem}
.esq-checkout-page .woocommerce form .form-row{margin:0 0 13px;padding:0}
.esq-checkout-page .woocommerce form .form-row label{margin-bottom:5px;color:#333538;font-size:.76rem;font-weight:700}
.esq-checkout-page .woocommerce form .form-row input.input-text,.esq-checkout-page .woocommerce form .form-row textarea,.esq-checkout-page .woocommerce form .form-row select,.esq-checkout-page .select2-container--default .select2-selection--single{min-height:48px;border:1px solid #d8d5cf;border-radius:8px;background:#fff;padding:10px 12px;color:#242629;box-shadow:none}
.esq-checkout-page .woocommerce form .form-row input.input-text:focus,.esq-checkout-page .woocommerce form .form-row textarea:focus,.esq-checkout-page .select2-container--default.select2-container--focus .select2-selection--single{border-color:#9e9992;box-shadow:0 0 0 4px rgba(216,100,24,.09);outline:0}
.esq-checkout-page .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:26px!important;padding-left:0!important}
.esq-checkout-page .select2-container--default .select2-selection--single .select2-selection__arrow{height:46px!important}
.esq-checkout-page .woocommerce-checkout-review-order-table .product-name{font-weight:680}
.esq-checkout-page .woocommerce-checkout-review-order-table .order-total th,.esq-checkout-page .woocommerce-checkout-review-order-table .order-total td{font-size:.92rem!important;font-weight:800!important}

/* Product and cart mobile safety. */
@media(max-width:1023px){
  .esq-checkout-page .woocommerce-checkout{grid-template-columns:1fr!important;gap:26px!important}
  .esq-checkout-page #customer_details,.esq-checkout-page #order_review_heading,.esq-checkout-page #order_review{grid-column:1!important}
  .esq-checkout-page #order_review{position:static!important}
}
@media(max-width:767px){
  .woo-main{padding:18px 0 48px!important}
  .single-product div.product{display:block!important;width:100%!important}
  .single-product div.product .summary{width:100%!important;margin-top:24px!important;padding-left:0!important}
  .single-product .woocommerce-product-gallery{width:100%!important;float:none!important}
  .single-product .woocommerce-product-gallery__image{padding:10px!important}
  .single-product .woocommerce-product-gallery__image img{max-height:420px!important;object-fit:contain!important}
  .single-product .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
  .single-product form.cart,.single-product .variations_form.cart .woocommerce-variation-add-to-cart{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  .single-product form.cart .quantity{width:104px!important}
  .single-product form.cart .single_add_to_cart_button{width:100%!important}
  .woocommerce-cart table.shop_table_responsive tr{display:block;border-bottom:1px solid var(--line);padding:10px 0}
  .woocommerce-cart table.shop_table_responsive td{display:flex!important;align-items:center;justify-content:space-between;gap:12px;text-align:right!important}
  .woocommerce-cart table.shop_table_responsive td::before{float:none!important;text-align:left}
  .woocommerce-cart .cart-collaterals .cart_totals{width:100%!important}
  .esq-checkout-page{padding:30px 0 56px!important}
  .esq-checkout-card{padding:16px 13px!important;border-radius:11px!important}
  .esq-checkout-header{margin-bottom:20px!important}
  .esq-checkout-header h1{font-size:2rem!important}
  .esq-checkout-page #order_review{padding:14px!important}
  .esq-checkout-page .form-row-first,.esq-checkout-page .form-row-last{float:none!important;width:100%!important}
}
@media(max-width:479px){
  .single-product div.product .product_title{font-size:1.8rem!important}
  .single-product .flex-control-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .esq-checkout-page #order_review table.shop_table th,.esq-checkout-page #order_review table.shop_table td{font-size:.72rem!important}
}


/* V1.6.1 — checkout WhatsApp follows native theme color settings. */
.esq-checkout-page #payment #place_order,
.woocommerce-checkout #place_order{
  border-radius:var(--button-radius-user,8px)!important;
  background:var(--whatsapp,#25D366)!important;
  color:#fff!important;
  box-shadow:var(--whatsapp-shadow-user,0 9px 22px rgba(37,211,102,.22))!important;
}
.esq-checkout-page #payment #place_order:hover,
.woocommerce-checkout #place_order:hover{
  background:var(--whatsapp-strong,#1EBE5D)!important;
}

/* 1.7.1 — variable-product pricing and purchase flow */
.product-card__price .esq-price-from-label{display:block;margin-bottom:1px;color:var(--color-gray-500);font-size:.68rem;font-weight:650;line-height:1.2}
.product-card__price .esq-price-from-value{display:block;color:var(--color-black);font-size:1.05rem;font-weight:820;line-height:1.2}
.esq-variable-price-prompt{display:block;color:var(--color-gray-700);font-size:.88rem;font-weight:700;line-height:1.45}
.single-product .summary>.price .esq-variable-price-prompt{font-size:.92rem}
.esq-qv-price .esq-variable-price-prompt{max-width:360px;font-size:.88rem;line-height:1.45}
.single-product .variations_form .woocommerce-variation-price,.esq-qv-purchase .woocommerce-variation-price{display:none!important}


/* v1.7.2 — product typography and variation clarity */
.single-product div.product .product_title {
  max-width: 18ch;
  font-size: clamp(1.85rem, 2.75vw, 2.75rem);
  line-height: 1.07;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.single-product .summary .price {
  font-size: clamp(1.4rem, 2vw, 1.7rem) !important;
  line-height: 1.15;
}
.single-product .woocommerce-product-details__short-description {
  max-width: 62ch;
  font-size: .94rem;
  line-height: 1.62;
}
.single-product .variations label {
  font-size: .8rem;
  font-weight: 750;
}
.single-product .variations select {
  font-size: .88rem;
  color: var(--color-gray-700);
}
.esq-variable-price-prompt {
  display: inline-block;
  max-width: 42ch;
  color: var(--color-gray-600);
  font-size: .9rem;
  font-weight: 650;
  line-height: 1.45;
}
@media (max-width: 680px) {
  .single-product div.product .product_title {
    max-width: 100%;
    font-size: clamp(1.72rem, 8vw, 2.2rem);
    line-height: 1.08;
  }
  .single-product .summary .price { font-size: 1.35rem !important; }
  .single-product .woocommerce-product-details__short-description { font-size: .9rem; }
}
