/* QuantBots MT5 Store — CSS principal, sem frameworks e sem fontes externas. */
:root {
    --bg: #f6f8fc;
    --surface: #ffffff;
    --surface-2: #eef2f8;
    --ink: #142039;
    --muted: #64708a;
    --line: #dce3ef;
    --primary: #5b59d9;
    --primary-dark: #4442bd;
    --accent: #0aa67d;
    --accent-soft: #e4f8f2;
    --dark: #0d1428;
    --dark-2: #151f3a;
    --success: #087a5b;
    --success-bg: #e3f8f0;
    --warning: #955c00;
    --warning-bg: #fff4d8;
    --danger: #a32c3b;
    --danger-bg: #fde9ed;
    --info: #235b9b;
    --info-bg: #e7f1fd;
    --shadow-sm: 0 8px 25px rgba(19, 31, 58, .07);
    --shadow-md: 0 20px 55px rgba(16, 27, 52, .12);
    --radius-sm: 10px;
    --radius: 18px;
    --radius-lg: 28px;
    --container: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--bg);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.65;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
input, select, textarea { min-width: 0; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--ink); line-height: 1.14; letter-spacing: -.025em; }
h1 { font-size: clamp(2.25rem, 5vw, 4.65rem); }
h2 { font-size: clamp(1.65rem, 3.2vw, 2.65rem); }
h3 { font-size: 1.18rem; }
p { color: var(--muted); }
code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.narrow { max-width: 850px; }
.centered { text-align: center; }
.align-start { align-items: flex-start !important; }
.spacing-top { margin-top: 46px; }
.muted { color: var(--muted); }
.sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link {
    position: fixed; z-index: 1000; left: 14px; top: -60px; padding: 10px 14px;
    color: #fff; background: var(--dark); border-radius: 8px; transition: top .2s;
}
.skip-link:focus { top: 14px; }
:focus-visible { outline: 3px solid rgba(91, 89, 217, .35); outline-offset: 3px; }

