/* lojasmajestic.com — static editorial theme, local assets */
:root{color-scheme:light;--page:#f7f7f4;--paper:#fff;--ink:#18243c;--muted:#58647a;--line:#e5e8e9;--accent:#153a58;--sage:#dff0e5;--mint:#257c62;--gold:#d3a96b;--header:#fffdfb;--shadow:0 20px 75px rgba(28,45,70,.06);--radius:21px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;background:var(--page);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);font-size:16px;line-height:1.72;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}a:hover{color:#227a64}a:focus-visible,button:focus-visible{outline:3px solid #249678;outline-offset:4px;border-radius:5px}
img{max-width:100%;height:auto}button{font:inherit}p{margin:0 0 1.05em}.container{width:min(100% - 48px,1180px);margin-inline:auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,253,251,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.header-inner{min-height:77px;display:flex;align-items:center;gap:26px}
.brand{text-decoration:none;display:inline-flex;align-items:center;gap:11px;flex:none;color:var(--ink)!important;line-height:1.1}
.brand-mark{width:39px;height:39px;background:var(--ink);border-radius:12px;display:grid;place-items:center;color:#b7efcd;font-weight:800;font-size:22px;letter-spacing:-.06em}
.brand-name{font-size:23px;font-weight:830;letter-spacing:-.07em}.brand-suffix{color:#268768}
.brand-note{font-size:10px;letter-spacing:.13em;color:#7b8799;text-transform:uppercase;display:block;margin-top:3px;font-weight:800}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:5px;flex-wrap:nowrap}
.site-nav a{text-decoration:none;color:#526077;font-size:12.7px;font-weight:700;white-space:nowrap;padding:11px 11px;border-radius:10px;transition:background .2s,color .2s}
.site-nav a:hover,.site-nav a.active{background:#edf3ef;color:#17644e}
.nav-cta{border:1px solid #c9d8d0;padding:9px 14px!important;color:var(--accent)!important;margin-left:4px}
.menu-toggle{display:none;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:9px 11px;cursor:pointer;margin-left:auto}
.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 86% 15%,#e3eee4 0,transparent 48%),linear-gradient(128deg,#eef3f0 0%,#f8f6f1 82%);border-bottom:1px solid var(--line)}
.hero::after{content:"";position:absolute;width:440px;height:440px;right:-220px;bottom:-300px;border:1px solid rgba(20,88,75,.12);border-radius:50%;pointer-events:none}
.hero-inner{padding:79px 0 75px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.68fr);gap:80px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:#276c55;margin:0 0 24px}
.eyebrow::before{content:"";display:inline-block;width:24px;height:2px;background:#359571}
.hero h1{font-size:clamp(46px,5.55vw,81px);font-weight:830;line-height:1.065;letter-spacing:-.075em;max-width:770px;margin:0 0 27px}
.hero-lead{font-size:clamp(17px,1.5vw,20px);color:#49576d;max-width:760px;line-height:1.72}
.hero-lead p:last-child{margin-bottom:0}
.hero-actions{display:flex;gap:12px;align-items:center;margin-top:30px;flex-wrap:wrap}
.primary-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border-radius:11px;font-weight:750;font-size:14px;padding:14px 21px}
.primary-button{color:#fff;background:#173750}.primary-button:hover{color:#fff;background:#225d68}.ghost-button{color:var(--accent);border:1px solid #cbd8d2;background:rgba(255,255,255,.52)}
.hero-card{background:#fff;border:1px solid #e6ece8;border-radius:25px;padding:30px;box-shadow:var(--shadow);align-self:center;position:relative}
.hero-card-kicker{font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#2f7b60;margin-bottom:14px}
.hero-card h2{font-size:25px;line-height:1.22;letter-spacing:-.05em;margin:0 0 18px}
.hero-card ol{list-style:none;padding:0;margin:0}.hero-card li{padding:13px 0;border-top:1px solid var(--line);display:flex;gap:11px;font-weight:620;font-size:14px;line-height:1.45;color:#37465b}
.hero-card li::before{content:"✓";color:#238463;font-size:16px;font-weight:800}
.hero-card small{color:#708095;display:block;border-top:1px solid var(--line);padding-top:14px;margin-top:10px;font-size:12px}
.main-area{padding:67px 0 92px;display:grid;grid-template-columns:minmax(0,820px) minmax(210px,285px);gap:62px;align-items:start}
.article-body,.article-section,.article-content,.static-copy,.hero-inner>div{min-width:0}
.article-section{scroll-margin-top:107px;margin:0 0 69px;position:relative}
.section-heading{margin-bottom:22px}
.section-index{font-size:11px;font-weight:900;letter-spacing:.15em;color:#268368;margin-bottom:12px}
.section-index span{color:#adb8b8;font-weight:600}
.article-section h2{font-size:clamp(27px,2.9vw,39px);line-height:1.18;letter-spacing:-.055em;margin:0;max-width:790px}
.article-content{color:#4e586a;line-height:1.85;font-size:16px}
.article-content>p:first-child{font-size:17px;color:#445266}
.article-content h3{color:var(--ink);font-size:22px;letter-spacing:-.04em;line-height:1.3;margin:39px 0 15px;scroll-margin-top:105px}
.article-content ul,.article-content ol{padding-left:24px;margin:18px 0 25px}
.article-content li{padding-left:3px;margin:0 0 11px}
.article-content li::marker{color:#388d6c;font-weight:750}
.article-content strong{color:#29384f}
.article-content a{text-underline-offset:3px}
.article-visual{margin:25px 0 29px;border:1px solid #e4e6e4;border-radius:18px;overflow:hidden;background:#f3f0e9;box-shadow:0 12px 32px rgba(23,43,62,.04)}
.article-visual img{display:block;width:100%;aspect-ratio:1376/768;object-fit:cover}
.article-content table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;line-height:1.5;margin:22px 0 30px;min-width:550px}
.article-content th{background:#eaf1ed;color:#213e3e;text-align:left;font-weight:800}
.article-content th,.article-content td{padding:14px 15px;border-right:1px solid #e0e8e4;border-bottom:1px solid #e0e8e4;vertical-align:top}
.article-content tr th:first-child,.article-content tr td:first-child{border-left:1px solid #e0e8e4}
.article-content thead tr:first-child th{border-top:1px solid #e0e8e4}
.article-content tbody tr:nth-child(even){background:#f7f9f6}
.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;margin:15px 0 22px}
.table-wrap table{margin:0}.table-wrap:focus-visible{outline:3px solid #249678}
.aside{position:sticky;top:115px;display:grid;gap:22px}
.toc-card,.notice-card{border:1px solid #e4e9e6;border-radius:18px;background:#fff;padding:23px}
.toc-card h2{font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 12px;color:#536271}
.toc-card a{display:block;text-decoration:none;border-left:2px solid #e9eeeb;padding:7px 0 7px 13px;font-size:13px;line-height:1.4;color:#576476}
.toc-card a:hover,.toc-card a.active{color:#1f7058;border-left-color:#3b9473}
.notice-card{background:#eaf3ed}.notice-card h3{margin:0 0 9px;font-size:17px;line-height:1.3}.notice-card p{margin:0;color:#465b55;font-size:13px;line-height:1.65}.notice-card a{display:inline-block;margin-top:12px;font-size:13px;font-weight:750}
.site-footer{background:#182638;color:#e2e9ec;padding:59px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.2fr .75fr .95fr;gap:60px;padding-bottom:50px}
.footer-brand{color:#fff!important}.footer-brand .brand-mark{background:#e6f3ec;color:#174a3b}.footer-brand .brand-name{color:#fff}.footer-brand .brand-note{color:#b7c6ce}
.footer-copy{font-size:14px;line-height:1.8;color:#a9b7c1;max-width:380px;margin:20px 0 0}
.site-footer h2{color:#f3f6f7;font-size:14px;letter-spacing:.025em;margin:0 0 14px}
.site-footer a:not(.brand){display:block;color:#b9c6cd;text-decoration:none;font-size:14px;margin-bottom:11px}.site-footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid #314254;padding-top:23px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:#a2b3bd}
.sub-hero{background:#edf4ee;padding:59px 0 50px;border-bottom:1px solid #dbe5dd}.sub-hero h1{font-size:clamp(36px,5vw,56px);letter-spacing:-.06em;line-height:1.15;margin:0 0 14px}.sub-hero p{max-width:760px;color:#556477;font-size:17px;margin:0}.breadcrumb{font-size:12px;color:#5f7a6c;margin:0 0 23px}.breadcrumb a{text-decoration:none}
.static-layout{padding:55px 0 100px;display:grid;grid-template-columns:minmax(0,800px) 250px;gap:80px;align-items:start}
.static-copy{background:#fff;border:1px solid #e9eceb;border-radius:19px;padding:44px 50px;font-size:16px;line-height:1.85;color:#516073}
.static-copy h2{font-size:26px;color:var(--ink);letter-spacing:-.045em;line-height:1.3;margin:35px 0 14px}.static-copy h2:first-child{margin-top:0}.static-copy h3{font-size:19px;color:var(--ink);margin:27px 0 8px}.static-copy ul{padding-left:24px}.static-copy li{margin:0 0 11px}.static-copy a{text-underline-offset:3px}
.static-side{border:1px solid #e0e8e0;border-radius:17px;padding:24px;background:#f0f5ef;position:sticky;top:112px}.static-side strong{color:#214937}.static-side p{font-size:13px;color:#546757;line-height:1.6;margin:10px 0 14px}.static-side a{font-size:13px;font-weight:750}
.last-updated{font-size:12px;color:#83909a;margin:0 0 26px}.service-note{font-size:13px;border-left:3px solid #d4ac6d;background:#fff7e8;padding:13px 18px;border-radius:0 11px 11px 0}
.backtop{position:fixed;right:25px;bottom:25px;background:#173750;color:white;border:0;border-radius:50%;width:43px;height:43px;display:grid;place-items:center;box-shadow:0 6px 26px rgba(23,55,80,.2);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(6px);transition:.2s;z-index:90}.backtop.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
@media(max-width:1150px){.header-inner{gap:13px}.site-nav a{padding:10px 7px;font-size:12px}.hero-inner{gap:45px}.main-area{gap:30px;grid-template-columns:minmax(0,1fr) 235px}}
@media(max-width:920px){.menu-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:calc(100% + 1px);background:#fff;box-shadow:0 16px 23px rgba(19,36,52,.07);padding:12px 24px 18px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:3px}.site-nav.is-open{display:flex}.site-nav a{font-size:14px;padding:12px}.nav-cta{margin:0;display:block}.hero-inner{grid-template-columns:1fr;padding:60px 0}.hero-card{max-width:550px}.main-area,.static-layout{grid-template-columns:minmax(0,1fr)}.aside,.static-side{display:none}.footer-grid{gap:30px}}
@media(max-width:640px){.container{width:min(100% - 34px,1180px)}.header-inner{min-height:67px}.hero-inner{padding:47px 0 50px;gap:31px}.hero h1{font-size:clamp(42px,10.5vw,61px)}.hero-lead{font-size:16px}.hero-card{padding:24px}.main-area{padding-top:47px;padding-bottom:40px}.article-section{margin-bottom:50px}.article-section h2{font-size:30px}.article-content{font-size:15px;line-height:1.78}.article-content h3{font-size:20px}.article-content>p:first-child{font-size:16px}.article-content th,.article-content td{padding:12px}.footer-grid{grid-template-columns:1fr 1fr;row-gap:32px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.sub-hero{padding:45px 0}.static-layout{padding:30px 0 70px}.static-copy{padding:29px 24px}.static-copy h2{font-size:23px}.backtop{right:16px;bottom:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.backtop{transition:none}}


/* Front page: standard single-column text hero; no right-hand promotional card. */
.hero-inner{display:block;padding:73px 0 68px;max-width:1180px}
.hero-inner>div{max-width:980px}
.hero h1{max-width:none}
.hero-lead{max-width:980px}

/* Affiliate comparison loaded via /assets/affiliate-v2.js; only on homepage. */
.affiliate-section{padding:70px 0 70px;border-bottom:1px solid var(--line);background:#fff;scroll-margin-top:100px}
.affiliate-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:29px}
.affiliate-eyebrow{font-weight:820;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#27765b;margin:0 0 10px}
.affiliate-heading h2{font-size:clamp(29px,3.5vw,42px);line-height:1.15;letter-spacing:-.055em;color:var(--ink);margin:0}
.affiliate-date{font-size:13px;color:#687a87;margin:0;white-space:nowrap}
.affiliate-list{display:grid;gap:14px}
.affiliate-card{position:relative;display:grid;grid-template-columns:42px 76px minmax(150px,1.1fr) minmax(155px,1.2fr) 172px;gap:18px;align-items:center;min-width:0;background:#fff;border:1px solid #e2e8e5;border-radius:17px;padding:17px 19px;box-shadow:0 6px 24px rgba(23,43,62,.045)}
.affiliate-card.is-top{border:2px solid #28795e;padding:16px 18px}
.affiliate-card .top-badge{position:absolute;left:17px;top:-12px;border-radius:999px;padding:5px 10px;background:#1f6e54;color:white;font-size:10px;font-weight:850;letter-spacing:.05em}
.affiliate-card .rank{background:#eff5f1;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-weight:800;color:#365248}
.affiliate-card .logo-tile{width:74px;height:74px;border-radius:13px;display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(20,55,40,.09)}
.affiliate-card .logo-tile img{display:block;object-fit:contain;width:82%;height:82%}
.affiliate-card .brand-col,.affiliate-card .bonus-col,.affiliate-card .cta-col{min-width:0}
.affiliate-card .brand-name{font-size:19px;font-weight:820;color:#263b4b;line-height:1.3;margin-bottom:5px;overflow-wrap:anywhere}
.affiliate-card .rating-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.affiliate-card .stars{display:inline-block;position:relative;white-space:nowrap;letter-spacing:1px;font-size:17px;line-height:1}
.affiliate-card .stars-base{color:#cfd8d2}
.affiliate-card .stars-fill{position:absolute;top:0;left:0;color:#edb538;white-space:nowrap;overflow:hidden}
.affiliate-card .score{color:#687784;font-weight:750;font-size:12px}
.affiliate-card .bonus-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:790;color:#6b7a83;margin-bottom:5px}
.affiliate-card .bonus-text{font-size:15px;font-weight:770;line-height:1.35;color:#29384c;overflow-wrap:anywhere}
.affiliate-card .cta{display:flex;align-items:center;justify-content:center;text-align:center;min-height:46px;padding:12px 16px;border-radius:11px;background:#1b6d53;color:#fff;font-weight:790;font-size:14px;text-decoration:none;transition:background .2s}
.affiliate-card .cta:hover{background:#125540}
.affiliate-card .cta:focus-visible{outline:3px solid #93c5a9;outline-offset:3px}
.affiliate-skeleton{height:110px;border-radius:17px;background:linear-gradient(90deg,#f0f4f1 25%,#f9faf8 47%,#f0f4f1 68%);background-size:200% 100%;animation:affiliate-shimmer 1.35s linear infinite}
@keyframes affiliate-shimmer{to{background-position:-200% 0}}
.affiliate-error{border:1px solid #dee9e2;border-radius:13px;padding:20px;background:#f6faf7;color:#53687b}
@media(max-width:1000px){.affiliate-card{grid-template-columns:34px 66px minmax(110px,1fr) minmax(120px,1.1fr);gap:13px}.affiliate-card .cta-col{grid-column:1/-1}.affiliate-card .cta{width:100%}.affiliate-card .logo-tile{height:64px;width:64px}}
@media(max-width:680px){.hero-inner{padding:53px 0 52px}.affiliate-section{padding:45px 0 52px}.affiliate-heading{align-items:flex-start;flex-direction:column;gap:6px;margin-bottom:22px}.affiliate-date{white-space:normal}.affiliate-card{grid-template-columns:32px 63px minmax(0,1fr);gap:12px;padding:16px 13px}.affiliate-card.is-top{padding:15px 12px}.affiliate-card .rank{width:29px;height:29px}.affiliate-card .logo-tile{width:60px;height:60px}.affiliate-card .brand-name{font-size:17px}.affiliate-card .bonus-col{grid-column:1/-1;background:#f4f7f5;padding:12px;border-radius:10px;text-align:center}.affiliate-card .cta-col{grid-column:1/-1}.affiliate-card .cta{width:100%}}
@media(prefers-reduced-motion:reduce){.affiliate-skeleton{animation:none}}


/* Lojas Majestic: bespoke emerald + graphite identity and full-width text hero. */
:root{--page:#f7f6f2;--paper:#fff;--ink:#172b30;--muted:#52666b;--line:#e3e8e3;--accent:#096d64;--sage:#e2f1eb;--mint:#00796e;--header:#fff;--gold:#ceb186}
.site-header{background:rgba(255,255,255,.97)}
.brand-mark{background:#086e66;color:#fff;font-weight:900;box-shadow:0 6px 18px rgba(6,82,76,.12)}
.brand-name{letter-spacing:-.055em}.brand-suffix{color:#147d72}.brand-tld{font-size:.65em;color:#839295;letter-spacing:-.025em}.brand-note{color:#72888a}
.hero{background:radial-gradient(ellipse at 87% 17%,#dcece7 0,transparent 48%),linear-gradient(125deg,#eef4ef,#faf8f4 85%)}
.hero-inner{display:block;padding:73px 0 67px;max-width:1180px}
.hero-inner>div{max-width:990px}.hero h1{max-width:1000px;font-size:clamp(42px,5.45vw,75px)}
.hero-lead{max-width:930px;color:#455b60}
.eyebrow,.section-index,.affiliate-eyebrow{color:#09766b}.eyebrow::before{background:#168678}
.site-nav a:hover,.site-nav a.active{background:#e9f4ee;color:#0b6d62}
.article-content li::marker{color:#147e73}.article-content th{background:#e8f3ee;color:#1a4541}
.article-content th,.article-content td{border-color:#dce8e1}.article-content tbody tr:nth-child(even){background:#f5faf7}
.article-content blockquote{border-left:4px solid #188577;background:#ecf5f0;border-radius:0 13px 13px 0;padding:20px 23px;color:#40645b}
.sub-hero{background:#eaf4ed}.static-layout{grid-template-columns:minmax(0,850px);gap:0}.static-side{display:none}
.static-copy{border-color:#e2eae5}.main-area{display:block;max-width:1010px;margin-inline:auto;padding-top:62px}
.article-body{max-width:910px;width:100%;margin:auto}.main-area .article-content{max-width:910px}
.article-section h2{max-width:none}.article-intro{margin-bottom:0}.article-visual{margin-top:25px;margin-bottom:30px}
.article-visual img{aspect-ratio:1376/768;height:auto;object-fit:cover}
.footer-brand .brand-mark{background:#e8f6ef;color:#096b61}.site-footer{background:#162d30}.footer-bottom{border-top-color:#335052}
.affiliate-card.is-top{border-color:#087367}.affiliate-card .top-badge{background:#087367}
.affiliate-card .cta{background:#087367}.affiliate-card .cta:hover{background:#07594e}
.affiliate-card .rank{background:#e5f4ed;color:#11645a}.affiliate-card .bonus-label{letter-spacing:.04em}
.affiliate-disclosure{margin:17px 0 0;font-size:12px;line-height:1.6;color:#71817a;max-width:1050px}
@media(max-width:640px){.hero-inner{padding:50px 0 53px}.main-area{padding-top:43px}.article-visual{margin:19px 0 25px}}
@media(max-width:360px){.header-inner{gap:8px}.brand{gap:6px}.brand-mark{width:31px;height:31px;font-size:17px}.brand-name{font-size:18px}.brand-note{font-size:8px;letter-spacing:.07em}.menu-toggle{padding:7px 8px;font-size:12px}}
