/* Paleta e fontes do tema aprovado. Sem dependência de Tailwind neste módulo. */
.g4fr-ready {
  --g4fr-ink: #111827;
  --g4fr-purple: #4c1d95;
  --g4fr-green: #166534;
  --g4fr-paper: #fdfcf8;
  --g4fr-line: #dddde3;
  --g4fr-ease: cubic-bezier(.16, 1, .3, 1);
  scrollbar-color: #757080 #fdfcf8;
}
.g4fr-ready *, .g4fr-ready *::before, .g4fr-ready *::after { box-sizing: border-box; }
.g4fr-ready :is(a,button,summary,input,select,textarea,[tabindex]):focus-visible {
  outline: 3px solid #8daa59; outline-offset: 5px;
}
.g4fr-ready :is(#sobre,#marcas,#noticias,#onde-encontrar) { scroll-margin-top: 104px; }
.g4fr-ready #main-header { overflow: visible !important; }
.g4fr-ready #main-header nav { gap: clamp(16px,2vw,30px); }
.g4fr-ready #main-header nav > * { margin-left: 0 !important; }
.g4fr-ready #main-header nav > :is(a,button) { min-height: 44px; display: inline-flex; align-items: center; white-space: nowrap; }
.g4fr-ready #main-header nav > :is(a,button), .g4fr-brands summary { font-weight: 500; letter-spacing: .01em; }
.g4fr-brands { position: relative; font-family: Inter,sans-serif; }
.g4fr-brands summary { list-style: none; display:flex; align-items:center; gap:8px; cursor:pointer; min-height:44px; font-size:14px; color:inherit; }
.g4fr-brands summary::-webkit-details-marker { display:none; }
.g4fr-brands summary svg { transition: transform .22s var(--g4fr-ease); }
.g4fr-brands[open] summary svg { transform:rotate(180deg); }
.g4fr-brands__panel { position:absolute; top:calc(100% + 12px); left:50%; transform:translateX(-50%); width:310px; max-width:calc(100vw - 32px); padding:10px; border-radius:16px; background:#fff; color:var(--g4fr-ink); box-shadow:0 18px 48px rgb(17 24 39 / .16); z-index:100; }
.g4fr-brands__item { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px; border-radius:10px; text-decoration:none; transition:background-color .2s,color .2s; }
.g4fr-brands__item strong { display:block; font-family:Montserrat,sans-serif; font-weight:600; font-size:21px; line-height:1.3; }
.g4fr-brands__item small { display:block; margin-top:5px; font-size:12px; color:#595464; }
.g4fr-brands__item--acahi { color:#4c1d95; }
.g4fr-brands__item--pdb { color:#166534; }
.g4fr-brands__item--acahi:hover { background:#f4eefb; }
.g4fr-brands__item--pdb:hover { background:#edf5ed; }
.g4fr-brands__all { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:12px 18px 6px; border-top:1px solid #eeeaf0; margin-top:6px; font-size:13px; font-weight:500; color:#3e3749; }
.g4fr-brands__all:hover { color:var(--g4fr-purple); }
.g4fr-ready #mobile-menu { padding:72px 24px 28px; overflow-y:auto; gap:4px; }
.g4fr-ready #mobile-menu a { min-height:44px; display:flex; align-items:center; justify-content:center; }
.g4fr-ready #mobile-menu .g4fr-brand-link { font-weight:500; }
.g4fr-menu-open { overflow:hidden !important; }
.g4fr-ready #marcas .g4fr-brand-link { display:block; color:inherit; text-decoration:none; }
.g4fr-ready #marcas .g4fr-brand-link:focus-visible { outline-offset:7px; }
.g4fr-ready #sobre .text-justify { text-align:left; }
.g4fr-ready #sobre p { line-height:1.8; }
.g4fr-ready #numeros .stat-counter { font-variant-numeric:tabular-nums; }
.g4fr-ready #numeros .grid > * { padding-inline:12px; }
.g4fr-ready #numeros .grid > * + * { border-left:1px solid rgb(255 255 255 / .24); }
.g4fr-ready #numeros .text-gray-300 { color:#e6e8ee; line-height:1.6; }

.g4fr-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:52px; padding:14px 24px; border-radius:999px; background:#4c1d95; color:#fff; font-family:Inter,sans-serif; font-size:14px; font-weight:600; line-height:1.4; text-decoration:none; transition:background-color .2s,transform .22s var(--g4fr-ease); }
.g4fr-button:hover { color:#fff; background:#38166e; transform:translateY(-2px); }
.g4fr-button--light { background:#fdfcf8; color:#111827; flex-shrink:0; }
.g4fr-button--light:hover { background:#eaf0dd; color:#111827; }
.g4fr-button svg, .g4fr-text-link svg { flex:none; transition:transform .22s var(--g4fr-ease); }
.g4fr-button:hover svg, .g4fr-text-link:hover svg { transform:translateX(3px); }
.g4fr-footer { background:#111827; color:#e7eaf0; position:relative; z-index:30; font-family:Inter,sans-serif; width:100%; }
.g4fr-footer__inner { width:min(1200px,100%); margin:auto; padding:64px 32px 28px; }
.g4fr-footer__intro { display:flex; justify-content:space-between; align-items:center; gap:48px; padding-bottom:48px; border-bottom:1px solid #394150; }
.g4fr-footer__intro h2 { font-family:Montserrat,sans-serif; font-size:clamp(25px,3vw,38px); font-weight:400; line-height:1.3; letter-spacing:-.025em; max-width:680px; color:#fff; margin:0; text-wrap:balance; }
.g4fr-footer__grid { display:grid; grid-template-columns:1.25fr .8fr .8fr 1.4fr; gap:40px; padding:48px 0; }
.g4fr-footer__logo { display:inline-flex; width:80px; height:64px; align-items:center; justify-content:center; background:#fdfcf8; border-radius:12px; }
.g4fr-footer__logo img { width:54px; height:44px; object-fit:contain; }
.g4fr-footer p { margin:16px 0 0; font-size:13px; line-height:1.8; color:#bac4d2; }
.g4fr-footer h3 { font-family:Inter,sans-serif; font-size:14px; line-height:1.5; font-weight:600; margin:0 0 16px; color:#fff; }
.g4fr-footer__grid nav > a, .g4fr-footer__contact > a { display:block; width:fit-content; min-height:40px; padding:8px 0; font-size:14px; line-height:1.5; color:#d4dbe6; text-decoration:none; overflow-wrap:anywhere; }
.g4fr-footer a:hover { color:#d8edba; }
.g4fr-footer .g4fr-button--light:hover { color:#111827; }
.g4fr-footer .g4fr-text-link { display:inline-flex; align-items:center; gap:10px; margin-top:12px; min-height:44px; font-size:12px; color:#d8edba; text-decoration:none; }
.g4fr-footer__bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid #394150; padding-top:24px; }
.g4fr-footer__bottom p { margin:0; font-size:12px; }
.g4fr-footer__bottom nav { display:flex; flex-wrap:wrap; align-items:center; gap:24px; }
.g4fr-footer__bottom a { display:inline-flex; align-items:center; gap:8px; min-height:40px; color:#d4dbe6; font-size:12px; text-decoration:none; }
.g4fr-footer__bottom a:last-child svg { width:16px; height:16px; }
.g4fr-whatsapp { position:fixed; right:24px; bottom:max(24px,env(safe-area-inset-bottom)); z-index:75; display:flex; align-items:center; gap:10px; min-height:54px; padding:14px 20px; border-radius:999px; color:#fff; background:#166534; box-shadow:0 8px 24px rgb(17 24 39 / .2); font:600 13px/1.3 Inter,sans-serif; text-decoration:none; transition:background-color .2s,transform .22s var(--g4fr-ease); }
.g4fr-whatsapp:hover { background:#124b28; color:#fff; transform:translateY(-3px); }
.g4fr-menu-open .g4fr-whatsapp { visibility:hidden; }
.g4fr-contact-channels { display:grid; gap:24px; }
.g4fr-contact-channels p { line-height:1.7; color:#4b5563; }
.g4fr-contact-channels > a:last-child { color:#4c1d95; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:5px; }

/* Somente a vitrine, não os campos de checkout ou meios de pagamento. */
.g4fr-ready.post-type-archive-product .g4f-woo-wrapper { padding-top:0 !important; }
.g4fr-ready .g4fr-shop-banner { padding-top:56px; padding-bottom:48px; }
.g4fr-ready .woocommerce ul.products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.g4fr-ready .woocommerce ul.products::before, .g4fr-ready .woocommerce ul.products::after { display:none; }
.g4fr-ready .woocommerce ul.products li.product { width:auto !important; float:none; margin:0 !important; }
.g4fr-ready .woocommerce ul.products li.product { display:flex; flex-direction:column; padding:18px; border:1px solid #e4e0e8; border-radius:14px; background:#fff; box-shadow:none; transition:border-color .2s,transform .22s var(--g4fr-ease); }
.g4fr-ready .woocommerce ul.products li.product:hover { border-color:#ad99c5; transform:translateY(-3px); }
.g4fr-ready .woocommerce ul.products li.product a img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; padding:16px; background:#f8f7f4; border-radius:8px; margin-bottom:20px; }
.g4fr-ready .woocommerce ul.products li.product .woocommerce-loop-product__title { color:#111827; font-size:17px; line-height:1.5; font-weight:500; padding:0 0 10px; }
.g4fr-ready .woocommerce ul.products li.product .price { color:#4c1d95; font-size:18px; font-weight:600; font-variant-numeric:tabular-nums; }
.g4fr-ready .woocommerce ul.products li.product .button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 18px; margin-top:auto; border-radius:999px; background:#4c1d95; color:#fff; font-size:13px; line-height:1.4; transition:background-color .2s; }
.g4fr-ready .woocommerce ul.products li.product .button:hover { background:#38166e; }
.g4fr-ready .woocommerce ul.products li.product .added_to_cart { padding-top:12px; color:#4c1d95; text-decoration:underline; text-underline-offset:4px; }
.g4fr-ready .woocommerce ul.products li.product .button.loading { opacity:.7; cursor:progress; }
.g4fr-ready .g4fr-product-card { border-radius:14px; }
.g4fr-ready .woocommerce .woocommerce-ordering select { min-height:44px; border:1px solid #d6d1dd; border-radius:8px; padding:10px 32px 10px 12px; color:#252032; background:#fff; }
@media (max-width:1023px) {
  .g4fr-ready .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .g4fr-footer__grid { grid-template-columns:1fr 1fr; gap:32px; }
  .g4fr-footer__intro { gap:28px; }
}
@media (max-width:380px) {
  .g4fr-ready .woocommerce ul.products { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:600px) {
  .g4fr-footer__inner { padding:44px 24px 96px; }
  .g4fr-footer__intro { align-items:flex-start; flex-direction:column; padding-bottom:32px; }
  .g4fr-footer__grid { gap:32px 20px; padding:32px 0; }
  .g4fr-footer__brand, .g4fr-footer__contact { grid-column:1 / -1; }
  .g4fr-footer__bottom { align-items:flex-start; flex-direction:column; gap:12px; }
  .g4fr-footer__bottom nav { gap:16px; }
  .g4fr-whatsapp { right:16px; bottom:max(16px,env(safe-area-inset-bottom)); min-height:50px; padding:12px 16px; }
  .g4fr-ready #numeros .grid > :nth-child(3) { border-left:0; }
  .g4fr-ready .woocommerce ul.products li.product { padding:12px; }
  .g4fr-ready .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:15px; }
}
@media (prefers-reduced-motion:reduce) {
  .g4fr-brands summary svg, .g4fr-button, .g4fr-button svg, .g4fr-text-link svg, .g4fr-whatsapp, .g4fr-ready .woocommerce ul.products li.product { transition:none; }
  .g4fr-button:hover, .g4fr-button:hover svg, .g4fr-text-link:hover svg, .g4fr-whatsapp:hover, .g4fr-ready .woocommerce ul.products li.product:hover { transform:none; }
  .g4fr-ready .reveal { opacity:1; transform:none; transition:none; will-change:auto; }
}

/* Compatibilidade: WooCommerce no body do tema publicado. */
body.g4fr-ready.woocommerce ul.products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
body.g4fr-ready.woocommerce ul.products::before, body.g4fr-ready.woocommerce ul.products::after { display:none; }
body.g4fr-ready.woocommerce ul.products li.product { display:flex; flex-direction:column; width:auto !important; float:none; margin:0 !important; padding:18px; border:1px solid #e4e0e8; border-radius:14px; background:#fff; box-shadow:none; transition:border-color .2s,transform .22s var(--g4fr-ease); }
body.g4fr-ready.woocommerce ul.products li.product:hover { border-color:#ad99c5; transform:translateY(-3px); }
body.g4fr-ready.woocommerce ul.products li.product a img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; padding:16px; background:#f8f7f4; border-radius:8px; margin-bottom:20px; }
body.g4fr-ready.woocommerce ul.products li.product .woocommerce-loop-product__title { color:#111827; font-size:17px; line-height:1.5; font-weight:500; padding:0 0 10px; }
body.g4fr-ready.woocommerce ul.products li.product .price { color:#4c1d95; font-size:18px; font-weight:600; font-variant-numeric:tabular-nums; }
body.g4fr-ready.woocommerce ul.products li.product .button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 18px; margin-top:auto; border-radius:999px; background:#4c1d95; color:#fff; font-size:13px; line-height:1.4; transition:background-color .2s; }
body.g4fr-ready.woocommerce ul.products li.product .button:hover { background:#38166e; }
body.g4fr-ready.woocommerce ul.products li.product .added_to_cart { padding-top:12px; color:#4c1d95; text-decoration:underline; text-underline-offset:4px; }
body.g4fr-ready.woocommerce ul.products li.product .button.loading { opacity:.7; cursor:progress; }
@media(max-width:1023px) { body.g4fr-ready.woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { body.g4fr-ready.woocommerce ul.products li.product { padding:12px; } body.g4fr-ready.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:15px; } }
@media(max-width:380px) { body.g4fr-ready.woocommerce ul.products { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { body.g4fr-ready.woocommerce ul.products li.product { transition:none; } body.g4fr-ready.woocommerce ul.products li.product:hover { transform:none; } }
