/*
Theme Name: Adventure X 2026
Theme URI: https://adventurex.jp/
Author: Fabiano
Description: Tema próprio da Adventure X, baseado no mockup /site2026/. Sem page builder.
Version: 1.0.0
Requires PHP: 7.4
Text Domain: adventurex-2026
*/

:root{
  --red:#d21e1e;
  --red-dark:#a51414;
  --red-tint:#fdecec;
  --black:#111111;
  --gray:#6b6b6b;
  --gray-light:#9a9a9a;
  --line:#ececec;
  --bg:#ffffff;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic','Noto Sans JP',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  background:var(--bg);
  color:var(--black);
  line-height:1.6;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{list-style:none;}
button{font:inherit;cursor:pointer;background:none;border:none;}
input,select,textarea{font:inherit;}
.container{max-width:1200px;margin:0 auto;padding:0 24px;}
/* WooCommerce (e o WP core) usa essa classe pra texto só de leitor de tela —
   sem o CSS nativo do WC (desligado de propósito no tema), esse texto ficava
   visível na página (ex.: "元の価格は...でした" nos preços em promoção). */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* header */
header.main{border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:50;}
header.main .container{display:flex;align-items:center;justify-content:space-between;height:82px;}
.logo{font-size:24px;font-weight:800;letter-spacing:1px;display:flex;align-items:center;gap:2px;}
.logo-img{height:34px;width:auto;display:block;}
.mobile-menu-head .logo-img{height:26px;}
nav.primary{margin-left:auto;margin-right:40px;}
nav.primary ul{display:flex;gap:34px;font-size:14.5px;font-weight:600;}
nav.primary a{position:relative;padding:6px 0;}
nav.primary a:hover,nav.primary a.active{color:var(--red);}
.header-icons{display:flex;align-items:center;gap:22px;}
.icon-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--black);}
.icon-btn svg{width:17px;height:17px;stroke:currentColor;}
.icon-btn:hover{border-color:var(--red);color:var(--red);}

/* seletor de idioma (GTranslate) — mesma linguagem visual do resto do
   header.icons, bandeiras em círculo igual ao mockup original. */
.advx-lang-switcher.lang-selector{display:flex;align-items:center;gap:6px;}
.advx-lang-switcher a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);overflow:hidden;filter:grayscale(70%);opacity:.55;transition:opacity .15s ease,filter .15s ease,border-color .15s ease;}
.advx-lang-switcher a:hover,.advx-lang-switcher a.gt-current-wrapper,.advx-lang-switcher a.gt-current-lang{opacity:1;filter:grayscale(0%);border-color:var(--red);}
/* o próprio GTranslate injeta `a.glink img{margin-right:2px}` via JS — isso
   empurrava a bandeira pra fora do centro dentro do círculo. Sobrescreve com
   !important pra garantir que ganha da regra injetada pelo plugin. */
