/* Casas Bahia — shared visual language for every public view. */
:root {
    --cb-blue: #0033c6;
    --cb-blue-dark: #00299e;
    --cb-blue-soft: #edf2ff;
    --cb-red: #e71a3b;
    --cb-green: #167611;
    --cb-orange: #c96b00;
    --cb-bg: #f7f7f7;
    --cb-surface: #ffffff;
    --cb-text: #5f5f5f;
    --cb-title: #333333;
    --cb-muted: #777777;
    --cb-border: #d1d1d1;
    --cb-line: #e4e4e4;
    --cb-shadow: 0 2px 6px rgba(0, 0, 0, .12);
    --cb-radius: 8px;
    --cb-content: 1366px;
}

html { background: var(--cb-bg); font-size: 16px; }
.cb-page {
    min-height: 100vh;
    margin: 0;
    background: var(--cb-bg);
    color: var(--cb-text);
    font-family: 'Nunito', Arial, sans-serif;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
}
.cb-page *, .cb-page *::before, .cb-page *::after { box-sizing: border-box; }
.cb-page button, .cb-page input, .cb-page select, .cb-page textarea { font: inherit; }
.cb-page a:focus-visible, .cb-page button:focus-visible, .cb-page input:focus-visible,
.cb-page select:focus-visible, .cb-page textarea:focus-visible {
    outline: 2px solid var(--cb-blue);
    outline-offset: 2px;
}

/* Public store pages ------------------------------------------------------ */
.cb-page--store {
    --pl-orange: var(--cb-blue);
    --pl-orange-d: var(--cb-blue-dark);
    --pl-orange-l: #315bd1;
    --pl-orange-tint: rgba(0, 51, 198, .08);
    --pl-orange-tint-2: #edf2ff;
    --pl-ink: var(--cb-title);
    --pl-ink-80: #4b4b4b;
    --pl-ink-60: #686868;
    --pl-ink-40: #929292;
    --pl-ink-20: #c8c8c8;
    --pl-cream: var(--cb-bg);
    --pl-cream-d: #eeeeee;
    --pl-border: var(--cb-border);
    --pl-border-strong: #b6b6b6;
    --pl-white: var(--cb-surface);
    --pl-fp: 'Nunito', Arial, sans-serif;
    --pl-fb: 'Nunito', Arial, sans-serif;
    --pl-r2: 4px;
    --pl-r3: 6px;
    --pl-r4: var(--cb-radius);
    --pl-r5: var(--cb-radius);
    --forest: var(--cb-blue);
    --forest-m: var(--cb-blue-dark);
    --forest-l: #315bd1;
    --charcoal: var(--cb-bg);
    --cream: var(--cb-bg);
    --ink: var(--cb-title);
    --muted: var(--cb-text);
    --border: var(--cb-border);
    --fd: 'Nunito', Arial, sans-serif;
    --fb: 'Nunito', Arial, sans-serif;
    --r3: 6px;
    --r4: var(--cb-radius);
}

