/*
Theme Name: Loja Online - BRUM Estética Automotiva
Theme URI: https:loja.brumesteticaautomotiva.com.br
Author: Projector Marketing 
Author URI: https:projectormarketing.com.br
Description: Tema customizado premium para WooCommerce da BRUM Estética Automotiva
Version: 0.1.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: loja
*/

/* CSS específicos são enfileirados por página via PHP */

:root{ --header-h: 128px; --font-main: 'Raleway', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif; }
@media (max-width: 900px){ :root{ --header-h: 72px; } }

* {
    padding: 0;
    margin: 0;
 }

html, body{ height:100%; }
body{ min-height:100vh; display:flex; flex-direction:column; }
#primary{ flex:1 0 auto; }
#site-footer{ margin-top:auto; }

 li {
    list-style: none;
 }

a {
    text-decoration: none;
    color: inherit;
 }

.woocommerce-account .woocommerce{ max-width: 1240px; margin: 16px auto; padding:16px; display: block; }
.woocommerce-account .woocommerce-MyAccount-navigation{ background: #0b0b0b; color: #fff; border-radius: 8px; padding: 16px; box-shadow: 0 10px 30px rgba(0,0,0,.25); border: 1px solid #222; }
.woocommerce-account .woocommerce-MyAccount-navigation{ grid-column: 1; position: sticky; top: 16px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.woocommerce-account .woocommerce-MyAccount-navigation li{ margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a{ color: #fff; text-decoration: none; display: inline-flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 6px; transition: background-color .2s ease, color .2s ease; }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover{ background: #121212; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ background: #e11d29; color: #fff; }

.woocommerce-account .woocommerce-MyAccount-content{ background: #fff; border-radius: 8px; padding: 18px; box-shadow: 0 10px 30px rgba(0,0,0,.08); border: 1px solid #e5e7eb; grid-column: 2; }
.woocommerce-account .woocommerce-MyAccount-content h2, .woocommerce-account .woocommerce-MyAccount-content h3{ color: #0f172a; margin: 0 0 12px; }
.woocommerce-account .woocommerce-MyAccount-content p{ color: #374151; }

.woocommerce-account .woocommerce-MyAccount-content form .form-row{ display: grid; grid-template-columns: 1fr; gap: 8px; margin-bottom: 12px; }
.woocommerce-account .woocommerce-MyAccount-content input[type=text],
.woocommerce-account .woocommerce-MyAccount-content input[type=email],
.woocommerce-account .woocommerce-MyAccount-content input[type=password],
.woocommerce-account .woocommerce-MyAccount-content input[type=tel],
.woocommerce-account .woocommerce-MyAccount-content select,
.woocommerce-account .woocommerce-MyAccount-content textarea{ border: 1px solid #e5e7eb; border-radius: 6px; padding: 10px 12px; background: #fff; color: #111; }
.woocommerce-account .woocommerce-MyAccount-content textarea{ min-height: 100px; }

.woocommerce-account .woocommerce-MyAccount-content .button, .woocommerce-account .woocommerce-MyAccount-content a.button, .woocommerce-account .woocommerce-MyAccount-content button[type=submit]{ display: inline-block; text-align: center; padding: 12px 14px; background: #e11d29; color: #fff; border-radius: 6px; text-decoration: none; font-weight: 700; border: 0; cursor: pointer; }
.woocommerce-account .woocommerce-MyAccount-content .button:hover, .woocommerce-account .woocommerce-MyAccount-content a.button:hover, .woocommerce-account .woocommerce-MyAccount-content button[type=submit]:hover{ opacity: .95; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-input-wrapper{ position: relative; }
.woocommerce-account .woocommerce-MyAccount-content .show-password-input{ position: absolute; right: 8px; top: 50%; transform: translateY(-50%); }
.woocommerce-account .woocommerce-MyAccount-content .show-password-input button{ background: transparent; border: 0; color: #e11d29; width: 28px; height: 28px; border-radius: 6px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }

.woocommerce-account table.shop_table{ width: 100%; border-collapse: collapse; border: 1px solid #e5e7eb; border-radius: 8px; overflow: hidden; }
.woocommerce-account table.shop_table th, .woocommerce-account table.shop_table td{ padding: 12px; border-bottom: 1px solid #f1f5f9; }
.woocommerce-account table.shop_table thead th{ background: #f9fafb; color: #111827; text-transform: uppercase; font-weight: 700; font-size: 12px; }
.woocommerce-account table.shop_table tbody tr:nth-child(odd){ background: #fcfdff; }

.woocommerce-account .addresses .title h3{ color: #0f172a; }
.woocommerce-account .addresses .title a{ color: #e11d29; font-weight: 700; }
.woocommerce-account .addresses address{ background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 6px; padding: 12px; color: #111; }

@media (max-width: 900px){
  .woocommerce-account .woocommerce{ grid-template-columns: 1fr; }
}

/* My Account Topbar */
.account-topbar{ display:flex; align-items:center; justify-content:space-between; gap:16px; background:#fff; border:1px solid #e5e7eb; border-radius:4px; padding:16px; margin-bottom:16px; }
.account-greeting .hello{ color:#6b7280; font-size:14px; }
.account-greeting .name{ color:#0f172a; font-weight:800; font-size:20px; }
.account-nav ul{ display:flex; align-items:center; gap:8px; list-style:none; margin:0; padding:0; flex-wrap:nowrap; }
.account-nav .item{ flex:0 0 auto; }
.account-nav .item a{ display:inline-flex; align-items:center; gap:8px; padding:10px 12px; border-radius:999px; text-decoration:none; color:#0f172a; border:1px solid #e5e7eb; background:#f9fafb; }
.account-nav .item.active a{ background:#e11d29; color:#fff; border-color:#e11d29; }
.account-nav .item .icon{ display:none; }
.account-content{ background:#fff; border:1px solid #e5e7eb; border-radius:4px; padding:18px; }
.account-content h2{ color:#0f172a; font-weight:800; font-size:22px; margin:0 0 10px; }
.account-content h3{ color:#0f172a; font-weight:700; font-size:18px; margin:0 0 8px; }
.account-content p{ color:#374151; font-size:14px; }
.account-content mark, .woocommerce-account mark{ background: transparent; color: inherit; }
.account-content .shop_table{ border-radius:4px; border:1px solid #e5e7eb; overflow:hidden; }
.account-content .shop_table th, .account-content .shop_table td{ font-size:14px; }
.account-content .shop_table thead th{ background:#f9fafb; }
.account-content .shop_table tfoot th, .account-content .shop_table tfoot td{ font-weight:700; }

.shop-archive .shop-layout{ max-width:1240px; margin:24px auto ; padding:0 16px; display:grid; grid-template-columns: 300px 1fr; gap:24px; }
.shop-archive .shop-sidebar{ background:#fff; border:1px solid #e5e7eb; border-radius:4px; padding:16px; display:flex; flex-direction:column; gap:14px; }
.shop-archive .filter-title{ font-weight:800; text-transform:uppercase; color:#0f172a; margin-bottom:4px; }
.shop-archive .filter-group{ display:grid; gap:24px; border-top:1px solid #e5e7eb; padding-top:10px; }
.shop-archive .filter-group:first-of-type{ border-top:0; padding-top:0; }
.shop-archive .group-head{ display:flex; align-items:center; gap: 12px; }
.shop-archive .group-head .toggle{ background:transparent; border:0; color:#6b7280; cursor:pointer; font-size:18px; line-height:1; }
.shop-archive .group-title{ font-weight:700; color:#0f172a; }
.shop-archive .group-list{ list-style:none; padding:0; margin:0; display:grid; gap:6px; }
.shop-archive .group-list label{ display:flex; align-items:center; gap:8px; color:#111827; }
.shop-archive .group-list .parent{ margin-bottom:4px; }
.shop-archive .group-list .item{ padding-left:6px; }
.shop-archive .see-more{ background:transparent; border:0; color:#6b7280; text-align:left; cursor:pointer; font-size:12px; }
.shop-archive .price-range{ display:grid; grid-template-columns: 1fr; gap:10px; }
.shop-archive .price-slider{ position:relative; height:36px; }
.shop-archive .price-slider .slider-base{ position:absolute; left:0; right:0; height:4px; top:50%; transform:translateY(-50%); background:#e5e7eb; border-radius:999px; }
.shop-archive .price-slider .slider-track{ position:absolute; height:4px; top:50%; transform:translateY(-50%); background:#e11d29; border-radius:999px; }
.shop-archive .price-slider input[type=range]{ position:absolute; left:0; right:0; top:0; width:100%; height:36px; background:transparent; -webkit-appearance:none; appearance:none; }
.shop-archive .price-slider input[type=range]::-webkit-slider-runnable-track{ height:4px; background:transparent; }
.shop-archive .price-slider input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width:18px; height:18px; background:#fff; border:2px solid #e11d29; border-radius:50%; box-shadow:0 2px 6px rgba(0,0,0,.12); margin-top:-7px; }
.shop-archive .price-slider input[type=range]::-moz-range-track{ height:4px; background:transparent; }
.shop-archive .price-slider input[type=range]::-moz-range-thumb{ width:18px; height:18px; background:#fff; border:2px solid #e11d29; border-radius:50%; box-shadow:0 2px 6px rgba(0,0,0,.12); }
.shop-archive .price-values{ display:flex; align-items:center; justify-content:space-between; font-weight:700; color:#0f172a; font-family: var(--font-main); }
.shop-archive .price-values .sep{ color:#6b7280; font-weight:600; }
.shop-archive .shop-content{ display:grid; gap:16px; grid-template-rows: max-content ;}
.shop-archive .shop-toolbar{max-height: max-content; display:flex; align-items:center; justify-content:space-between; gap:12px; background:#fff; border:1px solid #e5e7eb; border-radius:4px; padding:12px 16px; box-shadow:0 10px 30px rgba(0,0,0,.06); }
.shop-archive .grid .empty-state{ grid-column: 1 / -1; display:flex; justify-content:center; }
.shop-archive .empty-state .card{ background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:32px; box-shadow:0 10px 30px rgba(0,0,0,.06); display:flex; flex-direction:column; align-items:center; text-align:center; }
.shop-archive .empty-state .icon{ width:48px; height:48px; border-radius:50%; border:1px solid #e5e7eb; display:flex; align-items:center; justify-content:center; color:#9ca3af; margin-bottom:12px; }
.shop-archive .empty-state .title{ font-weight:700; color:#0f172a; margin-bottom:8px; }
.shop-archive .empty-state .subtitle{ color:#374151; margin-bottom:16px; }
.shop-archive .empty-state .actions{ display:flex; justify-content:center; margin: 0 !important ;}
.shop-archive .shop-sidebar input.filter-term{ accent-color:#e11d29; }
.shop-archive .empty-state .btn{ background:#e11d29; color:#fff; border:none; border-radius:4px; padding:10px 14px; cursor:pointer; }
.shop-archive .empty-state .btn:hover{ opacity:.95; }
.shop-archive .shop-toolbar .toolbar-left{ display:flex; align-items:center; gap:12px; }
.shop-archive .shop-toolbar .toolbar-right{ display:flex; align-items:center; }
.shop-archive .results-count{ color:#6b7280; font-size:14px; font-weight:600; }
.shop-archive .filters-toggle{ gap:8px; }
.shop-archive .shop-toolbar .toolbar-left label {font-size: 14px;}
.shop-archive .filters-toggle svg{ margin-right:6px; display:inline-block; }
.shop-archive .filters-toggle:hover{ opacity:.95; }

/* Mobile header adjustments */
@media (max-width: 768px){
  .shop-archive .shop-toolbar{ flex-direction: column; align-items: stretch; gap: 10px; }
  .shop-archive .shop-toolbar .toolbar-left{ flex-direction: column; align-items: stretch; gap: 8px; }
  .shop-archive .filters-toggle{ width: 100%; justify-content: center; }
  .shop-archive #shop-orderby{ width: 100%; min-width: 0; }
  .shop-archive .orderby-dropdown .od-toggle{ width: 100%; min-width: 0; }
  .shop-archive .orderby-dropdown .od-menu{ width: 100%; max-width: none; }
  .shop-archive .shop-toolbar label[for="shop-orderby"]{ text-align: center; display: block; margin: 0 0 6px; color:#6b7280; font-size:13px; }
  .shop-archive .results-count{ text-align: center; font-size:12px; }
  .shop-archive .shop-toolbar .toolbar-right {display: inline ;}
  .shop-archive .filters-toggle {
   margin-bottom: 24px;
  }
  .shop-archive .shop-sidebar{
   border-radius: 0px;
  }
}
.shop-archive #shop-orderby{ font-family: var(--font-main); font-size:14px; font-weight:600; padding:10px 12px; border:1px solid #e5e7eb; border-radius:4px; background:#fff; color:#0f172a; min-width:220px; appearance:none; -webkit-appearance:none; -moz-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230f172a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; background-size:16px; padding-right:36px; }
.shop-archive #shop-orderby:focus{ outline:none; border-color:#e11d29; box-shadow:0 0 0 2px rgba(225,29,41,.12); }
.shop-archive #shop-orderby option{ font-family: var(--font-main); font-size:14px; font-weight:600; }
.shop-archive .shop-toolbar select.enhanced{ display:none; }
.shop-archive .orderby-dropdown{ position:relative; }
.shop-archive .orderby-dropdown .od-toggle{ font-family: var(--font-main); font-size:14px; font-weight:600; padding:10px 12px; border:1px solid #e5e7eb; border-radius:4px; background:#fff; color:#0f172a; min-width:160px; cursor:pointer; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230f172a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; background-size:16px; padding-right:36px; }
.shop-archive .orderby-dropdown .od-toggle:focus{ outline:none; border-color:#e11d29; box-shadow:0 0 0 2px rgba(225,29,41,.12); }
.shop-archive .orderby-dropdown .od-menu{ position:absolute; top:calc(100% + 6px); left:0; width:100%; max-width:280px; background:#fff; border:1px solid #e5e7eb; border-radius:4px; box-shadow:0 10px 30px rgba(0,0,0,.08); padding:6px 0; z-index:10; }
.shop-archive .orderby-dropdown .od-item{ padding:10px 12px; font-family: var(--font-main); font-size:14px; font-weight:600; color:#0f172a; cursor:pointer; }
.shop-archive .orderby-dropdown .od-item:hover{ background:#f9fafb; }
.shop-archive .orderby-dropdown .od-item.selected{ color:#e11d29; }
.shop-archive .grid{ grid-template-columns: repeat(4, minmax(0,1fr)); gap:16px; }
.shop-archive .card .add_to_cart_button, .shop-archive .card .button{font-size: 14px; display:block; text-align:center; padding:12px; background:#e11d29 !important; color:#fff !important; border-radius:4px; text-decoration:none; font-weight:700; text-transform: uppercase; transition: opacity .2s ease; }
.shop-archive .card .add_to_cart_button:hover, .shop-archive .card .button:hover{ background:#e11d29 !important; color:#fff !important; opacity:.95; }
.shop-archive .card a.added_to_cart{ display:none !important; }
.shop-archive .card .add_to_cart_button.added{ background:#e11d29 !important; color:#fff !important; }
.shop-archive .card .add_to_cart_button.added::after{ content:none !important; }
.shop-archive .card .add_to_cart_button.loading{ pointer-events:none; opacity:.9; }
.shop-archive .card .add_to_cart_button.loading::after{ content:none !important; }
@media (max-width: 768px){ .shop-archive .grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 1200px){ .shop-archive .shop-layout{ grid-template-columns: 1fr; } .shop-archive .shop-toolbar{ justify-content:flex-start; } }

.account-content form .form-row{ display:grid; grid-template-columns: 1fr; gap:8px; margin-bottom:12px; }
.account-content form .form-row label{ color:#0f172a; font-weight:600; font-size:14px; }
.account-content input[type=text],
.account-content input[type=email],
.account-content input[type=password],
.account-content input[type=tel],
.account-content select,
.account-content textarea{ border:1px solid #e5e7eb; border-radius:6px; padding:10px 12px; background:#fff; color:#111; }
.account-content textarea{ min-height:100px; }
.account-content input:focus,
.account-content select:focus,
.account-content textarea:focus{ outline:none; border-color:#e11d29; box-shadow:0 0 0 2px rgba(225,29,41,.12); }
.account-content .description{ color:#6b7280; font-size:12px; font-style:italic; }
.account-content fieldset{ border:1px solid #e5e7eb; border-radius:6px; padding:12px; background:#f9fafb; }
.account-content .woocommerce-input-wrapper{ position:relative; }
.account-content .show-password-input{ position:absolute; right:8px; top:50%; transform:translateY(-50%); }
.account-content .show-password-input button{ background:transparent; border:0; color:#e11d29; width:28px; height:28px; border-radius:6px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.account-content .button, .account-content a.button, .account-content button[type=submit]{ display:inline-block; text-align:center; padding:12px 14px; background:#e11d29; color:#fff; border-radius:6px; text-decoration:none; font-weight:700; border:0; cursor:pointer; }
.account-content .button:hover, .account-content a.button:hover, .account-content button[type=submit]:hover{ opacity:.95; }

/* Orders */
.orders-layout{ display:grid; grid-template-columns: 220px 1fr; gap:16px; }
.orders-filter{ background:#fff; border:1px solid #e5e7eb; border-radius:4px; padding:12px; display:flex; flex-direction:column; gap:6px; }
.orders-filter .filter{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 12px; border-radius:4px; text-decoration:none; color:#0f172a; border:1px solid transparent; }
.orders-filter .filter.active{ background:#0b0b0b; color:#fff; }
.orders-filter .badge{ background:#f3f4f6; color:#0f172a; border-radius:999px; min-width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; padding:0 6px; }
.orders-list{ display:flex; flex-direction:column; gap:16px; }
.order-card{ background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:12px; box-shadow: 0 6px 20px rgba(0,0,0,.06); }
.order-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.order-head .id{ font-weight:800; color:#0f172a; }
.order-head .meta{ display:flex; align-items:center; gap:10px; color:#6b7280; }
.order-items{ display:flex; flex-direction:column; gap:12px; }
.order-item{ display:grid; grid-template-columns: 56px 1fr; gap:12px; align-items:center; }
.order-item .thumb img{ width:56px; height:56px; object-fit:cover; border-radius:6px; display:block; }
.order-item .info .name{ color:#0f172a; font-weight:600; }
.order-item .info .qty, .order-item .info .price{ color:#6b7280; font-size:14px; }
.order-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:12px; }
.order-foot .total{ font-weight:800; color:#0f172a; }
.order-foot .details{ display:inline-block; text-align:center; padding:10px 12px; background:#0b0b0b; color:#fff; border-radius:999px; text-decoration:none; }

@media (max-width: 900px){
  .account-topbar{ flex-direction:column; align-items:flex-start; }
  .orders-layout{ grid-template-columns: 1fr; }
}

/* Mobile nav adaptation */
@media (max-width: 768px){
  .account-topbar{ padding:12px; gap:12px; }
  .account-nav{ position: relative; }
  .account-nav ul{ display:flex; align-items:center; gap:8px; overflow-x:auto; white-space:nowrap; -webkit-overflow-scrolling:touch; scroll-snap-type:x proximity; padding-bottom:4px; flex-wrap:wrap; width:100%; }
  .account-nav ul::-webkit-scrollbar{ display:none; }
  .account-nav .item{ flex:0 0 auto; scroll-snap-align:start; }
  .account-nav .item a{ padding:10px 12px; font-size:14px; }

}

/* Mobile typography tuning */
@media (max-width: 540px){
  .woocommerce-account{ font-size: 14px; }
  .account-greeting .hello{ font-size: 11px; }
  .account-greeting .name{ font-size: 15px; }
  .account-nav .item a{ font-size: 12px; padding: 8px 10px; }
  .account-content{ padding: 14px; }
  .account-content h2{ font-size: 16px; }
  .account-content h3{ font-size: 15px; }
  .account-content p{ font-size: 12px; }
  .woocommerce-account .addresses .title h3{ font-size: 16px; }
  .woocommerce-account .addresses p{ font-size: 12px; }
  .account-content .shop_table thead th{ font-size: 10px; }
  .shop-archive .card .add_to_cart_button, .shop-archive .card .button{
   padding: 8px;
  }
}
/* ===== Single Product ===== */
.single-product .container{ max-width: 1240px; margin: 0 auto; padding: 32px 10px; }
.single-product .product-layout{ display:grid; grid-template-columns: 1fr 1fr; gap:24px; }
.single-product .product-layout .gallery, .single-product .product-layout .summary{ align-self: start; }
.single-product .gallery{ display:grid; grid-template-columns: 100px 1fr; gap:16px; }
.single-product .thumbs{ display:flex; flex-direction:column; gap:12px; }
.single-product .thumb{ width:100px; height:100px; object-fit:cover; border:1px solid #eee; border-radius:6px; cursor:pointer; background:#fff; transition: box-shadow .15s ease, border-color .15s ease; }
.single-product .thumb:hover{ border-color:#d1d5db; box-shadow:0 2px 8px rgba(0,0,0,.06); }
.single-product .thumb.active{ outline:2px solid #e11d29; }
.single-product .main-image{ position: relative; background:#f3f4f6; border-radius:8px; height:520px; display:flex; align-items:center; justify-content:center; border:1px solid #eee; }
.single-product .main-image img.large{ max-width:100%; max-height:100%; border-radius:8px; }
.single-product .main-image .zoom-hint{ position:absolute; bottom:10px; right:12px; background:rgba(0,0,0,.6); color:#fff; padding:6px 8px; border-radius:6px; font-size:12px; }
.single-product .summary{ display:flex; flex-direction:column; gap:12px; }
.single-product .product-title{ font-size:22px; font-weight:800; color:#0f172a; margin:0; text-transform: uppercase; letter-spacing: 0.2px; }
.single-product .availability{ color:#374151; font-size:14px; }
.single-product .price{ font-size:28px; font-weight:800; color:#0f172a; line-height:1.2; }
.single-product .price del{ color:#9ca3af; font-size: 18px; font-weight: 600;}
.single-product .price ins{ text-decoration:none; }
.single-product .pix-price{ font-size:16px; color:#e11d29; font-weight:700; margin-top:2px; }
.single-product form.cart{ display:flex; align-items:flex-start; flex-direction: column; gap:12px; margin-top:18px; }
.single-product .cart .quantity input.qty{ width:36px; border:1px solid #e5e7eb; border-radius:4px; padding:8px 10px; font-weight:700; }
.single-product .qty-control{ display:inline-flex; align-items:center; border:1px solid #e5e7eb; border-radius:6px; overflow:hidden; background:#fff; }
.single-product .qty-control .qty-minus, .single-product .qty-control .qty-plus{ width:28px; height:36px; display:inline-flex; align-items:center; justify-content:center; background:#fff; color:#0f172a; border:0; cursor:pointer; font-size:16px; font-weight:800; }
.single-product .qty-control .qty-minus{ border-right:1px solid #e5e7eb; }
.single-product .qty-control .qty-plus{ border-left:1px solid #e5e7eb; }
.single-product .qty-control .qty-minus:hover, .single-product .qty-control .qty-plus:hover{ background:#f3f4f6; }
.single-product .qty-control .qty-input{ width:36px; height:22px; border:0; text-align:center; font-weight:700; }
input[type=number].qty-input::-webkit-outer-spin-button, input[type=number].qty-input::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }
input[type=number].qty-input{ -moz-appearance:textfield; }
.single-product .single_add_to_cart_button{ font-size:16px; display:block; flex:1; text-align:center; padding:14px; background:#e11d29 !important; color:#fff !important; border-radius:6px; text-decoration:none; font-weight:800; text-transform:uppercase; letter-spacing:.2px; }
.single-product .shipping-calc{ margin-top:8px; }
.single-product .shipping-calc input[name=mytheme_cep]{ max-width: 200px; flex:1; border:1px solid #e5e7eb; border-radius:4px; padding:10px 12px; }
.single-product .shipping-calc #calc-shipping{ border:0; background:#111827; color:#fff; border-radius:4px; padding:10px 16px; font-weight:700; }
.single-product .shipping-calc input[name=mytheme_cep],
.single-product .shipping-calc #calc-shipping{ font-family: 'Raleway', var(--font-main); }
.single-product .shipping-calc input[name=mytheme_cep]::placeholder{ font-family: 'Raleway', var(--font-main); }
.single-product .shipping-calc input[name=mytheme_cep]::-webkit-input-placeholder{ font-family: 'Raleway', var(--font-main); }
.single-product .shipping-calc input[name=mytheme_cep]::-moz-placeholder{ font-family: 'Raleway', var(--font-main); }
.single-product .shipping-calc input[name=mytheme_cep]:-ms-input-placeholder{ font-family: 'Raleway', var(--font-main); }
.single-product #mytheme-shipping-options{ margin-top:10px; display:flex; flex-direction:column; gap:8px; }
.single-product #mytheme-shipping-options .rate{ display:flex; align-items:center; justify-content:space-between; background:#fff; border:1px solid #e5e7eb; border-radius:4px; padding:10px 12px; }
.single-product .benefits{ display:flex; gap:16px; margin-top:12px; }
.single-product .benefit{ display:flex; align-items:center; gap:8px; color:#374151; font-size:14px; }
.single-product .product-tabs{ margin-top:38px; }
.single-product .tabs-head{ display:flex; gap:20px; border-bottom:1px solid #e5e7eb; justify-content:center; }
.single-product .tab-btn{ background:none; border:0; padding:12px 6px; font-weight:700; color:#9ca3af; cursor:pointer; font-size:14px; }
.single-product .tab-btn.active{ color:#e11d29; border-bottom:2px solid #e11d29; }
.single-product .tab-panel{ display:none; }
.single-product .tab-panel.active{ display:block; }
.single-product .recommendations{ margin-top:30px; }
.single-product .recommendations h2{ font-size:20px; font-weight:800; color:#0f172a; }
.single-product .cards{ display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:16px; }
.single-product .card{ display:block; background:#fff; border:1px solid #e5e7eb; border-radius:4px; text-decoration:none; color:#0f172a; box-shadow:0 2px 10px rgba(0,0,0,.06); }
.single-product .card .thumb{ width:100%; height:200px; overflow:hidden; border-bottom:1px solid #f0f0f0; }
.single-product .card .thumb img{ width:100%; height:100%; object-fit:cover; }
.single-product .card .info{ padding:12px; display:flex; flex-direction:column; gap:8px; }
.single-product .card .name{ font-weight:700; font-size:14px; }
.single-product .card .prices{ display:flex; gap:8px; align-items:center; }
.img-modal{ position: fixed; inset: 0; background: rgba(0,0,0,.85); display:flex; align-items:center; justify-content:center; z-index: 9999; }
.img-stage{ position: relative; width: 90vw; height: 80vh; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.img-view{ max-width: 100%; max-height: 100%; will-change: transform; cursor: zoom-in; position: relative; z-index: 1; }
.img-count{ position:absolute; top:16px; left:50%; transform:translateX(-50%); background: rgba(0,0,0,.6); color:#fff; padding:6px 10px; border-radius:999px; font-size:12px; font-weight:700; z-index: 3; }
.img-prev, .img-next{ z-index: 4; }
.img-stage{ user-select: none; }
.img-close{ position: absolute; top: 16px; right: 16px; background: rgba(255,255,255,.12); color:#fff; border:0; width:40px; height:40px; border-radius:50%; font-size:22px; cursor:pointer; }
.img-prev, .img-next{ position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.12); color:#fff; border:0; width:44px; height:44px; border-radius:50%; font-size:26px; cursor:pointer; }
.img-prev{ left: 24px; }
.img-next{ right: 24px; }
.img-close-bottom{ display:none; position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); background:#111827; color:#fff; border:0; border-radius:999px; padding:10px 16px; font-weight:800; box-shadow:0 6px 20px rgba(0,0,0,.25); z-index: 10000; }
@media (max-width: 768px){ .img-close-bottom{ display:inline-flex; align-items:center; justify-content:center; } }
.single-product .card .prices .regular{ text-decoration:line-through; color:#9ca3af; font-size:12px; }
.single-product .card .prices .sale{ font-weight:800; color:#0f172a; font-size:14px; }
.single-product .card .pix{ color:#e11d29; font-weight:700; font-size:13px; }
.single-product .card .cta{ margin-top:8px; background:#e11d29; color:#fff; border-radius:6px; text-align:center; padding:10px; font-weight:800; }
.single-product .tab-panel p {
   font-size: 16px;
   margin-bottom: 12px;
}

.single-product .tab-panel h1,
.single-product .tab-panel h2,
.single-product .tab-panel h3,
.single-product .tab-panel h4,
.single-product .tab-panel ul {
   margin-bottom: 12px;
     font-size: 16px;   
} 

.single-product .tab-btn{
   font-size: 18px;
}

.single-product .recommendations{
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   gap: 24px;
   margin-top: 42px;
}

@media (max-width: 1024px){ .single-product .product-layout{ grid-template-columns: 1fr; } .single-product .gallery{ grid-template-columns: 80px 1fr; } }

/* Rating alignment */
.single-product .summary .woocommerce-product-rating{ display:flex; align-items:center;  }
.single-product .summary .star-rating::before{ color:#8a8a8a; }
.single-product .summary .star-rating span::before{ color:#FFD33D; }
 .card .star-rating::before{ color:#8a8a8a; }
 .card .star-rating span::before{ color:#FFD33D; }
 .single-product .recommendations .products-strip{ position:relative; display:flex; align-items:center; gap:8px; }
 .single-product .recommendations .products-strip .cards{ padding-right:12px; display:flex; gap:12px; overflow-x:auto; scroll-behavior:smooth; -ms-overflow-style:none; scrollbar-width:none; }
 .single-product .recommendations .products-strip .cards::-webkit-scrollbar{ display:none; }
 .single-product .recommendations .products-strip .cards .card{ flex:0 0 280px; max-width:280px; }
 .single-product .recommendations .products-strip .prod-prev, .single-product .recommendations .products-strip .prod-next{ position:absolute; top:50%; transform:translateY(-50%); background:#ffffff; color:#000000; border:0; width:36px; height:36px; border-radius:999px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; z-index:2; font-size: 20px; box-shadow: 0px 0px 10px #000000c2; }
 .single-product .recommendations .products-strip .prod-prev{ left:-18px; }
 .single-product .recommendations .products-strip .prod-next{ right:-18px; }
 .single-product .recommendations .products-strip .prod-prev.hidden, .single-product .recommendations .products-strip .prod-next.hidden{ opacity:.0; pointer-events:none; }
 @media (max-width: 540px){ .single-product .recommendations .products-strip .prod-prev, .single-product .recommendations .products-strip .prod-next{ display:none; } }
@media (max-width: 999px){ .single-product .recommendations .products-strip .prod-prev, .single-product .recommendations .products-strip .prod-next{ display:none; } }
@media (max-width: 540px){.single-product .breadcrumb{margin-bottom: 24px!important;} .single-product .recommendations .products-strip .cards{ scroll-snap-type:x mandatory; } .single-product .recommendations .products-strip .cards .card{ scroll-snap-align:start; } }
@media (max-width: 450px){ .single-product .recommendations .products-strip .cards .card{ flex:0 0 240px; max-width:240px; } }
@media (max-width: 768px){
  .single-product .mobile-title{ display:flex; align-items:center; margin: 10px 0 12px; font-size: 18px;}
}
@keyframes shipSpin{ to{ transform: rotate(360deg); } }
.single-product .ship-loading{ display:inline-flex; align-items:center; gap:8px; color:#6b7280; font-size:13px; }
.single-product .ship-loading .spinner{ width:16px; height:16px; border:2px solid #e5e7eb; border-top-color:#111827; border-radius:50%; animation: shipSpin .6s linear infinite; }
.single-product .shipping-calc #calc-shipping.loading{ position:relative; padding-left:32px; font-size:13px; }
.single-product .shipping-calc #calc-shipping.loading::before{ content:''; position:absolute; left:12px; top:50%; width:14px; height:14px; margin-top:-7px; border:2px solid rgba(255,255,255,.35); border-top-color:#fff; border-radius:50%; animation: shipSpin .6s linear infinite; }