* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background:#fff; color:#111; max-width:480px; margin:0 auto; font-size:15px; }

/* ANNOUNCEMENT BAR */
.announce { background:#111; color:#fff; text-align:center; font-size:12px; font-weight:600; padding:8px 16px; display:flex; align-items:center; justify-content:center; gap:6px; letter-spacing:.3px; }
.announce svg { width:14px; height:14px; fill:none; stroke:#fff; stroke-width:2; flex-shrink:0; }

/* HEADER */
.header { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid #e8e8e8; }
.header-logo { font-size:20px; font-weight:800; letter-spacing:1px; color:#111; }
.header-logo span { font-weight:300; }
.header svg { width:22px; height:22px; fill:none; stroke:#111; stroke-width:1.8; cursor:pointer; }

/* GALLERY */
.gallery { background:#f5f2ee; }
.gallery-wrap { position:relative; width:100%; padding-top:100%; background:#f5f2ee; overflow:hidden; }
#carousel-track { display:flex; position:absolute; top:0; left:0; width:100%; height:100%; transition:transform .35s cubic-bezier(.4,0,.2,1); }
.carousel-slide { min-width:100%; width:100%; height:100%; flex-shrink:0; overflow:hidden; }
.carousel-slide img { width:100%; height:100%; object-fit:cover; display:block; pointer-events:none; user-select:none; }
.gallery-dots { display:flex; justify-content:center; gap:5px; padding:10px 0 8px; background:#f5f2ee; }
.dot { width:7px; height:7px; border-radius:50%; background:#ccc; cursor:pointer; transition:all .2s; }
.dot.active { background:#111; width:20px; border-radius:4px; }
.gallery-thumbs { display:flex; gap:8px; padding:0 14px 12px; background:#f5f2ee; overflow-x:auto; scrollbar-width:none; }
.gallery-thumbs::-webkit-scrollbar { display:none; }
.thumb { width:58px; height:58px; border-radius:10px; flex-shrink:0; cursor:pointer; border:2px solid transparent; overflow:hidden; transition:border-color .15s; }
.thumb.active { border-color:#111; }
.thumb img { width:100%; height:100%; object-fit:cover; border-radius:8px; display:block; }

/* RATING */
.rating-bar { padding:10px 16px; display:flex; align-items:center; gap:6px; border-bottom:1px solid #f0f0f0; }
.stars { color:#f5a623; font-size:14px; letter-spacing:1px; }
.rating-num { font-size:14px; font-weight:700; }
.rating-count { font-size:13px; color:#888; }

/* BADGES */
.badges { display:flex; gap:8px; padding:10px 16px 6px; flex-wrap:wrap; }
.badge { border:1.5px solid #111; border-radius:20px; padding:4px 12px; font-size:12px; font-weight:600; color:#111; }
.badge.green { border-color:#22c55e; color:#22c55e; background:#f0fdf4; }

/* PRODUCT TITLE */
.product-title-block { padding:8px 16px 12px; border-bottom:1px solid #f0f0f0; }
.product-title { font-size:18px; font-weight:800; line-height:1.3; color:#111; }

/* COLOR SELECT */
.section { padding:14px 16px; border-bottom:1px solid #f0f0f0; }
.section-label { font-size:14px; font-weight:700; margin-bottom:10px; }
.color-options { display:flex; gap:8px; }
.color-btn { width:44px; height:44px; border-radius:10px; border:2px solid #ddd; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; transition:all .15s; }
.color-btn.active { border-color:#111; border-width:2.5px; box-shadow:0 0 0 2px rgba(0,0,0,.08); }
.color-btn span { font-size:8px; font-weight:700; text-align:center; line-height:1.2; }

/* PRICE BLOCK */
.price-outer { padding:14px 16px 0; }
.price-block { background:#f8f8f8; border-radius:14px; padding:16px; }
.price-original { font-size:14px; color:#aaa; text-decoration:line-through; margin-bottom:2px; }
.price-badge { display:inline-block; background:#22c55e; color:#fff; font-size:12px; font-weight:700; border-radius:6px; padding:2px 8px; margin-left:8px; vertical-align:middle; }
.price-current { font-size:32px; font-weight:800; color:#22c55e; line-height:1; margin:4px 0; }
.price-current small { font-size:16px; color:#555; font-weight:400; }
.price-installment { font-size:13px; color:#888; margin-top:2px; }

/* URGENCY */
.urgency { margin:12px 16px; background:#fff5f5; border:1.5px solid #fed7d7; border-radius:10px; padding:10px 14px; display:flex; align-items:center; gap:8px; }
.urgency-dot { width:8px; height:8px; border-radius:50%; background:#ef4444; flex-shrink:0; animation:pulse 1.5s infinite; }
.urgency-text { font-size:13px; color:#dc2626; font-weight:600; }

@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }

/* BULLETS */
.bullets { padding:4px 16px 14px; border-bottom:1px solid #f0f0f0; }
.bullet { display:flex; align-items:center; gap:10px; padding:7px 0; font-size:14px; color:#222; }
.bullet-icon { width:22px; height:22px; border-radius:50%; border:2px solid #22c55e; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.bullet-icon svg { width:12px; height:12px; fill:none; stroke:#22c55e; stroke-width:2.5; }

/* CTA */
.cta-block { padding:14px 16px; border-bottom:1px solid #f0f0f0; }
.btn-primary { width:100%; background:#22c55e; color:#fff; border:none; border-radius:14px; padding:18px 0; font-size:16px; font-weight:800; cursor:pointer; letter-spacing:.5px; display:block; text-align:center; text-decoration:none; }
.btn-primary:hover { background:#16a34a; }
.trust-icons { display:flex; justify-content:center; gap:28px; margin-top:12px; }
.trust-item { display:flex; flex-direction:column; align-items:center; gap:3px; }
.trust-item svg { width:18px; height:18px; fill:none; stroke:#888; stroke-width:1.6; }
.trust-item span { font-size:11px; color:#888; text-align:center; line-height:1.2; }
.trust-divider { width:1px; background:#e5e5e5; margin:4px 0; }
.payment-icons { display:flex; justify-content:center; align-items:center; gap:8px; margin-top:12px; flex-wrap:wrap; }
.pay-badge { background:#f5f5f5; border-radius:6px; padding:4px 8px; font-size:10px; font-weight:700; color:#555; letter-spacing:.5px; }
.pay-badge.pix { color:#32bcad; }
.pay-badge.visa { color:#1a1f71; }
.pay-badge.mc { color:#eb001b; }
.pay-badge.elo { color:#00a4e0; }
.pay-badge.amex { color:#007bc1; }

/* FEATURES */
.features { background:#f8f8f8; }
.features-title { text-align:center; font-size:20px; font-weight:800; padding:28px 16px 20px; }
.feature-card { background:#fff; border-radius:16px; margin:0 14px 16px; overflow:hidden; }
.feature-card img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.feature-body { padding:16px 18px 20px; }
.feature-body h3 { font-size:17px; font-weight:800; margin-bottom:6px; }
.feature-body p { font-size:14px; color:#666; line-height:1.6; }

/* COUNTDOWN */
.countdown-wrap { background:#f8f8f8; padding:16px 0 20px; }
.countdown-block { margin:0 14px 14px; background:#fff; border-radius:14px; padding:14px 16px; border:1.5px solid #e5e5e5; }
.countdown-row { display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.countdown-row svg { width:16px; height:16px; fill:none; stroke:#555; stroke-width:1.8; flex-shrink:0; }
.countdown-label { font-size:13px; color:#555; flex:1; }
.countdown-timer { display:flex; gap:4px; }
.timer-box { background:#111; color:#fff; font-size:14px; font-weight:700; border-radius:6px; padding:5px 9px; min-width:32px; text-align:center; font-family:monospace; }
.timer-sep { font-size:16px; font-weight:700; color:#111; align-self:center; }
.stock-row { display:flex; align-items:center; gap:6px; font-size:13px; }
.stock-dot { width:8px; height:8px; border-radius:50%; background:#22c55e; flex-shrink:0; animation:pulse 1.5s infinite; }
.stock-text { color:#555; }
.stock-text strong { color:#22c55e; }
.cta-green { margin:0 14px; }
.btn-green-lg { width:100%; background:#22c55e; color:#fff; border:none; border-radius:14px; padding:18px 0; font-size:16px; font-weight:800; cursor:pointer; letter-spacing:.5px; display:block; text-align:center; }
.btn-green-lg:hover { background:#16a34a; }
.trust-small { display:flex; justify-content:center; gap:20px; margin-top:8px; }
.trust-small span { font-size:12px; color:#888; display:flex; align-items:center; gap:4px; }

/* USE CASES */
.use-cases { padding:28px 16px; background:#fff; border-top:1px solid #f0f0f0; border-bottom:1px solid #f0f0f0; }
.use-cases h2 { font-size:20px; font-weight:800; text-align:center; margin-bottom:4px; }
.use-cases p { font-size:14px; color:#888; text-align:center; margin-bottom:18px; }
.use-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }
.use-item { background:#f8f8f8; border-radius:12px; padding:16px 8px; display:flex; flex-direction:column; align-items:center; gap:6px; }
.use-item svg { width:24px; height:24px; fill:none; stroke:#111; stroke-width:1.6; }
.use-item span { font-size:12px; font-weight:600; color:#333; text-align:center; }

/* REVIEWS */
.reviews { background:#f8f8f8; padding-bottom:8px; }
.reviews-header { padding:28px 16px 4px; text-align:center; }
.reviews-pill { display:inline-block; background:#fff; border:1.5px solid #e5e5e5; border-radius:20px; padding:5px 14px; font-size:12px; font-weight:700; margin-bottom:12px; }
.reviews-header h2 { font-size:20px; font-weight:800; margin-bottom:6px; }
.rating-big { display:flex; flex-direction:column; align-items:center; gap:2px; margin-bottom:16px; }
.rating-big .stars { font-size:22px; }
.rating-big p { font-size:13px; color:#666; }
.review-photos-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:0 14px 16px; }
.review-photos-grid img { border-radius:12px; object-fit:cover; width:100%; }
.review-photos-grid img.wide { grid-column:span 2; aspect-ratio:2/1; }
.review-photos-grid img.square { aspect-ratio:1/1; }
.review-card-list { padding:0 14px; display:flex; flex-direction:column; gap:10px; }
.review-card { background:#fff; border-radius:14px; padding:16px; }
.review-top { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.reviewer-img { width:44px; height:44px; border-radius:10px; object-fit:cover; flex-shrink:0; }
.reviewer-avatar { width:44px; height:44px; border-radius:10px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:700; color:#fff; }
.review-meta { flex:1; }
.review-name { font-size:14px; font-weight:700; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.verified-badge { background:#f0fdf4; border:1px solid #bbf7d0; border-radius:20px; padding:1px 7px; font-size:10px; color:#22c55e; font-weight:600; white-space:nowrap; }
.review-location { font-size:12px; color:#888; display:flex; align-items:center; gap:3px; margin-top:1px; }
.review-location svg { width:11px; height:11px; fill:none; stroke:#aaa; stroke-width:2; }
.review-stars { color:#f5a623; font-size:13px; margin-bottom:6px; }
.review-text { font-size:14px; color:#333; line-height:1.6; font-style:italic; }
.trust-pills { display:flex; flex-wrap:wrap; gap:8px; padding:20px 14px 0; justify-content:center; }
.trust-pill { background:#fff; border:1.5px solid #e5e5e5; border-radius:20px; padding:7px 14px; font-size:13px; display:flex; align-items:center; gap:5px; }
.final-cta { padding:20px 14px 14px; text-align:center; }
.final-cta p { font-size:14px; color:#555; margin-bottom:14px; }
.final-cta p strong { color:#111; }
.btn-final { width:100%; background:#22c55e; color:#fff; border:none; border-radius:14px; padding:18px 0; font-size:16px; font-weight:800; cursor:pointer; letter-spacing:.5px; }
.btn-final:hover { background:#16a34a; }

/* FAQ */
.faq { padding:28px 14px; border-top:1px solid #f0f0f0; }
.faq h2 { font-size:20px; font-weight:800; text-align:center; margin-bottom:18px; }
.faq-item { background:#f8f8f8; border-radius:12px; margin-bottom:8px; overflow:hidden; cursor:pointer; }
.faq-q { padding:14px 16px; font-size:14px; font-weight:600; display:flex; justify-content:space-between; align-items:center; }
.faq-q svg { width:16px; height:16px; fill:none; stroke:#555; stroke-width:2; transition:transform .2s; flex-shrink:0; }
.faq-a { padding:0 16px 14px; font-size:13px; color:#666; line-height:1.6; display:none; }
.faq-item.open .faq-a { display:block; }
.faq-item.open .faq-q svg { transform:rotate(180deg); }

/* FOOTER */
footer { background:#fff; border-top:1px solid #f0f0f0; padding:28px 16px; text-align:center; }
.footer-logo { font-size:20px; font-weight:800; letter-spacing:1px; margin-bottom:16px; }
.footer-logo span { font-weight:300; }
.footer-insta { width:40px; height:40px; border-radius:50%; background:#f5f5f5; display:inline-flex; align-items:center; justify-content:center; margin-bottom:14px; }
.footer-insta svg { width:18px; height:18px; fill:none; stroke:#555; stroke-width:1.6; }
.footer-links { display:flex; flex-direction:column; gap:8px; margin-bottom:20px; }
.footer-links a { font-size:13px; color:#666; text-decoration:none; }
.footer-links a:hover { color:#111; }
.footer-contact { margin-bottom:16px; }
.footer-contact p { font-size:13px; color:#555; margin-bottom:6px; display:flex; align-items:center; justify-content:center; gap:5px; }
.footer-contact svg { width:13px; height:13px; fill:none; stroke:#555; stroke-width:1.8; }
.footer-pay { font-size:12px; color:#aaa; margin-bottom:8px; }
.payment-row { display:flex; justify-content:center; gap:6px; flex-wrap:wrap; margin-bottom:16px; }
.footer-info { font-size:11px; color:#bbb; line-height:1.7; }

/* STICKY BOTTOM */
.sticky-bar { position:fixed; bottom:0; left:50%; transform:translateX(-50%); max-width:480px; width:100%; background:#fff; border-top:1px solid #e5e5e5; padding:10px 14px; display:flex; align-items:center; justify-content:space-between; z-index:200; gap:12px; box-shadow:0 -4px 20px rgba(0,0,0,.08); }
.sticky-price { display:flex; flex-direction:column; }
.sticky-price s { font-size:11px; color:#aaa; }
.sticky-price strong { font-size:18px; font-weight:800; color:#22c55e; }
.sticky-btn { flex:1; background:#22c55e; color:#fff; border:none; border-radius:12px; padding:13px 0; font-size:14px; font-weight:800; cursor:pointer; letter-spacing:.3px; }
.sticky-btn:hover { background:#16a34a; }
.spacer { height:70px; }