/* Home */
.cb-page--store .idx-banner-wrap,
.cb-page--store .idx-sec,
.cb-page--store .idx-sec-alt,
.cb-page--store .idx-svc-wrap { background: var(--cb-bg); }
.cb-page--store .idx-bigbanner,
.cb-page--store .idx-mid,
.cb-page--store .idx-secbanner {
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius);
    background: var(--cb-surface);
    box-shadow: var(--cb-shadow);
}
.cb-page--store .idx-mid:hover,
.cb-page--store .idx-depo-c:hover {
    transform: none;
    border-color: #b7b7b7;
    box-shadow: 0 3px 8px rgba(0, 0, 0, .14);
}
.cb-page--store .idx-bb-arrow {
    width: 40px;
    height: 40px;
    border: 1px solid var(--cb-blue);
    background: var(--cb-surface);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .12);
}
.cb-page--store .idx-bb-arrow svg { fill: var(--cb-blue); }
.cb-page--store .idx-bb-arrow:hover { border-color: var(--cb-blue); background: var(--cb-blue); }
.cb-page--store .idx-bb-pg.active { background: var(--cb-blue); }
.cb-page--store .idx-sec { padding: 38px 0; }
.cb-page--store .idx-sec-title,
.cb-page--store .idx-sec-title em {
    color: var(--cb-blue);
    font-family: 'Nunito', Arial, sans-serif;
    font-size: 21px;
    font-style: normal;
    font-weight: 800;
    letter-spacing: 0;
    -webkit-text-fill-color: var(--cb-blue);
}
.cb-page--store .idx-sec-desc { color: var(--cb-text); font-weight: 400; }
.cb-page--store .idx-btn-all { color: var(--cb-blue); font-weight: 800; }
.cb-page--store .idx-btn-all:hover { color: var(--cb-blue-dark); }
.cb-page--store .idx-depo-c {
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius);
    background: var(--cb-surface);
    box-shadow: var(--cb-shadow);
}
.cb-page--store .idx-depo-txt,
.cb-page--store .idx-depo-name,
.cb-page--store .idx-depo-loc,
.cb-page--store .idx-depo-verify,
.cb-page--store .idx-svc-logo b,
.cb-page--store .idx-svc-logo span,
.cb-page--store .idx-svc-tag,
.cb-page--store .idx-svc-banner-txt,
.cb-page--store .idx-svc-banner-search span,
.cb-page--store .idx-svc-label,
.cb-page--store .idx-svc-lu { font-family: 'Nunito', Arial, sans-serif; }
.cb-page--store .idx-depo-stars svg { fill: var(--cb-orange); }
.cb-page--store .idx-depo-verify { color: var(--cb-blue); background: var(--cb-blue-soft); }
.cb-page--store .idx-depo-verify svg { fill: var(--cb-blue); }
.cb-page--store .idx-svc-banner { background: var(--cb-blue); }
.cb-page--store .idx-svc-banner-icons div { border-radius: 6px; }
.cb-page--store .idx-svc-banner-search { border-radius: 6px; }
.cb-page--store .idx-svc-banner-search svg,
.cb-page--store .idx-svc-banner-search span { color: var(--cb-blue); fill: var(--cb-blue); }
.cb-page--store .idx-svc-circle { border: 1px solid var(--cb-border); box-shadow: none; }
.cb-page--store .idx-svc-item:hover .idx-svc-circle { transform: none; border-color: var(--cb-blue); box-shadow: none; }
.cb-page--store .idx-svc-label { color: var(--cb-title); }
.cb-page--store .idx-svc-social a { background: var(--cb-blue); }

/* Catalog and categories */
.cb-page--store .page-hero {
    padding: 22px 0 24px;
    border-bottom: 1px solid var(--cb-line);
    background: var(--cb-surface);
}
.cb-page--store .page-hero::before { display: none; }
.cb-page--store .pbc { margin-bottom: 14px; font-size: 12px; }
.cb-page--store .page-eyebrow { display: none; }
.cb-page--store .page-title {
    color: var(--cb-title);
    font-family: 'Nunito', Arial, sans-serif;
    font-size: clamp(24px, 2.4vw, 30px);
    font-weight: 600;
    letter-spacing: 0;
}
.cb-page--store .page-title em { color: var(--cb-blue); font-style: normal; }
.cb-page--store .page-meta { margin-top: 12px; }
.cb-page--store .page-trust-pill {
    border: 1px solid var(--cb-border);
    border-radius: 6px;
    background: var(--cb-bg);
    color: var(--cb-text);
}
.cb-page--store .catalog-page { padding: 28px 0 64px; background: var(--cb-bg); }
.cb-page--store .sb-card,
.cb-page--store .catalog-header,
.cb-page--store .empty-state {
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius);
    background: var(--cb-surface);
    box-shadow: none;
}
.cb-page--store .sb-card-head { min-height: 48px; }
.cb-page--store .sb-card-icon { border-radius: 5px; background: var(--cb-blue-soft); }
.cb-page--store .sb-card-title,
.cb-page--store .catalog-header h2 { color: var(--cb-blue); font-family: 'Nunito', Arial, sans-serif; font-weight: 800; }
.cb-page--store .catalog-sort select { border: 1px solid var(--cb-border); border-radius: 6px; background-color: var(--cb-surface); }
.cb-page--store .catalog-sort select:focus { border-color: var(--cb-blue); box-shadow: 0 0 0 2px rgba(0, 51, 198, .12); }
.cb-page--store .empty-state .btn-primary { border-radius: 6px; background: var(--cb-blue); }

