@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root { --ink:#292929; --muted:#6f6f6f; --line:#e5e5e5; --paper:#fff; --soft:#f7f7f6; --accent:#333232; --serif:'Space Grotesk', Arial, sans-serif; --sans:'DM Sans', Arial, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:16px; font-weight:400; line-height:1.55; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.site-header { position:sticky; top:0; z-index:20; border-bottom:1px solid #ececec; background:rgba(255,255,255,.96); backdrop-filter:blur(10px); }
.header-inner { display:flex; align-items:center; justify-content:space-between; width:min(1180px, calc(100% - 48px)); min-height:88px; margin:auto; }
.brand { display:inline-flex; align-items:center; gap:9px; font-family:'Space Grotesk',Arial,sans-serif; font-size:25px; letter-spacing:-.075em; }
.brand-mark { display:inline-block; width:29px; height:29px; flex:0 0 29px; background:url("assets/lumistore-app-icon-transparent.png") center / contain no-repeat; font-size:0; }
.brand > span:last-child:not(.brand-wordmark) { font-weight:600; }
.brand-wordmark { display:flex; align-items:baseline; font-family:'Space Grotesk',Arial,sans-serif; letter-spacing:-.08em; }
.brand-wordmark strong { font-weight:600; }
.brand-wordmark span { color:#777773; font-weight:300; }
.main-nav { display:flex; align-items:center; justify-content:center; gap:25px; margin-left:40px; font-size:12px; text-transform:uppercase; letter-spacing:.05em; }
.main-nav a { padding:33px 0; transition:color .2s; }.main-nav a:hover,.main-nav a.is-current { color:#999; }
.header-menu { display:none; width:36px; padding:7px; border:0; background:transparent; }.header-menu i { display:block; height:1px; margin:6px 0; background:var(--ink); }
.mobile-panel { display:none; }
.page-shell { width:min(1180px, calc(100% - 48px)); margin:0 auto; }
.home-hero { position:relative; min-height:650px; overflow:hidden; display:flex; align-items:end; justify-content:center; padding:90px 48px; color:#fff; text-align:center; background:#404040; }
.home-hero::before { position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,.55)); content:""; }
.home-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.72; }
.hero-copy { position:relative; z-index:1; max-width:850px; }.hero-copy h1 { margin:0 auto 22px; font-family:var(--serif); font-size:clamp(40px, 6vw, 77px); font-weight:400; line-height:1.06; letter-spacing:-.055em; }.hero-copy p { max-width:570px; margin:0 auto; color:rgba(255,255,255,.9); font-size:16px; }.hero-link { display:inline-flex; margin-top:31px; padding:11px 23px; border:1px solid rgba(255,255,255,.75); color:#fff; font-size:12px; text-transform:uppercase; letter-spacing:.08em; transition:background .2s,color .2s; }.hero-link:hover { color:#111; background:#fff; }
.quote-band { padding:82px 24px; text-align:center; background:var(--soft); }.quote-band blockquote { max-width:720px; margin:0 auto; font-family:var(--serif); font-size:clamp(27px, 4vw, 43px); font-weight:400; line-height:1.18; letter-spacing:-.04em; }.quote-band cite { display:block; margin-top:18px; color:#8a8a8a; font-size:11px; font-style:normal; letter-spacing:.11em; text-transform:uppercase; }
.section { padding:90px 0; }.section-heading { margin:0 0 46px; text-align:center; }.section-heading h2 { margin:0 0 12px; font-family:var(--serif); font-size:clamp(32px,4vw,50px); font-weight:400; line-height:1.1; letter-spacing:-.045em; }.section-heading p { max-width:650px; margin:0 auto; color:var(--muted); }
.category-section { color:#fff; background:#000; }
.category-section .section-heading h2 { color:#fff; }
.category-section .section-heading p { color:rgba(255,255,255,.68); }
.category-section .category-card:nth-child(1) img { content:url("https://img1.wsimg.com/isteam/ip/11ec92be-7c40-48ce-94ae-4c496857b9e8/blob-20e620d.png"); }
.category-section .category-card:nth-child(3) img { content:url("https://img1.wsimg.com/isteam/ip/11ec92be-7c40-48ce-94ae-4c496857b9e8/blob-c524551.png"); }
.about-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }.about-card { padding:28px 0 0; border-top:1px solid var(--ink); }.about-card h3 { margin:0 0 16px; font-size:12px; letter-spacing:.1em; text-transform:uppercase; }.about-card p { margin:0; color:var(--muted); font-size:15px; line-height:1.7; }
.category-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.category-card { position:relative; overflow:hidden; min-height:270px; padding:26px; display:flex; flex-direction:column; justify-content:end; color:#fff; background:#777; isolation:isolate; }.category-card::before { position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.67)); content:""; }.category-card img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(15%); transition:transform .45s; }.category-card:hover img { transform:scale(1.05); }.category-card h3 { margin:0; font-family:var(--serif); font-size:31px; font-weight:400; }.category-card p { margin:4px 0 0; color:rgba(255,255,255,.8); font-size:13px; }.category-card span { position:absolute; top:22px; right:22px; font-size:24px; }
.contact-section { padding:100px 0; color:#fff; background:var(--accent); }.contact-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:90px; align-items:start; }.contact-section h2 { margin:0 0 18px; font-family:var(--serif); font-size:clamp(35px,5vw,58px); font-weight:400; line-height:1.04; letter-spacing:-.05em; }.contact-section p { max-width:440px; color:rgba(255,255,255,.72); }.contact-button { display:inline-block; margin-top:18px; padding:12px 22px; border:1px solid rgba(255,255,255,.7); font-size:12px; text-transform:uppercase; letter-spacing:.1em; transition:background .2s,color .2s; }.contact-button:hover { color:#222; background:#fff; }.contact-details { display:grid; gap:27px; padding-top:6px; }.contact-details h3 { margin:0 0 5px; color:rgba(255,255,255,.55); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }.contact-details p { margin:0; color:#fff; font-size:15px; }.map-button { display:inline-flex; align-items:center; gap:10px; margin-top:7px; color:#fff; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.footer { padding:34px 0; border-top:1px solid #555; color:#fff; background:var(--accent); }.footer-inner { display:flex; justify-content:space-between; gap:30px; color:rgba(255,255,255,.65); font-size:12px; }.footer a { text-decoration:underline; }
.catalog-hero { padding:74px 0 45px; text-align:center; background:var(--soft); }.catalog-hero h1 { margin:0 0 12px; font-family:var(--serif); font-size:clamp(40px,5vw,62px); font-weight:400; letter-spacing:-.055em; }.catalog-hero p { margin:0; color:var(--muted); }
.catalog-page { padding:55px 0 90px; }.product-list { display:grid; grid-template-columns:repeat(3,1fr); gap:34px 22px; }.product-card { border:1px solid #e7e7e7; background:#fff; }.product-media { height:250px; overflow:hidden; background:#f1f1ef; }.product-media img { width:100%; height:100%; object-fit:cover; }.product-copy { padding:20px; }.product-copy h2 { min-height:52px; margin:0 0 10px; font-family:var(--serif); font-size:23px; font-weight:400; line-height:1.15; }.product-copy p { min-height:48px; margin:0 0 14px; color:var(--muted); font-size:13px; }.product-price { display:block; margin-top:13px; font-size:15px; font-weight:600; }.product-installment { display:block; margin-top:3px; color:#777; font-size:12px; }.product-note { color:#777; font-size:12px; font-style:italic; }
.cookie-banner { position:fixed; z-index:40; right:22px; bottom:22px; width:min(390px,calc(100% - 44px)); padding:22px; color:#fff; background:#303030; box-shadow:0 10px 35px rgba(0,0,0,.22); }.cookie-banner h2 { margin:0 0 8px; font-family:var(--serif); font-size:21px; font-weight:400; }.cookie-banner p { margin:0 0 15px; color:rgba(255,255,255,.72); font-size:12px; line-height:1.5; }.cookie-actions { display:flex; flex-wrap:wrap; gap:9px; }.cookie-banner button { padding:8px 17px; border:1px solid #fff; color:#fff; background:transparent; cursor:pointer; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }.cookie-banner button.cookie-reject { border-color:rgba(255,255,255,.35); color:rgba(255,255,255,.7); }.cookie-banner.is-hidden { display:none; }
.image-credit { margin-top:36px; color:#aaa; font-size:10px; text-align:center; }
.services { padding-top:92px; padding-bottom:100px; }
.compact-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:48px; }
.compact-heading h2 { margin:0; color:#111; font-family:var(--serif); font-size:clamp(47px,6vw,72px); font-weight:500; line-height:.96; letter-spacing:-.085em; }
.compact-heading h2 em { color:#8a8a8a; font-style:normal; }
.service-eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 22px; color:#777; font-family:'IBM Plex Mono',monospace; font-size:10px; font-weight:500; letter-spacing:.15em; line-height:1; text-transform:uppercase; }
.service-eyebrow span { display:inline-block; width:30px; height:1px; background:#777; }
.service-intro { max-width:290px; margin:0 0 4px; color:#777; font-size:13px; line-height:1.65; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.service-card { position:relative; min-height:260px; padding:24px; border:1px solid #d8d8d6; background:#fafafa; transition:transform .25s,box-shadow .25s,border-color .25s; }
.service-card:hover { border-color:#bcbcb9; box-shadow:0 15px 30px rgba(0,0,0,.07); transform:translateY(-4px); }
.service-card-featured { border-color:#111; background:#fff; }
.service-number { color:#969696; font-family:'IBM Plex Mono',monospace; font-size:10px; }
.service-icon { position:absolute; top:21px; right:25px; color:#e8e8e5; font-family:var(--serif); font-size:25px; }
.service-card-featured .service-icon { color:#111; }
.service-card h3 { margin:72px 0 13px; color:#111; font-size:20px; font-weight:500; letter-spacing:-.06em; }
.service-card p { max-width:230px; margin:0; color:#777; font-size:12px; line-height:1.55; }
.service-card > a { position:absolute; right:24px; bottom:24px; display:grid; place-items:center; width:28px; height:28px; border:1px solid #d4d4d1; border-radius:50%; color:#717171; font-size:15px; }
.service-card-featured > a { border-color:#aaa; color:#111; }
@media (max-width:820px) { .main-nav { gap:15px; margin-left:15px; font-size:10px; }.about-grid,.product-list { grid-template-columns:repeat(2,1fr); }.contact-grid { gap:45px; }.compact-heading { align-items:start; flex-direction:column; }.service-intro { max-width:500px; } }
@media (max-width:620px) { .header-inner,.page-shell { width:calc(100% - 32px); }.header-inner { min-height:70px; }.main-nav { display:none; }.header-menu { display:block; }.mobile-panel { position:absolute; top:70px; right:16px; left:16px; display:none; padding:8px 20px; border:1px solid var(--line); background:#fff; box-shadow:0 15px 25px rgba(0,0,0,.08); }.mobile-panel.is-open { display:block; }.mobile-panel a { display:block; padding:14px 0; border-bottom:1px solid var(--line); font-size:12px; text-transform:uppercase; }.mobile-panel a:last-child { border-bottom:0; }.home-hero { min-height:560px; padding:70px 24px; }.quote-band { padding:60px 20px; }.section { padding:65px 0; }.about-grid,.category-grid,.contact-grid,.product-list { grid-template-columns:1fr; }.category-card { min-height:230px; }.contact-section { padding:70px 0; }.footer-inner { flex-direction:column; }.catalog-page { padding-top:35px; }.product-media { height:280px; }.services { padding-top:65px; padding-bottom:70px; }.compact-heading h2 { font-size:50px; }.service-grid { grid-template-columns:1fr; }.service-card { min-height:230px; }.cookie-banner { right:14px; bottom:14px; width:calc(100% - 28px); } }

/* Home hero matching the supplied LumiStore reference. */
.home-hero { min-height:650px; align-items:stretch; justify-content:flex-start; padding:0; text-align:left; background:#0b0b0b; }
.home-hero::before { z-index:0; background:linear-gradient(90deg, rgba(0,0,0,.99) 0%, rgba(0,0,0,.98) 47%, rgba(0,0,0,.72) 59%, rgba(0,0,0,.26) 78%, rgba(0,0,0,.18) 100%); }
.home-hero-image { opacity:.82; object-position:center center; }
.home-hero .hero-copy { position:relative; z-index:1; width:100%; max-width:none; margin:0; padding:42px 5.6% 28px; }
.hero-kicker { margin:0; color:#fff; font-family:var(--serif); font-size:clamp(35px,4.4vw,63px)!important; font-weight:700; line-height:1.16!important; letter-spacing:-.065em; text-transform:uppercase; }.hero-kicker:first-line { color:transparent; -webkit-text-stroke:1.3px #fff; }.hero-kicker strong { color:#fff; -webkit-text-stroke:0; }
.hero-about { position:absolute; top:264px; left:5.6%; max-width:500px; margin:0!important; color:rgba(255,255,255,.78)!important; font-size:20px!important; line-height:1.4!important; }.hero-about strong { color:#fff; font-weight:700; }
.hero-offer { position:absolute; top:413px; left:5.6%; margin:0!important; color:#fff!important; font-size:19px!important; font-weight:600; line-height:1.45!important; }.hero-offer strong { font-weight:700; }
.hero-lockup { position:absolute; top:54%; left:52%; width:min(620px,45vw); text-align:center; transform:translate(-50%,-50%); }.hero-lockup h1 { margin:0 0 14px!important; color:#fff; font-family:var(--sans)!important; font-size:clamp(38px,4vw,68px)!important; font-weight:400!important; line-height:1!important; letter-spacing:-.07em!important; }.hero-lockup p { margin:0 auto!important; color:#fff!important; font-size:15px!important; }.hero-lockup .hero-link { margin-top:30px; }
.hero-categories { position:absolute; left:5.6%; bottom:24px; margin:0!important; color:rgba(255,255,255,.82)!important; font-size:18px!important; line-height:1.35!important; }
@media (max-width:620px) { .home-hero { min-height:760px; }.home-hero::before { background:linear-gradient(180deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.95) 48%,rgba(0,0,0,.52) 100%); }.home-hero-image { object-position:65% center; opacity:.6; }.home-hero .hero-copy { padding:35px 22px 28px; }.hero-kicker { font-size:34px!important; }.hero-about { position:relative; top:auto; left:auto; max-width:380px; margin-top:105px!important; font-size:16px!important; }.hero-offer { position:relative; top:auto; left:auto; margin-top:28px!important; font-size:15px!important; }.hero-lockup { position:relative; top:auto; left:auto; width:100%; margin-top:92px; transform:none; }.hero-lockup h1 { font-size:37px!important; }.hero-lockup p { font-size:13px!important; }.hero-categories { position:relative; left:auto; bottom:auto; margin-top:78px!important; font-size:14px!important; } }

/* Reserve hero: dark product showcase with a moving category ribbon. */
.reserve-hero { position:relative; display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); align-items:center; min-height:675px; overflow:hidden; padding:52px 70px 50px; color:#f5f5f1; background:#0b0b0b; isolation:isolate; }.reserve-hero::after { position:absolute; z-index:-1; right:-5%; bottom:-45%; width:70%; height:100%; border:1px solid rgba(255,255,255,.16); border-radius:50%; transform:rotate(-17deg); content:""; }.reserve-hero-copy { position:relative; z-index:4; }.reserve-eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 28px; color:#a7aaa7; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.15em; text-transform:uppercase; }.reserve-eyebrow span { display:inline-block; width:30px; height:1px; background:#fff; }.reserve-hero h1 { margin:0 0 25px; color:#f5f5f1; font-family:'Space Grotesk',Arial,sans-serif; font-size:clamp(60px,7vw,92px); font-weight:500; line-height:.94; letter-spacing:-.095em; }.reserve-hero h1 em { color:#fff; font-style:normal; }.reserve-description { max-width:370px; margin:0 0 30px; color:rgba(245,245,241,.66); font-size:15px; line-height:1.7; }.reserve-actions { display:flex; align-items:center; gap:26px; }.reserve-button { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; min-width:170px; padding:15px 17px 15px 20px; color:#111; background:#fff; font-size:11px; font-weight:700; transition:transform .2s,background .2s; }.reserve-button:hover { background:#ddd; transform:translateY(-2px); }.reserve-button span { font-size:17px; font-weight:400; }.reserve-text-link { display:inline-flex; align-items:center; gap:10px; color:rgba(245,245,241,.73); font-size:11px; font-weight:600; }.reserve-text-link span { transition:transform .2s; }.reserve-text-link:hover span { transform:translateY(3px); }.reserve-proof { display:flex; align-items:baseline; gap:10px; margin-top:48px; color:#fff; font-family:'IBM Plex Mono',monospace; }.reserve-proof span { color:#fff; font-size:11px; }.reserve-proof strong { font-family:'Space Grotesk',Arial,sans-serif; font-size:18px; font-weight:500; }.reserve-proof small { color:#8e928f; font-size:9px; }
.reserve-product { position:relative; display:flex; align-items:center; justify-content:center; min-height:560px; }.reserve-product::before { position:absolute; width:500px; height:500px; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.25),rgba(155,155,155,.14) 42%,transparent 70%); content:""; }.reserve-orbit { position:absolute; border:1px solid rgba(255,255,255,.2); border-radius:50%; }.reserve-orbit-one { width:580px; height:232px; transform:rotate(-25deg); }.reserve-orbit-two { width:485px; height:192px; border-color:rgba(255,255,255,.11); transform:rotate(62deg); }.reserve-product-meta { position:absolute; top:12px; left:7%; display:flex; flex-direction:column; gap:4px; font-family:'IBM Plex Mono',monospace; }.reserve-product-meta span { color:#fff; font-size:12px; }.reserve-product-meta small { color:#8f9490; font-size:8px; letter-spacing:.1em; text-transform:uppercase; }.reserve-color-stack { position:absolute; z-index:5; top:44px; right:24px; display:flex; flex-direction:column; align-items:flex-end; }.reserve-color { display:flex; flex-direction:column; justify-content:end; width:92px; height:84px; padding:10px; border-radius:4px; color:#f1f1ed; font-family:'IBM Plex Mono',monospace; box-shadow:0 7px 14px rgba(0,0,0,.16); }.reserve-color strong { font-size:9px; font-weight:400; }.reserve-color small { margin-top:4px; color:rgba(255,255,255,.58); font-size:7px; }.reserve-color-dark { background:#111; }.reserve-color-light { color:#111; background:#f5f5f1; transform:translateX(-7px); }.reserve-color-light small,.reserve-color-paper small { color:#666; }.reserve-color-paper { color:#111; background:#d7d7d3; transform:translateX(-14px); }.reserve-phone { position:relative; z-index:2; transform:rotate(9deg) translate(16px,4px); filter:drop-shadow(25px 35px 20px rgba(0,0,0,.35)); }.reserve-phone-frame { position:relative; width:245px; height:500px; padding:7px; border:4px solid #c5cbc5; border-radius:38px; background:linear-gradient(115deg,#798986,#f5f7f1 42%,#788681); box-shadow:inset -3px -4px 3px #6f7770,inset 3px 3px 3px #f4f4f3; }.reserve-phone-screen { position:relative; width:100%; height:100%; overflow:hidden; border-radius:28px; background:linear-gradient(145deg,#333,#0c0c0c 48%,#747474 140%); }.reserve-phone-screen::after { position:absolute; right:-50px; bottom:-60px; width:240px; height:290px; border-radius:50%; background:rgba(255,255,255,.24); filter:blur(24px); content:""; }.reserve-screen-status { position:absolute; z-index:2; top:16px; left:17px; right:17px; display:flex; justify-content:space-between; color:#fff; font-size:9px; }.reserve-screen-content { position:absolute; z-index:2; top:112px; left:20px; color:#fff; }.reserve-screen-content small { display:block; margin-bottom:10px; color:rgba(255,255,255,.52); font-family:'IBM Plex Mono',monospace; font-size:8px; }.reserve-screen-content strong { display:block; font-family:'Space Grotesk',Arial,sans-serif; font-size:32px; line-height:.92; letter-spacing:-.08em; }.reserve-screen-content em { display:inline-block; margin-top:18px; padding:7px 10px; border:1px solid rgba(255,255,255,.35); border-radius:20px; color:rgba(255,255,255,.72); font-family:'IBM Plex Mono',monospace; font-size:8px; font-style:normal; }.reserve-dynamic-island { position:absolute; z-index:4; top:12px; left:50%; width:78px; height:22px; border-radius:20px; background:#080808; transform:translateX(-50%); }.reserve-price { position:absolute; z-index:4; right:2%; bottom:60px; display:grid; grid-template-columns:1fr 28px; column-gap:12px; align-items:center; width:176px; padding:14px; color:#111; background:#fff; box-shadow:0 16px 35px rgba(0,0,0,.2); }.reserve-price small { grid-column:1; color:#777; font-size:8px; }.reserve-price strong { grid-column:1; font-family:'IBM Plex Mono',monospace; font-size:14px; }.reserve-price span { grid-column:2; grid-row:1 / span 2; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:#fff; background:#111; font-size:15px; }
.reserve-ticker { overflow:hidden; padding:17px 0; color:#111; background:#fff; font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.09em; text-transform:uppercase; white-space:nowrap; }.reserve-ticker-track { display:flex; align-items:center; justify-content:space-around; min-width:1500px; animation:reserveTicker 32s linear infinite; }.reserve-ticker b { color:#111; font-size:14px; font-weight:400; }@keyframes reserveTicker { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media (max-width:820px) { .reserve-hero { width:min(100% - 40px,640px); grid-template-columns:1fr; padding:60px 40px 45px; }.reserve-hero-copy { text-align:center; }.reserve-eyebrow,.reserve-actions { justify-content:center; }.reserve-description { margin-right:auto; margin-left:auto; }.reserve-proof { justify-content:center; }.reserve-product { min-height:520px; margin-top:35px; }.reserve-color-stack { right:4px; } }
@media (max-width:620px) { .reserve-hero { width:calc(100% - 32px); min-height:760px; padding:50px 22px 30px; }.reserve-hero h1 { font-size:57px; }.reserve-description { font-size:14px; }.reserve-actions { flex-direction:column; gap:18px; }.reserve-product { min-height:460px; transform:scale(.82); transform-origin:top center; margin-bottom:-70px; }.reserve-product-meta { left:3%; top:28px; }.reserve-color-stack { top:18px; right:18px; transform:scale(.78); transform-origin:top right; }.reserve-price { right:0; bottom:38px; }.reserve-ticker-track { gap:23px; justify-content:flex-start; } }


/* Catálogos alinhados ao site original: produto sem moldura e PNG real sobre fundo branco. */
.catalog-hero { padding:34px 0 16px; background:#fff; }
.catalog-hero h1 { margin:0 0 8px; color:#111; font-family:var(--sans); font-size:clamp(24px,3vw,34px); font-weight:500; letter-spacing:.02em; text-transform:uppercase; }
.catalog-hero p { margin:0; color:#606b70; font-size:13px; }
.catalog-page { padding:28px 0 90px; }
.product-list { align-items:start; gap:34px 22px; }
.product-card { border:0; background:transparent; }
.product-media { height:235px; background:transparent; }
.product-media img { width:100%; height:100%; object-fit:contain; filter:none; }
.product-copy { padding:18px 10px 0; text-align:center; }
.product-copy h2 { min-height:0; margin:0 0 18px; color:#15242a; font-family:var(--sans); font-size:17px; font-weight:600; line-height:1.2; letter-spacing:.01em; text-transform:uppercase; }
.product-copy p { min-height:0; margin:0 0 14px; color:#4f6168; font-size:13px; line-height:1.65; }
.product-price, .product-installment, .product-note { color:#4f6168; font-size:13px; line-height:1.65; }
.product-price { margin-top:0; font-weight:700; }
.product-installment { margin-top:0; }
.product-note { display:block; margin-top:8px; font-style:normal; }
.image-credit { color:#7b8588; text-align:center; }

/* URLs atuais do CDN original, com o recorte correto de cada produto. */
.product-card img[alt="iPhone Duo"] { content:url("https://img1.wsimg.com/isteam/ip/11ec92be-7c40-48ce-94ae-4c496857b9e8/blob-8f771e2.png"); }
.product-card img[alt="iPhone 18 Pro Max"] { content:url("https://img1.wsimg.com/isteam/ip/11ec92be-7c40-48ce-94ae-4c496857b9e8/blob-73d6254.png"); }
.product-card img[alt="iPhone 18 Pro"] { content:url("https://img1.wsimg.com/isteam/ip/11ec92be-7c40-48ce-94ae-4c496857b9e8/blob-73d6254.png"); }
.product-card img[alt="iPhone 17 Pro Max"], .product-card img[alt="iPhone 17 Pro"] { content:url("https://img1.wsimg.com/isteam/ip/7205eab8-9082-44bc-be08-564bd7b12763/blob-3d0309b.png/:/cr=t:0%25,l:12.59%25,w:74.81%25,h:100%25/rs=w:1164,h:875,cg:true"); }
.product-card img[alt="iPhone 17"] { content:url("assets/iphone-17.png"); }
.product-card img[alt="iPhone 17e"] { content:url("assets/iphone-17e.png"); }
.product-card img[alt="iPhone 16"] { content:url("assets/iphone-16.png"); }
.product-card img[alt="Apple Watch SE 3"], .product-card img[alt="Apple Watch S12"] { content:url("https://img1.wsimg.com/isteam/ip/11ec92be-7c40-48ce-94ae-4c496857b9e8/blob-bf43837.png"); }
.product-card img[alt="Apple Watch Ultra 3"] { content:url("https://img1.wsimg.com/isteam/ip/7205eab8-9082-44bc-be08-564bd7b12763/blob-76bd64d.png/:/cr=t:0%25,l:7.4%25,w:85.2%25,h:100%25/rs=w:360,h:270.6766917293233,cg:true"); }
.product-card img[alt="Apple Watch Ultra 4"] { content:url("https://img1.wsimg.com/isteam/ip/7205eab8-9082-44bc-be08-564bd7b12763/blob-ff5ee7c.png/:/rs=w:360,h:270.6766917293233,cg:true,m/cr=w:360,h:270.6766917293233"); }
.product-card img[alt="iPad 11"], .product-card img[alt="iPad Air M4"], .product-card img[alt="iPad Pro M5"] { content:url("https://img1.wsimg.com/isteam/ip/7205eab8-9082-44bc-be08-564bd7b12763/blob-7a52e6b.png/:/cr=t:12.41%25,l:0%25,w:100%25,h:75.19%25/rs=w:360,h:270.6766917293233,cg:true"); }
.product-card img[alt^="Apple Pencil"] { content:url("https://img1.wsimg.com/isteam/ip/7205eab8-9082-44bc-be08-564bd7b12763/blob-7a52e6b.png/:/cr=t:12.41%25,l:0%25,w:100%25,h:75.19%25/rs=w:360,h:270.6766917293233,cg:true"); }
.product-card img[alt="MacBook Air Neo"], .product-card img[alt="MacBook Air M5"], .product-card img[alt="MacBook Pro M5"] { content:url("https://img1.wsimg.com/isteam/ip/11ec92be-7c40-48ce-94ae-4c496857b9e8/blob-30034fb.png"); }
.product-card img[alt="AirPods 4"], .product-card img[alt="AirPods Pro 3"] { content:url("https://img1.wsimg.com/isteam/ip/11ec92be-7c40-48ce-94ae-4c496857b9e8/blob-b6b8014.png"); }
.product-card img[alt="AirPods 5"], .product-card img[alt="AirPods Max 2"] { content:url("https://img1.wsimg.com/isteam/ip/7205eab8-9082-44bc-be08-564bd7b12763/blob-0e724a2.png/:/rs=w:360,h:270.6766917293233,cg:true,m/cr=w:360,h:270.6766917293233"); }

@media (max-width:620px) {
  .catalog-hero { padding-top:26px; }
  .catalog-page { padding-top:18px; }
  .product-media { height:220px; }
  .product-copy h2 { font-size:15px; }
  .product-copy p, .product-price, .product-installment, .product-note { font-size:12px; }
}

/* Cabeçalho desktop: marca à esquerda, navegação à direita e mais respiro visual. */
@media (min-width:821px) {
  .header-inner { width:calc(100% - 128px); max-width:none; }
  .main-nav { margin-left:auto; gap:28px; font-size:14px; }
  .main-nav a { padding:31px 0; }
}

/* Faixa infinita: duas cópias ocupam sempre duas larguras completas antes do loop. */
@media (min-width:621px) {
  .reserve-ticker-track { width:200vw; min-width:200vw; justify-content:space-around; }
  @keyframes reserveTicker { from { transform:translateX(0); } to { transform:translateX(-100vw); } }
}

@media (max-width:620px) {
  .reserve-ticker-track { width:max-content; min-width:max-content; justify-content:flex-start; gap:23px; animation-name:reserveTickerMobile; }
  @keyframes reserveTickerMobile { from { transform:translateX(0); } to { transform:translateX(-50%); } }
}

/* Destaque da home: mesmo mockup anterior, agora com uma única traseira real. */
.reserve-phone-back-surface { position:relative; width:100%; height:100%; overflow:hidden; border-radius:28px; background:#111 url("https://storage.alifshop.tj/media/images/alifshop/65918/iphone-18-pro-max-256-gb-nano-sim-esim-goluboy-1789216377767-gYZkTMZt.png") center / auto 100% no-repeat; }

/* Home: somente a traseira preta, sem tela, moldura ou mockup externo. */
.reserve-product-image { position:relative; z-index:2; display:block; height:500px; width:auto; max-width:none; transform:rotate(9deg) translate(16px,4px); filter:drop-shadow(25px 35px 20px rgba(0,0,0,.35)); }
@media (max-width:820px) { .reserve-product-image { height:440px; } }
@media (max-width:620px) { .reserve-product-image { height:410px; } }

/* Comparador LumiStore: seleção simples e leitura lado a lado. */
.compare-intro { padding:94px 0 70px; text-align:center; }
.compare-kicker { margin:0 0 18px; color:#858585; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.compare-intro h1 { max-width:800px; margin:0 auto 22px; color:#111; font-family:var(--serif); font-size:clamp(47px,7vw,88px); font-weight:500; line-height:.96; letter-spacing:-.085em; }
.compare-lead { max-width:570px; margin:0 auto; color:#707070; font-size:16px; line-height:1.7; }
.compare-back-link { display:inline-flex; margin-top:28px; color:#111; font-size:12px; font-weight:600; border-bottom:1px solid #111; }
.compare-selector { padding:42px 0 78px; border-top:1px solid var(--line); }
.compare-selector-heading,.compare-results-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; }
.compare-selector h2,.compare-results h2 { margin:0; color:#111; font-family:var(--serif); font-size:clamp(30px,4vw,50px); font-weight:500; line-height:1; letter-spacing:-.065em; }
.compare-counter { padding:9px 13px; color:#111; border:1px solid #d9d9d9; border-radius:999px; font-family:'IBM Plex Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:.05em; }
.compare-options { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:34px; }
.compare-option { position:relative; min-height:128px; padding:21px; border:1px solid #dededb; color:#161616; background:#fff; cursor:pointer; text-align:left; transition:background .2s,color .2s,border-color .2s,transform .2s; }
.compare-option:hover { border-color:#111; transform:translateY(-2px); }
.compare-option.is-selected { color:#fff; border-color:#111; background:#111; }
.compare-option::after { position:absolute; top:16px; right:16px; width:18px; height:18px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; content:'+'; font-size:14px; line-height:1; }
.compare-option.is-selected::after { content:'✓'; color:#111; background:#fff; font-size:11px; }
.compare-option small { display:block; margin-bottom:28px; color:#8b8b8b; font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.compare-option.is-selected small { color:#aaa; }
.compare-option strong { display:block; font-family:var(--serif); font-size:20px; font-weight:500; letter-spacing:-.04em; }
.compare-helper { margin:18px 0 0; color:#8a8a8a; font-size:12px; }
.compare-results { padding:0 0 110px; }
.compare-results-heading { align-items:start; padding:42px 0 30px; border-top:1px solid var(--line); }
.compare-results-heading > p { max-width:330px; margin:0; color:#8a8a8a; font-size:12px; line-height:1.65; text-align:right; }
.compare-board { overflow:hidden; border:1px solid #dededb; background:#fff; }
.compare-product-row { display:grid; grid-template-columns:180px repeat(3,minmax(0,1fr)); background:#111; }
.compare-product-label { padding:30px 22px; color:#969696; font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.compare-product { min-width:0; padding:29px 22px 26px; color:#fff; border-left:1px solid rgba(255,255,255,.17); }
.compare-product-media { height:190px; display:grid; place-items:center; margin-bottom:20px; background:#f4f4f2; }
.compare-product-media img { width:100%; height:100%; object-fit:contain; }
.compare-product h3 { margin:0 0 8px; font-family:var(--serif); font-size:24px; font-weight:500; line-height:1; letter-spacing:-.055em; }
.compare-product p { min-height:38px; margin:0 0 16px; color:#aaa; font-size:12px; line-height:1.5; }
.compare-product-price { display:block; margin:-2px 0 16px; color:#fff; font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:400; }
.compare-product-link { display:inline-flex; padding:9px 13px; color:#111; background:#fff; font-size:10px; font-weight:700; }
.compare-spec-group { border-top:1px solid #dededb; }
.compare-spec-title { padding:19px 22px 11px; color:#8a8a8a; font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
.compare-spec-row { display:grid; grid-template-columns:180px repeat(3,minmax(0,1fr)); border-top:1px solid #ededeb; }
.compare-spec-row > div { min-height:76px; padding:18px 22px; border-left:1px solid #ededeb; color:#272727; font-size:13px; line-height:1.45; }
.compare-spec-row > div:first-child { border-left:0; color:#858585; font-family:'IBM Plex Mono',monospace; font-size:10px; }
.compare-empty { padding:50px 20px; color:#777; text-align:center; }
@media (max-width:820px) { .compare-options { grid-template-columns:repeat(2,1fr); }.compare-product-row,.compare-spec-row { grid-template-columns:130px repeat(3,minmax(170px,1fr)); }.compare-board { overflow-x:auto; }.compare-product-row,.compare-spec-group { min-width:640px; }.compare-selector-heading,.compare-results-heading { align-items:start; flex-direction:column; }.compare-results-heading > p { max-width:500px; text-align:left; } }
@media (max-width:620px) { .compare-intro { padding:64px 0 50px; text-align:left; }.compare-intro h1 { font-size:52px; }.compare-lead { font-size:14px; }.compare-options { grid-template-columns:1fr 1fr; gap:8px; }.compare-option { min-height:116px; padding:16px; }.compare-option strong { font-size:17px; }.compare-option small { margin-bottom:22px; font-size:8px; }.compare-selector { padding-bottom:56px; }.compare-results { padding-bottom:75px; }.compare-results-heading { padding-top:30px; }.compare-counter { align-self:flex-start; }.compare-product-media { height:165px; }.compare-product h3 { font-size:21px; } }
