/*
Theme Name: XStore Child
Description: Customizações do tema XStore (folha de estilos principal do child theme).
Author: Andre
Template: xstore
Version: 1.0.0
Text Domain: xstore-child
*/

/* ===============================
   BOTÕES GRID – ESTILO SOFT
   (add to cart, «Ler mais», YITH, links .button no grid)
   =============================== */

   .etheme-product-grid-content .add_to_cart_button.etheme-product-grid-button,
   .etheme-product-grid-content a.add_to_cart_button,
   .etheme-product-grid-content a.button.etheme-product-grid-button,
   .etheme-product-grid-content a.button.alt:not(.single_add_to_cart_button),
   .etheme-product-grid-content .product-footer .button,
   .etheme-product-grid-content .product-footer a.button,
   .etheme-product-grid-content .product-footer a,
   .woocommerce ul.products li.product .product-footer .button,
   .woocommerce ul.products li.product .product-footer a.button,
   .woocommerce ul.products li.product .product-footer a,
   .woocommerce ul.products li.product .footer-product a.button,
   .yith-ywraq-add-to-quote .add-request-quote-button.button {
       display: flex !important;
       align-items: center;
       justify-content: center;
       box-sizing: border-box;
       width: 100%;
       max-width: 100%;
       height: 32px;
       padding: 0 14px;
       background: linear-gradient(180deg, #4aa6c7 0%, #3c94b6 100%) !important;
       color: #ffffff !important;
       border: none !important;
       border-radius: 6px;
       text-decoration: none;
       cursor: pointer;
       font-size: 11px;
       font-weight: 500;
       text-transform: uppercase;
       letter-spacing: 0.4px;
       line-height: 1;
       transition: all 0.2s ease;
       box-shadow: 0 4px 10px rgba(0,0,0,0.08);
   }

   .etheme-product-grid-content .add_to_cart_button.etheme-product-grid-button:hover,
   .etheme-product-grid-content a.add_to_cart_button:hover,
   .etheme-product-grid-content a.button.etheme-product-grid-button:hover,
   .etheme-product-grid-content a.button.alt:not(.single_add_to_cart_button):hover,
   .etheme-product-grid-content .product-footer .button:hover,
   .etheme-product-grid-content .product-footer a.button:hover,
   .etheme-product-grid-content .product-footer a:hover,
   .woocommerce ul.products li.product .product-footer a:hover,
   .yith-ywraq-add-to-quote .add-request-quote-button.button:hover,
   .single-product .summary .ag-product-quote-button .add-request-quote-button.button:hover {
       background: linear-gradient(180deg, #3c94b6 0%, #317f9e 100%) !important;
       box-shadow: 0 6px 14px rgba(0,0,0,0.12);
       color: #ffffff !important;
       transform: translateY(-1px);
   }

   .etheme-product-grid-content .add_to_cart_button.etheme-product-grid-button:active,
   .etheme-product-grid-content a.add_to_cart_button:active,
   .etheme-product-grid-content a.button.etheme-product-grid-button:active,
   .etheme-product-grid-content a.button.alt:not(.single_add_to_cart_button):active,
   .etheme-product-grid-content .product-footer .button:active,
   .etheme-product-grid-content .product-footer a:active,
   .yith-ywraq-add-to-quote .add-request-quote-button.button:active,
   .single-product .summary .ag-product-quote-button .add-request-quote-button.button:active {
       background: linear-gradient(180deg, #317f9e 0%, #296d88 100%) !important;
       box-shadow: 0 3px 8px rgba(0,0,0,0.08);
       transform: translateY(0);
   }

   /* =========================================
      XSTORE – ALINHAR BOTÕES NO GRID DE PRODUTOS
      ========================================= */

   .woocommerce ul.products,
   .woocommerce-page ul.products,
   ul.products.etheme-product-grid,
   .etheme-products-loop ul.products {
       align-items: stretch !important;
   }

   .woocommerce ul.products li.product,
   .woocommerce-page ul.products li.product,
   ul.products li.product.etheme-product-grid-item {
       display: flex;
       flex-direction: column;
       height: 100%;
       min-height: 0;
       align-self: stretch;
   }

   /* Ocupa toda a altura do cartão na linha — evita «buraco» branco abaixo */
   .woocommerce ul.products li.product .content-product {
       flex: 1 1 auto;
       display: flex;
       flex-direction: column;
       min-height: 100%;
       width: 100%;
   }

   /* YITH como último filho direto de .content-product */
   .woocommerce ul.products li.product .content-product:has( > .yith-ywraq-add-to-quote ) {
       display: grid;
       grid-template-columns: 1fr;
       grid-template-rows: auto minmax(0, 1fr) auto;
       align-content: stretch;
       min-height: 100%;
   }

   .woocommerce ul.products li.product .content-product:has( > .yith-ywraq-add-to-quote ) > .etheme-product-grid-content {
       min-height: 0;
       display: flex;
       flex-direction: column;
   }

   /* «Ler mais»: footer como último filho direto do card (alguns layouts XStore) */
   .woocommerce ul.products li.product .content-product:has( > .product-footer ) {
       display: grid;
       grid-template-columns: 1fr;
       grid-template-rows: auto minmax(0, 1fr) auto;
       min-height: 100%;
   }

   .woocommerce ul.products li.product .content-product:has( > .product-footer ) > .etheme-product-grid-content {
       min-height: 0;
       display: flex;
       flex-direction: column;
   }

   .woocommerce ul.products li.product .product-details,
   .woocommerce ul.products li.product .product-information,
   .woocommerce ul.products li.product .footer-product,
   .woocommerce ul.products li.product .etheme-product-grid-content {
       display: flex !important;
       flex-direction: column !important;
       flex: 1 1 auto;
       min-height: 0;
       gap: 0;
       row-gap: 0;
       align-items: stretch !important;
       justify-content: flex-start !important;
       border-collapse: separate !important;
       border-spacing: 0 !important;
   }

   .woocommerce ul.products li.product .product-image-wrapper,
   .woocommerce ul.products li.product .product-element-top {
       flex: 0 0 auto;
   }

   /* Só no contentor da zona da imagem (evita duplicar se wrapper for filho de .product-element-top). */
   .woocommerce ul.products li.product .product-element-top {
       margin-bottom: 14px !important;
   }

   .woocommerce ul.products li.product .product-image-wrapper,
   .woocommerce ul.products li.product .product-element-top,
   .woocommerce ul.products li.product .product-image,
   .woocommerce ul.products li.product .product-thumbnail {
       min-height: 150px;
       display: flex;
       align-items: flex-start;
       justify-content: center;
   }

   .woocommerce ul.products li.product img {
       max-height: 135px;
       width: auto;
       max-width: 100%;
       object-fit: contain;
       display: block;
       margin: 0 auto;
   }

   .woocommerce ul.products li.product .price,
   .woocommerce ul.products li.product .product-title,
   .woocommerce ul.products li.product .category-wrap,
   .woocommerce ul.products li.product .product-category {
       flex: 0 0 auto;
   }

   .woocommerce ul.products li.product .price {
       min-height: 0;
       margin-top: 0 !important;
       margin-bottom: 0 !important;
       padding: 0;
       line-height: 1.2;
       order: 98;
   }

   /* Categoria / título — sem reserva de altura fixa (evita «buracos» com 1 linha) */
   .woocommerce ul.products li.product .product-category,
   .woocommerce ul.products li.product .category-wrap,
   .woocommerce ul.products li.product .product-grid-category {
       min-height: 0;
       max-height: calc(1.15em * 2);
       margin-top: 0 !important;
       margin-bottom: 0 !important;
       padding: 0;
       line-height: 1.15;
       display: -webkit-box;
       line-clamp: 2;
       -webkit-line-clamp: 2;
       -webkit-box-orient: vertical;
       overflow: hidden;
   }

   .woocommerce ul.products li.product h2,
   .woocommerce ul.products li.product .product-title,
   .woocommerce ul.products li.product .woocommerce-loop-product__title,
   .woocommerce ul.products li.product .title {
       line-height: 1.15;
       min-height: 0;
       max-height: calc(1.15em * 2);
       margin-top: 0 !important;
       margin-bottom: 0 !important;
       padding: 0;
       display: -webkit-box;
       line-clamp: 2;
       -webkit-line-clamp: 2;
       -webkit-box-orient: vertical;
       overflow: hidden;
   }

   /* Hover nos títulos — Elementor etheme_product_grid: div.etheme-product-grid (sem ul.products/li.product).
      Markup: h2.woocommerce-loop-product__title.etheme-product-grid-title > a */
   .woocommerce .etheme-product-grid .etheme-product-grid-item h2.woocommerce-loop-product__title a,
   .woocommerce .etheme-product-grid .etheme-product-grid-item h2.etheme-product-grid-title a,
   .etheme-product-grid .etheme-product-grid-item h2.woocommerce-loop-product__title a,
   .etheme-product-grid .etheme-product-grid-item h2.etheme-product-grid-title a,
   .etheme-product-grid-item h2.woocommerce-loop-product__title a,
   .etheme-product-grid-item h2.etheme-product-grid-title a,
   .woocommerce ul.products li.product .woocommerce-loop-product__title a,
   .woocommerce ul.products li.product .product-title a,
   .woocommerce ul.products li.product h2 a,
   .woocommerce ul.products li.product .title a {
       text-decoration: none;
       transition: color 0.2s ease, text-decoration-color 0.2s ease;
   }

   .woocommerce .etheme-product-grid .etheme-product-grid-item h2.woocommerce-loop-product__title a:hover,
   .woocommerce .etheme-product-grid .etheme-product-grid-item h2.woocommerce-loop-product__title a:focus-visible,
   .woocommerce .etheme-product-grid .etheme-product-grid-item h2.etheme-product-grid-title a:hover,
   .woocommerce .etheme-product-grid .etheme-product-grid-item h2.etheme-product-grid-title a:focus-visible,
   .etheme-product-grid .etheme-product-grid-item h2.woocommerce-loop-product__title a:hover,
   .etheme-product-grid .etheme-product-grid-item h2.woocommerce-loop-product__title a:focus-visible,
   .etheme-product-grid .etheme-product-grid-item h2.etheme-product-grid-title a:hover,
   .etheme-product-grid .etheme-product-grid-item h2.etheme-product-grid-title a:focus-visible,
   .etheme-product-grid-item h2.woocommerce-loop-product__title a:hover,
   .etheme-product-grid-item h2.woocommerce-loop-product__title a:focus-visible,
   .etheme-product-grid-item h2.etheme-product-grid-title a:hover,
   .etheme-product-grid-item h2.etheme-product-grid-title a:focus-visible,
   .woocommerce ul.products li.product .woocommerce-loop-product__title a:hover,
   .woocommerce ul.products li.product .woocommerce-loop-product__title a:focus-visible,
   .woocommerce ul.products li.product .product-title a:hover,
   .woocommerce ul.products li.product .product-title a:focus-visible,
   .woocommerce ul.products li.product h2 a:hover,
   .woocommerce ul.products li.product h2 a:focus-visible,
   .woocommerce ul.products li.product .title a:hover,
   .woocommerce ul.products li.product .title a:focus-visible {
       color: #3c94b6 !important;
       text-decoration: underline !important;
       text-decoration-thickness: 2px;
       text-underline-offset: 3px;
   }

   /* Loop clássico: <h2> dentro do link do cartão */
   .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .woocommerce-loop-product__title,
   .woocommerce ul.products li.product a.woocommerce-loop-product__link .woocommerce-loop-product__title {
       transition: color 0.2s ease, text-decoration-color 0.2s ease;
   }

   .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title,
   .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus-visible .woocommerce-loop-product__title,
   .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .woocommerce-loop-product__title,
   .woocommerce ul.products li.product a.woocommerce-loop-product__link:focus-visible .woocommerce-loop-product__title {
       color: #3c94b6 !important;
       text-decoration: underline !important;
       text-decoration-thickness: 2px;
       text-underline-offset: 3px;
   }

   .etheme-product-grid .etheme-product-grid-item a.woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title,
   .etheme-product-grid .etheme-product-grid-item a.woocommerce-LoopProduct-link:focus-visible .woocommerce-loop-product__title,
   .etheme-product-grid-item a.woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title,
   .etheme-product-grid-item a.woocommerce-LoopProduct-link:focus-visible .woocommerce-loop-product__title {
       color: #3c94b6 !important;
       text-decoration: underline !important;
       text-decoration-thickness: 2px;
       text-underline-offset: 3px;
   }

   .woocommerce ul.products li.product .yith-ywraq-add-to-quote,
   .woocommerce ul.products li.product .button-wrap,
   .woocommerce ul.products li.product .footer-product-buttons,
   .woocommerce ul.products li.product .product-details-buttons,
   .woocommerce ul.products li.product .etheme-product-grid-content > .button,
   .woocommerce ul.products li.product .etheme-product-grid-content > a.button,
   .woocommerce ul.products li.product .etheme-product-grid-content .product-footer,
   .woocommerce ul.products li.product .product-footer {
       margin-top: auto !important;
       padding-top: 0;
       width: 100%;
       order: 99;
       box-sizing: border-box;
   }

   .woocommerce ul.products li.product:not(:has(.price)) .etheme-product-grid-content::after {
       content: "";
       display: block;
       min-height: 1.4em;
       margin-bottom: 0;
       order: 98;
   }

   /* =====================================================
      XSTORE / ELEMENTOR LOOP REAL
      A loja usa .etheme-product-grid-item em vez de li.product
      ===================================================== */

   .etheme-product-grid .etheme-product-grid-item,
   .etheme-product-grid-item.product {
       display: flex;
       flex-direction: column;
       height: 100%;
   }

   /* Mesma área útil para a imagem; imagem ao topo da caixa (center + min-height criava «ar» por baixo da foto). */
   .etheme-product-grid .etheme-product-grid-image,
   .etheme-product-grid-item .etheme-product-grid-image {
       flex: 0 0 auto;
       display: flex;
       align-items: flex-start;
       justify-content: center;
       min-height: 150px;
       box-sizing: border-box;
       margin-bottom: 14px !important;
   }

   .etheme-product-grid .etheme-product-grid-image img,
   .etheme-product-grid-item .etheme-product-grid-image img {
       max-height: 135px;
       width: auto;
       max-width: 100%;
       object-fit: contain;
       display: block;
   }

   /* Categorias da grelha: regras finais em css/fisio-etheme-grid-categories.css (carregamento tardio). */

   .woocommerce .etheme-product-grid .etheme-product-grid-item h2.etheme-product-grid-title,
   .woocommerce .etheme-product-grid .etheme-product-grid-item h2.woocommerce-loop-product__title,
   .etheme-product-grid .etheme-product-grid-item h2.etheme-product-grid-title,
   .etheme-product-grid .etheme-product-grid-item h2.woocommerce-loop-product__title {
       flex: 0 0 auto;
       line-height: 1.25;
       min-height: 0;
       max-height: calc(1.3em * 2);
       margin-top: 0;
       margin-bottom: 0;
       padding: 0;
       display: -webkit-box;
       -webkit-line-clamp: 2;
       -webkit-box-orient: vertical;
       overflow: hidden;
   }

   /* XStore: .etheme-product-grid-content costuma vir com display:table + filhos table-cell (espaçamento tipo grelha). */
   .etheme-product-grid .etheme-product-grid-content,
   .etheme-product-grid-item .etheme-product-grid-content,
   .woocommerce ul.products li.product .etheme-product-grid-content {
       display: flex !important;
       flex-direction: column !important;
       flex: 1 1 auto;
       min-height: 0;
       gap: 0;
       row-gap: 0;
       align-items: stretch !important;
       justify-content: flex-start !important;
       border-collapse: separate !important;
       border-spacing: 0 !important;
       table-layout: auto !important;
   }

   .woocommerce .etheme-product-grid .etheme-product-grid-content > *,
   .etheme-product-grid .etheme-product-grid-content > *,
   .etheme-product-grid-item .etheme-product-grid-content > *,
   .woocommerce ul.products li.product .etheme-product-grid-content > * {
       display: block !important;
       float: none !important;
       width: 100%;
       max-width: 100%;
       box-sizing: border-box;
   }

   .etheme-product-grid .etheme-product-grid-content > a.add_to_cart_button,
   .etheme-product-grid .etheme-product-grid-content > a.button,
   .etheme-product-grid .etheme-product-grid-content > .ajax_add_to_cart,
   .etheme-product-grid .etheme-product-grid-content > .etheme-product-grid-button,
   .etheme-product-grid-item .etheme-product-grid-content > a.add_to_cart_button,
   .etheme-product-grid-item .etheme-product-grid-content > a.button,
   .etheme-product-grid-item .etheme-product-grid-content > .ajax_add_to_cart,
   .etheme-product-grid-item .etheme-product-grid-content > .etheme-product-grid-button,
   .woocommerce ul.products li.product .etheme-product-grid-content > a.add_to_cart_button,
   .woocommerce ul.products li.product .etheme-product-grid-content > a.button,
   .woocommerce ul.products li.product .etheme-product-grid-content > .ajax_add_to_cart,
   .woocommerce ul.products li.product .etheme-product-grid-content > .etheme-product-grid-button {
       display: flex !important;
       align-items: center;
       justify-content: center;
   }

   /* Folga mínima imagem → texto (subir categoria / título / preço) */
   .elementor-widget-etheme_product_grid .etheme-product-grid .etheme-product-grid-content,
   .woocommerce .etheme-product-grid .etheme-product-grid-content,
   .etheme-product-grid .etheme-product-grid-content,
   .woocommerce ul.products li.product .etheme-product-grid-content {
       padding-top: 2px !important;
       padding-bottom: 0 !important;
       box-sizing: border-box;
   }

   .elementor-widget-etheme_product_grid .elementor-widget-container {
       padding-block-start: 0 !important;
       padding-block-end: 0 !important;
   }

   /* Preço colado ao título; só uma folga mínima antes do botão */
   .etheme-product-grid .etheme-product-grid-content .price,
   .etheme-product-grid-item .etheme-product-grid-content .price {
       min-height: 0;
       margin-top: 0 !important;
       margin-bottom: 0 !important;
       padding: 0;
       line-height: 1.2;
       order: 98;
   }

   /* Tipografia do preço: css/fisio-etheme-grid-price.css */

   /* CTA colado ao fundo do cartão (margin-top: auto) — ver fisio-etheme-grid-price.css */
   .etheme-product-grid .etheme-product-grid-content .yith-ywraq-add-to-quote,
   .etheme-product-grid .etheme-product-grid-content > .etheme-product-grid-button,
   .etheme-product-grid .etheme-product-grid-content > a.button,
   .etheme-product-grid .etheme-product-grid-content .product-footer,
   .etheme-product-grid-item .etheme-product-grid-content .yith-ywraq-add-to-quote,
   .etheme-product-grid-item .etheme-product-grid-content > .etheme-product-grid-button,
   .etheme-product-grid-item .etheme-product-grid-content > a.button,
   .etheme-product-grid-item .etheme-product-grid-content .product-footer {
       margin-top: auto !important;
       padding-top: 0;
       width: 100%;
       order: 99;
       box-sizing: border-box;
   }

   /* Placeholder: fisio-etheme-grid-price.css (1.4em ≈ linha de preço) */
   .etheme-product-grid .etheme-product-grid-item:not(:has(.price)) .etheme-product-grid-content::after,
   .etheme-product-grid-item:not(:has(.price)) .etheme-product-grid-content::after {
       content: "";
       display: block;
       min-height: 1.4em;
       margin-bottom: 0;
       order: 98;
   }

   /* =========================================
      SINGLE PRODUCT – APROXIMAÇÃO VISUAL AO LAYOUT ANTIGO
      ========================================= */

   .single-product .summary .woocommerce-product-details__short-description,
   .single-product .summary > p:not(.stock),
   .single-product .elementor-widget-woocommerce-product-etheme_short_description,
   .single-product .elementor-widget-woocommerce-product-etheme_short_description .woocommerce-product-details__short-description {
       display: none !important;
   }

   /* Nota: não usar order: N em widgets Elementor — sobrepõe a ordem definida no editor. */

   .single-product .summary,
   .single-product .summary.entry-summary,
   .single-product .woocommerce-tabs,
   .single-product .widget_product_categories,
   .single-product .sidebar-widget,
   .single-product .shop-sidebar .widget,
   .single-product .etheme-sticky-panel {
       border: 0 !important;
       box-shadow: none !important;
   }

   .single-product .elementor-element-3edc54f0 .elementor-column,
   .single-product .elementor-element-3edc54f0 .elementor-widget-wrap,
   .single-product .elementor-element-3edc54f0 .elementor-widget-container,
   .single-product .elementor-element-3edc54f0 .elementor-column-wrap,
   .single-product .elementor-element-3edc54f0 .elementor-element-populated,
   .single-product .elementor-element-3edc54f0 .widget_product_categories,
   .single-product .elementor-element-3edc54f0 .product-categories {
       border: 0 !important;
       box-shadow: none !important;
       outline: 0 !important;
   }

   .single-product .et-advance-tabs,
   .single-product .et-tabs-nav,
   .single-product .et-tabs-content,
   .single-product .et-tab-content,
   .single-product .woocommerce-Tabs-panel {
       border: 0 !important;
       box-shadow: none !important;
   }

   .single-product .summary .ag-product-meta-block {
       display: flex;
       flex-direction: column;
       gap: 0;
       margin-top: 15px;
   }

   .single-product .summary .ag-product-top-meta {
       display: flex;
       flex-direction: column;
       gap: 10px;
       padding-bottom: 14px;
       margin-bottom: 0;
       border-bottom: 1px solid #cfcfcf;
   }

   .single-product .summary .ag-product-meta-line {
       margin: 0 0 8px;
       line-height: 1.5;
       font-size: 15px;
       color: #777;
   }

   .single-product .summary .ag-product-meta-line:last-child {
       margin-bottom: 0;
   }

   .single-product .summary .ag-product-top-meta .ag-product-meta-line {
       display: flex;
       align-items: flex-start;
   }

   .single-product .summary .ag-product-meta-line strong {
       color: #888;
       font-weight: normal;
   }

   .single-product .summary .ag-product-top-meta .ag-product-meta-line strong {
       width: 140px;
       flex-shrink: 0;
   }

   .single-product .summary .ag-stock-status.out-of-stock {
       color: #f27474;
   }

   .single-product .summary .ag-stock-status.in-stock {
       color: #77a464;
   }

   .single-product .summary .ag-product-meta-line a {
       color: #5bc0de;
       text-decoration: none;
   }

   .single-product .summary .ag-product-meta-line a:hover {
       color: #31b0d5;
   }

   /* Estilos do [ag_product_summary_block]: ver css/fisio-product-summary-block.css (enqueue em functions.php) */

   .single-product .summary .ag-product-short-description:not(.ag-product-summary-description) {
       padding-top: 14px;
       margin-top: 0;
       border-top: 0;
       padding-bottom: 14px;
       margin-bottom: 14px;
       border-bottom: 1px solid #cfcfcf;
       color: #888;
       font-size: 15px;
       line-height: 1.6;
   }

   .single-product .summary .ag-product-short-description p {
       margin: 0 0 10px;
   }

   .single-product .summary .ag-product-short-description p:last-child {
       margin-bottom: 0;
   }

   .single-product .summary .ag-product-quote-button:not(.ag-product-primary-action) {
       margin-bottom: 24px;
       margin-top: 2px;
   }

   .single-product .summary .ag-product-quote-button .add-request-quote-button.button {
       display: inline-flex !important;
       align-items: center;
       justify-content: center;
       width: auto;
       min-width: 170px;
       height: 42px;
       padding: 0 22px;
       text-transform: none;
       font-size: 15px;
       font-weight: 400;
       border-radius: 3px;
       background: #2ba6d5 !important;
       box-shadow: none;
   }

   .single-product .summary .ag-product-quote-button .add-request-quote-button.button:hover {
       background: #228eb8 !important;
       box-shadow: none;
   }

   .single-product .summary .ag-product-quote-button .add-request-quote-button.button:active {
       background: #1c7a9e !important;
       box-shadow: none;
   }

   /* Categorias/tags emitidas no fim do [ag_product_meta_block] (depois do botão) */
   .single-product .summary .ag-product-meta-block > .ag-product-cats-tags--after-quote {
       margin-top: 0;
       padding-top: 16px;
       border-top: 1px solid #cfcfcf;
   }

   /* Tabs do single product mais próximas do layout antigo */
   .single-product .woocommerce-tabs {
       margin-top: 22px;
       background: transparent;
       border: 0 !important;
       box-shadow: none !important;
   }

   .single-product .woocommerce-tabs .tabs.wc-tabs {
       display: flex;
       gap: 4px;
       margin: 0;
       padding: 0;
       border: 0 !important;
       background: transparent;
   }

   .single-product .woocommerce-tabs .et-woocommerce-tab {
       margin: 0;
       border: 1px solid #dbe3ea !important;
       border-bottom: 0 !important;
       background: #e8edf2;
       border-radius: 0;
       overflow: hidden;
       box-shadow: none;
   }

   .single-product .woocommerce-tabs .et-woocommerce-tab a {
       display: block;
       padding: 11px 18px;
       color: #4f5b67;
       font-size: 14px;
       font-weight: 500;
       line-height: 1.2;
       text-decoration: none;
   }

   .single-product .woocommerce-tabs .et-woocommerce-tab.active {
       background: transparent !important;
       border-color: #33475b !important;
   }

   .single-product .woocommerce-tabs .et-woocommerce-tab.active a {
       background: #33475b !important;
       color: #ffffff !important;
   }

   .single-product .woocommerce-tabs .woocommerce-Tabs-panel {
       margin: 0;
       padding: 18px 8px 10px 0;
       background: transparent;
       border: 0 !important;
       border-radius: 0;
   }

   .single-product .woocommerce-tabs .woocommerce-Tabs-panel ul {
       margin: 0 0 10px;
       padding-left: 18px;
   }

   .single-product .woocommerce-tabs .woocommerce-Tabs-panel li {
       margin-bottom: 6px;
       line-height: 1.5;
   }

   .single-product .woocommerce-tabs .woocommerce-Tabs-panel p {
       margin: 0 0 12px;
       line-height: 1.55;
   }

   .single-product .woocommerce-tabs .woocommerce-Tabs-panel p:empty {
       display: none;
   }

   .single-product .woocommerce-tabs .woocommerce-Tabs-panel h2,
   .single-product .woocommerce-tabs .woocommerce-Tabs-panel h3 {
       margin: 0 0 14px;
       color: #1f2937;
       font-size: 18px;
       font-weight: 600;
       line-height: 1.25;
   }

   .single-product .woocommerce-tabs .woocommerce-Reviews-title,
   .single-product .woocommerce-tabs .comment-reply-title {
       color: #1f2937;
       font-size: 20px;
       font-weight: 600;
       line-height: 1.25;
   }

   .single-product .woocommerce-tabs .comment-form label {
       display: block;
       margin-bottom: 6px;
       font-weight: 600;
   }

   .single-product .woocommerce-tabs .comment-form input,
   .single-product .woocommerce-tabs .comment-form textarea,
   .single-product .woocommerce-tabs .comment-form select {
       border: 1px solid #d7dee7;
       border-radius: 4px;
       box-shadow: none;
   }

   /* =========================================
      SHORTCODE – SIDEBAR DE CATEGORIAS DO PRODUTO
      Uso: [ag_product_categories_sidebar]
      ========================================= */

   .ag-product-sidebar-cats-widget {
       background: #ffffff;
       border: 1px solid #e6ebf1;
       border-radius: 4px;
       overflow: hidden;
   }

   .ag-product-sidebar-cats-title {
       margin: 0;
       padding: 14px 16px;
       background: #33475b;
       color: #ffffff;
       font-size: 16px;
       font-weight: 500;
       line-height: 1.2;
       text-transform: none;
   }

   .ag-product-sidebar-cats-body {
       padding: 14px 16px 16px;
   }

   .ag-product-sidebar-root + .ag-product-sidebar-root {
       margin-top: 8px;
   }

   .ag-product-sidebar-root-details,
   .ag-product-sidebar-cats-details {
       display: block;
   }

   .ag-product-sidebar-root-summary,
   .ag-product-sidebar-cats-summary {
       list-style: none;
       cursor: pointer;
   }

   .ag-product-sidebar-root-summary::-webkit-details-marker,
   .ag-product-sidebar-cats-summary::-webkit-details-marker {
       display: none;
   }

   .ag-product-sidebar-root-summary {
       display: flex;
       align-items: center;
       justify-content: space-between;
       gap: 12px;
       padding: 0 0 8px;
       border-bottom: 1px solid #bfe2f3;
       color: #24a0da;
       font-size: 15px;
       font-weight: 600;
       line-height: 1.35;
   }

   .ag-product-sidebar-root-link {
       display: block;
       padding: 0 0 8px;
       border-bottom: 1px solid #bfe2f3;
       color: #24a0da;
       font-size: 15px;
       font-weight: 600;
       line-height: 1.35;
       text-decoration: none;
   }

   .ag-product-sidebar-root-toggle {
       position: relative;
       flex: 0 0 18px;
       width: 18px;
       height: 18px;
       border: 1px solid #d9edf7;
       border-radius: 3px;
       background: #f7fbfe;
   }

   .ag-product-sidebar-root-toggle::before,
   .ag-product-sidebar-root-toggle::after {
       content: "";
       position: absolute;
       left: 50%;
       top: 50%;
       background: #7fb4cf;
       transform: translate(-50%, -50%);
   }

   .ag-product-sidebar-root-toggle::before {
       width: 8px;
       height: 1px;
   }

   .ag-product-sidebar-root-toggle::after {
       width: 1px;
       height: 8px;
   }

   .ag-product-sidebar-root-details[open] > .ag-product-sidebar-root-summary .ag-product-sidebar-root-toggle::after {
       display: none;
   }

   .ag-product-sidebar-cats-level {
       margin: 8px 0 0;
       padding: 0 0 0 14px;
       list-style: none;
   }

   .ag-product-sidebar-cats-item + .ag-product-sidebar-cats-item {
       margin-top: 6px;
   }

   .ag-product-sidebar-cats-summary,
   .ag-product-sidebar-cats-link {
       display: block;
       color: #6b7280;
       font-size: 14px;
       line-height: 1.45;
       text-decoration: none;
   }

   .ag-product-sidebar-cats-item.is-active > .ag-product-sidebar-cats-link,
   .ag-product-sidebar-root.is-active > .ag-product-sidebar-root-details > .ag-product-sidebar-root-summary,
   .ag-product-sidebar-root.is-active > .ag-product-sidebar-root-link {
       color: #1f2937;
   }

   /* Produtos visualizados recentemente: ver css/fisio-recently-viewed-products.css (enqueue em functions.php). */

   /* =========================================
      WIDGET WOOCOMMERCE - DROPDOWN DE CATEGORIAS
      SelectWoo para labels longos sem overflow
      ========================================= */

   .widget_product_categories select.ag-product-cat-select {
       position: absolute !important;
       width: 1px !important;
       height: 1px !important;
       padding: 0 !important;
       margin: -1px !important;
       overflow: hidden !important;
       clip: rect(0, 0, 0, 0) !important;
       white-space: nowrap !important;
       border: 0 !important;
   }

   .widget_product_categories select.ag-product-cat-select + .select2-container {
       width: 100% !important;
       max-width: 100%;
       margin-top: 12px;
       box-sizing: border-box;
   }

   .widget_product_categories.ag-product-cat-widget,
   .widget_product_categories.ag-product-cat-widget .widget-title,
   .widget_product_categories.ag-product-cat-widget .product-categories,
   .widget_product_categories.ag-product-cat-widget .ag-product-cat-select-wrap {
       overflow: visible !important;
   }

   .widget_product_categories.ag-product-cat-widget {
       position: relative;
       z-index: 20;
   }

   .widget_product_categories.ag-product-cat-widget .ag-product-cat-select-wrap {
       position: relative;
       width: 100%;
   }

   .widget_product_categories select.ag-product-cat-select + .select2-container .select2-selection--single {
       height: auto !important;
       min-height: 52px;
       padding: 12px 44px 12px 14px;
       border: 1px solid #d7dee7;
       border-radius: 0;
       border-width: 0 0 1px 0;
       background: #ffffff;
       box-shadow: none;
       box-sizing: border-box;
   }

   .widget_product_categories select.ag-product-cat-select + .select2-container .select2-selection__rendered {
       display: block;
       padding: 0 !important;
       color: #33475b !important;
       white-space: normal !important;
       word-break: break-word;
       overflow: visible !important;
       text-overflow: unset !important;
       font-size: 15px;
       font-weight: 600;
       line-height: 1.4 !important;
   }

   .widget_product_categories select.ag-product-cat-select + .select2-container .select2-selection__arrow {
       position: absolute;
       top: 50%;
       right: 10px;
       width: 24px;
       height: 24px;
       transform: translateY(-50%);
   }

   .widget_product_categories select.ag-product-cat-select + .select2-container .select2-selection__placeholder {
       color: #6b7280;
   }

   .widget_product_categories select.ag-product-cat-select + .select2-container .select2-selection__arrow b {
       border-color: #8b95a1 transparent transparent transparent;
       border-width: 5px 4px 0 4px;
   }

   .ag-product-cat-dropdown {
       border-color: #d7dee7;
       border-radius: 6px;
       overflow: hidden;
       box-shadow: 0 10px 24px rgba(15, 23, 42, 0.16);
   }

   .widget_product_categories.ag-product-cat-widget .ag-product-cat-select-wrap .ag-product-cat-dropdown {
       left: auto !important;
       right: 0 !important;
       min-width: 100% !important;
       width: min(420px, calc(100vw - 24px)) !important;
       max-width: calc(100vw - 24px);
       margin-top: 6px;
   }

   .ag-product-cat-dropdown .select2-search--dropdown {
       padding: 10px;
       background: #ffffff;
       box-sizing: border-box;
   }

   .ag-product-cat-dropdown .select2-search--dropdown .select2-search__field {
       min-height: 38px;
       border: 1px solid #d7dee7 !important;
       border-radius: 4px;
       padding: 8px 10px !important;
       box-sizing: border-box;
   }

   .ag-product-cat-dropdown .select2-results__option {
       white-space: normal !important;
       word-break: break-word;
       line-height: 1.4;
       padding: 10px 12px;
       font-size: 13px;
   }

   .ag-selectwoo-option,
   .ag-selectwoo-selection-label {
       display: block;
       white-space: normal;
       word-break: break-word;
   }

   .ag-selectwoo-option {
       max-width: 100%;
   }

   .ag-product-cat-dropdown .select2-results__option--highlighted[aria-selected],
   .ag-product-cat-dropdown .select2-results__option--highlighted[data-selected] {
       background: #1f7eb6 !important;
       color: #ffffff !important;
   }

   .widget_product_categories select.ag-product-cat-select + .select2-container .ag-selectwoo-selection-label {
       font-size: 15px;
       line-height: 1.4;
   }

/* -----------------------------------------------------------------
   Página de produto: espaço entre a zona de cima (galeria / resumo) e o bloco
   «Descrição» / «Avaliações». O markup das abas é do WooCommerce; o XStore define
   o aspeto base — aqui só acrescentamos separação vertical no child theme.
   ----------------------------------------------------------------- */
.single-product div.product .woocommerce-tabs.wc-tabs-wrapper,
.single-product div.product .woocommerce-tabs {
	margin-top: clamp(1.75rem, 5vw, 3rem);
}

/* Linha sob as abas: WooCommerce clássico usa ul.tabs::before; XStore Elementor usa div.tabs.wc-tabs
   e a linha visível costuma ser border-top em .woocommerce-Tabs-panel (CSS do Elementor com !important). */
.single-product .woocommerce-tabs ul.tabs,
.single-product .woocommerce-tabs .tabs.wc-tabs,
.single-product .woocommerce-tabs div.tabs.wc-tabs {
	border-bottom: none !important;
	box-shadow: none !important;
}

.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs .tabs.wc-tabs::before,
.single-product .woocommerce-tabs div.tabs.wc-tabs::before {
	border: none !important;
	box-shadow: none !important;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .panel {
	border-top: none !important;
	box-shadow: none !important;
}

/* Maior especificidade para vencer regras do tema (sem depender da ordem de carregamento) */
body.single-product .woocommerce-tabs.wc-tabs-wrapper .woocommerce-Tabs-panel.panel {
	border-top: none !important;
	box-shadow: none !important;
}

/* Linha/caixa à volta da zona Descrição/Avaliações: vem do estilo da coluna Elementor (não das abas WC).
   Template single product #1764 — coluna .elementor-element-7aacef7 > .elementor-element-populated */
.single-product .elementor-1764 .elementor-element.elementor-element-7aacef7 > .elementor-element-populated {
	border: none !important;
	box-shadow: none !important;
}