/* Institutional and support pages */
.cb-page--store .pol-hero,
.cb-page--store .faq-hero {
    padding: 30px 0;
    border-bottom: 1px solid var(--cb-line);
    background: var(--cb-surface);
    color: var(--cb-text);
}
.cb-page--store .pol-hero::after,
.cb-page--store .faq-hero::after { display: none; }
.cb-page--store .pol-breadcrumb,
.cb-page--store .faq-breadcrumb { margin-bottom: 14px; color: var(--cb-muted); }
.cb-page--store .pol-breadcrumb a,
.cb-page--store .faq-breadcrumb a { color: var(--cb-blue); }
.cb-page--store .pol-hero h1,
.cb-page--store .faq-hero h1 {
    color: var(--cb-blue);
    font-family: 'Nunito', Arial, sans-serif;
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 700;
    letter-spacing: 0;
}
.cb-page--store .pol-hero p,
.cb-page--store .faq-hero p { color: var(--cb-text); font-size: 15px; }
.cb-page--store .pol-wrap,
.cb-page--store .faq-wrap,
.cb-page--store .contato-wrap { padding-top: 34px; padding-bottom: 56px; }
.cb-page--store .pol-sec,
.cb-page--store .faq-cat,
.cb-page--store .contato-info,
.cb-page--store .contato-form,
.cb-page--store .qs-mv-card,
.cb-page--store .qs-data-item {
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius);
    background: var(--cb-surface);
    box-shadow: var(--cb-shadow);
}
.cb-page--store .pol-sec:hover,
.cb-page--store .faq-cat:hover,
.cb-page--store .qs-mv-card:hover { transform: none; box-shadow: var(--cb-shadow); }
.cb-page--store .pol-sec-head,
.cb-page--store .faq-cat-head { border-bottom-color: var(--cb-line); }
.cb-page--store .pol-sec-icon,
.cb-page--store .faq-cat-icon,
.cb-page--store .step-num {
    border-radius: 6px;
    background: var(--cb-blue);
    color: #fff;
}
.cb-page--store .pol-sec h2,
.cb-page--store .pol-sec h3,
.cb-page--store .faq-cat h2,
.cb-page--store .faq-cat h3,
.cb-page--store .contato-wrap h2,
.cb-page--store .contato-wrap h3,
.cb-page--store .qs-mv-card h2,
.cb-page--store .qs-mv-card h3 { color: var(--cb-blue); font-family: 'Nunito', Arial, sans-serif; }
.cb-page--store .pol-sec p,
.cb-page--store .pol-sec li,
.cb-page--store .faq-a,
.cb-page--store .contato-wrap p,
.cb-page--store .info-value { color: var(--cb-text); font-family: 'Nunito', Arial, sans-serif; }
.cb-page--store .faq-q { color: var(--cb-title); font-family: 'Nunito', Arial, sans-serif; }
.cb-page--store .faq-q:hover { color: var(--cb-blue); }
.cb-page--store .faq-toggle { color: var(--cb-blue); }
.cb-page--store .pol-highlight,
.cb-page--store .pol-info,
.cb-page--store .pol-warn {
    border-radius: 6px;
    border-color: #b8c8f7;
    background: var(--cb-blue-soft);
}
.cb-page--store .pol-cta,
.cb-page--store .faq-cta,
.cb-page--store .qs-stat {
    border-radius: var(--cb-radius);
    background: var(--cb-blue);
    box-shadow: none;
}
.cb-page--store .pol-cta-btn,
.cb-page--store .faq-cta-btn,
.cb-page--store .qs-contact-btn,
.cb-page--store .form-submit {
    border-radius: 6px;
    background: var(--cb-blue);
    color: #fff;
    box-shadow: none;
}
.cb-page--store .pol-cta-btn:hover,
.cb-page--store .faq-cta-btn:hover,
.cb-page--store .qs-contact-btn:hover,
.cb-page--store .form-submit:hover { transform: none; background: var(--cb-blue-dark); }
.cb-page--store .contato-form input,
.cb-page--store .contato-form select,
.cb-page--store .contato-form textarea {
    border: 1px solid var(--cb-border);
    border-radius: 6px;
    background: #fff;
    color: var(--cb-title);
}
.cb-page--store .contato-form input:focus,
.cb-page--store .contato-form select:focus,
.cb-page--store .contato-form textarea:focus { border-color: var(--cb-blue); box-shadow: 0 0 0 2px rgba(0, 51, 198, .12); }