/* Buttons */
.button {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 48px; padding: 12px 21px; border: 1px solid transparent; border-radius: 12px;
    color: #fff; background: var(--primary); font-weight: 750; line-height: 1.2;
    box-shadow: 0 10px 24px rgba(91, 89, 217, .22); transition: transform .18s, background .18s, box-shadow .18s;
}
.button:hover { background: var(--primary-dark); transform: translateY(-1px); box-shadow: 0 13px 30px rgba(91, 89, 217, .28); }
.button-small { min-height: 40px; padding: 9px 15px; font-size: .92rem; border-radius: 10px; }
.button-large { min-height: 56px; padding: 15px 26px; }
.button-full { width: 100%; }
.button-outline { color: var(--primary); background: transparent; border-color: rgba(91, 89, 217, .42); box-shadow: none; }
.button-outline:hover { color: #fff; background: var(--primary); }
.button-ghost { color: #e9eeff; background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.18); box-shadow: none; }
.button-ghost:hover { background: rgba(255,255,255,.12); }
.button-light { color: var(--dark); background: #fff; box-shadow: none; }
.button-light:hover { color: var(--dark); background: #eef2ff; }
.text-link { color: var(--primary); font-weight: 750; }
.text-link:hover { text-decoration: underline; }
.link-button { padding: 0; border: 0; background: none; color: inherit; }

/* Header */
.site-header {
    position: sticky; z-index: 100; top: 0; border-bottom: 1px solid rgba(220, 227, 239, .8);
    background: rgba(255, 255, 255, .92); backdrop-filter: blur(16px); transition: box-shadow .2s;
}
.site-header.is-scrolled { box-shadow: 0 8px 30px rgba(18, 30, 56, .08); }
.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 850; letter-spacing: -.02em; }
.brand img { flex: 0 0 auto; }
.main-nav { display: flex; align-items: center; gap: 7px; }
.main-nav > a:not(.button) { padding: 9px 11px; color: #4b5873; font-weight: 650; border-radius: 9px; }
.main-nav > a:not(.button):hover, .main-nav > a.active:not(.button) { color: var(--primary); background: #f0f0ff; }
.nav-account { border: 1px solid var(--line); }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 0; background: transparent; }
.menu-toggle span:not(.sr-only) { display: block; width: 23px; height: 2px; margin: 5px auto; background: var(--ink); border-radius: 9px; }

/* Alerts */
.flash-stack { position: relative; z-index: 90; display: grid; gap: 10px; padding-top: 14px; }
.alert { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 16px; border: 1px solid; border-radius: 12px; box-shadow: var(--shadow-sm); }
.alert button { border: 0; background: transparent; color: inherit; font-size: 1.35rem; }
.alert-success { color: var(--success); background: var(--success-bg); border-color: #bcebdc; }
.alert-warning { color: var(--warning); background: var(--warning-bg); border-color: #f0d797; }
.alert-danger { color: var(--danger); background: var(--danger-bg); border-color: #f4bdc6; }
.alert-info { color: var(--info); background: var(--info-bg); border-color: #bfd8f5; }

/* Hero */
.hero { overflow: hidden; position: relative; padding: 92px 0 84px; color: #fff; background: var(--dark); }
.hero::before, .hero::after { content: ""; position: absolute; pointer-events: none; border-radius: 50%; filter: blur(2px); }
.hero::before { width: 520px; height: 520px; top: -280px; left: -180px; background: radial-gradient(circle, rgba(38,213,165,.2), transparent 70%); }
.hero::after { width: 620px; height: 620px; right: -250px; bottom: -370px; background: radial-gradient(circle, rgba(116,103,240,.28), transparent 70%); }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 70px; }
.hero h1 { max-width: 760px; margin-bottom: 22px; color: #f5f7ff; font-size: clamp(2.7rem, 5.5vw, 5rem); }
.hero p { max-width: 680px; color: #aeb9d3; font-size: 1.12rem; }
.eyebrow { display: inline-block; margin-bottom: 14px; color: var(--accent); font-size: .78rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.hero-actions, .centered-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero-notes { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 30px; color: #b7c2dc; font-size: .88rem; }
.terminal-card { border: 1px solid rgba(157, 177, 224, .23); border-radius: 24px; background: rgba(6, 11, 24, .76); box-shadow: 0 36px 80px rgba(0,0,0,.28); overflow: hidden; transform: perspective(1000px) rotateY(-3deg); }
.terminal-top { display: flex; align-items: center; gap: 8px; padding: 15px 18px; border-bottom: 1px solid rgba(255,255,255,.09); color: #9eabc8; font-size: .8rem; }
.terminal-top span { width: 9px; height: 9px; border-radius: 50%; background: #ff726b; }
.terminal-top span:nth-child(2) { background: #f3c55d; }
.terminal-top span:nth-child(3) { background: #35d5a5; }
.terminal-top strong { margin-left: auto; font-weight: 650; }
.terminal-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 22px; }
.terminal-stats div { padding: 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; background: rgba(255,255,255,.03); }
.terminal-stats span { display: block; color: #8592ae; font-size: .72rem; text-transform: uppercase; }
.terminal-stats strong { display: block; margin-top: 3px; color: #edf2ff; font-size: 1.22rem; }
.chart-grid { position: relative; height: 230px; margin: 0 22px 22px; border: 1px solid rgba(255,255,255,.07); border-radius: 15px; overflow: hidden; background: repeating-linear-gradient(0deg, transparent 0 45px, rgba(255,255,255,.04) 46px), repeating-linear-gradient(90deg, transparent 0 72px, rgba(255,255,255,.04) 73px); }
.chart-line { position: absolute; left: 6%; right: 6%; height: 3px; border-radius: 99px; transform-origin: left center; }
.chart-line-one { top: 62%; background: linear-gradient(90deg, #26d5a5, #7d6ef4); transform: rotate(-12deg); }
.chart-line-two { top: 47%; background: linear-gradient(90deg, rgba(38,213,165,.25), rgba(125,110,244,.35)); transform: rotate(8deg); }
.candle { position: absolute; bottom: 18%; width: 9px; border-radius: 3px; background: #33c99f; }
.c1 { left: 12%; height: 35%; }.c2 { left: 23%; height: 24%; background: #e36c7b; }.c3 { left: 34%; height: 44%; }.c4 { left: 45%; height: 31%; }.c5 { left: 56%; height: 52%; background: #e36c7b; }.c6 { left: 67%; height: 41%; }.c7 { left: 78%; height: 60%; }.c8 { left: 89%; height: 48%; }
.terminal-log { display: grid; gap: 8px; padding: 0 22px 22px; color: #9daccc; font-family: ui-monospace, monospace; font-size: .75rem; }
.dot { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: #6a7897; }
.dot-green { background: #27d5a5; }

/* Sections and cards */
.section { padding: 86px 0; }
.section-muted { background: #edf1f7; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading p { max-width: 630px; margin-bottom: 0; }
.trust-strip { border-bottom: 1px solid var(--line); background: var(--surface); }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; padding: 25px 0; }
.trust-grid article { display: flex; align-items: center; gap: 13px; padding: 4px 22px; border-right: 1px solid var(--line); }
.trust-grid article:last-child { border-right: 0; }
.trust-grid span, .feature-icon, .category-symbol { display: grid; place-items: center; flex: 0 0 auto; width: 43px; height: 43px; border-radius: 13px; color: var(--primary); background: #eeeeff; font-weight: 800; }
.trust-grid strong { display: block; font-size: .94rem; }
.trust-grid small { display: block; color: var(--muted); }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.product-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); overflow: hidden; transition: transform .2s, box-shadow .2s, border-color .2s; }
.product-card:hover { transform: translateY(-4px); border-color: #c6c8ef; box-shadow: var(--shadow-md); }
.product-card-image { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--dark); }
.product-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.product-card:hover .product-card-image img { transform: scale(1.025); }
.product-type { position: absolute; left: 15px; top: 15px; padding: 5px 9px; border-radius: 8px; color: #fff; background: rgba(9,15,30,.78); backdrop-filter: blur(8px); font-size: .7rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.product-card-body { flex: 1; padding: 21px 21px 13px; }
.product-card-body h3 { margin-bottom: 10px; }
.product-card-body h3 a:hover { color: var(--primary); }
.product-card-body p { margin-bottom: 0; font-size: .94rem; }
.product-meta { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 12px; color: var(--muted); font-size: .76rem; }
.product-meta span { padding: 4px 8px; border-radius: 7px; background: var(--surface-2); }
.product-card-footer { display: flex; align-items: end; justify-content: space-between; gap: 16px; padding: 16px 21px 21px; }
.product-price { display: flex; flex-direction: column; line-height: 1.2; }
.product-price strong { font-size: 1.35rem; }
.old-price { color: #8c96aa; font-size: .78rem; text-decoration: line-through; }
.category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 19px; }
.category-card { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); transition: transform .18s, border-color .18s; }
.category-card:hover { transform: translateY(-3px); border-color: #bfc3eb; }
.category-card .category-symbol { margin-bottom: 18px; }
.category-card h3 { margin-bottom: 7px; }
.category-card p { margin-bottom: 0; font-size: .9rem; }
.info-strip { padding: 35px 0; background: var(--dark-2); }
.info-strip .container { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.info-strip h2 { margin-bottom: 4px; color: #f3f6ff; font-size: 1.5rem; }
.info-strip p { margin: 0; color: #a9b5cf; }
.feature-check-list { display: grid; gap: 13px; padding: 0; margin: 24px 0; list-style: none; }
.feature-check-list li { position: relative; padding-left: 30px; color: #3d4962; }
.feature-check-list li::before { content: "✓"; position: absolute; left: 0; top: 1px; display: grid; place-items: center; width: 21px; height: 21px; color: var(--success); background: var(--success-bg); border-radius: 50%; font-size: .75rem; font-weight: 900; }
.steps-list { display: grid; gap: 16px; counter-reset: step; }
.steps-list article { position: relative; padding: 18px 20px 18px 64px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.steps-list article::before { counter-increment: step; content: counter(step); position: absolute; left: 18px; top: 18px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; color: #fff; background: var(--primary); font-weight: 800; }
.steps-list h3 { margin-bottom: 3px; }
.steps-list p { margin-bottom: 0; font-size: .92rem; }

/* Page headers / catalog */
.page-hero, .private-hero, .legal-hero { padding: 68px 0 55px; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, #fff, #f2f5fb); }
.page-hero h1, .private-hero h1, .legal-hero h1 { margin-bottom: 13px; font-size: clamp(2.2rem, 5vw, 3.75rem); }
.page-hero p, .private-hero p, .legal-hero p { max-width: 760px; margin-bottom: 0; font-size: 1.05rem; }
.catalog-section { padding-top: 46px; }
.catalog-filters { display: grid; grid-template-columns: 1.7fr repeat(2, minmax(150px, .65fr)) auto; gap: 12px; align-items: end; margin-bottom: 24px; padding: 19px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.search-field, .catalog-filters label { display: grid; gap: 6px; color: #43506a; font-size: .82rem; font-weight: 700; }
.catalog-result-bar { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 22px; color: var(--muted); font-size: .9rem; }
.empty-state { padding: 55px 28px; border: 1px dashed #bdc7d8; border-radius: var(--radius); background: rgba(255,255,255,.55); text-align: center; }
.empty-state.compact { padding: 34px 22px; }
.empty-state > span { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 15px; border-radius: 16px; color: var(--primary); background: #ececff; font-size: 1.5rem; }
.empty-state h2 { margin-bottom: 7px; font-size: 1.45rem; }

/* Product detail */
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; padding: 24px 0 0; color: var(--muted); font-size: .83rem; }
.breadcrumbs a:hover { color: var(--primary); }
.product-detail { padding: 32px 0 85px; }
.product-detail-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, .6fr); gap: 34px; align-items: start; }
.product-gallery, .product-description, .sidebar-card { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.product-main-image { width: 100%; aspect-ratio: 3/2; object-fit: cover; border-radius: var(--radius) var(--radius) 0 0; background: var(--dark); }
.product-lead { padding: 28px; }
.product-lead h1 { margin-bottom: 14px; font-size: clamp(2rem, 4vw, 3.35rem); }
.product-lead > p { font-size: 1.05rem; }
.price-block { display: flex; align-items: baseline; gap: 12px; margin: 22px 0; }
.price-block strong { font-size: 2.1rem; }
.product-description { margin-top: 24px; padding: 30px; }
.product-description h2 { font-size: 1.55rem; }
.prose { color: #3c4862; }
.prose p { color: inherit; }
.prose h2, .prose h3 { margin-top: 1.7em; }
.prose ul { padding-left: 22px; }
.detail-sidebar { display: grid; gap: 19px; position: sticky; top: 98px; }
.sidebar-card { padding: 23px; }
.sidebar-card h2 { margin-bottom: 10px; font-size: 1.23rem; }
.product-buy-card .button { margin-top: 18px; }
.purchase-benefits { display: grid; gap: 9px; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid var(--line); color: #4a566f; font-size: .86rem; }
.purchase-benefits span::before { content: "✓"; margin-right: 8px; color: var(--success); font-weight: 800; }
.sidebar-card dl { margin: 0; }
.sidebar-card dl div { display: flex; justify-content: space-between; gap: 18px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.sidebar-card dl div:last-child { border-bottom: 0; }
.sidebar-card dt { color: var(--muted); }
.sidebar-card dd { margin: 0; font-weight: 700; text-align: right; }
.support-card > span { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 13px; border-radius: 13px; color: var(--primary); background: #ededff; font-weight: 900; }
.microcopy { margin: 11px 0 0; color: var(--muted); font-size: .78rem; text-align: center; }

/* Forms */
.form-stack { display: grid; gap: 17px; }
.form-stack label, .form-panel label, .mt5-bind-form label { display: grid; gap: 7px; color: #3a4760; font-size: .86rem; font-weight: 700; }
input, select, textarea {
    width: 100%; padding: 12px 13px; border: 1px solid #cbd4e2; border-radius: 10px;
    color: var(--ink); background: #fff; transition: border-color .15s, box-shadow .15s;
}
input:focus, select:focus, textarea:focus { border-color: var(--primary); outline: 0; box-shadow: 0 0 0 4px rgba(91,89,217,.11); }
textarea { resize: vertical; }
label small { color: var(--muted); font-weight: 450; line-height: 1.45; }
.form-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.checkbox-label { display: flex !important; align-items: flex-start; gap: 10px; }
.checkbox-label input { width: 18px; height: 18px; margin-top: 3px; }
.form-errors { padding: 14px 17px; margin: 0 0 18px; border: 1px solid #f2b7c1; border-radius: 12px; color: var(--danger); background: var(--danger-bg); }
.form-errors ul { margin: 0; padding-left: 20px; }
.honeypot { position: absolute !important; left: -9999px !important; }

/* Authentication */
.auth-section { min-height: calc(100vh - 76px); padding: 70px 0; background: linear-gradient(135deg, #f7f9fd 0%, #eceeff 100%); }
.auth-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); max-width: 1040px; border: 1px solid var(--line); border-radius: 26px; background: var(--surface); box-shadow: var(--shadow-md); overflow: hidden; }
.auth-panel { padding: clamp(30px, 5vw, 58px); }
.auth-panel h1 { margin-bottom: 11px; font-size: clamp(2rem, 4vw, 3rem); }
.auth-panel > p { margin-bottom: 28px; }
.auth-aside { display: flex; flex-direction: column; justify-content: center; padding: 40px; color: #fff; background: var(--dark); }
.auth-aside h2 { color: #fff; font-size: 1.55rem; }
.auth-aside p, .auth-aside li { color: #aebad5; }
.auth-aside ul { display: grid; gap: 10px; padding-left: 20px; }
.auth-switch { margin: 22px 0 0 !important; text-align: center; font-size: .9rem; }
.auth-switch a { color: var(--primary); font-weight: 750; }

/* Contact, about, legal */
.contact-grid, .about-split, .split-section { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; align-items: center; }
.contact-info h1 { margin-bottom: 16px; }
.contact-methods { display: grid; gap: 13px; margin-top: 27px; }
.contact-methods article { display: flex; gap: 13px; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }
.contact-methods article > span { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 11px; color: var(--primary); background: #ededff; font-weight: 800; }
.contact-methods strong, .contact-methods a { display: block; }
.contact-methods a { color: var(--primary); font-size: .9rem; }
.contact-form-panel, .form-panel, .panel { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.values-grid article { padding: 25px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.values-grid article > span { display: grid; place-items: center; width: 43px; height: 43px; margin-bottom: 16px; border-radius: 13px; color: var(--primary); background: #ededff; font-weight: 800; }
.legal-content { padding: 48px 0 80px; }
.legal-content h2 { margin-top: 40px; font-size: 1.5rem; }
.legal-content li { margin-bottom: 7px; color: #445069; }
.notice { padding: 16px 18px; border: 1px solid; border-radius: 13px; }
.notice p:last-child { margin-bottom: 0; }
.notice-info { color: var(--info); background: var(--info-bg); border-color: #bfd8f5; }
.notice-warning { color: var(--warning); background: var(--warning-bg); border-color: #f0d797; }
.notice-danger { color: var(--danger); background: var(--danger-bg); border-color: #f3bbc5; }
.notice-success { color: var(--success); background: var(--success-bg); border-color: #b8e8da; }
.risk-hero { padding: 75px 0; color: #fff; background: linear-gradient(125deg, #28131b, #12182c); }
.risk-hero h1 { color: #fff; }
.risk-hero p { max-width: 760px; color: #d2bfc5; }
.risk-banner { padding: 26px 0; background: #fff4d8; border-block: 1px solid #eed394; }
.risk-banner-inner { display: flex; align-items: center; gap: 18px; }
.risk-banner-inner > span { font-size: 2rem; }
.risk-banner h2 { margin-bottom: 3px; font-size: 1.25rem; }
.risk-banner p { margin-bottom: 0; color: #6e541e; }

/* Customer account */
.account-hero { padding: 50px 0; color: #fff; background: linear-gradient(120deg, var(--dark), #293052); }
.account-hero-inner { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.account-hero h1 { margin-bottom: 7px; color: #fff; font-size: clamp(2rem, 4vw, 3.25rem); }
.account-hero p { margin-bottom: 0; color: #b3bfd8; }
.account-section { padding-top: 38px; }
.account-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 30px; align-items: start; }
.account-nav { display: grid; gap: 5px; position: sticky; top: 98px; padding: 13px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.account-nav a, .account-nav button { display: flex; width: 100%; padding: 10px 12px; border: 0; border-radius: 9px; color: #526079; background: transparent; font-weight: 650; text-align: left; }
.account-nav a:hover, .account-nav a.active { color: var(--primary); background: #efefff; }
.account-content { min-width: 0; }
.account-summary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 36px; }
.account-summary-grid article { padding: 20px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.account-summary-grid span, .account-summary-grid small { display: block; color: var(--muted); }
.account-summary-grid strong { display: block; margin: 3px 0; font-size: 1.9rem; }
.content-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.content-heading h2 { margin-bottom: 3px; font-size: 1.55rem; }
.content-heading p { margin-bottom: 0; font-size: .9rem; }
.purchase-list { display: grid; gap: 15px; }
.purchase-card { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; align-items: center; gap: 20px; padding: 16px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.purchase-card > img { width: 150px; height: 100px; object-fit: cover; border-radius: 11px; background: var(--dark); }
.purchase-info h3 { margin: 7px 0 3px; }
.purchase-info p { margin-bottom: 7px; font-size: .86rem; }
.purchase-actions { display: grid; justify-items: end; gap: 8px; }
.license-inline { display: inline-block; padding: 5px 8px; border-radius: 7px; color: #43506a; background: var(--surface-2); font-size: .76rem; }
.table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 13px 15px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
th { color: #59657c; background: #f3f5f9; font-size: .75rem; letter-spacing: .035em; text-transform: uppercase; }
td { font-size: .9rem; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover td { background: #fafbfe; }
.status { display: inline-flex; align-items: center; padding: 5px 9px; border-radius: 999px; font-size: .72rem; font-weight: 800; white-space: nowrap; }
.status-success { color: var(--success); background: var(--success-bg); }
.status-warning { color: var(--warning); background: var(--warning-bg); }
.status-danger { color: var(--danger); background: var(--danger-bg); }
.status-neutral { color: #56627a; background: #e9edf4; }
.license-grid { display: grid; gap: 17px; }
.license-card { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.license-card-top { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.license-card-top h2 { margin: 4px 0 0; font-size: 1.25rem; }
.license-key-box { display: flex; align-items: center; gap: 9px; padding: 12px; border-radius: 10px; background: #f0f2f7; overflow: auto; }
.license-key-box code { flex: 1; white-space: nowrap; }
.copy-button { flex: 0 0 auto; padding: 6px 9px; border: 1px solid var(--line); border-radius: 8px; color: var(--primary); background: #fff; font-size: .78rem; font-weight: 750; }
.license-details { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 16px; }
.license-details div { padding: 11px; border: 1px solid var(--line); border-radius: 10px; }
.license-details span { display: block; color: var(--muted); font-size: .72rem; }
.mt5-bind-form { display: flex; align-items: end; gap: 10px; margin-top: 16px; }
.mt5-bind-form label { flex: 1; }
.order-status-card, .order-item-row, .order-total-row { padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.order-status-card { display: flex; align-items: center; gap: 15px; margin-bottom: 20px; }
.status-icon { display: grid; place-items: center; flex: 0 0 auto; width: 46px; height: 46px; border-radius: 14px; color: var(--primary); background: #ededff; font-size: 1.25rem; }
.order-status-card h2 { margin-bottom: 2px; font-size: 1.2rem; }
.order-status-card p { margin-bottom: 0; }
.order-item-row { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 10px; }
.order-total-row { display: flex; justify-content: space-between; margin-top: 16px; font-size: 1.15rem; }

/* Checkout and errors */
.checkout-status-page, .error-page { min-height: 65vh; display: grid; place-items: center; padding: 70px 0; }
.checkout-status-card { max-width: 680px; margin: 0 auto; padding: clamp(28px, 5vw, 55px); border: 1px solid var(--line); border-radius: 24px; background: var(--surface); box-shadow: var(--shadow-md); text-align: center; }
.checkout-status-card .status-icon { margin: 0 auto 18px; width: 64px; height: 64px; border-radius: 19px; font-size: 1.75rem; }
.checkout-status-card h1 { font-size: clamp(2rem, 5vw, 3.2rem); }
.return-order { margin: 22px 0; padding: 14px; border-radius: 11px; background: var(--surface-2); }
.error-code { display: block; color: var(--primary); font-size: 4.5rem; font-weight: 900; line-height: 1; }

/* Footer */
.site-footer { padding: 62px 0 24px; color: #bcc6dc; background: #0b1122; }
.footer-grid { display: grid; grid-template-columns: 1.45fr repeat(3, 1fr); gap: 44px; }
.footer-grid h2 { color: #eef2ff; font-size: .9rem; letter-spacing: .05em; text-transform: uppercase; }
.footer-grid p { max-width: 380px; color: #8997b3; font-size: .9rem; }
.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; gap: 9px; }
.footer-grid a:hover { color: #fff; }
.footer-brand { margin-bottom: 15px; color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; gap: 25px; margin-top: 45px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); }
.footer-bottom p { margin: 0; color: #7786a4; font-size: .78rem; }
.risk-mini { max-width: 600px; text-align: right; }

@media (max-width: 1040px) {
    .hero-grid { gap: 35px; }
    .product-grid { grid-template-columns: repeat(2, 1fr); }
    .category-grid, .trust-grid { grid-template-columns: repeat(2, 1fr); }
    .trust-grid article:nth-child(2) { border-right: 0; }
    .product-detail-grid { grid-template-columns: minmax(0, 1fr) 320px; }
    .footer-grid { grid-template-columns: 1.4fr repeat(2, 1fr); }
    .footer-grid > div:last-child { grid-column: 2; }
}

@media (max-width: 820px) {
    .container { width: min(calc(100% - 28px), var(--container)); }
    .menu-toggle { display: block; }
    .main-nav { display: none; position: absolute; left: 14px; right: 14px; top: 68px; padding: 12px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: var(--shadow-md); }
    .main-nav.is-open { display: grid; }
    .main-nav .button { width: 100%; }
    .hero { padding: 70px 0; }
    .hero-grid, .auth-grid, .contact-grid, .about-split, .split-section, .product-detail-grid { grid-template-columns: 1fr; }
    .terminal-card { transform: none; max-width: 650px; }
    .detail-sidebar { position: static; }
    .catalog-filters { grid-template-columns: 1fr 1fr; }
    .catalog-filters .search-field { grid-column: 1 / -1; }
    .account-layout { grid-template-columns: 1fr; }
    .account-nav { position: static; display: flex; overflow-x: auto; white-space: nowrap; }
    .purchase-card { grid-template-columns: 110px 1fr; }
    .purchase-card > img { width: 110px; height: 78px; }
    .purchase-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; align-items: center; }
    .values-grid { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-grid > div:first-child { grid-column: 1 / -1; }
    .footer-grid > div:last-child { grid-column: auto; }
}

@media (max-width: 600px) {
    body { font-size: 15px; }
    .section { padding: 64px 0; }
    .header-inner { min-height: 68px; }
    .hero h1 { font-size: 2.55rem; }
    .hero-actions .button, .centered-actions .button { width: 100%; }
    .hero-notes { display: grid; gap: 7px; }
    .terminal-stats { grid-template-columns: 1fr; }
    .chart-grid { height: 180px; }
    .trust-grid, .product-grid, .category-grid, .account-summary-grid, .license-details { grid-template-columns: 1fr; }
    .trust-grid article { border-right: 0; border-bottom: 1px solid var(--line); }
    .trust-grid article:last-child { border-bottom: 0; }
    .section-heading, .content-heading, .account-hero-inner, .info-strip .container, .footer-bottom { align-items: flex-start; flex-direction: column; }
    .catalog-filters { grid-template-columns: 1fr; }
    .catalog-filters .search-field { grid-column: auto; }
    .product-card-footer { align-items: stretch; flex-direction: column; }
    .product-card-footer .button { width: 100%; }
    .form-columns { grid-template-columns: 1fr; }
    .auth-section { padding: 28px 0; }
    .auth-aside { display: none; }
    .purchase-card { grid-template-columns: 1fr; }
    .purchase-card > img { width: 100%; height: auto; aspect-ratio: 3/2; }
    .purchase-actions, .mt5-bind-form { align-items: stretch; flex-direction: column; }
    .purchase-actions { justify-items: stretch; }
    .purchase-actions form, .purchase-actions .button { width: 100%; }
    .order-item-row { flex-direction: column; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-grid > div:first-child { grid-column: auto; }
    .risk-mini { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Ajustes de componentes compostos */
.section-heading.centered { flex-direction: column; align-items: center; text-align: center; }
.trust-grid article p { margin: 1px 0 0; font-size: .8rem; }
.steps-list { margin: 0; padding: 0; list-style: none; }
.steps-list li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 15px; align-items: start; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.steps-list li > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: #fff; background: var(--primary); font-size: .75rem; font-weight: 850; }
.steps-list li strong { display: block; }
.steps-list li p { margin: 2px 0 0; font-size: .88rem; }
.catalog-filters .button-ghost { color: var(--primary); background: #f1f1ff; border-color: #d7d6fa; }
.catalog-filters .button-ghost:hover { color: #fff; background: var(--primary); }
.product-main-image { position: relative; overflow: hidden; }
.product-main-image img { width: 100%; height: 100%; object-fit: cover; }
.product-main-image .product-type { z-index: 2; }
.product-gallery .info-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; padding: 0; }
.product-gallery .info-strip > div { padding: 17px 20px; border-right: 1px solid rgba(255,255,255,.1); }
.product-gallery .info-strip > div:last-child { border-right: 0; }
.product-gallery .info-strip small, .product-gallery .info-strip strong { display: block; }
.product-gallery .info-strip small { color: #8e9bb7; }
.product-gallery .info-strip strong { color: #f2f5ff; }
.product-buy-card { position: sticky; top: 98px; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-md); }
.product-buy-card h1 { font-size: clamp(2rem, 4vw, 3.3rem); }
.product-buy-card .product-price { margin: 24px 0; }
.product-buy-card .product-price > span { color: #8b95a9; text-decoration: line-through; }
.product-buy-card .product-price > strong { font-size: 2rem; }
.product-buy-card .product-price > small { margin-top: 4px; color: var(--muted); }
.product-buy-card form + .button { margin-top: 10px; }
.purchase-benefits { margin: 20px 0 0; padding: 17px 0 0; list-style: none; }
.purchase-benefits li::before { content: "✓"; margin-right: 8px; color: var(--success); font-weight: 900; }
.content-with-sidebar { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 28px; align-items: start; }

@media (max-width: 820px) {
    .product-buy-card { position: static; }
    .content-with-sidebar { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
    .product-gallery .info-strip { grid-template-columns: 1fr; }
    .product-gallery .info-strip > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
    .product-gallery .info-strip > div:last-child { border-bottom: 0; }
}

/* Combos promocionais */
.combo-saving-badge { display: inline-flex; margin-top: 12px; padding: 7px 10px; border-radius: 999px; color: var(--success); background: var(--success-bg); font-size: .8rem; font-weight: 800; }
.combo-includes-section { padding-top: 10px; background: #fff; }
.combo-includes-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.combo-included-card { display: grid; grid-template-columns: 180px minmax(0, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow-sm); }
.combo-included-card > img { width: 100%; height: 100%; min-height: 190px; object-fit: cover; background: var(--dark); }
.combo-included-card > div { display: flex; flex-direction: column; padding: 20px; }
.combo-included-card > div > span { color: var(--primary); font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.combo-included-card h3 { margin: 5px 0 8px; }
.combo-included-card p { margin-bottom: 16px; color: var(--muted); font-size: .87rem; }
.combo-included-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 13px; border-top: 1px solid var(--line); }
.combo-total-strip { display: grid; grid-template-columns: repeat(3, auto 1fr); align-items: center; gap: 10px 18px; margin-top: 20px; padding: 18px 20px; border-radius: 14px; color: #fff; background: var(--dark); }
.combo-total-strip span { color: #aeb9d1; font-size: .78rem; }
.combo-total-strip strong { font-size: 1.08rem; }

@media (max-width: 900px) {
    .combo-includes-grid { grid-template-columns: 1fr; }
    .combo-total-strip { grid-template-columns: repeat(3, 1fr); }
    .combo-total-strip span, .combo-total-strip strong { text-align: center; }
}

@media (max-width: 600px) {
    .combo-included-card { grid-template-columns: 1fr; }
    .combo-included-card > img { min-height: auto; aspect-ratio: 3/2; }
    .combo-total-strip { grid-template-columns: 1fr 1fr; }
    .combo-total-strip span, .combo-total-strip strong { text-align: left; }
}

/* Produtos virtuais, físicos e cupons */
.product-delivery-badge { position: absolute; right: 15px; top: 15px; z-index: 2; padding: 5px 9px; border-radius: 8px; color: #fff; background: rgba(117,79,9,.88); backdrop-filter: blur(8px); font-size: .68rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.product-delivery-badge.digital { background: rgba(31,90,150,.88); }
.product-delivery-badge.mixed { background: rgba(92,61,137,.88); }
.coupon-field { display: grid; gap: 6px; margin: 16px 0 12px; }
.coupon-field span { color: #3f4c65; font-size: .79rem; font-weight: 800; }
.coupon-field input { text-transform: uppercase; letter-spacing: .06em; }
.purchase-format-note { display: flex; gap: 11px; align-items: flex-start; margin: 15px 0; padding: 13px; border: 1px solid #d9e3ef; border-radius: 11px; color: #40506a; background: #f4f8fc; }
.purchase-format-note strong,.purchase-format-note span { display: block; }
.purchase-format-note span { margin-top: 2px; font-size: .8rem; }
.purchase-format-note.physical { border-color: #ead7a8; background: #fff9e8; }
.order-price-summary { margin: 18px 0; border-top: 1px solid var(--line); }
.order-price-summary div { display: flex; justify-content: space-between; gap: 15px; padding: 8px 0; }
.order-price-summary .discount { color: var(--success); }
.order-price-summary .total { padding-top: 12px; border-top: 1px solid var(--line); font-size: 1.08rem; }
.fulfillment-card { margin-top: 18px; }
.fulfillment-meta { display: grid; gap: 5px; margin-top: 9px; color: #4a566f; }
.physical-purchase-card .purchase-actions { align-items: flex-end; }

/* Compra com cupom e atendimento de produtos físicos */
.purchase-form { display: grid; gap: 12px; }
.coupon-purchase-field { display: grid; gap: 7px; padding: 13px; border: 1px dashed var(--line); border-radius: 12px; background: var(--surface-2); }
.coupon-purchase-field > span { color: #45516a; font-size: .78rem; font-weight: 800; }
.coupon-purchase-field > span small { color: var(--muted); font-weight: 600; }
.coupon-purchase-field input { width: 100%; text-transform: uppercase; letter-spacing: .05em; }
.product-delivery-notice { margin-top: 16px; }
.combo-card-labels { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.combo-card-labels > span:first-child { color: var(--primary); font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.delivery-badge { display: inline-flex; align-items: center; width: max-content; padding: 4px 8px; border-radius: 999px; color: #245c88; background: #e5f2fc; font-size: .68rem; font-weight: 850; letter-spacing: .03em; text-transform: uppercase; }
.delivery-badge.physical { color: #765314; background: #fff1c9; }
.delivery-badge.mixed { color: #5a4385; background: #eee6ff; }
.purchase-label-row, .order-item-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.tracking-inline { display: block; color: #4b5870; font-size: .78rem; }
.order-status-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: stretch; }
.order-status-grid > div { min-width: 0; padding-right: 15px; border-right: 1px solid var(--line); }
.order-status-grid > div:last-child { padding-right: 0; border-right: 0; }
.order-status-grid > div > span, .order-status-grid > div > strong { display: block; }
.order-status-grid > div > span { margin-bottom: 5px; color: var(--muted); font-size: .72rem; }
.order-item-heading { margin-bottom: 4px; }
.order-item-row > div > span:not(.delivery-badge) { display: block; color: var(--muted); font-size: .78rem; }
.fulfillment-customer-panel { margin-top: 20px; }
.compact-heading { margin-bottom: 14px; }
.tracking-box { display: grid; gap: 4px; padding: 14px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-2); }
.tracking-box span { color: var(--muted); font-size: .75rem; }
.return-order { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 9px 18px; text-align: left; }
.return-order > span { color: var(--muted); font-size: .78rem; }
.return-order > strong { justify-self: end; }

@media (max-width: 760px) {
    .order-status-grid { grid-template-columns: 1fr 1fr; }
    .order-status-grid > div { padding: 8px 0; border-right: 0; border-bottom: 1px solid var(--line); }
    .order-status-grid > div:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (max-width: 520px) {
    .order-status-grid { grid-template-columns: 1fr; }
    .order-status-grid > div:nth-last-child(-n+2) { border-bottom: 1px solid var(--line); }
    .order-status-grid > div:last-child { border-bottom: 0; }
    .combo-card-labels { align-items: flex-start; flex-direction: column; }
}

.clipboard-helper { position: fixed; left: -9999px; top: 0; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

/* Dropshipping — área do cliente */
.account-panel { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow-sm); }
.account-panel + .account-panel { margin-top: 20px; }
.account-panel h2 { margin-bottom: 8px; font-size: 1.25rem; }
.compact-heading { margin-bottom: 18px; }
.compact-heading h2 { font-size: 1.28rem; }
.dropshipping-heading { align-items: center; }
.account-stats { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 13px; margin: 20px 0; }
.account-stats article { padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow-sm); }
.account-stats span, .account-stats small, .document-status-grid span, .document-status-grid small { display: block; color: var(--muted); }
.account-stats span { font-size: .78rem; }
.account-stats strong { display: block; margin: 2px 0; font-size: 1.7rem; }
.account-stats small { font-size: .72rem; }
.dropshipping-search { display: flex; align-items: end; gap: 10px; padding: 15px; margin-bottom: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.dropshipping-search label { flex: 1 1 280px; display: grid; gap: 5px; color: #44516a; font-size: .8rem; font-weight: 700; }
.dropshipping-product-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.dropshipping-product-card { overflow: hidden; display: grid; grid-template-columns: 155px minmax(0,1fr); border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.dropshipping-product-card > img { width: 100%; height: 100%; min-height: 215px; object-fit: cover; background: var(--dark); }
.dropshipping-product-body { min-width: 0; padding: 17px; }
.dropshipping-product-body h3 { margin: 4px 0 7px; }
.dropshipping-product-body p { margin-bottom: 13px; font-size: .83rem; }
.dropshipping-price-row { display: flex; align-items: end; justify-content: space-between; gap: 14px; }
.dropshipping-price-row > div span, .dropshipping-price-row > div small, .dropshipping-price-row > div strong { display: block; }
.dropshipping-price-row > div small { color: var(--muted); }
.dropshipping-price-row > div strong { color: var(--primary); font-size: 1.17rem; }
.dropshipping-price-row label { width: 105px; display: grid; gap: 4px; color: #44516a; font-size: .74rem; font-weight: 750; }
.dropshipping-price-row input { min-height: 42px; }
.minimum-note { display: block; margin-top: 10px; color: var(--muted); font-size: .7rem; }
.dropshipping-payment-panel { margin-top: 20px; }
.choice-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; margin-bottom: 17px; }
.choice-card { display: flex !important; align-items: flex-start; gap: 10px; padding: 15px; border: 1px solid var(--line); border-radius: 13px; background: #f8f9fc; cursor: pointer; }
.choice-card input { flex: 0 0 auto; width: auto; margin-top: 4px; }
.choice-card span, .choice-card strong, .choice-card small { display: block; }
.choice-card small { margin-top: 4px; color: var(--muted); font-weight: 400; }
.choice-card:has(input:checked) { border-color: rgba(91,89,217,.48); background: #f0efff; }
.pix-instruction-card { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 15px 0; padding: 15px; border: 1px solid #bde6da; border-radius: 13px; background: var(--accent-soft); }
.pix-instruction-card div { min-width: 0; }
.pix-instruction-card span, .pix-instruction-card strong { display: block; }
.pix-instruction-card span { color: #4b7669; font-size: .73rem; }
.pix-instruction-card strong { overflow-wrap: anywhere; color: #0e5f49; }
.dropshipping-detail-grid { display: grid; grid-template-columns: minmax(0,1fr) 315px; gap: 20px; align-items: start; }
.dropshipping-detail-main { min-width: 0; }
.dropshipping-detail-side { display: grid; gap: 18px; position: sticky; top: 98px; }
.dropshipping-items .order-item-row { align-items: center; }
.dropshipping-items .order-item-row img { flex: 0 0 auto; width: 74px; height: 54px; object-fit: cover; border-radius: 9px; background: var(--dark); }
.dropshipping-items .order-item-row > div { flex: 1 1 auto; }
.file-line { margin: 13px 0 0; font-size: .8rem; }
.document-status-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; margin-bottom: 17px; }
.document-status-grid article { display: grid; align-content: start; gap: 4px; min-height: 106px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #f8f9fc; }
.document-status-grid strong { overflow-wrap: anywhere; }
.document-status-grid .text-link { margin-top: auto; font-size: .78rem; }
.account-dl { margin: 0; }
.account-dl div { display: grid; grid-template-columns: 105px minmax(0,1fr); gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.account-dl div:last-child { border-bottom: 0; }
.account-dl dt { color: var(--muted); }
.account-dl dd { margin: 0; overflow-wrap: anywhere; font-weight: 650; }
.dropshipping-upload-form, .dropshipping-documents-form { margin-top: 18px; }

@media (max-width: 1120px) {
    .account-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .dropshipping-product-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    .dropshipping-detail-grid { grid-template-columns: 1fr; }
    .dropshipping-detail-side { position: static; }
}
@media (max-width: 700px) {
    .account-stats, .choice-card-grid, .pix-instruction-card, .document-status-grid { grid-template-columns: 1fr; }
    .dropshipping-search { align-items: stretch; flex-direction: column; }
    .dropshipping-search .button { width: 100%; }
    .dropshipping-product-card { grid-template-columns: 1fr; }
    .dropshipping-product-card > img { height: 200px; min-height: 0; }
    .dropshipping-price-row { align-items: flex-start; flex-direction: column; }
    .dropshipping-price-row label { width: 100%; }
    .account-dl div { grid-template-columns: 1fr; gap: 2px; }
}

/* Página individual do produto — composição alinhada e preço em destaque */
.product-detail-hero {
    padding: 0 0 84px;
    border-bottom: 1px solid var(--line);
    background:
        radial-gradient(circle at 85% 12%, rgba(91,89,217,.09), transparent 31%),
        linear-gradient(180deg, #fff 0%, #f5f7fb 100%);
}
.product-breadcrumbs { padding: 25px 0 22px; }
.product-breadcrumbs > span:last-child { max-width: min(52ch, 60vw); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-detail-shell { display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(390px, .84fr); gap: clamp(25px, 3vw, 44px); align-items: start; }
.product-gallery-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: var(--surface); box-shadow: 0 22px 55px rgba(26,36,62,.09); }
.product-media-frame { position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: linear-gradient(135deg, #111a31, #202a48); }
.product-media-frame img { display: block; width: 100%; height: 100%; object-fit: contain; }
.product-media-badges { position: absolute; inset: 16px 16px auto; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 10px; pointer-events: none; }
.product-type-static, .product-delivery-badge-static { display: inline-flex; align-items: center; min-height: 31px; padding: 6px 11px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: #fff; background: rgba(8,14,28,.78); backdrop-filter: blur(10px); font-size: .7rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.product-delivery-badge-static { background: rgba(117,79,9,.88); }
.product-delivery-badge-static.digital { background: rgba(31,90,150,.9); }
.product-delivery-badge-static.mixed { background: rgba(90,67,133,.9); }
.product-media-meta { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); background: #111a31; }
.product-media-meta > div { min-width: 0; padding: 18px 20px; border-right: 1px solid rgba(255,255,255,.09); }
.product-media-meta > div:last-child { border-right: 0; }
.product-media-meta small, .product-media-meta strong { display: block; }
.product-media-meta small { margin-bottom: 4px; color: #92a0bc; font-size: .71rem; letter-spacing: .04em; text-transform: uppercase; }
.product-media-meta strong { overflow-wrap: anywhere; color: #f5f7ff; font-size: .91rem; }
.product-purchase-card { position: sticky; top: 94px; min-width: 0; padding: clamp(25px, 3vw, 36px); border: 1px solid #dfe4ee; border-radius: 22px; background: rgba(255,255,255,.97); box-shadow: 0 24px 64px rgba(24,33,57,.12); }
.product-purchase-heading { min-width: 0; }
.product-purchase-heading h1 { margin: 7px 0 13px; overflow-wrap: anywhere; font-size: clamp(2rem, 3.3vw, 3.35rem); line-height: 1.03; letter-spacing: -.035em; }
.product-purchase-heading p { margin: 0; color: #536078; font-size: 1rem; line-height: 1.68; }
.product-price-panel { margin: 25px 0 20px; overflow: hidden; border: 1px solid #d8dcf5; border-radius: 17px; background: linear-gradient(145deg, #f7f7ff, #fff); box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
.product-price-panel-top, .product-price-panel-bottom { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 16px; }
.product-price-panel-top { border-bottom: 1px solid #e3e5f5; color: #59657c; font-size: .76rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.product-discount-pill { flex: 0 0 auto; padding: 5px 8px; border-radius: 999px; color: #0b6c51; background: #dcf6ed; font-size: .7rem; }
.product-price-values { display: grid; gap: 3px; padding: 17px 16px 15px; }
.product-price-old { color: #7e899d; font-size: .85rem; text-decoration: line-through; }
.product-price-current { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; min-width: 0; }
.product-price-current small { color: #69758b; font-size: .8rem; font-weight: 700; }
.product-price-current strong { overflow-wrap: anywhere; color: #151d30; font-size: clamp(2.05rem, 4vw, 3rem); line-height: 1; letter-spacing: -.035em; }
.product-price-panel-bottom { border-top: 1px solid #e3e5f5; background: rgba(237,239,255,.58); color: #69758b; font-size: .73rem; }
.product-price-panel-bottom strong { color: #0b6c51; text-align: right; }
.product-checkout-form { gap: 13px; }
.product-checkout-form .button { min-height: 54px; margin-top: 0; }
.product-demo-button { margin-top: 11px !important; }
.product-purchase-benefits { margin-top: 20px; padding-top: 18px; list-style: none; }
.product-purchase-benefits li { position: relative; padding-left: 27px; line-height: 1.45; }
.product-purchase-benefits li::before { content: "✓"; position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; color: var(--success); background: var(--success-bg); font-size: .68rem; font-weight: 900; }
.product-purchase-terms { line-height: 1.5; }
.content-with-sidebar > * { min-width: 0; }
.product-description { overflow-wrap: anywhere; }
.detail-sidebar { min-width: 0; }
.sidebar-card dd { overflow-wrap: anywhere; }

@media (max-width: 1080px) {
    .product-detail-shell { grid-template-columns: minmax(0, 1fr) minmax(350px, .82fr); gap: 24px; }
    .product-purchase-card { padding: 25px; }
}
@media (max-width: 900px) {
    .product-detail-hero { padding-bottom: 60px; }
    .product-detail-shell { grid-template-columns: 1fr; }
    .product-purchase-card { position: static; }
    .product-purchase-heading h1 { max-width: 22ch; }
}
@media (max-width: 620px) {
    .product-breadcrumbs > span:last-child { max-width: 42vw; }
    .product-gallery-card, .product-purchase-card { border-radius: 17px; }
    .product-media-frame { aspect-ratio: 4 / 3; }
    .product-media-badges { inset: 10px 10px auto; align-items: flex-start; flex-wrap: wrap; }
    .product-type-static, .product-delivery-badge-static { min-height: 27px; padding: 5px 9px; font-size: .62rem; }
    .product-media-meta { grid-template-columns: 1fr; }
    .product-media-meta > div { padding: 14px 17px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.09); }
    .product-media-meta > div:last-child { border-bottom: 0; }
    .product-purchase-card { padding: 21px; }
    .product-purchase-heading h1 { font-size: clamp(1.85rem, 10vw, 2.45rem); }
    .product-price-panel-top, .product-price-panel-bottom { align-items: flex-start; flex-direction: column; }
    .product-price-panel-bottom strong { text-align: left; }
    .content-with-sidebar { gap: 20px; }
}

/* Cadastro completo do cliente e documentos fiscais — v1.8 */
.auth-grid-wide { grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); align-items: start; }
.auth-panel-wide { max-width: none; }
.auth-panel-wide .auth-form { display: grid; gap: 16px; }
.fiscal-form-section,
.form-card-section {
    margin: 0 0 17px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--surface);
}
.fiscal-form-section > summary,
.section-heading-compact {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    color: var(--ink);
    font-size: .92rem;
    font-weight: 850;
    cursor: pointer;
    list-style: none;
    background: #f7f8fb;
}
.fiscal-form-section > summary::-webkit-details-marker { display: none; }
.fiscal-form-section > summary::after { content: "+"; color: var(--primary); font-size: 1.25rem; }
.fiscal-form-section[open] > summary::after { content: "−"; }
.fiscal-form-section[open] > summary { border-bottom: 1px solid var(--line); }
.fiscal-form-body { padding: 18px; }
.form-card-section-flat { margin: 0; border: 0; border-radius: 0; background: transparent; }
.form-card-section-flat .fiscal-form-body { padding: 0; }
.form-columns-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.field-span-2 { grid-column: span 2; }
.field-span-3 { grid-column: 1 / -1; }
.account-profile-form { display: grid; gap: 18px; }
.profile-completeness {
    display: grid;
    gap: 8px;
    margin-bottom: 18px;
    padding: 15px 16px;
    border: 1px solid #d3d9f2;
    border-radius: 14px;
    color: #526078;
    background: #f6f7ff;
}
.profile-completeness-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.profile-completeness strong { color: var(--ink); }
.profile-completeness-bar { height: 8px; overflow: hidden; border-radius: 999px; background: #dfe3ef; }
.profile-completeness-bar > span { display: block; width: var(--profile-completeness,0%); height: 100%; border-radius: inherit; background: var(--primary); }
.sticky-form-actions {
    position: sticky;
    z-index: 4;
    bottom: 10px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 12px 35px rgba(31,40,62,.12);
    backdrop-filter: blur(10px);
}
.customer-fiscal-panel { margin-top: 18px; }
.customer-fiscal-list { display: grid; gap: 10px; }
.customer-fiscal-row {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto auto;
    gap: 12px;
    align-items: center;
    padding: 13px 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fafbfe;
}
.customer-fiscal-row strong,
.customer-fiscal-row span { overflow-wrap: anywhere; }
.customer-fiscal-row small { display: block; color: var(--muted); }

@media (max-width: 980px) {
    .auth-grid-wide { grid-template-columns: 1fr; }
    .form-columns-3 { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 650px) {
    .form-columns-3 { grid-template-columns: 1fr; }
    .field-span-2,
    .field-span-3 { grid-column: auto; }
    .sticky-form-actions { position: static; flex-direction: column; }
    .sticky-form-actions .button { width: 100%; }
    .customer-fiscal-row { grid-template-columns: 1fr; align-items: start; }
}

/* Consentimento de notificações transacionais — v1.9 */
.check-line {
    display: flex !important;
    align-items: flex-start;
    gap: 10px !important;
    color: #4a566d !important;
    font-size: .82rem !important;
    font-weight: 600 !important;
    line-height: 1.5;
}
.check-line input[type="checkbox"] {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: var(--primary);
}
.check-line-soft {
    padding: 12px 14px;
    border: 1px solid #dce1ee;
    border-radius: 11px;
    background: #f8f9fc;
}

/* Cadastro público reorganizado — v1.9.1 */
.registration-section {
    padding: 52px 0 82px;
    background:
        radial-gradient(circle at 8% 4%, rgba(91,89,217,.12), transparent 30%),
        radial-gradient(circle at 92% 16%, rgba(10,166,125,.09), transparent 28%),
        linear-gradient(180deg, #f8f9fd 0%, #eef2f8 100%);
}
.registration-container { max-width: 1220px; }
.registration-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 36px;
    margin-bottom: 30px;
}
.registration-hero > div { max-width: 720px; }
.registration-hero h1 { margin-bottom: 10px; font-size: clamp(2.25rem,4.5vw,3.75rem); }
.registration-hero p { max-width: 680px; margin-bottom: 0; font-size: 1.02rem; }
.registration-steps {
    display: grid;
    grid-template-columns: repeat(3,minmax(105px,1fr));
    gap: 7px;
    min-width: 390px;
    margin: 0;
    padding: 7px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(255,255,255,.8);
    box-shadow: var(--shadow-sm);
    list-style: none;
}
.registration-steps li {
    display: grid;
    grid-template-columns: 30px minmax(0,1fr);
    align-items: center;
    gap: 0 8px;
    padding: 9px;
    border-radius: 11px;
    color: #63708a;
}
.registration-steps li.is-current { color: #303d59; background: #efefff; }
.registration-steps li > span {
    grid-row: 1 / span 2;
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    color: #fff;
    background: #8994aa;
    font-size: .73rem;
    font-weight: 900;
}
.registration-steps li.is-current > span { background: var(--primary); }
.registration-steps strong { font-size: .78rem; line-height: 1.2; }
.registration-steps small { color: inherit; font-size: .66rem; line-height: 1.2; }
.registration-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 25px; align-items: start; }
.registration-main { min-width: 0; }
.registration-form { display: grid; gap: 17px; }
.registration-form label:not(.person-type-option) {
    display: grid;
    gap: 7px;
    color: #3a4760;
    font-size: .86rem;
    font-weight: 700;
}
.registration-card,
.registration-submit-card,
.registration-optional-intro {
    border: 1px solid var(--line);
    border-radius: 19px;
    background: rgba(255,255,255,.97);
    box-shadow: var(--shadow-sm);
}
.registration-card { padding: clamp(21px,3vw,30px); }
.registration-card-primary { border-color: #d2d6ef; }
.registration-card-heading {
    display: grid;
    grid-template-columns: 43px minmax(0,1fr) auto;
    align-items: center;
    gap: 13px;
    margin-bottom: 23px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--line);
}
.registration-card-heading h2 { margin: 0 0 3px; font-size: 1.28rem; }
.registration-card-heading p { margin: 0; font-size: .84rem; }
.registration-step-number {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    border-radius: 13px;
    color: #fff;
    background: var(--primary);
    font-size: .86rem;
    font-weight: 900;
    box-shadow: 0 9px 18px rgba(91,89,217,.2);
}
.registration-required-badge,
.registration-optional-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 27px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.registration-required-badge { color: #4e4bb6; background: #eeeeff; }
.registration-optional-badge { margin-bottom: 7px; color: #087a5b; background: #e3f8f0; }
.person-type-fieldset { margin: 0 0 20px; padding: 0; border: 0; }
.person-type-fieldset legend { margin-bottom: 8px; color: #3a4760; font-size: .86rem; font-weight: 750; }
.person-type-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.person-type-option { position: relative; cursor: pointer; }
.person-type-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.person-type-option > span {
    display: grid;
    gap: 1px;
    min-height: 67px;
    padding: 12px 14px 12px 44px;
    border: 1px solid #cbd4e2;
    border-radius: 12px;
    color: #3b4860;
    background: #fff;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
.person-type-option > span::before {
    content: "";
    position: absolute;
    left: 15px;
    top: 23px;
    width: 17px;
    height: 17px;
    border: 2px solid #aeb8ca;
    border-radius: 50%;
    background: #fff;
    box-shadow: inset 0 0 0 4px #fff;
}
.person-type-option input:checked + span { border-color: var(--primary); background: #f4f4ff; box-shadow: 0 0 0 3px rgba(91,89,217,.08); }
.person-type-option input:checked + span::before { border-color: var(--primary); background: var(--primary); }
.person-type-option input:focus-visible + span { outline: 3px solid rgba(91,89,217,.3); outline-offset: 2px; }
.person-type-option strong, .person-type-option small { display: block; }
.person-type-option small { color: var(--muted); font-size: .72rem; font-weight: 500; }
.registration-consent { margin-top: 17px; }
.registration-terms { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.registration-terms a { color: var(--primary); text-decoration: underline; text-underline-offset: 2px; }
.registration-optional-intro { padding: 19px 21px; }
.registration-optional-intro h2 { margin: 0 0 3px; font-size: 1.22rem; }
.registration-optional-intro p { margin: 0; font-size: .84rem; }
.registration-fiscal-section { margin: 0; border-radius: 16px; box-shadow: var(--shadow-sm); }
.registration-fiscal-section + .registration-fiscal-section { margin-top: -5px; }
.registration-fiscal-section > summary { padding: 17px 19px; background: #fff; }
.registration-fiscal-section > summary span { font-size: .9rem; }
.registration-fiscal-section > summary small { margin-left: auto; padding-right: 10px; text-align: right; }
.registration-fiscal-section[open] > summary { background: #f7f8fd; }
.registration-submit-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 21px;
    border-color: #cfd5ed;
    background: linear-gradient(135deg,#fff,#f4f5ff);
}
.registration-submit-card strong { display: block; color: var(--ink); font-size: 1rem; }
.registration-submit-card p { margin: 2px 0 0; font-size: .8rem; }
.registration-submit-card .button { flex: 0 0 auto; min-width: 210px; }
.registration-aside { position: sticky; top: 98px; display: grid; gap: 13px; }
.registration-aside-card {
    padding: 19px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(255,255,255,.93);
    box-shadow: var(--shadow-sm);
}
.registration-aside-card h2 { margin: 9px 0 5px; font-size: 1rem; }
.registration-aside-card p { margin: 0; font-size: .78rem; line-height: 1.55; }
.registration-aside-icon {
    display: grid;
    place-items: center;
    width: 35px;
    height: 35px;
    border-radius: 11px;
    color: var(--primary);
    background: #ededff;
    font-weight: 900;
}
.registration-login-card { background: var(--dark); border-color: var(--dark); }
.registration-login-card > span { display: block; margin-bottom: 11px; color: #c5cee1; font-size: .82rem; font-weight: 700; text-align: center; }
.registration-login-card .button-outline { color: #fff; border-color: rgba(255,255,255,.35); }
.registration-login-card .button-outline:hover { border-color: var(--primary); }
.field-error { display: block; color: var(--danger) !important; font-size: .75rem !important; font-weight: 650 !important; }
input.is-invalid, select.is-invalid, textarea.is-invalid { border-color: #cf6674; background: #fffafb; }
input.is-invalid:focus, select.is-invalid:focus, textarea.is-invalid:focus { border-color: var(--danger); box-shadow: 0 0 0 4px rgba(163,44,59,.1); }

@media (max-width: 1040px) {
    .registration-hero { align-items: flex-start; flex-direction: column; gap: 20px; }
    .registration-steps { width: 100%; min-width: 0; }
    .registration-layout { grid-template-columns: minmax(0,1fr) 270px; }
}
@media (max-width: 860px) {
    .registration-layout { grid-template-columns: 1fr; }
    .registration-aside { position: static; grid-template-columns: repeat(3,minmax(0,1fr)); }
    .registration-login-card { grid-column: 1 / -1; }
}
@media (max-width: 650px) {
    .registration-section { padding: 30px 0 58px; }
    .registration-hero { margin-bottom: 22px; }
    .registration-steps { grid-template-columns: 1fr; }
    .registration-steps li { grid-template-columns: 30px minmax(0,1fr) auto; }
    .registration-steps li > span { grid-row: auto; }
    .registration-steps li small { justify-self: end; }
    .registration-card { padding: 18px; border-radius: 16px; }
    .registration-card-heading { grid-template-columns: 39px minmax(0,1fr); align-items: start; }
    .registration-step-number { width: 39px; height: 39px; }
    .registration-required-badge { grid-column: 2; justify-self: start; }
    .person-type-options { grid-template-columns: 1fr; }
    .registration-fiscal-section > summary { align-items: flex-start; flex-wrap: wrap; }
    .registration-fiscal-section > summary small { order: 3; width: 100%; margin-left: 0; padding-right: 0; text-align: left; }
    .registration-submit-card { align-items: stretch; flex-direction: column; }
    .registration-submit-card .button { width: 100%; min-width: 0; }
    .registration-aside { grid-template-columns: 1fr; }
    .registration-login-card { grid-column: auto; }
}

/* Grade de produtos configurável pelo painel — v1.10.0 */
.storefront-product-grid.grid-desktop-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.storefront-product-grid.grid-desktop-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.storefront-product-grid.grid-desktop-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.storefront-product-grid.grid-desktop-5 { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 18px; }
.storefront-product-grid.grid-desktop-6 { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 16px; }
.storefront-product-grid.grid-desktop-5 .product-card-body,
.storefront-product-grid.grid-desktop-6 .product-card-body { padding: 17px 16px 10px; }
.storefront-product-grid.grid-desktop-5 .product-card-footer,
.storefront-product-grid.grid-desktop-6 .product-card-footer { padding: 13px 16px 17px; }
.storefront-product-grid.grid-desktop-5 .product-card-footer,
.storefront-product-grid.grid-desktop-6 .product-card-footer { align-items: stretch; flex-direction: column; }
.storefront-product-grid.grid-desktop-5 .product-card-footer .button,
.storefront-product-grid.grid-desktop-6 .product-card-footer .button { width: 100%; }
.product-card.image-ratio-landscape .product-card-image { aspect-ratio: 3 / 2; }
.product-card.image-ratio-square .product-card-image { aspect-ratio: 1 / 1; }
.product-card.image-ratio-portrait .product-card-image { aspect-ratio: 4 / 5; }
.product-card.no-card-description .product-card-body { padding-bottom: 8px; }
.product-card.no-card-button .product-card-footer.is-price-only { justify-content: flex-start; }
.product-card.no-card-button .price-block { width: 100%; }
.product-card .product-meta { max-width: 100%; }
.product-card .product-meta span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 1000px) {
    .storefront-product-grid.grid-tablet-1 { grid-template-columns: 1fr !important; }
    .storefront-product-grid.grid-tablet-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .storefront-product-grid.grid-tablet-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .storefront-product-grid.grid-tablet-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 16px; }
    .storefront-product-grid.grid-tablet-3 .product-card-footer,
    .storefront-product-grid.grid-tablet-4 .product-card-footer { align-items: stretch; flex-direction: column; }
    .storefront-product-grid.grid-tablet-3 .product-card-footer .button,
    .storefront-product-grid.grid-tablet-4 .product-card-footer .button { width: 100%; }
}
@media (max-width: 620px) {
    .storefront-product-grid.grid-mobile-1 { grid-template-columns: 1fr !important; }
    .storefront-product-grid.grid-mobile-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px; }
    .storefront-product-grid.grid-mobile-2 .product-card-body { padding: 14px 13px 8px; }
    .storefront-product-grid.grid-mobile-2 .product-card-footer { padding: 11px 13px 14px; }
    .storefront-product-grid.grid-mobile-2 .product-card-body h3 { font-size: .96rem; }
    .storefront-product-grid.grid-mobile-2 .product-card-body p { font-size: .8rem; }
    .storefront-product-grid.grid-mobile-2 .product-type,
    .storefront-product-grid.grid-mobile-2 .product-delivery-badge { max-width: calc(100% - 22px); padding: 4px 6px; font-size: .58rem; }
    .storefront-product-grid.grid-mobile-2 .product-delivery-badge { top: 40px; right: auto; left: 10px; }
    .storefront-product-grid.grid-mobile-2 .product-card-footer { align-items: stretch; flex-direction: column; }
    .storefront-product-grid.grid-mobile-2 .product-card-footer .button { width: 100%; }
}

/* v1.11.0 — cálculo de frete e detalhes de entrega */
.shipping-calculator {
    display: grid;
    gap: 14px;
    margin-bottom: 16px;
    padding: 17px;
    border: 1px solid #d7dceb;
    border-radius: 16px;
    background: linear-gradient(145deg, #fff, #f7f8fd);
}
.shipping-calculator-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}
.shipping-calculator-heading span,
.shipping-calculator-heading small { display: block; }
.shipping-calculator-heading span { color: var(--ink); font-weight: 850; }
.shipping-calculator-heading small { margin-top: 3px; color: var(--muted); font-size: .73rem; line-height: 1.4; }
.shipping-calculator-heading > strong {
    flex: 0 0 auto;
    padding: 6px 9px;
    border-radius: 999px;
    color: #6b4d03;
    background: #fff1c9;
    font-size: .65rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.shipping-postal-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; }
.shipping-postal-row label { display: grid; gap: 6px; }
.shipping-postal-row label > span { color: #3b4860; font-size: .76rem; font-weight: 750; }
.shipping-postal-row .button { min-height: 43px; }
.shipping-message { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.45; }
.shipping-message.is-success { color: #087a5b; }
.shipping-message.is-error { color: var(--danger); }
.shipping-results { display: grid; gap: 8px; }
.shipping-quote-option {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    min-height: 63px;
    padding: 11px 12px;
    border: 1px solid #d9deea;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s, transform .15s;
}
.shipping-quote-option:hover { border-color: #aaa9e9; transform: translateY(-1px); }
.shipping-quote-option:has(input:checked) { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(91,89,217,.09); }
.shipping-quote-option input { width: 18px; height: 18px; margin: 0; accent-color: var(--primary); }
.shipping-quote-content { min-width: 0; }
.shipping-quote-content strong,
.shipping-quote-content small { display: block; }
.shipping-quote-content strong { overflow: hidden; color: var(--ink); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.shipping-quote-content small { margin-top: 3px; color: var(--muted); font-size: .68rem; }
.shipping-quote-option > b { color: var(--primary); font-size: .82rem; white-space: nowrap; }
.product-checkout-form [data-purchase-submit]:disabled { cursor: not-allowed; opacity: .56; }
.shipping-customer-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 16px 0;
}
.shipping-customer-summary > div {
    display: grid;
    gap: 3px;
    padding: 12px 13px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: #f8f9fc;
}
.shipping-customer-summary span { color: var(--muted); font-size: .69rem; }
.shipping-customer-summary strong { color: var(--ink); font-size: .8rem; overflow-wrap: anywhere; }
.shipping-address-line { margin: 12px 0 16px; padding: 12px 14px; border-left: 3px solid var(--primary); border-radius: 0 9px 9px 0; background: #f6f6ff; color: #4c5870; font-size: .78rem; line-height: 1.55; }
@media (max-width: 560px) {
    .shipping-calculator-heading { align-items: stretch; flex-direction: column; }
    .shipping-calculator-heading > strong { align-self: flex-start; }
    .shipping-postal-row { grid-template-columns: 1fr; }
    .shipping-postal-row .button { width: 100%; }
    .shipping-quote-option { grid-template-columns: auto minmax(0, 1fr); }
    .shipping-quote-option > b { grid-column: 2; }
    .shipping-customer-summary { grid-template-columns: 1fr; }
}


/* Disponibilidade de estoque na página do produto */
.product-stock-availability { display:flex; align-items:center; gap:11px; padding:13px 15px; border:1px solid #bfe5d7; border-radius:13px; background:#f3fbf8; color:#17664f; }
.product-stock-availability .product-stock-dot { flex:0 0 10px; width:10px; height:10px; border-radius:50%; background:#16a375; box-shadow:0 0 0 5px rgba(22,163,117,.12); }
.product-stock-availability strong,.product-stock-availability small { display:block; }
.product-stock-availability strong { font-size:.88rem; }
.product-stock-availability small { margin-top:2px; color:#527268; font-size:.74rem; line-height:1.45; }
.product-stock-availability.is-low { border-color:#efd49d; background:#fff9ee; color:#8b5904; }
.product-stock-availability.is-low .product-stock-dot { background:#e5a01f; box-shadow:0 0 0 5px rgba(229,160,31,.13); }
.product-stock-availability.is-low small { color:#7a6745; }

/* v1.14.0 — política pública e refinamentos SEO */
.policy-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 0 0 2rem;
}

.policy-summary-grid > div {
    padding: 1.1rem;
    border: 1px solid var(--border, #dde3ed);
    border-radius: 16px;
    background: var(--surface-soft, #f7f9fc);
}

.policy-summary-grid span,
.policy-summary-grid strong {
    display: block;
}

.policy-summary-grid span {
    color: var(--muted, #667085);
    font-size: .82rem;
    margin-bottom: .35rem;
}

.policy-summary-grid strong {
    font-size: 1rem;
}

.legal-prose {
    max-width: 860px;
    margin-inline: auto;
}

@media (max-width: 720px) {
    .policy-summary-grid {
        grid-template-columns: 1fr;
    }
}

/* v1.15.0 — seleção de variações de produto */
.product-variant-selector {
    display: grid;
    gap: 12px;
    margin: 22px 0 4px;
    padding: 16px;
    border: 1px solid #dde2ef;
    border-radius: 16px;
    background: #f8f9fc;
}
.product-variant-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}
.product-variant-heading span,
.product-variant-heading small,
.product-variant-heading strong { display: block; }
.product-variant-heading span { color: var(--ink); font-size: .88rem; font-weight: 850; }
.product-variant-heading small { margin-top: 3px; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.product-variant-heading > strong {
    max-width: 48%;
    color: var(--primary);
    font-size: .78rem;
    text-align: right;
    overflow-wrap: anywhere;
}
.product-variant-options { display: grid; gap: 9px; }
.product-variant-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
    min-height: 64px;
    padding: 12px 13px;
    border: 1px solid #d9deea;
    border-radius: 12px;
    background: #fff;
    color: var(--ink);
    text-align: left;
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.product-variant-option:hover { transform: translateY(-1px); border-color: #aeb7d2; box-shadow: 0 8px 20px rgba(31, 43, 78, .08); }
.product-variant-option:focus-visible { outline: 3px solid rgba(84, 72, 255, .2); outline-offset: 2px; }
.product-variant-option.is-selected {
    border-color: var(--primary);
    background: linear-gradient(145deg, #f3f2ff, #fff);
    box-shadow: 0 0 0 2px rgba(84, 72, 255, .12);
}
.product-variant-option > span { min-width: 0; }
.product-variant-option strong,
.product-variant-option small { display: block; }
.product-variant-option strong { font-size: .84rem; overflow-wrap: anywhere; }
.product-variant-option small { margin-top: 3px; color: var(--muted); font-size: .69rem; line-height: 1.4; overflow-wrap: anywhere; }
.product-variant-option > b { flex: 0 0 auto; color: var(--primary); font-size: .82rem; white-space: nowrap; }
.product-variant-summary { margin: 0; color: #59657c; font-size: .75rem; line-height: 1.55; }

@media (max-width: 560px) {
    .product-variant-heading { flex-direction: column; }
    .product-variant-heading > strong { max-width: 100%; text-align: left; }
    .product-variant-option { align-items: flex-start; flex-direction: column; gap: 8px; }
    .product-variant-option > b { white-space: normal; }
}

/* Product variations */
.price-block.has-variants { display: grid; align-content: end; gap: .1rem; }
.price-block .price-prefix { color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.price-block.has-variants small { color: var(--muted); font-size: .72rem; font-weight: 500; line-height: 1.25; }

/* v1.18.0 — formas de pagamento e encomenda */
.payment-method-selector {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}
.payment-method-selector legend {
    margin-bottom: 9px;
    color: var(--ink);
    font-size: .82rem;
    font-weight: 850;
}
.payment-method-options { display: grid; gap: 9px; }
.payment-method-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    padding: 12px 13px;
    border: 1px solid #dbe1ec;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.payment-method-option:hover { border-color: #aeb8cf; }
.payment-method-option:has(input:checked) {
    border-color: var(--primary);
    background: #f6f5ff;
    box-shadow: 0 0 0 2px rgba(84, 72, 255, .1);
}
.payment-method-option input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--primary); }
.payment-method-option span { display: grid; gap: 3px; min-width: 0; }
.payment-method-option strong { color: var(--ink); font-size: .79rem; }
.payment-method-option small { color: var(--muted); font-size: .68rem; line-height: 1.45; }
.product-stock-availability.is-backorder { border-color: #c9b7f7; background: #f8f5ff; }
.product-stock-availability.is-backorder .product-stock-dot { background: #7457d8; box-shadow: 0 0 0 5px rgba(116, 87, 216, .13); }
.pix-order-panel .pix-payment-details code { display: inline-block; max-width: 100%; padding: 5px 7px; border-radius: 6px; background: #f0f3f9; overflow-wrap: anywhere; }
.pix-proof-form { display: grid; gap: 12px; margin-top: 16px; padding-top: 15px; border-top: 1px solid #e2e7f0; }
.pix-proof-form label { display: grid; gap: 6px; }
.pix-proof-form label > span { color: var(--ink); font-size: .78rem; font-weight: 800; }
.pix-proof-form label > small { color: var(--muted); font-size: .68rem; line-height: 1.45; }

/* Navegação pública configurável — v1.19.0 */
.nav-account-separator {
    width: 1px;
    height: 26px;
    margin: 0 3px;
    background: var(--line);
}
.nav-dropdown {
    position: relative;
}
.nav-dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 38px;
    padding: 9px 11px;
    border: 0;
    border-radius: 9px;
    color: #4b5873;
    background: transparent;
    font: inherit;
    font-weight: 650;
    cursor: pointer;
}
.nav-dropdown-toggle i {
    font-style: normal;
    line-height: 1;
    transition: transform .18s ease;
}
.nav-dropdown:hover > .nav-dropdown-toggle,
.nav-dropdown:focus-within > .nav-dropdown-toggle,
.nav-dropdown.active > .nav-dropdown-toggle,
.nav-dropdown.is-open > .nav-dropdown-toggle {
    color: var(--primary);
    background: #f0f0ff;
}
.nav-dropdown.is-open > .nav-dropdown-toggle i,
.nav-dropdown:focus-within > .nav-dropdown-toggle i {
    transform: rotate(180deg);
}
.nav-dropdown-menu {
    position: absolute;
    z-index: 40;
    top: calc(100% + 10px);
    left: 0;
    display: none;
    min-width: 230px;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--shadow-md);
}
.nav-dropdown-menu::before {
    content: "";
    position: absolute;
    top: -11px;
    left: 0;
    right: 0;
    height: 12px;
}
.nav-dropdown:hover > .nav-dropdown-menu,
.nav-dropdown:focus-within > .nav-dropdown-menu,
.nav-dropdown.is-open > .nav-dropdown-menu {
    display: grid;
    gap: 3px;
}
.nav-dropdown-menu a {
    display: grid;
    gap: 2px;
    padding: 10px 11px;
    border-radius: 9px;
    color: #3f4d68;
    font-weight: 650;
}
.nav-dropdown-menu a:hover,
.nav-dropdown-menu a.active {
    color: var(--primary);
    background: #f2f2ff;
}
.nav-dropdown-menu a small {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 500;
}

/* Páginas adicionais — v1.19.0 */
.custom-page-hero {
    padding: clamp(58px, 8vw, 96px) 0;
    border-bottom: 1px solid var(--line);
    background:
        radial-gradient(circle at 88% 15%, rgba(112, 93, 244, .13), transparent 31%),
        linear-gradient(180deg, #fff, #f4f6fb);
}
.custom-page-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: clamp(30px, 5vw, 68px);
}
.custom-page-hero.has-image .custom-page-hero-grid {
    grid-template-columns: minmax(0, .95fr) minmax(320px, .8fr);
}
.custom-page-hero-copy h1 {
    max-width: 850px;
    margin: 8px 0 18px;
    font-size: clamp(2.25rem, 5.8vw, 4.8rem);
    line-height: 1.02;
    letter-spacing: -.045em;
}
.custom-page-hero-copy > p {
    max-width: 760px;
    margin-bottom: 26px;
    color: #56627b;
    font-size: clamp(1rem, 1.6vw, 1.15rem);
}
.custom-page-hero-media {
    overflow: hidden;
    margin: 0;
    border: 1px solid rgba(42, 51, 80, .1);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(32, 42, 75, .14);
    aspect-ratio: 6 / 4;
}
.custom-page-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.custom-page-body {
    padding: clamp(50px, 7vw, 90px) 0;
}
.custom-page-body-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 320px);
    align-items: start;
    gap: clamp(32px, 6vw, 84px);
}
.custom-page-prose {
    min-width: 0;
    font-size: 1.05rem;
    line-height: 1.78;
}
.custom-page-prose > :first-child { margin-top: 0; }
.custom-page-prose h2,
.custom-page-prose h3,
.custom-page-prose h4 {
    color: var(--ink);
    line-height: 1.18;
    letter-spacing: -.02em;
}
.custom-page-prose h2 { font-size: clamp(1.65rem, 3vw, 2.4rem); }
.custom-page-prose h3 { font-size: clamp(1.35rem, 2.4vw, 1.8rem); }
.custom-page-prose h4 { font-size: 1.2rem; }
.custom-page-prose ul,
.custom-page-prose ol { padding-left: 24px; }
.custom-page-prose li + li { margin-top: 8px; }
.custom-page-prose blockquote {
    margin: 28px 0;
    padding: 20px 24px;
    border-left: 4px solid var(--primary);
    border-radius: 0 14px 14px 0;
    background: #f5f4ff;
}
.custom-page-prose blockquote p { margin: 0; color: #3d4663; }
.custom-page-prose hr {
    margin: 38px 0;
    border: 0;
    border-top: 1px solid var(--line);
}
.custom-page-side {
    position: sticky;
    top: 105px;
}
.custom-page-side-card {
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--shadow-sm);
}
.custom-page-side-card h2 { margin: 7px 0 10px; font-size: 1.3rem; }
.custom-page-side-card p { margin-bottom: 18px; font-size: .92rem; }
.custom-page-side-actions { display: grid; gap: 12px; }

@media (max-width: 900px) {
    .custom-page-hero.has-image .custom-page-hero-grid,
    .custom-page-body-grid { grid-template-columns: 1fr; }
    .custom-page-hero-media { max-width: 720px; }
    .custom-page-side { position: static; }
}

@media (max-width: 760px) {
    .main-nav { align-items: stretch; }
    .main-nav > a:not(.button),
    .nav-dropdown-toggle {
        width: 100%;
        justify-content: space-between;
        min-height: 43px;
        text-align: left;
    }
    .nav-account-separator {
        width: 100%;
        height: 1px;
        margin: 5px 0;
    }
    .nav-dropdown { width: 100%; }
    .nav-dropdown:hover > .nav-dropdown-menu,
    .nav-dropdown:focus-within > .nav-dropdown-menu { display: none; }
    .nav-dropdown.is-open > .nav-dropdown-menu {
        position: static;
        display: grid;
        min-width: 0;
        margin: 4px 0 5px 12px;
        padding: 5px;
        border: 0;
        border-left: 2px solid #deddf8;
        border-radius: 0;
        box-shadow: none;
    }
    .nav-dropdown-menu::before { display: none; }
    .custom-page-hero { padding: 50px 0; }
    .custom-page-hero-copy h1 { font-size: clamp(2.05rem, 11vw, 3.25rem); }
    .custom-page-body { padding: 46px 0; }
}
