/*
Theme Name: Pluva Editável
Description: Visual da exportação Horizons adaptado ao editor de blocos e WooCommerce.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: pluva-editavel
*/
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Manrope:wght@400;500;600;700;800&family=Roboto+Slab:wght@400;500;600;700&display=swap');




:root { --navy:#102c47; --navy-deep:#0b243c; --ink:#17324b; --muted-ink:#667b8c; --ice:#eaf3f7; --pale:#f4f8fa; --silver:#cbd9e1; --green:#236b53; --green-bg:#edf7f1; --background: 0 0% 100%; --foreground: 209 63% 17%; --card: 0 0% 100%; --card-foreground: 209 63% 17%; --popover: 0 0% 100%; --popover-foreground: 209 63% 17%; --primary: 209 63% 17%; --primary-foreground: 0 0% 100%; --secondary: 200 36% 94%; --secondary-foreground: 209 63% 17%; --muted: 200 30% 96%; --muted-foreground: 203 15% 47%; --accent: 200 36% 94%; --accent-foreground: 209 63% 17%; --destructive: 0 66% 46%; --destructive-foreground: 0 0% 100%; --border: 202 25% 86%; --input: 202 25% 86%; --ring: 209 63% 17%; --radius: .5rem; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:90px; }
body { margin:0; color:var(--ink); background:#fff; font-family:'Manrope',sans-serif; overflow-x:clip; -webkit-font-smoothing:antialiased; }
button, a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
button:disabled { cursor:not-allowed; opacity:.55; }
:focus-visible { outline:2px solid #3d779f; outline-offset:3px; }
::selection { background:#c8e4ef; color:var(--navy); }
.top-strip { min-height:32px; background:var(--navy-deep); color:#d6e6ed; font:600 10px/32px 'Manrope',sans-serif; letter-spacing:.18em; text-align:center; }
.top-strip span { margin-left:18px; color:#81acc1; }
.site-header { position:sticky; top:0; z-index:30; background:rgba(255,255,255,.97); border-bottom:1px solid #e5edf1; backdrop-filter:blur(12px); }
.header-inner { max-width:1370px; min-height:77px; padding:0 52px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:35px; }
.brand { display:inline-flex; align-items:center; gap:9px; font-family:'Manrope',sans-serif; font-weight:800; letter-spacing:-.075em; font-size:30px; line-height:1; color:var(--navy); white-space:nowrap; }
.brand-symbol { width:31px; height:31px; display:grid; place-items:center; background:var(--navy); color:white; border-radius:8px; transform:rotate(-9deg); }
.brand-symbol svg { transform:rotate(9deg); }
.brand-dot { color:#80b2cb; }
.header-nav { display:flex; align-items:center; gap:33px; color:#425a6b; font-size:12px; font-weight:700; }
.header-nav a:hover, .footer-grid a:hover { color:#35779e; }
.header-actions { display:flex; align-items:center; gap:17px; }
.bag-button,.icon-button,.mobile-menu { position:relative; border:0; background:transparent; color:var(--navy); width:43px; height:43px; display:grid; place-items:center; }
.bag-button span { position:absolute; top:0; right:0; background:var(--navy); color:white; width:17px; height:17px; border-radius:50%; font-size:10px; line-height:17px; }
.header-buy { display:inline-flex; align-items:center; gap:20px; background:var(--navy); color:white; font-size:12px; font-weight:800; padding:13px 17px; border-radius:5px; transition:background .2s,transform .2s; }
.header-buy:hover,.primary-button:hover,.offer-button:hover { background:#254e6c; transform:translateY(-2px); }
.mobile-menu { display:none; }
.eyebrow { font-size:11px; font-weight:800; letter-spacing:.2em; line-height:1.5; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:'Roboto Slab',serif; font-weight:500; letter-spacing:-.055em; }
h1 em,h2 em { font-style:normal; color:#6397b2; }
.primary-button { min-height:55px; display:inline-flex; align-items:center; justify-content:center; gap:21px; border:0; border-radius:5px; background:var(--navy); color:white; font:800 12px 'Manrope',sans-serif; letter-spacing:.09em; padding:16px 25px; transition:background .2s,transform .2s; }
.primary-button:active,.offer-button:active { transform:scale(.98); }
.hero { background:linear-gradient(90deg,#f2f7f9 0%,#f2f7f9 50%,#e8f1f5 50%,#e8f1f5 100%); position:relative; }
.hero-content { max-width:1440px; min-height:610px; margin:auto; display:grid; grid-template-columns:49% 51%; }
.hero-copy { padding:83px 30px 80px max(52px,calc((100vw - 1266px)/2)); align-self:center; }
.hero-eyebrow { color:#427690; display:flex; align-items:center; gap:13px; }
.eyebrow-line { width:30px; height:1px; background:#6b9ab1; }
.hero h1 { font-size:clamp(42px,4.5vw,70px); line-height:1.16; margin:30px 0 21px; color:var(--navy); white-space:nowrap; }
.hero-lead { max-width:480px; color:#50697a; font-size:15px; line-height:1.85; margin-bottom:27px; }
.hero-benefits { display:flex; flex-wrap:wrap; column-gap:19px; row-gap:13px; max-width:530px; margin-bottom:30px; }
.hero-benefits span { display:flex; align-items:center; gap:8px; color:#294b63; font-size:11px; font-weight:800; }
.hero-benefits svg { color:#4a849f; }
.hero-cta { min-width:279px; }
.hero-small { color:#8295a2; font-size:10px; margin:12px 0 0; }
.hero-visual { min-width:0; position:relative; display:flex; align-items:stretch; padding:28px 66px 28px 0; }
.hero-image-wrap { width:100%; position:relative; overflow:hidden; border-radius:4px; background:#d9e9ef; }
.hero-image-wrap img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; mix-blend-mode:multiply; }
.image-caption,.demo-image-caption { position:absolute; bottom:13px; left:15px; color:#526a79; font-size:10px; background:#f7fafacb; padding:5px 8px; border-radius:3px; }
.hero-side-note { position:absolute; right:20px; top:29px; bottom:29px; writing-mode:vertical-rl; display:flex; justify-content:space-between; color:#5a7c90; font:700 10px/1.5 'Manrope',sans-serif; letter-spacing:.16em; }
.hero-scroll { position:absolute; bottom:0; left:0; display:flex; align-items:center; gap:16px; background:#fff; color:#42677f; font-size:10px; font-weight:800; letter-spacing:.14em; padding:18px 22px 18px max(52px,calc((100vw - 1266px)/2)); }
.intro-line { background:var(--navy); color:white; }
.intro-inner { max-width:1266px; padding:35px 52px; margin:auto; display:grid; grid-template-columns:25% 1fr; align-items:center; gap:20px; }
.section-index { font-size:10px; font-weight:700; letter-spacing:.16em; color:#91b7ca; }
.intro-inner p { font:400 clamp(17px,2vw,24px)/1.5 'Roboto Slab',serif; letter-spacing:-.02em; margin:0; }
.intro-inner strong { color:#a4c7d8; font-weight:500; }
.section-shell { max-width:1266px; padding-left:52px; padding-right:52px; margin:0 auto; }
.demo { padding-top:110px; padding-bottom:115px; }
.section-heading { max-width:670px; margin-bottom:49px; }
.section-heading .eyebrow,.benefits-title .eyebrow,.detail-copy .eyebrow,.offer-heading .eyebrow,.trust-heading .eyebrow,.faq-intro .eyebrow { color:#567f97; }
.section-heading h2,.benefits h2,.detail-copy h2,.offer-heading h2,.trust h2,.faq h2,.last-cta h2 { font-size:clamp(35px,3.9vw,54px); line-height:1.21; color:var(--navy); margin:15px 0 18px; }
.section-heading p,.benefits-title p,.detail-copy p,.faq-intro p { color:#697f8d; font-size:14px; line-height:1.85; }
.demo-layout { display:grid; grid-template-columns:49% 1fr; gap:9%; align-items:center; }
.demo-media { position:relative; height:520px; overflow:hidden; background:#d9e5ea; border-radius:6px; }
.demo-media > img { width:100%; height:100%; object-fit:cover; object-position:center 45%; }
.demo-label { position:absolute; bottom:24px; right:24px; left:24px; display:flex; gap:13px; align-items:center; padding:17px; background:#fff; border-radius:5px; box-shadow:0 10px 35px #102c4720; }
.demo-label-icon { width:40px; height:40px; display:grid; place-items:center; background:var(--ice); color:var(--navy); border-radius:4px; flex-shrink:0; }
.demo-label strong,.demo-label small { display:block; }
.demo-label strong { color:var(--navy); font-size:12px; }
.demo-label small { color:#82919b; font-size:10px; margin-top:4px; }
.demo-image-caption { bottom:auto; top:15px; }
.side-caption { display:block; color:#7e9aaa; font-size:10px; font-weight:800; letter-spacing:.18em; margin-bottom:15px; }
.step { display:grid; grid-template-columns:53px 1fr; gap:15px; padding:25px 0; border-bottom:1px solid #dfe9ed; }
.step > span { color:#8bacbb; font:500 27px 'Barlow Condensed',sans-serif; }
.step h3 { font-size:18px; letter-spacing:-.035em; color:var(--navy); margin:0 0 9px; }
.step p { font-size:13px; line-height:1.8; color:#748692; max-width:300px; margin:0; }
.inline-link { display:inline-flex; align-items:center; gap:25px; color:var(--navy); font-size:12px; font-weight:800; border-bottom:1px solid #8eafbf; padding:5px 0 9px; margin-top:32px; transition:gap .2s; }
.inline-link:hover { gap:32px; }
.benefits { background:var(--pale); padding:103px 0; }
.benefits-inner { max-width:1266px; padding:0 52px; margin:auto; display:grid; grid-template-columns:42% 1fr; gap:9%; }
.benefits-title { padding-top:25px; }
.benefits-title p { max-width:300px; }
.benefit { display:grid; grid-template-columns:65px 1fr 30px; gap:19px; align-items:center; padding:20px 0 25px; border-bottom:1px solid #dce8ed; }
.benefit:first-child { border-top:1px solid #dce8ed; }
.benefit-icon { width:56px; height:56px; display:grid; place-items:center; background:#e4eff4; color:#3d718b; border-radius:5px; }
.benefit h3 { font-size:17px; color:var(--navy); letter-spacing:-.025em; margin:0 0 6px; }
.benefit p { color:#728797; font-size:12px; line-height:1.6; margin:0; }
.benefit-number { font:600 16px 'Barlow Condensed',sans-serif; color:#91adba; align-self:start; }
.detail-section { display:grid; grid-template-columns:48% 1fr; align-items:center; gap:10%; padding-top:108px; padding-bottom:108px; }
.detail-photo { height:415px; position:relative; border-radius:5px; overflow:hidden; background:#e7eef1; }
.detail-photo img { width:100%; height:100%; object-fit:cover; }
.detail-photo span { position:absolute; left:15px; bottom:14px; background:#ffffffcc; font-size:10px; padding:5px 8px; border-radius:3px; }
.detail-copy h2 { max-width:500px; }
.detail-copy p { max-width:430px; }
.offer { background:#eaf3f7; padding:100px 0 92px; }
.offer-inner { max-width:1195px; margin:auto; padding:0 34px; }
.offer-heading { display:flex; align-items:end; justify-content:space-between; gap:65px; margin-bottom:49px; }
.offer-heading h2 { margin-bottom:0; }
.offer-heading > p { max-width:305px; font-size:12px; line-height:1.8; color:#667d8b; margin:0 0 4px; }
.offer-alert { background:#fff; color:#526c7b; border-left:3px solid #89afc0; padding:16px 19px; border-radius:3px; font-size:12px; line-height:1.65; margin:-16px 0 31px; }
.offer-alert strong { color:var(--navy); }
.offer-grid { display:grid; grid-template-columns:1fr 1fr; align-items:stretch; gap:23px; }
.offer-card { position:relative; background:white; padding:34px 38px 30px; border:1px solid #d9e6ec; border-radius:7px; box-shadow:0 12px 30px #153a5510; }
.offer-card.featured { border:2px solid var(--navy); padding:33px 37px 29px; box-shadow:0 18px 45px #102c4722; }
.featured-ribbon { position:absolute; top:-15px; right:24px; background:var(--navy); color:white; border-radius:3px; padding:9px 16px; letter-spacing:.15em; font-size:10px; font-weight:800; }
.offer-type { font-size:10px; font-weight:800; letter-spacing:.18em; color:#7795a5; }
.offer-image { height:190px; margin:13px 0 12px; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#f1f7f9; border-radius:4px; }
.offer-image img { height:100%; width:100%; object-fit:contain; mix-blend-mode:multiply; }
.offer-image-pair img { width:55%; height:100%; object-fit:contain; }
.offer-image-pair img + img { margin-left:-18%; transform:scale(.8) translateY(12px); }
.offer-card h3 { color:var(--navy); font-size:20px; letter-spacing:-.04em; margin:0 0 6px; }
.offer-subtitle { color:#8495a0; font-size:12px; margin:0 0 23px; }
.offer-pricing { display:flex; align-items:baseline; justify-content:space-between; gap:15px; border-top:1px solid #e2ebef; padding:21px 0 17px; }
.offer-pricing span { color:#718696; font-size:12px; }
.offer-pricing strong { font-size:18px; color:var(--navy); white-space:nowrap; }
.pix-price { display:flex; align-items:center; justify-content:space-between; background:var(--green-bg); border-radius:4px; padding:13px 16px; gap:12px; color:var(--green); }
.pix-price span { font-size:10px; font-weight:800; letter-spacing:.09em; }
.pix-price strong { white-space:nowrap; font-size:26px; letter-spacing:-.05em; }
.pix-price strong small { font-size:12px; letter-spacing:0; }
.saving-line { color:var(--green); font-size:11px; font-weight:700; line-height:1.55; display:flex; gap:8px; align-items:start; margin:14px 0 -3px; }
.saving-line svg { flex-shrink:0; }
.offer-button { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:51px; padding:13px 18px; margin-top:23px; background:var(--navy); border:0; border-radius:4px; color:white; font:800 12px 'Manrope',sans-serif; transition:background .2s,transform .2s; }
.offer-button:disabled:hover { transform:none; }
.offer-note { text-align:center; font-size:10px; color:#899aa4; margin:12px 0 0; }
.payment-disclaimer { margin:29px auto 0; max-width:850px; display:flex; align-items:start; gap:13px; color:#627c8e; font-size:11px; line-height:1.7; }
.payment-disclaimer svg { flex-shrink:0; }
.offer-error { color:#a43d3d; font-size:12px; text-align:center; margin:20px auto; }
.offer-error button { border:0; background:none; color:var(--navy); text-decoration:underline; font-weight:800; }
.trust { padding-top:109px; padding-bottom:112px; display:grid; grid-template-columns:29% 1fr; gap:5%; }
.trust h2 { margin-bottom:0; }
.trust-items { display:grid; grid-template-columns:repeat(3,1fr); gap:27px; align-items:start; }
.trust-items > div { border-top:2px solid #b7d2df; padding-top:22px; }
.trust-items svg { color:#537d93; margin-bottom:20px; }
.trust-items h3 { color:var(--navy); font-size:14px; line-height:1.5; margin:0 0 9px; }
.trust-items p { color:#7d8e99; font-size:11px; line-height:1.8; }
.trust-links { grid-column:2; display:flex; flex-wrap:wrap; gap:12px 23px; margin-top:1px; }
.trust-links a { display:flex; gap:7px; align-items:center; font-size:11px; font-weight:700; color:#50758c; border-bottom:1px solid #9fbcca; padding-bottom:5px; }
.reviews { padding:64px 25px; background:#f5f9fa; text-align:center; }
.reviews-inner { max-width:570px; margin:auto; }
.reviews .eyebrow { color:#64879b; }
.reviews h2 { color:var(--navy); font:500 27px/1.3 'Roboto Slab',serif; letter-spacing:-.04em; margin:14px 0; }
.reviews p { color:#7e909a; font-size:12px; line-height:1.8; margin:0; }
.faq { padding-top:110px; padding-bottom:112px; display:grid; grid-template-columns:35% 1fr; gap:11%; }
.faq-list { border-top:1px solid #dbe7ec; }
.faq-list details { border-bottom:1px solid #dbe7ec; }
.faq-list summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:72px; font-size:13px; font-weight:800; color:var(--navy); }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary svg { flex-shrink:0; transition:transform .2s; }
.faq-list details[open] summary svg { transform:rotate(180deg); }
.faq-list details p { color:#6c8291; font-size:12px; line-height:1.85; max-width:570px; padding:0 30px 22px 0; margin:0; }
.last-cta { background:var(--navy); color:white; padding:61px max(52px,calc((100vw - 1162px)/2)); display:flex; align-items:center; justify-content:space-between; gap:30px; }
.last-cta .eyebrow { color:#a2c4d5; }
.last-cta h2 { color:white; margin:11px 0 0; }
.last-cta h2 em { color:#a7cadb; }
.last-cta .primary-button { color:var(--navy); background:white; }
.last-cta .primary-button:hover { background:#d9ebf2; }
.site-footer { background:#092136; color:#a9beca; padding:70px 52px 24px; }
.footer-grid { max-width:1162px; margin:auto; display:grid; grid-template-columns:2fr 1fr 1.5fr; gap:60px; padding-bottom:62px; }
.site-footer .brand { color:white; }
.site-footer .brand-symbol { background:#e7f2f6; color:var(--navy); }
.footer-grid p { font-size:12px; line-height:1.9; margin:24px 0 0; }
.footer-grid h3 { color:#fff; font-size:11px; letter-spacing:.14em; text-transform:uppercase; margin:3px 0 22px; }
.footer-grid a:not(.brand) { display:block; font-size:11px; margin:0 0 14px; }
.footer-bottom { max-width:1162px; margin:auto; border-top:1px solid #294458; padding-top:24px; display:flex; justify-content:space-between; gap:20px; font-size:10px; }
.cart-overlay { position:fixed; inset:0; z-index:100; background:#071e31a6; display:flex; justify-content:flex-end; }
.cart-panel { width:min(100%,440px); height:100%; display:flex; flex-direction:column; background:white; box-shadow:-20px 0 50px #03182930; }
.cart-header { display:flex; justify-content:space-between; align-items:center; padding:26px 28px; border-bottom:1px solid #e3ebef; }
.cart-header .eyebrow { color:#6c91a4; }
.cart-header h2 { font-size:27px; margin:5px 0 0; }
.cart-body { overflow:auto; flex:1; padding:20px 28px; }
.cart-empty { height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; color:#758d9b; }
.cart-empty svg { color:#779ab0; }
.cart-empty h3 { color:var(--navy); margin:19px 0 6px; font-size:18px; }
.cart-empty p { font-size:12px; }
.text-link { display:flex; align-items:center; gap:8px; background:none; border:0; color:var(--navy); font-size:12px; font-weight:800; margin-top:13px; }
.cart-item { display:flex; gap:15px; padding:20px 0; border-bottom:1px solid #e5edf1; }
.cart-item > img { flex-shrink:0; width:85px; height:85px; border-radius:4px; object-fit:cover; background:var(--ice); }
.cart-item-info { flex:1; }
.cart-item h3 { color:var(--navy); font-size:13px; line-height:1.45; margin:2px 0 8px; }
.cart-item p { color:var(--navy); font-size:13px; font-weight:800; margin:0 0 12px; }
.quantity-row { display:flex; align-items:center; justify-content:space-between; }
.quantity-control { border:1px solid #dce8ed; border-radius:4px; display:flex; align-items:center; }
.quantity-control button { border:0; background:white; width:30px; height:30px; display:grid; place-items:center; color:var(--navy); }
.quantity-control span { min-width:25px; text-align:center; font-size:12px; }
.remove-button { background:none; border:0; color:#788e9b; padding:7px; }
.cart-bottom { padding:24px 28px 30px; border-top:1px solid #dce8ed; }
.cart-total { display:flex; justify-content:space-between; align-items:center; color:var(--navy); font-size:15px; }
.cart-total strong { font-size:23px; }
.cart-bottom > p { color:#7c909d; font-size:11px; line-height:1.6; margin:8px 0 18px; }
.cart-bottom .checkout-error { color:#a43d3d; }
.cart-checkout { width:100%; justify-content:space-between; }
.continue-link { display:block; border:0; background:none; color:#567b91; font-size:11px; font-weight:800; margin:18px auto 0; }
.spin { animation:spin 1s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.info-page { min-height:55vh; background:#f5f9fa; padding:85px 24px 110px; }
.info-content { max-width:760px; margin:auto; }
.info-content .eyebrow { color:#638ba1; }
.info-content h1 { font-size:clamp(34px,5vw,55px); margin:16px 0 25px; }
.info-content p,.info-content li { color:#5f7685; line-height:1.85; font-size:14px; }
.info-content a { color:#2d688a; text-decoration:underline; }
.info-notice { background:white; border-left:3px solid #80aac0; padding:22px 25px; margin:33px 0; border-radius:3px; }
.info-notice p { margin:0; }
/* ===== Escolha seu modelo (home) ===== */
.models-section { background:var(--pale); padding:103px 0 108px; }
.models-inner { max-width:1266px; padding:0 52px; margin:auto; }
.models-heading { margin:0 auto 49px; text-align:center; }
.models-heading .eyebrow { color:#567f97; }
.models-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.model-card { background:#fff; border:1px solid #d9e6ec; border-radius:8px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 12px 30px #153a5510; transition:transform .2s, box-shadow .2s; }
.model-card:hover { transform:translateY(-4px); box-shadow:0 20px 45px #102c4722; }
.model-card-photo { display:block; height:268px; background:var(--ice); overflow:hidden; }
.model-card-photo img { width:100%; height:100%; object-fit:cover; }
.model-card-body { padding:26px 26px 28px; display:flex; flex-direction:column; flex:1; }
.model-card-eyebrow { color:#7795a5; margin-bottom:10px; }
.model-card-body h3 { font-size:21px; letter-spacing:-.035em; color:var(--navy); margin:0 0 9px; }
.model-card-body > p { color:#748692; font-size:13px; line-height:1.7; margin:0 0 20px; flex:1; }
.model-card-price { border-top:1px solid #e2ebef; padding:17px 0 19px; display:flex; align-items:center; }
.model-card-price strong { font-size:22px; color:var(--navy); letter-spacing:-.03em; }
.model-card-price-placeholder { color:#9aabb5; font-size:12px; font-weight:700; letter-spacing:.04em; }
.model-card-button { width:100%; min-height:50px; justify-content:space-between; padding:13px 18px; }

/* ===== Placeholder genérico ===== */
.placeholder-slot { width:100%; height:100%; min-height:120px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; color:#9fb3bf; background:repeating-linear-gradient(45deg,#eef4f6,#eef4f6 12px,#e7eff2 12px,#e7eff2 24px); text-align:center; }
.placeholder-slot span { font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }

/* ===== Página individual do produto ===== */
.product-page { max-width:1266px; padding:40px 52px 90px; margin:auto; }
.product-breadcrumb { margin-bottom:26px; }
.product-breadcrumb a { display:inline-flex; align-items:center; gap:9px; color:#567b91; font-size:12px; font-weight:800; }
.product-layout { display:grid; grid-template-columns:52% 1fr; gap:60px; align-items:start; }
.product-gallery { position:sticky; top:96px; }
.gallery-main { width:100%; height:480px; border-radius:7px; overflow:hidden; background:var(--ice); }
.gallery-main img { width:100%; height:100%; object-fit:cover; }
.gallery-main .placeholder-slot { height:100%; }
.gallery-thumbs { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:14px; }
.gallery-thumb { border:2px solid transparent; border-radius:6px; overflow:hidden; background:var(--ice); height:92px; padding:0; cursor:pointer; transition:border-color .2s; }
.gallery-thumb.active { border-color:var(--navy); }
.gallery-thumb img { width:100%; height:100%; object-fit:cover; }
.gallery-thumb .placeholder-slot { height:100%; min-height:0; }
.placeholder-thumb { gap:0; }
.product-info { padding-top:6px; }
.product-eyebrow { color:#567f97; }
.product-name { font-size:clamp(30px,3.4vw,46px); line-height:1.15; color:var(--navy); margin:14px 0 16px; }
.product-shortdesc { color:#5f7685; font-size:15px; line-height:1.8; max-width:440px; margin:0 0 26px; }
.product-price-area { margin-bottom:26px; }
.product-price { font-size:34px; color:var(--navy); letter-spacing:-.04em; }
.product-price-placeholder { background:var(--ice); border-radius:5px; padding:14px 18px; color:#7e95a1; font-size:13px; font-weight:700; display:inline-block; }
.variation-area { border:1px dashed #b9cdd6; border-radius:6px; padding:18px 20px; margin-bottom:26px; background:#f7fbfc; }
.variation-head { display:flex; align-items:center; gap:9px; color:var(--navy); font-size:12px; font-weight:800; letter-spacing:.06em; margin-bottom:9px; }
.variation-empty { color:#8295a0; font-size:12px; line-height:1.7; margin:0; }
.variation-ready { color:#3d718b; font-size:12px; line-height:1.7; margin:0; }
.product-buy { width:100%; justify-content:space-between; min-height:56px; }
.product-buy:disabled { background:#a9bcc7; }
.product-buy-note { color:#8295a0; font-size:11px; line-height:1.6; margin:11px 0 0; }

/* ===== Seções internas do produto ===== */
.product-section { padding:54px 0; border-top:1px solid #dfe9ed; }
.product-section:first-of-type { border-top:1px solid #dfe9ed; }
.product-section-head { max-width:620px; margin-bottom:32px; }
.product-section-head .eyebrow { color:#567f97; }
.product-section-head h2 { font-size:clamp(26px,2.8vw,38px); line-height:1.2; color:var(--navy); margin:12px 0 0; letter-spacing:-.045em; }
.product-benefits-list { display:grid; grid-template-columns:1fr 1fr; gap:22px 38px; }
.product-benefit { display:grid; grid-template-columns:42px 1fr; gap:16px; align-items:start; }
.product-benefit-icon { width:42px; height:42px; display:grid; place-items:center; background:var(--green-bg); color:var(--green); border-radius:5px; }
.product-benefit h3 { font-size:15px; color:var(--navy); margin:3px 0 6px; letter-spacing:-.02em; }
.product-benefit p { color:#748692; font-size:12px; line-height:1.7; margin:0; }
.placeholder-row h3, .placeholder-row dd, .placeholder-row p { color:#9aabb5 !important; }
.features-table { display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid #dfe9ed; max-width:760px; }
.features-row { display:contents; }
.features-row dt, .features-row dd { border-bottom:1px solid #dfe9ed; padding:16px 4px; font-size:13px; }
.features-row dt { color:#748692; font-weight:700; }
.features-row dd { color:var(--navy); margin:0; font-weight:600; }
.product-features-section .features-table { grid-template-columns:240px 1fr; }

/* ===== Blocos: entrega, pagamento, troca ===== */
.product-info-blocks { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; padding:54px 0; border-top:1px solid #dfe9ed; }
.info-block { background:#fff; border:1px solid #d9e6ec; border-radius:7px; padding:26px 24px; }
.info-block-icon { width:48px; height:48px; display:grid; place-items:center; background:var(--ice); color:#3d718b; border-radius:6px; margin-bottom:16px; }
.info-block h3 { font-size:15px; color:var(--navy); margin:0 0 9px; letter-spacing:-.02em; }
.info-block p { color:#748692; font-size:12px; line-height:1.75; margin:0; }
.info-block a { color:#2d688a; font-weight:800; display:inline-flex; align-items:center; gap:6px; }

/* ===== Sugestão de outros modelos ===== */
.related-models { padding:54px 0 0; border-top:1px solid #dfe9ed; }
.related-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.related-card { box-shadow:0 8px 22px #153a5510; }
.related-card .model-card-photo { height:200px; }
.related-card .model-card-body { padding:22px 22px 24px; }
.related-card .model-card-price { display:none; }
.model-card-link { display:inline-flex; align-items:center; gap:8px; color:var(--navy); font-size:12px; font-weight:800; }

@media(max-width:1000px) { .header-nav { gap:18px; } .header-inner { padding:0 30px; } .hero-copy { padding-left:36px; } .hero h1 { font-size:clamp(39px,4.5vw,58px); } .hero-visual { padding-right:45px; } .hero-side-note { right:10px; } .hero-scroll { padding-left:36px; } .section-shell,.benefits-inner,.intro-inner { padding-left:36px; padding-right:36px; } .trust { grid-template-columns:1fr; } .trust-links { grid-column:1; } }
@media(max-width:700px) { html { scroll-padding-top:70px; } .top-strip { font-size:8px; letter-spacing:.1em; min-height:27px; line-height:27px; } .top-strip span { display:none; } .header-inner { min-height:64px; padding:0 20px; gap:10px; } .brand { font-size:26px; } .brand-symbol { width:28px; height:28px; } .header-nav { display:none; position:absolute; top:64px; left:0; right:0; background:white; padding:16px 23px 24px; border-bottom:1px solid #dbe8ed; box-shadow:0 18px 22px #102c4710; flex-direction:column; align-items:stretch; gap:0; } .header-nav.open { display:flex; } .header-nav a { padding:14px 0; border-bottom:1px solid #edf2f4; font-size:14px; } .header-buy { display:none; } .header-actions { gap:2px; } .mobile-menu { display:grid; } .hero { background:#f1f7f9; } .hero-content { display:flex; flex-direction:column; min-height:0; } .hero-copy { padding:49px 22px 31px; order:1; } .hero-eyebrow { font-size:9px; } .hero h1 { font-size:clamp(36px,10vw,51px); line-height:1.18; margin:21px 0 14px; white-space:normal; } .hero-lead { font-size:13px; line-height:1.75; margin-bottom:20px; } .hero-benefits { gap:9px 16px; margin-bottom:23px; } .hero-benefits span { font-size:10px; } .hero-cta { width:100%; min-width:0; } .hero-small { text-align:center; } .hero-visual { order:0; height:275px; padding:0; } .hero-image-wrap { border-radius:0; } .hero-image-wrap img { object-position:center 46%; } .hero-side-note,.hero-scroll { display:none; } .intro-inner { display:block; padding:26px 23px; } .intro-inner p { font-size:17px; margin-top:10px; } .section-shell { padding-left:23px; padding-right:23px; } .demo { padding-top:68px; padding-bottom:77px; } .section-heading { margin-bottom:29px; } .section-heading h2,.benefits h2,.detail-copy h2,.offer-heading h2,.trust h2,.faq h2,.last-cta h2 { font-size:clamp(32px,9vw,42px); } .section-heading p,.benefits-title p,.detail-copy p,.faq-intro p { font-size:13px; } .demo-layout { display:flex; flex-direction:column; gap:38px; align-items:stretch; } .demo-media { height:440px; } .demo-label { bottom:18px; right:18px; left:18px; } .demo-steps { padding:0 3px; } .step { padding:20px 0; } .benefits { padding:67px 0; } .benefits-inner { display:block; padding:0 23px; } .benefits-title { padding:0 0 20px; } .benefit { gap:13px; grid-template-columns:53px 1fr 24px; } .benefit-icon { width:49px; height:49px; } .benefit h3 { font-size:15px; } .detail-section { display:flex; flex-direction:column; gap:32px; padding-top:72px; padding-bottom:76px; align-items:stretch; } .detail-photo { height:300px; } .offer { padding:71px 0 75px; } .offer-inner { padding:0 20px; } .offer-heading { display:block; margin-bottom:32px; } .offer-heading h2 { margin-bottom:14px; } .offer-heading > p { max-width:500px; } .offer-grid { grid-template-columns:1fr; gap:28px; } .offer-card,.offer-card.featured { padding:29px 25px 25px; } .offer-card.featured { order:-1; padding:28px 24px 24px; } .offer-image { height:173px; } .offer-card h3 { font-size:19px; } .pix-price strong { font-size:23px; } .payment-disclaimer { font-size:10px; } .trust { padding-top:70px; padding-bottom:73px; gap:25px; } .trust-items { grid-template-columns:1fr; gap:0; } .trust-items > div { display:grid; grid-template-columns:45px 1fr; column-gap:10px; padding:17px 0; border-top:1px solid #dce8ed; } .trust-items svg { grid-row:span 2; margin:0; } .trust-items h3 { margin:0 0 5px; } .trust-items p { margin:0; } .reviews { padding:60px 23px; } .faq { display:block; padding-top:72px; padding-bottom:78px; } .faq-intro { margin-bottom:35px; } .faq-list summary { font-size:12px; min-height:66px; } .last-cta { display:block; padding:62px 23px; } .last-cta .primary-button { margin-top:20px; width:100%; } .site-footer { padding:62px 23px 28px; } .footer-grid { grid-template-columns:1fr 1fr; gap:35px 17px; padding-bottom:32px; } .footer-grid > div:first-child { grid-column:span 2; } .footer-bottom { display:block; line-height:1.9; } .footer-bottom span { display:block; } }
@media(max-width:370px) { .hero-visual { height:245px; } .hero h1 { font-size:35px; } .offer-card,.offer-card.featured { padding-left:18px; padding-right:18px; } .pix-price { padding:12px; } .pix-price strong { font-size:21px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }

/* ===== Responsivo: modelos e página de produto ===== */
@media(max-width:1000px) {
  .models-grid { grid-template-columns:1fr 1fr; }
  .product-layout { grid-template-columns:1fr; gap:34px; }
  .product-gallery { position:static; }
  .gallery-main { height:400px; }
  .product-benefits-list { grid-template-columns:1fr; gap:20px; }
  .product-info-blocks { grid-template-columns:1fr; }
  .related-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:700px) {
  .models-section { padding:71px 0 77px; }
  .models-inner { padding:0 23px; }
  .models-grid { grid-template-columns:1fr; gap:24px; }
  .model-card-photo { height:230px; }
  .model-card-body { padding:22px 22px 24px; }
  .product-page { padding:26px 23px 70px; }
  .gallery-main { height:300px; }
  .gallery-thumbs { grid-template-columns:repeat(4,1fr); gap:9px; }
  .gallery-thumb { height:64px; }
  .product-name { font-size:clamp(27px,8vw,36px); }
  .product-section { padding:40px 0; }
  .product-section-head h2 { font-size:clamp(23px,7vw,30px); }
  .product-features-section .features-table { grid-template-columns:1fr; }
  .features-row dt, .features-row dd { padding:13px 2px; }
  .related-grid { grid-template-columns:1fr; }
  .related-card .model-card-photo { height:180px; }
}
@media(max-width:370px) {
  .gallery-thumb { height:56px; }
}

/* Ajustes para blocos nativos e páginas WooCommerce. */
.wp-block-group{box-sizing:border-box}.entry-content>*{margin-block-start:0;margin-block-end:0}
.hero-image-wrap .wp-block-image,.demo-media>.wp-block-image,.detail-photo>.wp-block-image{margin:0;width:100%;height:100%}
.wp-block-image img{display:block;max-width:100%}.hero-image-wrap .wp-block-image img,.demo-media>.wp-block-image img,.detail-photo>.wp-block-image img{height:100%;width:100%;object-fit:cover}
p.hero-cta,p.primary-button,p.inline-link{padding:0;background:none;border:0}p.hero-cta>a,p.primary-button>a{display:inline-flex;background:var(--navy);color:white;padding:20px 25px;border-radius:5px}
p.inline-link>a{display:inline-flex;padding:5px 0 9px;border-bottom:1px solid #8eafbf}.last-cta p.primary-button>a{background:white;color:var(--navy)}
.hero-benefits p{font-size:11px;margin:0}.hero-side-note p{margin:0}.step>p{color:#8bacbb;font-size:27px}.benefit-icon{margin:0}.benefit-number{margin:0}.hero-eyebrow p{margin:0}
.content-shell{max-width:1162px;margin:0 auto;padding:50px 24px;min-height:50vh}.content-shell h1{font-size:42px}
.woocommerce div.product .product_title{color:var(--navy);font-size:42px}.woocommerce div.product p.price{color:var(--navy)}
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--navy);color:#fff;border-radius:5px;padding:16px 22px}
.woocommerce div.product div.images img{border-radius:6px}.woocommerce .quantity .qty{min-height:46px}.woocommerce div.product form.cart .variations select{padding:10px}
.model-edit{display:inline-block;font-size:12px;margin-top:16px;text-decoration:underline}.pluva-note{padding:18px;background:var(--ice);border-left:3px solid #6397b2}
p.hero-scroll{margin:0}p.hero-scroll>a{position:static;padding:0;background:none}.hero-benefits p>span{display:inline}.trust-links p{margin:0}
@media(max-width:700px){.trust-items>div>p:first-child{grid-row:span 2;margin:0}.trust-items>div>h3,.trust-items>div>p:last-child{grid-column:2}}
.site-header .mobile-nav{display:none}.wp-block-details summary{cursor:pointer}.site-footer a:focus-visible{outline-color:white}
@media(max-width:700px){.site-header .mobile-nav{display:block}.mobile-nav summary{cursor:pointer;padding:12px}.mobile-nav nav{position:absolute;right:0;top:64px;background:white;padding:24px;display:flex;flex-direction:column;gap:20px;min-width:220px}.hero h1{white-space:normal}.hero-visual{min-height:275px}.hero-cta>a{width:100%;justify-content:center}.content-shell h1,.woocommerce div.product .product_title{font-size:32px}}