/* Checkout --------------------------------------------------------------- */
.cb-page--checkout {
    padding-bottom: 74px;
    background: var(--cb-bg);
    color: var(--cb-title);
    font-family: 'Nunito', Arial, sans-serif;
}
.cb-page--checkout .topbar {
    position: static;
    height: 76px;
    border-top: 4px solid var(--cb-red);
    border-bottom: 1px solid var(--cb-line);
    background: var(--cb-blue);
    box-shadow: none;
}
.cb-page--checkout .topbar::after { display: none; }
.cb-page--checkout .logo-casasbahia span {
    display: block;
    color: #fff;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -.5px;
    text-transform: uppercase;
}
.cb-page--checkout .colorbar { display: none; }
.cb-page--checkout > .container {
    width: min(1080px, calc(100% - 32px));
    max-width: none;
    padding: 28px 0 56px;
}
.cb-page--checkout .stepper { margin-bottom: 34px; }
.cb-page--checkout .step-circle { border-color: var(--cb-border); color: #909090; background: #fff; }
.cb-page--checkout .stepper::before { background: var(--cb-border); }
.cb-page--checkout .step.active .step-circle { border-color: var(--cb-blue); color: var(--cb-blue); }
.cb-page--checkout .step.active .step-label { color: var(--cb-blue); font-weight: 800; }
.cb-page--checkout .step.done .step-circle { border-color: var(--cb-green); color: var(--cb-green); }
.cb-page--checkout .step.done .step-label { color: var(--cb-green); font-weight: 800; }
.cb-page--checkout .card,
.cb-page--checkout .bag-products {
    overflow: hidden;
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius);
    background: #fff;
    box-shadow: var(--cb-shadow);
}
.cb-page--checkout .card:hover { border-color: var(--cb-border); box-shadow: var(--cb-shadow); }
.cb-page--checkout .card-title {
    margin: 0;
    padding: 18px 22px;
    border-bottom: 1px solid var(--cb-line);
    background: #fff;
    color: var(--cb-blue);
    font-family: 'Nunito', Arial, sans-serif;
    font-size: 20px;
    font-weight: 800;
}
.cb-page--checkout .card-body { padding: 22px; }
.cb-page--checkout .bag-brand { color: var(--cb-blue); }
.cb-page--checkout .bag-check { background: var(--cb-blue); }
.cb-page--checkout input,
.cb-page--checkout select,
.cb-page--checkout textarea {
    border-color: var(--cb-border);
    border-radius: 6px;
    background: #fff;
}
.cb-page--checkout input:focus,
.cb-page--checkout select:focus,
.cb-page--checkout textarea:focus { border-color: var(--cb-blue); box-shadow: 0 0 0 2px rgba(0, 51, 198, .12); }
.cb-page--checkout .btn { border-radius: 6px; font-family: 'Nunito', Arial, sans-serif; }
.cb-page--checkout .btn-green,
.cb-page--checkout .btn-green:hover { background: var(--cb-green); }
.cb-page--checkout .btn-back { border-color: var(--cb-blue); color: var(--cb-blue); }
.cb-page--checkout .btn-back:hover { background: var(--cb-blue-soft); }
.cb-page--checkout .payment-option { border: 1px solid var(--cb-border); border-radius: 6px; }
.cb-page--checkout .payment-option:hover,
.cb-page--checkout .payment-option.selected { border-color: var(--cb-blue); background: var(--cb-blue-soft); }
.cb-page--checkout .payment-option.selected .radio { border-color: var(--cb-blue); }
.cb-page--checkout .payment-option.selected .radio::after { background: var(--cb-blue); }
.cb-page--checkout .checkout-overview h2 { color: var(--cb-blue); }
.cb-page--checkout .checkout-footer {
    border-top: 1px solid var(--cb-line);
    background: #fff;
    color: var(--cb-muted);
}