.advx-lang-switcher img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;margin-right:0 !important;}
.cart-btn{position:relative;}
.cart-badge{position:absolute;top:-6px;right:-6px;background:var(--red);color:#fff;font-size:10px;font-weight:700;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;}

/* busca de produtos no header */
.search-bar{max-height:0;overflow:hidden;transition:max-height .25s ease;background:#fafafa;border-top:0 solid var(--line);}
.search-bar.open{max-height:74px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 8px 16px -8px rgba(0,0,0,.1);}
.search-bar form{display:flex;align-items:center;gap:10px;padding:16px 24px;}
.search-bar input[type="search"]{flex:1;border:none;font-size:15px;outline:none;background:transparent;font-family:inherit;}
.search-bar input[type="search"]::placeholder{color:var(--gray-light);}
.search-bar input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
.search-bar button{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gray);flex-shrink:0;}
.search-bar button:hover{color:var(--red);}
.search-bar button svg{width:17px;height:17px;stroke:currentColor;}

.search-suggest{display:none;position:absolute;left:0;right:0;top:100%;max-width:1200px;margin:0 auto;background:#fff;border:1px solid var(--line);border-top:none;box-shadow:0 12px 24px -8px rgba(0,0,0,.12);max-height:70vh;overflow-y:auto;z-index:60;}
.search-suggest.open{display:block;}
.search-suggest-list li{border-bottom:1px solid var(--line);}
.search-suggest-list li:last-child{border-bottom:none;}
.search-suggest-list a{display:flex;align-items:center;gap:14px;padding:12px 24px;}
.search-suggest-list a:hover{background:#fafafa;}
.search-suggest-img{width:44px;height:44px;flex-shrink:0;border-radius:6px;overflow:hidden;background:#f6f6f6;}
.search-suggest-img img{width:100%;height:100%;object-fit:cover;display:block;}
.search-suggest-info{display:flex;flex-direction:column;gap:3px;min-width:0;}
.search-suggest-name{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.search-suggest-price{font-size:12.5px;color:var(--red);font-weight:700;}
.search-suggest-all{display:block;padding:14px 24px;font-size:13px;font-weight:700;color:var(--red);border-top:1px solid var(--line);}
.search-suggest-all:hover{background:#fafafa;}
.search-suggest-empty{padding:18px 24px;font-size:13.5px;color:var(--gray);}

/* mobile menu */
.burger{display:none;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;align-items:center;justify-content:center;font-size:17px;}
.menu-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:98;}
.menu-overlay.open{display:block;}
.mobile-menu{
  position:fixed;top:0;right:0;bottom:0;width:78%;max-width:320px;background:#fff;z-index:99;
  padding:20px 24px;transform:translateX(100%);transition:transform .25s ease;box-shadow:-10px 0 30px rgba(0,0,0,.15);
  overflow-y:auto;visibility:hidden;pointer-events:none;
}
.mobile-menu.open{transform:translateX(0);visibility:visible;pointer-events:auto;}
.mobile-menu-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.mobile-menu-head .logo{font-size:19px;}
.mobile-menu .close-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:16px;}
.mobile-menu ul{display:flex;flex-direction:column;}
.mobile-menu a{display:block;padding:15px 2px;font-weight:700;font-size:15px;border-bottom:1px solid var(--line);}
.mobile-menu a:hover,.mobile-menu a.active{color:var(--red);}

/* hero (home) */
.hero{border-bottom:4px solid var(--red);width:100%;height:64vh;min-height:420px;max-height:640px;background:#111;}
.hero-slides{
  display:flex;width:100%;height:100%;overflow-x:auto;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;-ms-overflow-style:none;cursor:grab;
}
.hero-slides::-webkit-scrollbar{display:none;}
.hero-slides:active{cursor:grabbing;}
.hero-slide{flex:0 0 100%;width:100%;height:100%;object-fit:contain;scroll-snap-align:start;}
.hero-dots{display:flex;justify-content:center;gap:8px;padding:16px 0;background:#fafafa;}
.hero-dots span{width:8px;height:8px;border-radius:50%;background:#c4c4c4;cursor:pointer;transition:.2s;}
.hero-dots span:hover{background:var(--gray);}
.hero-dots span.active{background:var(--red);width:22px;border-radius:4px;}

/* page header (internal pages) */
.page-header{background:#fafafa;border-bottom:1px solid var(--line);padding:34px 0;}
.page-header h1{font-size:26px;font-weight:800;margin-bottom:8px;}
.breadcrumb{font-size:12.5px;color:var(--gray);}
.breadcrumb a:hover{color:var(--red);}
.breadcrumb .sep{margin:0 6px;color:var(--gray-light);}
.breadcrumb .current{color:var(--red);font-weight:600;}

/* buttons */
.btn{display:inline-block;padding:14px 28px;font-weight:700;font-size:14.5px;border-radius:4px;letter-spacing:.3px;text-align:center;}
.btn-primary{background:var(--red);color:#fff;}
.btn-primary:hover{background:var(--red-dark);}
.btn-outline{border:1.5px solid var(--black);color:var(--black);}
.btn-outline:hover{border-color:var(--red);color:var(--red);}
.btn-block{display:block;width:100%;}
.btn-sm{padding:9px 16px;font-size:13px;}

/* section heading */
.section{padding-top:64px;padding-bottom:64px;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px;}
.section-head h2{font-size:28px;font-weight:800;}
.section-head h2 .bar{display:inline-block;width:26px;height:4px;background:var(--red);margin-right:12px;vertical-align:middle;border-radius:2px;}

/* categorias da home */
.cat-section-header{text-align:center;margin-bottom:32px;}
.cat-section-title{font-size:24px;font-weight:800;margin-bottom:8px;}
.cat-section-title::after{content:'';display:block;width:36px;height:3px;background:var(--red);border-radius:2px;margin:10px auto 0;}
.cat-section-subtitle{color:var(--gray);font-size:13px;}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.category-card{display:flex;flex-direction:column;align-items:center;text-align:center;}
.category-card-img{width:140px;height:140px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:6px;margin-bottom:12px;transition:.2s;overflow:hidden;}
.category-card:hover .category-card-img{border-color:var(--red);box-shadow:0 8px 20px -8px rgba(0,0,0,.2);}
.category-card-img img{max-width:100%;max-height:100%;object-fit:contain;}
.category-card-name{font-size:13.5px;color:var(--gray);font-weight:600;}
.category-card--clone{display:none;}
.section-head a{font-size:13.5px;font-weight:700;color:var(--red);}

/* products */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.prod-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;}
.prod-card-link{display:block;}
.prod-img{aspect-ratio:1/1;background:#f6f6f6;position:relative;overflow:hidden;}
.prod-img img{width:100%;height:100%;object-fit:cover;}
.badge{position:absolute;top:10px;left:10px;background:var(--red);color:#fff;font-size:11px;font-weight:800;padding:4px 9px;border-radius:3px;}
.badge-out{background:var(--gray);}
.prod-info{padding:16px;}
.prod-brand{font-size:11px;color:var(--red);font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin-bottom:4px;}
.prod-name{font-weight:700;font-size:14.5px;line-height:1.3;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;}
.prod-desc{font-size:12px;color:var(--gray);margin-bottom:10px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3em;}
.prod-price del{display:block;text-decoration:line-through;color:var(--gray);font-size:12.5px;margin-bottom:2px;}
.prod-price ins{text-decoration:none;font-weight:800;font-size:17px;}
.prod-price .woocommerce-price-suffix{font-size:11px;color:var(--gray);font-weight:400;margin-left:4px;}
.prod-price > .woocommerce-Price-amount{font-weight:800;font-size:17px;}
.price-now{font-weight:800;font-size:17px;}
.price-old{font-size:12.5px;color:var(--gray);text-decoration:line-through;}
.prod-cta{display:block;margin:0 16px 16px;background:var(--red);color:#fff;border-radius:4px;text-align:center;padding:10px;font-weight:700;font-size:13px;}
.prod-cta:hover{background:var(--red-dark);}

/* brand banner */
.brands{background:var(--black);color:#fff;}
.brands .container{padding:56px 24px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.brands h2{font-size:26px;font-weight:800;margin-bottom:14px;}
.brands p{color:#c9c9c9;font-size:14.5px;max-width:420px;}
.brand-visual{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.brand-visual .box{display:flex;flex-direction:column;align-items:center;gap:12px;}
.brand-visual .logo-frame{width:100%;aspect-ratio:1/1;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;border:1px solid #2a2a2a;overflow:hidden;padding:24px;}
.brand-visual img{width:100%;height:100%;object-fit:contain;}
.brand-caption{font-size:13px;font-weight:700;color:#fff;letter-spacing:.3px;border:1.5px solid #3a3a3a;border-radius:6px;padding:10px 18px;transition:.2s;}
.brand-caption:hover{border-color:var(--red);color:var(--red);}

/* footer */
footer{background:#f9f9f9;border-top:1px solid var(--line);margin-top:64px;}
footer .container{padding:56px 24px 30px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;}
footer h4{font-size:14px;font-weight:800;margin-bottom:16px;}
footer li{margin-bottom:10px;font-size:13.5px;color:var(--gray);}
footer li a:hover{color:var(--red);}
footer .foot-logo{margin-bottom:12px;}
footer .foot-logo .logo-img{height:30px;}
footer .desc{color:var(--gray);font-size:13.5px;max-width:260px;margin-bottom:16px;}
.foot-bottom.container{border-top:1px solid var(--line);padding:18px 24px;display:flex;grid-template-columns:none;justify-content:center;text-align:center;font-size:12.5px;color:var(--gray);}
.foot-bottom .accent{color:var(--red);}

/* ============ SHOP / WOOCOMMERCE MAPEADO ============ */
.shop-layout{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:start;}
.filter-box{border:1px solid var(--line);border-radius:8px;padding:22px;margin-bottom:18px;}
.filter-box h3{font-size:14px;font-weight:800;margin-bottom:16px;}
.filter-list li{margin-bottom:11px;font-size:13.5px;display:flex;align-items:center;gap:9px;color:#333;}
.filter-list label{display:flex;align-items:center;gap:9px;cursor:pointer;}
.filter-list a{display:block;}
.filter-list a:hover{color:var(--red);}
.shop-filter-toggle{display:none;}
.sidebar-close{display:none;}
.price-range{display:flex;align-items:center;gap:8px;margin-top:6px;}
.price-range input{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:4px;font-size:12.5px;-moz-appearance:textfield;}
.price-range input::-webkit-outer-spin-button,.price-range input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line);}
.shop-toolbar .count{font-size:13.5px;color:var(--gray);}
.shop-toolbar select{padding:9px 14px;border:1px solid var(--line);border-radius:4px;font-size:13px;}
.pagination{display:flex;justify-content:center;gap:8px;margin-top:44px;}
.pagination a,.pagination span{width:36px;height:36px;border:1px solid var(--line);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;}
.pagination .current{background:var(--red);border-color:var(--red);color:#fff;}
.pagination a:hover{border-color:var(--red);color:var(--red);}

/* ============ PRODUCT PAGE ============ */
.product-main{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.gallery-main{aspect-ratio:1/1;background:#f6f6f6;border-radius:8px;overflow:hidden;margin-bottom:14px;}
.gallery-main img{width:100%;height:100%;object-fit:cover;}
.gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
.gallery-thumbs .thumb{aspect-ratio:1/1;border-radius:6px;overflow:hidden;border:2px solid transparent;cursor:pointer;}
.gallery-thumbs .thumb.active{border-color:var(--red);}
.gallery-thumbs img{width:100%;height:100%;object-fit:cover;}
.product-brand-tag{color:var(--red);font-weight:700;font-size:12.5px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:8px;}
.product-title{font-size:28px;font-weight:800;margin-bottom:12px;}
.product-price-block{margin-bottom:20px;}
.product-price-block del{display:block;text-decoration:line-through;color:var(--gray);font-size:15px;margin-bottom:4px;}
.product-price-block ins{text-decoration:none;font-weight:800;font-size:28px;}
.product-price-block .woocommerce-price-suffix{font-size:13px;color:var(--gray);font-weight:400;margin-left:6px;}
.product-price-block > .woocommerce-Price-amount{font-weight:800;font-size:28px;}
.qty-selector{display:flex;align-items:center;border:1.5px solid var(--black);border-radius:4px;overflow:hidden;width:fit-content;}
.qty-selector button{width:40px;height:46px;font-size:16px;font-weight:700;}
.qty-selector button:hover{background:var(--red-tint);color:var(--red);}
.qty-selector input{width:48px;height:46px;text-align:center;border:none;border-left:1px solid var(--line);border-right:1px solid var(--line);font-weight:700;-moz-appearance:textfield;}
.qty-selector input::-webkit-outer-spin-button,.qty-selector input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.add-cart-row{display:flex;gap:14px;margin:24px 0;}
.add-cart-row .button{flex:1;font-size:15px;padding:15px;background:var(--red);color:#fff;border-radius:4px;font-weight:700;text-align:center;text-transform:none;}
.add-cart-row .button:hover{background:var(--red-dark);}
.product-meta{font-size:13px;color:var(--gray);}
.product-meta div{margin-bottom:6px;}
.product-meta b{color:var(--black);font-weight:700;}
.spec-table{width:100%;border-collapse:collapse;max-width:600px;margin-bottom:16px;}
.spec-table tr{border-bottom:1px solid var(--line);}
.spec-table td{padding:11px 6px;font-size:13.5px;}
.spec-table td:first-child{color:var(--gray);width:180px;}
.spec-table td:last-child{font-weight:600;}
.stock{font-size:13px;font-weight:700;margin:14px 0 20px;}
.stock.available-on-backorder{color:#b8860b;}
.stock.in-stock{color:#2e7d32;}
.stock.out-of-stock{color:var(--red);}

/* ============ AVALIAÇÕES (reviews nativas do WooCommerce) ============ */
.woocommerce-Reviews-title{font-size:19px;font-weight:800;margin-bottom:20px;}
.woocommerce-noreviews{color:var(--gray);font-size:14px;margin-bottom:20px;}
.commentlist{list-style:none;margin-bottom:28px;}
.commentlist .comment{border-bottom:1px solid var(--line);padding:20px 0;}
.commentlist .comment_container{display:flex;gap:14px;}
.commentlist .avatar{width:44px;height:44px;border-radius:50%;flex-shrink:0;}
.commentlist .comment-text{flex:1;}
.commentlist .star-rating{color:var(--red);font-size:13px;letter-spacing:1px;margin-bottom:4px;}
.commentlist .meta{font-size:12.5px;color:var(--gray);margin-bottom:6px;}
.commentlist .description p{font-size:14px;color:#333;}
.woocommerce-verification-required,.must-log-in{color:var(--gray);font-size:13.5px;background:#fafafa;border:1px solid var(--line);border-radius:6px;padding:14px 18px;}
.must-log-in a{color:var(--red);font-weight:700;}
#review_form_wrapper{margin-top:8px;}
.comment-reply-title{font-size:16px;font-weight:800;display:block;margin-bottom:16px;}
#respond .comment-form-rating{margin-bottom:16px;}
#respond .comment-form-rating label{display:block;font-size:13px;font-weight:700;margin-bottom:7px;}
#respond #rating{padding:12px 14px;border:1px solid var(--line);border-radius:5px;font-size:14px;background:#fff;}
#respond .comment-form-comment,#respond .comment-form-author,#respond .comment-form-email{margin-bottom:16px;}
#respond .comment-form-comment label,#respond .comment-form-author label,#respond .comment-form-email label{display:block;font-size:13px;font-weight:700;margin-bottom:7px;}
#respond .comment-form-comment textarea,#respond .comment-form-author input,#respond .comment-form-email input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:5px;font-size:14px;font-family:inherit;}
#respond .comment-form-comment textarea:focus,#respond .comment-form-author input:focus,#respond .comment-form-email input:focus,#respond #rating:focus{outline:none;border-color:var(--red);}
#respond .required{color:var(--red);}
#respond .form-submit{margin-top:4px;}
#respond #submit{padding:14px 28px;font-weight:700;font-size:14.5px;border-radius:4px;background:var(--red);color:#fff;border:none;cursor:pointer;}
#respond #submit:hover{background:var(--red-dark);}

.woocommerce-result-count{font-size:13.5px;color:var(--gray);margin:0;}
.woocommerce-ordering{margin:0;}
.woocommerce-ordering select{padding:9px 14px;border:1px solid var(--line);border-radius:4px;font-size:13px;}
.woocommerce-pagination ul{display:flex;justify-content:center;gap:8px;margin-top:44px;list-style:none;}
.woocommerce-pagination a,.woocommerce-pagination span{width:36px;height:36px;border:1px solid var(--line);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;}
.woocommerce-pagination .current{background:var(--red);border-color:var(--red);color:#fff;}
.woocommerce-pagination a:hover{border-color:var(--red);color:var(--red);}

/* `form.cart` é a classe real que o WooCommerce imprime — a página do
   produto (single-product.php) nunca tem uma `<div class="product">`
   envolvendo tudo (isso só existe no template padrão do WC, que não uso
   aqui), então `div.product form.cart` nunca batia com nada e o formulário
   inteiro ficava sem estilo nenhum. */
form.cart{display:flex;align-items:center;gap:14px;margin:20px 0 16px;flex-wrap:wrap;}
form.cart .quantity{display:inline-flex;align-items:center;border:1.5px solid var(--black);border-radius:4px;overflow:hidden;width:fit-content;margin:0;}
form.cart .quantity .qty{width:56px;height:46px;text-align:center;border:none;font-weight:700;-moz-appearance:textfield;}
form.cart .quantity .qty::-webkit-outer-spin-button,form.cart .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
form.cart .single_add_to_cart_button{padding:14px 28px;background:var(--red);color:#fff;border-radius:4px;font-weight:700;font-size:14.5px;}
form.cart .single_add_to_cart_button:hover{background:var(--red-dark);}
form.cart .single_add_to_cart_button.disabled{background:var(--gray-light);pointer-events:none;}
/* Botão de pagamento expresso (Apple Pay/Google Pay via WooCommerce
   Payments) — só dá espaço, o próprio JS do plugin decide se desenha algo
   aqui ou não. */
.wcpay-express-checkout-wrapper{margin-bottom:20px;}

.tabs{margin-top:70px;}
.tab-nav{display:flex;gap:36px;border-bottom:1px solid var(--line);margin-bottom:28px;flex-wrap:wrap;}
.tab-nav button,.tab-nav .tab-btn{padding:14px 0;font-weight:700;font-size:14.5px;color:var(--gray);border-bottom:2px solid transparent;}
.tab-nav button.active,.tab-nav .tab-btn.active{color:var(--black);border-color:var(--red);}
.tab-panel{color:#444;font-size:14.5px;max-width:820px;display:none;}
.tab-panel.active{display:block;}
.tab-panel h3{font-size:16px;margin:18px 0 8px;}

/* ============ CART / CHECKOUT / MY ACCOUNT — mapeado sobre o HTML nativo do WooCommerce ============ */
.wc-page-wrap{padding:64px 0;}
.cart-updating{opacity:.5;pointer-events:none;transition:opacity .15s ease;}
table.shop_table{width:100%;border-collapse:collapse;}
table.shop_table th{text-align:left;font-size:12.5px;color:var(--gray);text-transform:uppercase;letter-spacing:.5px;padding-bottom:14px;border-bottom:1px solid var(--line);}
table.shop_table td{padding:20px 10px;border-bottom:1px solid var(--line);vertical-align:middle;}
td.product-thumbnail img{width:76px;height:76px;object-fit:cover;border-radius:6px;background:#f6f6f6;}
td.product-name a{font-weight:700;font-size:14.5px;}
.woocommerce-cart-form .quantity input{width:48px;height:40px;text-align:center;border:1px solid var(--line);border-radius:4px;font-weight:700;}
a.remove{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;color:var(--gray) !important;font-size:18px;}
a.remove:hover{color:#fff !important;background:var(--red);}
/* `.cart-collaterals` só embrulha o resumo (`.cart_totals`) — a tabela de
   itens (`form.woocommerce-cart-form`) é irmã dela, não filha. Pra ficar em
   2 colunas de verdade (tabela à esquerda, resumo à direita), o grid precisa
   ir no PAI comum das duas (`.woocommerce-cart .woocommerce`), não em
   `.cart-collaterals` sozinho — senão o grid só tem 1 item pra distribuir e
   não faz nada. */
.woocommerce-cart .woocommerce{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:start;}
.woocommerce-cart .woocommerce-cart-form{grid-column:1;}
.woocommerce-cart .cart-collaterals{grid-column:2;margin-top:0;}
.cart_totals{border:1px solid var(--line);border-radius:8px;padding:26px;}
.cart_totals h2{font-size:17px;font-weight:800;margin-bottom:20px;}
.cart_totals table{width:100%;}
.cart_totals table td,.cart_totals table th{padding:10px 0;font-size:14px;border-bottom:1px solid var(--line);}
.cart_totals .order-total td,.cart_totals .order-total th{font-size:17px;font-weight:800;border-top:1px solid var(--line);border-bottom:none;}
.wc-proceed-to-checkout a{margin-top:14px;}
.woocommerce-coupon-form{display:flex;gap:8px;margin:0 0 18px;}
.woocommerce-coupon-form .input-text{flex:1;padding:11px 12px;border:1px solid var(--line);border-radius:4px;font-size:13px;}
.woocommerce-coupon-form button{padding:11px 16px;border:1.5px solid var(--black);border-radius:4px;font-weight:700;font-size:13px;}
.woocommerce-coupon-form button:hover{border-color:var(--red);color:var(--red);}
.cart-empty{text-align:center;padding:80px 0;color:var(--gray);}
.return-to-shop .button{display:inline-block;margin-top:18px;padding:14px 28px;background:var(--red);color:#fff;border-radius:4px;font-weight:700;}

/* Checkout em 2 colunas: dados do cliente à esquerda, resumo do pedido +
   pagamento à direita. O HTML real do WooCommerce é 3 irmãos soltos
   (#customer_details, depois #order_review_heading, depois #order_review) —
   não dá pra só virar `display:flex`, precisa posicionar cada um
   explicitamente no grid pra "resumo" ficar junto (título em cima da tabela,
   os dois na coluna da direita, dados do cliente ocupando as duas linhas da
   esquerda). */
form.checkout.woocommerce-checkout{display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:start;}
#customer_details{grid-column:1;grid-row:1/3;}
#order_review_heading{display:none;}
#order_review{grid-column:2;grid-row:1/3;}
.woocommerce-checkout .col2-set,.woocommerce-checkout-review-order{margin-bottom:26px;}
.woocommerce-billing-fields,#order_review{border:1px solid var(--line);border-radius:8px;padding:24px;margin-bottom:26px;}
.woocommerce-billing-fields h3,#order_review_heading{font-size:16px;font-weight:800;margin-bottom:18px;}
.form-row{margin-bottom:16px;}
.form-row label{display:block;font-size:13px;font-weight:700;margin-bottom:7px;}
.form-row .required{color:var(--red);}
.form-row input,.form-row select,.form-row textarea{
  width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:5px;font-size:14px;
}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--red);}
.woocommerce-checkout-review-order-table{width:100%;}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{padding:10px 0;font-size:13.5px;border-bottom:1px solid var(--line);}
.wc_payment_methods{list-style:none;}
.wc_payment_method{border:1.5px solid var(--line);border-radius:6px;padding:16px;margin-bottom:12px;}
.wc_payment_method label{font-weight:600;font-size:14px;}
.wc_payment_method input{accent-color:var(--red);margin-right:10px;}
#place_order{width:100%;padding:16px;background:var(--red);color:#fff;border-radius:4px;font-weight:800;font-size:15px;}
#place_order:hover{background:var(--red-dark);}

/* ============ /my-account/ — template próprio (page-my-account.php), isolado
   do resto do site de propósito. ============ */
/* O shortcode [woocommerce_my_account] embrulha o menu + conteúdo numa
   <div class="woocommerce"> extra — é ELA que precisa virar grid (não
   .myaccount-wrap, que só tem essa div como filho único). */
.myaccount-wrap--dashboard .woocommerce{display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:start;}
.woocommerce-MyAccount-navigation ul{border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.woocommerce-MyAccount-navigation a{display:block;padding:14px 18px;font-size:13.5px;font-weight:600;border-bottom:1px solid var(--line);}
.woocommerce-MyAccount-navigation a:hover{color:var(--red);}
.woocommerce-MyAccount-navigation .is-active a{background:var(--red);color:#fff;}
.woocommerce-MyAccount-content{margin-top:0;}

/* login / cadastro (não logado) — o WooCommerce nativo não usa as classes do
   mockup (.account-layout/.account-panel), usa #customer_login/.u-column1/
   .u-column2, então o CSS precisa mirar nessas classes reais. */
#customer_login.u-columns{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;max-width:900px;margin:0 auto;}
#customer_login .u-column1,#customer_login .u-column2{padding:44px;}
#customer_login .u-column1{border-right:1px solid var(--line);}
#customer_login h2{font-size:20px;font-weight:800;margin-bottom:22px;}
#customer_login .woocommerce-form-row{margin-bottom:16px;}
#customer_login label{display:block;font-size:13px;font-weight:700;margin-bottom:7px;}
#customer_login .required{color:var(--red);}
#customer_login input.input-text{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:5px;font-size:14px;font-family:inherit;}
#customer_login input.input-text:focus{outline:none;border-color:var(--red);}
#customer_login .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:400;margin-bottom:14px;}
#customer_login .woocommerce-form-login__rememberme input{accent-color:var(--red);width:auto;}
#customer_login button[type="submit"]{width:100%;padding:14px;background:var(--red);color:#fff;border:none;border-radius:4px;font-weight:700;font-size:14.5px;cursor:pointer;}
#customer_login button[type="submit"]:hover{background:var(--red-dark);}
#customer_login .woocommerce-LostPassword{text-align:center;margin-top:16px;font-size:13px;}
#customer_login .woocommerce-LostPassword a{color:var(--red);font-weight:700;}
#customer_login .woocommerce-privacy-policy-text{font-size:11.5px;color:var(--gray);margin:14px 0;}
#customer_login .woocommerce-privacy-policy-text a{color:var(--red);}
#customer_login .g-recaptcha-login-i13,#customer_login .g-recaptcha-register-i13{margin-bottom:16px;}
.woocommerce form .form-row label{display:block;font-size:13px;font-weight:700;margin-bottom:7px;}
.woocommerce form .form-row input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:5px;font-size:14px;}
.woocommerce button.button,.woocommerce a.button{display:inline-block;padding:13px 24px;background:var(--red);color:#fff;border-radius:4px;font-weight:700;font-size:13.5px;}
.woocommerce button.button:hover,.woocommerce a.button:hover{background:var(--red-dark);}
.woocommerce-message{background:#eaf6ec;border-left:3px solid #2e7d32;color:#1e5c28;padding:14px 18px;margin-bottom:22px;font-size:13.5px;list-style:none;}
.woocommerce-message a.button{margin-left:10px;}
.woocommerce-info{background:var(--red-tint);border-left:3px solid var(--red);padding:14px 18px;margin-bottom:22px;font-size:13.5px;list-style:none;}
.woocommerce-error{background:#fdecec;border-left:3px solid var(--red);padding:14px 18px;margin-bottom:22px;font-size:13.5px;color:var(--red-dark);}
.woocommerce-account-fields{margin-top:20px;}

/* ============ STATIC CONTENT (about/terms/privacy/refund/how-to-buy/contact/order-form) ============ */
.content-layout{display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:start;}
.side-nav{border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.side-nav a{display:block;padding:14px 18px;font-size:13.5px;font-weight:600;border-bottom:1px solid var(--line);}
.side-nav a:last-child{border-bottom:none;}
.side-nav a:hover{color:var(--red);}
.side-nav a.active{background:var(--red);color:#fff;}
.prose{max-width:760px;color:#333;font-size:14.5px;}
#pagecontent{scroll-margin-top:100px;}
.prose h2{font-size:19px;font-weight:800;margin:32px 0 12px;}
.prose h2:first-child{margin-top:0;}
.prose p{margin-bottom:14px;}
.prose ul,.prose ol{margin:0 0 14px 22px;}
.prose li{margin-bottom:6px;}

.prose .updated{color:var(--gray);font-size:13px;margin-bottom:24px;}
.note-box{background:var(--red-tint);border-left:3px solid var(--red);padding:14px 16px;font-size:13.5px;margin:14px 0;border-radius:4px;}
.link-red{color:var(--red);}
.link-red:hover{color:var(--red-dark);text-decoration:underline;}

.step-list{counter-reset:step;margin-bottom:8px;}
.step{display:flex;gap:20px;margin-bottom:28px;}
.step .num{counter-increment:step;flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--red);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;}
.step .num::before{content:counter(step);}
.step h3{font-size:15.5px;margin-bottom:6px;}
.step p{color:var(--gray);font-size:13.5px;}

.bank-table{width:100%;border-collapse:collapse;max-width:520px;margin:14px 0 20px;}
.bank-table tr{border-bottom:1px solid var(--line);}
.bank-table td{padding:10px 6px;font-size:13.5px;}
.bank-table td:first-child{color:var(--gray);width:150px;}
.bank-table td:last-child{font-weight:700;}

.elig-list{margin:14px 0 24px;padding-left:0;}
.elig-list li{list-style:none;display:flex;gap:10px;font-size:14px;color:#333;margin-bottom:10px;}
.elig-list li::before{content:"✓";color:var(--red);font-weight:800;flex-shrink:0;}

/* formulários (contato / pedido / checkout billing) */
.form-group{margin-bottom:16px;}
.form-group label{display:block;font-size:13px;font-weight:700;margin-bottom:7px;}
.form-group .required{color:var(--red);}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:5px;font-size:14px;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--red);}

/* Contact Form 7 — mapeia a saída nativa do plugin pro visual do mockup */
.wpcf7-form-control-wrap{display:block;}
.wpcf7 input.wpcf7-form-control,.wpcf7 textarea.wpcf7-form-control{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:5px;font-size:14px;font-family:inherit;}
.wpcf7 input.wpcf7-form-control:focus,.wpcf7 textarea.wpcf7-form-control:focus{outline:none;border-color:var(--red);}
.wpcf7 input.wpcf7-submit{display:inline-block;padding:14px 28px;font-weight:700;font-size:14.5px;border-radius:4px;background:var(--red);color:#fff;border:none;cursor:pointer;margin-top:6px;}
.wpcf7 input.wpcf7-submit:hover{background:var(--red-dark);}
.wpcf7-not-valid-tip{color:var(--red);font-size:12px;margin-top:4px;display:block;}
.wpcf7-response-output{margin-top:18px;padding:14px 18px;border-radius:4px;border:1px solid var(--line);font-size:13.5px;}

.faq-item{border-bottom:1px solid var(--line);padding:20px 0;}
.faq-item .q{font-weight:700;font-size:14.5px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:16px;}
.faq-item .q::after{content:"+";color:var(--red);font-weight:800;font-size:18px;flex-shrink:0;transition:transform .2s ease;}
.faq-item.open .q::after{transform:rotate(45deg);}
.faq-item .a{color:var(--gray);font-size:13.5px;max-width:640px;max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-item.open .a{max-height:600px;margin-top:12px;}

@media(max-width:980px){
  .container{padding-left:16px;padding-right:16px;}
  .hero{height:auto;min-height:0;aspect-ratio:1200/630;max-height:none;background:#111;}
  .hero-dots + .section,.page-header + .section,.page-header + .wc-page-wrap{padding-top:32px;}
  .category-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/2.6);gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;}
  .category-grid::-webkit-scrollbar{display:none;}
  .category-card{scroll-snap-align:start;}
  .category-card-img{width:100px;height:100px;}
  .category-card--clone{display:flex;}
  .prod-grid{grid-template-columns:repeat(2,1fr);}
  .brands .container{grid-template-columns:1fr;}
  footer .container{grid-template-columns:1fr 1fr;padding-left:16px;padding-right:16px;}
  .foot-bottom.container{padding-left:16px;padding-right:16px;}
  nav.primary{display:none;}
  .hide-mobile{display:none;}
  .burger{display:flex;}
  .header-icons{gap:12px;}
  .advx-lang-switcher a{width:28px;height:28px;}
  .shop-layout{grid-template-columns:1fr;}
  #shop-sidebar{display:none;padding:16px;background:#fafafa;border:1px solid var(--line);border-radius:8px;margin-bottom:16px;}
  #shop-sidebar.is-visible{display:block;}
  .shop-toolbar{flex-wrap:wrap;row-gap:12px;}
  .shop-filter-toggle{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:700;border-radius:4px;background:var(--red);color:#fff;}
  .shop-filter-toggle:hover{background:var(--red-dark);}
  .sidebar-close{display:block;width:100%;padding:10px;margin-bottom:14px;background:var(--black);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:700;}
  .product-main{grid-template-columns:1fr;gap:28px;}
  .woocommerce-cart .woocommerce{grid-template-columns:1fr;}
  .woocommerce-cart .woocommerce-cart-form,.woocommerce-cart .cart-collaterals{grid-column:1;}
  form.checkout.woocommerce-checkout{grid-template-columns:1fr;}
  #customer_details{grid-column:1;grid-row:auto;}
  #order_review{grid-column:1;grid-row:auto;}
  .myaccount-wrap--dashboard .woocommerce{grid-template-columns:1fr;}
  #customer_login.u-columns{grid-template-columns:1fr;max-width:100%;}
  #customer_login .u-column1{border-right:none;border-bottom:1px solid var(--line);}
  .content-layout{grid-template-columns:1fr;}
}

@media(max-width:700px){
  table.shop_table thead{display:none;}
  table.shop_table,table.shop_table tbody,table.shop_table tr,table.shop_table td{display:block;width:100%;}
  table.shop_table{border-top:1px solid var(--line);}
  table.shop_table tr{padding:16px 0;border-bottom:1px solid var(--line);}
  table.shop_table td{padding:3px 0;border-bottom:none;}
}