/* Order ------------------------------------------------------------------ */
.cb-page--order {
    padding-bottom: 44px;
    background: var(--cb-bg);
    color: var(--cb-text);
    font-family: 'Nunito', Arial, sans-serif;
}
.cb-page--order .order-page-container { width: min(1080px, calc(100% - 32px)); padding: 30px 0 64px; }
.cb-page--order .order-card,
.cb-page--order .card,
.cb-page--order .success-card {
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius);
    background: #fff;
    box-shadow: var(--cb-shadow);
}
.cb-page--order .order-number,
.cb-page--order .pix-title,
.cb-page--order .success-card-top h2,
.cb-page--order .success-section h3 { color: var(--cb-blue); font-family: 'Nunito', Arial, sans-serif; }
.cb-page--order .timeline-step.active .step-dot { background: var(--cb-blue); }
.cb-page--order .timeline-step.done .step-dot { background: var(--cb-green); }
.cb-page--order .timeline-step.active .step-label { color: var(--cb-blue); }
.cb-page--order .timeline-step.done .step-label { color: var(--cb-green); }
.cb-page--order .pix-code-box,
.cb-page--order .summary-totals,
.cb-page--order .success-summary { border-radius: 6px; background: var(--cb-bg); }
.cb-page--order .success-card-top {
    border-bottom: 1px solid var(--cb-line);
    background: var(--cb-surface);
}
.cb-page--order .success-card-top::before { background: var(--cb-green); }
.cb-page--order .success-order-number { border-color: var(--cb-border); border-radius: 6px; }
.cb-page--order .success-order-number strong,
.cb-page--order .success-summary-row.total strong { color: var(--cb-green); }
.cb-page--order .success-step-icon { border-color: #bcdab8; background: #eef8ed; color: var(--cb-green); }
.cb-page--order .success-primary { border-radius: 6px; background: var(--cb-green); box-shadow: none; }
.cb-page--order .success-secondary { border-color: var(--cb-blue); border-radius: 6px; color: var(--cb-blue); }

@media (max-width: 760px) {
    .cb-page--store .idx-bigbanner,
    .cb-page--store .idx-mid,
    .cb-page--store .idx-secbanner { border-radius: 6px; }
    .cb-page--store .idx-midbanners { gap: 10px; }
    .cb-page--store .idx-sec { padding: 28px 0; }
    .cb-page--store .idx-sec-title { font-size: 19px; }
    .cb-page--store .idx-depo-grid { grid-template-columns: 1fr; }
    .cb-page--store .page-hero { padding: 18px 0 20px; }
    .cb-page--store .catalog-page { padding-top: 18px; }
    .cb-page--store .pol-hero,
    .cb-page--store .faq-hero { padding: 22px 0; }
    .cb-page--store .pol-wrap,
    .cb-page--store .faq-wrap,
    .cb-page--store .contato-wrap { padding-top: 22px; padding-bottom: 40px; }
    .cb-page--checkout > .container,
    .cb-page--order .order-page-container { width: min(100% - 20px, 1080px); }
    .cb-page--checkout .card-title { padding: 16px; font-size: 18px; }
    .cb-page--checkout .card-body { padding: 16px; }
    .cb-page--checkout .logo-casasbahia span { font-size: 23px; }
    .cb-page--checkout .stage#stage-1 .bag-summary { padding-bottom: 78px; }
    .cb-page--store .catalog-sidebar { order: 2; }
    .cb-page--store .catalog-main { order: 1; }
    .cb-page--checkout .checkout-footer { gap: 12px; padding: 9px 10px; }
}

/* Global typography: Nunito across the whole Casas Bahia screen */
:root{
    --fd: 'Nunito', Arial, sans-serif;
    --fb: 'Nunito', Arial, sans-serif;
    --font-display: 'Nunito', Arial, sans-serif;
    --font-body: 'Nunito', Arial, sans-serif;
    --font-primary: 'Nunito', Arial, sans-serif;
    --mg-font: 'Nunito', Arial, sans-serif;
    --pl-fp: 'Nunito', Arial, sans-serif;
    --pl-fb: 'Nunito', Arial, sans-serif;
}
.cb-page,
.cb-page :where(*){
    font-family: 'Nunito', Arial, sans-serif !important;
}
.cb-page :where(button,input,select,textarea){
    font-family: inherit !important;
}
