:root {
    --rosa-principal: #ff4f81;
    --rosa-escuro: #d6336c;
    --rosa-claro: #ffe1eb;
    --rosa-fundo: #fff5f8;
    --texto: #3a2530;
    --texto-suave: #8a6b76;
    --branco: #ffffff;
    --sombra: 0 8px 24px rgba(214, 51, 108, 0.12);
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: 'Segoe UI', Arial, sans-serif;
    background: var(--rosa-fundo);
    color: var(--texto);
}

a { text-decoration: none; color: inherit; }

.topo {
    background: linear-gradient(135deg, var(--rosa-principal), var(--rosa-escuro));
    padding: 28px 20px;
    text-align: center;
    color: #fff;
}

.topo h1 {
    margin: 0 0 6px;
    font-size: 2rem;
    letter-spacing: 0.5px;
}

.topo p {
    margin: 0;
    opacity: 0.9;
    font-size: 0.95rem;
}

/* ================= NAVBAR (páginas públicas) ================= */
.navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: var(--branco);
    border-bottom: 1px solid var(--rosa-claro);
    position: sticky;
    top: 0;
    z-index: 100;
    flex-wrap: wrap;
    box-shadow: 0 2px 10px rgba(214, 51, 108, 0.08);
}

.marca {
    display: flex;
    align-items: center;
    gap: 10px;
}

.logo-bolha {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    background: linear-gradient(135deg, #ff5cae, #b34bde 55%, #ff9a56);
    box-shadow: 0 4px 10px rgba(214, 51, 108, 0.25);
}

.logo-bolha-sm { width: 34px; height: 34px; font-size: 1.05rem; }

.logo-emoji {
    display: inline-block;
    transform-origin: 50% 55%;
    will-change: transform;
}

/* "Sorrir": um pulsar carinhoso, como se estivesse sorrindo de alegria */
@keyframes logoSorrir {
    0%, 100% { transform: scale(1) rotate(0deg); }
    50% { transform: scale(1.18) rotate(-5deg); }
}
.logo-anim-sorrir { animation: logoSorrir 2.4s ease-in-out infinite; }

/* "Piscar": fica parado a maior parte do tempo e pisca rapidinho, como um piscar de olhos real */
@keyframes logoPiscar {
    0%, 90%, 100% { transform: scaleY(1); }
    93% { transform: scaleY(0.1); }
    96% { transform: scaleY(1); }
}
.logo-anim-piscar { animation: logoPiscar 4.5s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce) {
    .logo-emoji { animation: none !important; }
}

/* Seletor de emoji + prévia (painel de Configurações) */
.emoji-atalhos {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.emoji-atalho {
    font-size: 1.2rem;
    background: var(--rosa-fundo);
    border: 1px solid var(--rosa-claro);
    border-radius: 10px;
    padding: 6px 10px;
    cursor: pointer;
}

.emoji-atalho:hover { background: var(--rosa-claro); }

.logo-preview {
    display: flex;
    justify-content: center;
    padding: 10px 0;
}

.marca-texto {
    font-weight: 800;
    font-size: 1.55rem;
    background: linear-gradient(90deg, #ff4f81, #b34bde 55%, #ffb648);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    letter-spacing: 0.3px;
}

.menu-toggle {
    background: none;
    border: none;
    color: var(--rosa-escuro);
    cursor: pointer;
    padding: 6px;
    display: none;
}

.menu-lista {
    display: flex;
    align-items: center;
    gap: 22px;
}

.menu-lista a {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--texto);
}

.menu-lista a:hover { color: var(--rosa-principal); }

@media (max-width: 640px) {
    .menu-toggle { display: block; }
    .menu-lista {
        display: none;
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
        width: 100%;
        padding: 16px 4px 4px;
    }
    .menu-lista.aberto { display: flex; }
}

/* ================= HERO ================= */
.hero {
    position: relative;
    padding: 56px 20px 70px;
    text-align: center;
    color: #fff;
    overflow: hidden;
    background:
        repeating-linear-gradient(100deg, rgba(255,255,255,0.10) 0 2px, transparent 2px 26px),
        linear-gradient(120deg, #ff4f9e 0%, #c34bdc 45%, #ff8a4c 100%);
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.18);
    border: 1px solid rgba(255,255,255,0.35);
    backdrop-filter: blur(4px);
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 22px;
}

.hero h1 {
    font-size: 2.4rem;
    line-height: 1.15;
    margin: 0 0 16px;
    font-weight: 800;
    text-shadow: 0 2px 14px rgba(0,0,0,0.15);
}

.hero-destaque {
    display: inline-block;
    font-size: 1.7rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    margin-top: 4px;
    background: linear-gradient(90deg, #ffe27a, #ffffff 55%, #ffd6ea);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.hero p.hero-sub {
    max-width: 480px;
    margin: 0 auto 30px;
    opacity: 0.95;
    font-size: 1rem;
    line-height: 1.5;
}

.hero-lojas {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 360px;
    margin: 0 auto;
}

.pill-loja {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    color: var(--rosa-escuro);
    font-weight: 700;
    padding: 14px 20px;
    border-radius: 999px;
    box-shadow: 0 6px 16px rgba(0,0,0,0.12);
    transition: transform 0.15s ease;
}

.pill-loja:hover { transform: translateY(-2px); }

.pill-loja.pill-ativa {
    background: linear-gradient(90deg, #ffd23f, #ffb648);
    color: #3a2530;
}

.pill-loja span:first-child { display: flex; align-items: center; gap: 10px; }

.hero-limpar {
    display: inline-block;
    margin-top: 6px;
    font-size: 0.8rem;
    color: #fff;
    text-decoration: underline;
    opacity: 0.85;
}

.hero-loja {
    padding: 40px 20px 48px;
}

.hero-loja h1 {
    font-size: 2rem;
}

.hero-loja .hero-limpar {
    margin-top: 18px;
}

/* ================= FEATURES (Por que escolher) ================= */
.features {
    padding: 50px 20px 20px;
    max-width: 720px;
    margin: 0 auto;
}

.features h2 {
    font-size: 2.1rem;
    line-height: 1.2;
    margin: 0 0 10px;
    color: var(--texto);
    font-weight: 800;
}

.features > p {
    color: var(--texto-suave);
    margin: 0 0 30px;
    max-width: 480px;
    font-size: 1.1rem;
    line-height: 1.5;
}

.feature-item {
    display: flex;
    gap: 18px;
    margin-bottom: 30px;
    align-items: flex-start;
}

.feature-icone {
    flex-shrink: 0;
    width: 58px;
    height: 58px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    color: #fff;
}

.feature-icone.ic-1 { background: linear-gradient(135deg, #ff5cae, #b34bde); }
.feature-icone.ic-2 { background: linear-gradient(135deg, #ff9a56, #ff5cae); }
.feature-icone.ic-3 { background: linear-gradient(135deg, #b34bde, #6c63ff); }
.feature-icone.ic-4 { background: linear-gradient(135deg, #ffb648, #ff8a4c); }

.feature-item h3 {
    margin: 0 0 6px;
    font-size: 1.4rem;
    font-weight: 800;
}

.feature-item p {
    margin: 0;
    color: var(--texto-suave);
    font-size: 1.08rem;
    line-height: 1.55;
}

/* ================= RODAPÉ (público, novo) ================= */
.rodape-site {
    text-align: center;
    padding: 40px 20px 30px;
    background: #fff;
    border-top: 1px solid var(--rosa-claro);
    margin-top: 20px;
}

.rodape-marca {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 16px;
}

.rodape-links {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.rodape-links a {
    font-size: 0.85rem;
    color: var(--texto-suave);
    font-weight: 600;
}

.rodape-links a:hover { color: var(--rosa-principal); }

.rodape-social {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-bottom: 18px;
}

.rodape-social a {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--rosa-fundo);
    color: var(--rosa-escuro);
    display: flex;
    align-items: center;
    justify-content: center;
}

.rodape-copy {
    font-size: 0.75rem;
    color: var(--texto-suave);
    max-width: 480px;
    margin: 0 auto 6px;
    line-height: 1.5;
}

/* ================= Seção de cupons / filtro ativo ================= */
.secao-cupons {
    max-width: 1080px;
    margin: 0 auto;
    padding: 40px 16px 10px;
}

.busca-form {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--branco);
    border: 1px solid var(--rosa-claro);
    border-radius: 999px;
    padding: 6px 8px 6px 20px;
    box-shadow: var(--sombra);
    max-width: 480px;
    margin: 0 0 20px;
}

.busca-form input[type="text"] {
    flex-grow: 1;
    border: none;
    outline: none;
    font-size: 0.95rem;
    padding: 8px 0;
    background: transparent;
    color: var(--texto);
}

.busca-form button {
    background: var(--rosa-principal);
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
}

.busca-form button:hover { background: var(--rosa-escuro); }

.busca-limpar {
    flex-shrink: 0;
    color: var(--texto-suave);
    font-size: 1rem;
    padding: 0 4px;
}

.busca-resultado {
    font-size: 0.9rem;
    color: var(--texto-suave);
    margin: 0 0 16px;
}

.filtro-ativo {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--rosa-claro);
    color: var(--rosa-escuro);
    padding: 10px 16px;
    border-radius: 12px;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 10px;
    width: fit-content;
}

.filtro-ativo a { text-decoration: underline; }

/* ================= Páginas legais (Termos / Privacidade) ================= */
.legal-wrap {
    max-width: 720px;
    margin: 0 auto;
    padding: 40px 20px 60px;
    line-height: 1.7;
}

.legal-wrap h1 {
    color: var(--rosa-escuro);
    font-size: 1.8rem;
    margin-bottom: 6px;
}

.legal-wrap .legal-atualizado {
    color: var(--texto-suave);
    font-size: 0.85rem;
    margin-bottom: 30px;
}

.legal-wrap h2 {
    font-size: 1.15rem;
    color: var(--texto);
    margin-top: 34px;
    margin-bottom: 10px;
}

.legal-wrap p, .legal-wrap li {
    color: var(--texto-suave);
    font-size: 0.95rem;
}

.legal-wrap ul { padding-left: 20px; }

.container {
    max-width: 1080px;
    margin: 0 auto;
    padding: 30px 16px 60px;
}

.grid-cupons {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 22px;
    margin-top: 24px;
}

.cupom-card {
    background: linear-gradient(135deg, #ff3e94, #d63bd6 60%, #ff7a4c);
    border-radius: 22px;
    box-shadow: 0 10px 28px rgba(214, 51, 108, 0.28);
    padding: 26px 24px;
    display: flex;
    flex-direction: column;
    color: #fff;
    transition: transform 0.15s ease;
}

.cupom-card:hover {
    transform: translateY(-4px);
}

.cupom-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 18px;
}

.cupom-categoria {
    display: inline-block;
    background: rgba(255,255,255,0.22);
    color: #fff;
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    padding: 8px 14px;
    border-radius: 999px;
    line-height: 1.3;
}

.cupom-categoria-loja { opacity: 0.9; }

.cupom-percentual {
    text-align: right;
    flex-shrink: 0;
    line-height: 1;
}

.cupom-percentual-valor {
    display: block;
    font-size: 2.3rem;
    font-weight: 800;
    text-shadow: 0 2px 10px rgba(0,0,0,0.15);
}

.cupom-percentual-off {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    opacity: 0.85;
    margin-top: 2px;
}

.cupom-loja-nome {
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    opacity: 0.85;
    margin-bottom: 4px;
}

.cupom-titulo {
    font-size: 1.3rem;
    font-weight: 800;
    margin: 0 0 14px;
    line-height: 1.25;
}

.cupom-codigo {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    cursor: pointer;
    width: fit-content;
}

.cupom-desc {
    font-size: 0.92rem;
    opacity: 0.92;
    margin: 0 0 20px;
    flex-grow: 1;
}

.cupom-btn-pegar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #fff;
    color: var(--rosa-escuro);
    border: none;
    border-radius: 999px;
    padding: 13px 20px;
    font-weight: 800;
    font-size: 0.98rem;
    text-align: center;
}

.cupom-btn-pegar:hover { background: #ffe9f0; }

.cupom-validade {
    font-size: 0.75rem;
    opacity: 0.8;
    margin-top: 12px;
    text-align: center;
}

.vazio {
    text-align: center;
    padding: 60px 20px;
    color: var(--texto-suave);
}

.rodape-site {
    text-align: center;
    padding: 24px;
    font-size: 0.8rem;
    color: var(--texto-suave);
}

/* ---- ADMIN ---- */
.admin-wrap {
    max-width: 720px;
    margin: 40px auto;
    padding: 0 16px;
}

.admin-card {
    background: var(--branco);
    border-radius: 16px;
    box-shadow: var(--sombra);
    padding: 28px;
    border: 1px solid var(--rosa-claro);
}

.admin-card h2 {
    margin-top: 0;
    color: var(--rosa-escuro);
}

.campo { margin-bottom: 16px; }

.campo label {
    display: block;
    font-weight: 700;
    font-size: 0.85rem;
    margin-bottom: 6px;
    color: var(--texto);
}

.campo input, .campo textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #f0c4d3;
    border-radius: 10px;
    font-size: 0.95rem;
    font-family: inherit;
}

.campo textarea { min-height: 80px; resize: vertical; }

.btn {
    background: var(--rosa-principal);
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 10px;
    font-weight: 700;
    cursor: pointer;
}

.btn:hover { background: var(--rosa-escuro); }

.btn-secundario {
    background: transparent;
    color: var(--rosa-escuro);
    border: 1px solid var(--rosa-principal);
}

.tabela-admin {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    background: var(--branco);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--sombra);
}

.tabela-admin th, .tabela-admin td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--rosa-claro);
    text-align: left;
    font-size: 0.85rem;
}

.tabela-admin th {
    background: var(--rosa-claro);
    color: var(--rosa-escuro);
}

.acoes a {
    font-size: 0.8rem;
    font-weight: 700;
    margin-right: 10px;
    color: var(--rosa-escuro);
}

/* Tabelas do admin (cupons, lojas) viram cards empilhados em telas estreitas */
@media (max-width: 700px) {
    .tabela-responsiva thead { display: none; }
    .tabela-responsiva, .tabela-responsiva tbody, .tabela-responsiva tr, .tabela-responsiva td {
        display: block;
        width: 100%;
    }
    .tabela-responsiva {
        box-shadow: none;
        background: transparent;
    }
    .tabela-responsiva tr {
        margin-bottom: 14px;
        border: 1px solid var(--rosa-claro);
        border-radius: 12px;
        overflow: hidden;
        background: var(--branco);
        box-shadow: var(--sombra);
    }
    .tabela-responsiva td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        padding: 10px 14px;
        border-bottom: 1px solid var(--rosa-claro);
        text-align: right;
    }
    .tabela-responsiva td:last-child { border-bottom: none; }
    .tabela-responsiva td::before {
        content: attr(data-label);
        font-weight: 700;
        color: var(--rosa-escuro);
        text-align: left;
        flex-shrink: 0;
    }
    .tabela-responsiva td.acoes {
        justify-content: flex-end;
        gap: 14px;
        flex-wrap: wrap;
    }
    .tabela-responsiva td.acoes::before { display: none; }
    .tabela-responsiva td.acoes a { margin-right: 0; }
}

.top-admin {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    flex-wrap: wrap;
    gap: 10px;
}

/* Toolbar principal do dashboard: ação primária em destaque + grid de atalhos secundários */
.admin-toolbar {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 26px;
}

.btn-toolbar-principal {
    display: block;
    text-align: center;
    background: linear-gradient(90deg, var(--rosa-principal), var(--rosa-escuro));
    color: #fff;
    font-weight: 800;
    font-size: 1rem;
    padding: 14px;
    border-radius: 14px;
    box-shadow: var(--sombra);
}

.admin-subnav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

@media (min-width: 560px) {
    .admin-subnav { grid-template-columns: repeat(4, 1fr); }
}

.admin-subnav a {
    text-align: center;
    padding: 11px 8px;
    border: 1px solid var(--rosa-claro);
    border-radius: 12px;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--rosa-escuro);
    background: var(--branco);
}

.admin-subnav a:hover { background: var(--rosa-claro); }

.busca-form-admin {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}

.busca-form-admin input[type="text"] {
    flex: 1 1 220px;
    padding: 10px 14px;
    border: 1px solid #f0c4d3;
    border-radius: 10px;
    font-size: 0.9rem;
}

.busca-form-admin button {
    background: var(--rosa-principal);
    color: #fff;
    border: none;
    padding: 10px 18px;
    border-radius: 10px;
    font-weight: 700;
    cursor: pointer;
}

.busca-form-admin button:hover { background: var(--rosa-escuro); }

.busca-limpar-admin {
    font-size: 0.85rem;
    color: var(--texto-suave);
    text-decoration: underline;
}

.tag-destaque {
    color: #1e7a46;
    font-weight: 700;
}

.tag-inativo {
    color: #b0b0b0;
    font-style: italic;
}

.msg-ok {
    background: #e6f9ee;
    color: #1e7a46;
    padding: 10px 14px;
    border-radius: 10px;
    margin-bottom: 16px;
    font-size: 0.9rem;
}

.msg-erro {
    background: #fdeaea;
    color: #b3261e;
    padding: 10px 14px;
    border-radius: 10px;
    margin-bottom: 16px;
    font-size: 0.9rem;
}

/* Logos das lojas (upload no /admin/lojas.php) — caixinha branca com altura fixa
   e largura livre, pra manter a proporção do logo (funciona bem mesmo com logos
   de fundo escuro/sólido como a da Amazon, sem espremer num quadrado) */
.loja-logo-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    vertical-align: middle;
    box-sizing: border-box;
    flex-shrink: 0;
}
.loja-logo-box img {
    height: 100%;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    display: block;
}

/* =========================================================
   V4 — NOVA EXPERIÊNCIA PÚBLICA / CARDS COM LOGO EM DESTAQUE
   ========================================================= */
:root {
    --v4-pink: #f53283;
    --v4-pink-dark: #d81b70;
    --v4-purple: #b63adb;
    --v4-ink: #252334;
    --v4-muted: #777584;
    --v4-line: #f0e7ed;
    --v4-surface: #ffffff;
    --v4-bg: #fff9fc;
    --v4-shadow: 0 18px 50px rgba(107, 45, 84, .10);
}

body { background: var(--v4-bg); color: var(--v4-ink); }

.navbar {
    padding: 13px clamp(16px, 5vw, 72px);
    border-bottom: 1px solid #f1e9ef;
    box-shadow: 0 5px 24px rgba(66, 37, 53, .05);
}

.logo-bolha { width: 42px; height: 42px; }
.marca-texto { font-size: clamp(1.18rem, 2vw, 1.5rem); }

.hero.hero-neu {
    padding: clamp(42px, 6vw, 74px) 20px clamp(48px, 6vw, 76px);
    background:
        repeating-linear-gradient(101deg, rgba(255,255,255,.11) 0 2px, transparent 2px 34px),
        linear-gradient(112deg, #f33d93 0%, #bd45d8 50%, #ed6d75 100%);
}
.hero-inhalt { max-width: 840px; margin: 0 auto; }
.hero.hero-neu h1 {
    max-width: 760px;
    margin: 0 auto 12px;
    font-size: clamp(1.75rem, 4vw, 3.2rem);
    line-height: 1.08;
    letter-spacing: -.035em;
}
.hero.hero-neu .hero-sub {
    max-width: 640px;
    margin-bottom: 28px;
    font-size: clamp(.98rem, 1.8vw, 1.12rem);
}
.hero.hero-neu .hero-badge { margin-bottom: 16px; }

.hero-lojas-neu { max-width: 520px; gap: 10px; }
.hero-lojas-neu .pill-loja {
    min-height: 68px;
    padding: 10px 18px 10px 12px;
    border: 1px solid rgba(255,255,255,.56);
    box-shadow: 0 12px 35px rgba(82, 31, 70, .18);
}
.pill-loja-start { display: flex; align-items: center; gap: 13px; min-width: 0; }
.hero-store-logo {
    width: 122px;
    height: 48px;
    flex: 0 0 122px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #f1edf0;
    border-radius: 13px;
    padding: 8px 12px;
    overflow: hidden;
}
.hero-store-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.hero-store-logo-fallback strong { color: #111; font-size: 1.08rem; letter-spacing: -.04em; }
.hero-store-logo-fallback small { color: #ef9b16; font-weight: 800; margin-left: 1px; }
.pill-arrow { font-size: 1.3rem; }

.secao-cupons {
    max-width: 1320px;
    padding: clamp(30px, 5vw, 60px) clamp(14px, 3vw, 30px) 22px;
}

.busca-form.busca-form-grande {
    max-width: 760px;
    min-height: 64px;
    margin: 0 auto 22px;
    padding: 7px 8px 7px 20px;
    border: 1px solid #eee3ea;
    box-shadow: 0 13px 34px rgba(114, 54, 89, .08);
}
.busca-icone { display: flex; color: var(--v4-pink); margin-right: 2px; }
.busca-form.busca-form-grande input[type="text"] { font-size: 1rem; min-width: 0; }
.busca-form.busca-form-grande button { width: 48px; height: 48px; background: linear-gradient(135deg, #ff478f, #dc277e); }

.categorias-scroll {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    overflow-x: auto;
    scrollbar-width: none;
    padding: 0 2px 12px;
    margin-bottom: 20px;
}
.categorias-scroll::-webkit-scrollbar { display: none; }
.categoria-chip {
    flex: 0 0 auto;
    background: #fff;
    border: 1px solid #eadfe6;
    color: #56515b;
    border-radius: 12px;
    padding: 10px 15px;
    font-size: .85rem;
    font-weight: 750;
    box-shadow: 0 5px 18px rgba(69, 43, 57, .03);
}
.categoria-chip:hover, .categoria-chip.ativo {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, #c743d7, #f23885);
}

.secao-cabecalho {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin: 8px 0 18px;
}
.secao-cabecalho h2 { margin: 3px 0 0; font-size: clamp(1.35rem, 2vw, 1.9rem); letter-spacing: -.02em; }
.eyebrow { color: var(--v4-pink-dark); text-transform: uppercase; font-size: .72rem; font-weight: 850; letter-spacing: .12em; }

.grid-cupons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-top: 0;
}

.cupom-card {
    min-width: 0;
    min-height: 330px;
    display: grid;
    grid-template-columns: minmax(185px, 36%) 1fr;
    gap: 0;
    padding: 14px;
    overflow: hidden;
    color: var(--v4-ink);
    background: #fff;
    border: 1px solid #efe5eb;
    border-radius: 24px;
    box-shadow: var(--v4-shadow);
    transition: transform .18s ease, box-shadow .18s ease;
}
.cupom-card:hover { transform: translateY(-4px); box-shadow: 0 22px 58px rgba(107, 45, 84, .15); }

.cupom-logo-area {
    min-width: 0;
    padding: 0 12px 0 0;
    display: flex;
    flex-direction: column;
}
.cupom-logo-principal {
    min-height: 245px;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #fff, #fbfafb);
    border: 1px solid #f0ecee;
    border-radius: 18px;
    padding: clamp(18px, 3vw, 34px);
    overflow: hidden;
}
.cupom-logo-principal img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 280px;
    max-height: 150px;
    object-fit: contain;
}
.cupom-logo-fallback { flex-direction: row; gap: 0; }
.fallback-amazon { font-weight: 900; color: #111; font-size: clamp(2.25rem, 4vw, 4.2rem); letter-spacing: -.075em; line-height: 1; }
.fallback-amazon-domain { color: #ef9b16; font-weight: 900; font-size: clamp(1rem, 2vw, 1.55rem); align-self: center; margin: 15px 0 0 4px; }

.cupom-loja-mini {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 1px 0;
    color: #403c45;
    font-size: .82rem;
    font-weight: 750;
}
.mini-logo-box {
    width: 30px; height: 30px;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid #eee6ea; border-radius: 8px; background: #fff; overflow: hidden; padding: 4px;
}
.mini-logo-box img { width: 100%; height: 100%; object-fit: contain; }
.mini-fallback { font-weight: 900; color: #111; }

.cupom-conteudo {
    min-width: 0;
    padding: 3px 2px 2px 12px;
    display: flex;
    flex-direction: column;
}
.cupom-topo { margin: 0 0 10px; min-height: 54px; }
.cupom-categoria {
    color: #fff;
    background: linear-gradient(135deg, #ef478e, #cc39ca);
    font-size: .69rem;
    padding: 7px 11px;
    box-shadow: 0 6px 16px rgba(224, 54, 132, .13);
}
.cupom-desconto-destaque { text-align: right; color: var(--v4-pink-dark); line-height: 1; }
.cupom-desconto-destaque strong { display: block; font-size: clamp(1.55rem, 3.2vw, 2.85rem); letter-spacing: -.05em; }
.cupom-desconto-destaque small { display: block; margin-top: 5px; font-weight: 850; font-size: .72rem; color: #9737bf; }

.cupom-titulo {
    margin: 0 0 8px;
    font-size: clamp(1.05rem, 1.8vw, 1.28rem);
    color: #272532;
    line-height: 1.25;
}
.cupom-desc {
    margin: 0 0 14px;
    color: var(--v4-muted);
    opacity: 1;
    font-size: .88rem;
    line-height: 1.48;
}
.cupom-codigo {
    width: 100%;
    min-height: 52px;
    margin: auto 0 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1.5px dashed #f03582;
    border-radius: 12px;
    padding: 9px 12px 9px 16px;
    background: #fff8fb;
    color: #d72573;
    font: inherit;
    font-size: .96rem;
    font-weight: 850;
    letter-spacing: .03em;
    cursor: pointer;
}
.cupom-codigo:hover, .cupom-codigo.copiado { background: #fff0f6; }
.cupom-rodape-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 0;
}
.cupom-validade { margin: 0; color: #97909a; opacity: 1; text-align: left; font-size: .7rem; }
.cupom-btn-pegar {
    flex: 0 0 auto;
    padding: 10px 14px;
    border: 1px solid #ef4789;
    color: #db2676;
    background: #fff;
    font-size: .79rem;
}
.cupom-btn-pegar:hover { color: #fff; background: linear-gradient(135deg, #ee438b, #cf37bd); }

.features.features-neu { max-width: 1320px; padding: 56px clamp(16px, 3vw, 30px) 36px; }
.features-neu .features-intro { max-width: 630px; margin-bottom: 24px; }
.features-neu .features-intro h2 { margin: 4px 0 8px; }
.features-neu .features-intro p { margin: 0; }
.features-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.features-neu .feature-item {
    display: block;
    margin: 0;
    padding: 20px;
    background: #fff;
    border: 1px solid #efe5eb;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(80, 43, 63, .06);
}
.features-neu .feature-icone { margin-bottom: 14px; width: 46px; height: 46px; border-radius: 13px; font-size: 1.2rem; }
.features-neu .feature-item h3 { font-size: 1rem; }
.features-neu .feature-item p { font-size: .86rem; }

/* página da loja: mantém a nova identidade e os mesmos cards */
.hero-loja .loja-logo-box {
    min-width: 180px !important;
    width: min(320px, 78vw) !important;
    height: 110px !important;
    max-width: 320px !important;
    padding: 16px 24px !important;
    border-radius: 18px !important;
}
.hero-loja .loja-logo-box img { width: 100% !important; height: 100% !important; object-fit: contain !important; }

@media (max-width: 1080px) {
    .grid-cupons { grid-template-columns: 1fr; max-width: 820px; margin-left: auto; margin-right: auto; }
    .cupom-card { grid-template-columns: 270px 1fr; }
    .features-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 700px) {
    .navbar { padding: 10px 14px; }
    .hero.hero-neu { padding: 34px 14px 42px; }
    .hero.hero-neu .hero-badge { font-size: .73rem; padding: 7px 12px; }
    .hero-lojas-neu .pill-loja { min-height: 62px; }
    .hero-store-logo { width: 104px; flex-basis: 104px; height: 44px; }
    .pill-loja-start { gap: 9px; }

    .secao-cupons { padding-left: 12px; padding-right: 12px; }
    .busca-form.busca-form-grande { min-height: 56px; padding-left: 14px; }
    .busca-form.busca-form-grande button { width: 42px; height: 42px; }
    .categorias-scroll { justify-content: flex-start; margin-left: -2px; margin-right: -2px; }
    .secao-cabecalho { align-items: flex-start; flex-direction: column; gap: 6px; }

    .cupom-card {
        display: block;
        min-height: 0;
        padding: 12px;
        border-radius: 20px;
    }
    .cupom-logo-area { padding: 0; }
    .cupom-logo-principal { min-height: 150px; max-height: 180px; padding: 22px 28px; border-radius: 15px; }
    .cupom-logo-principal img { max-height: 100px; }
    .cupom-loja-mini { padding: 8px 1px 4px; }
    .cupom-conteudo { padding: 10px 2px 2px; }
    .cupom-topo { min-height: auto; margin-bottom: 10px; }
    .cupom-desconto-destaque strong { font-size: 1.75rem; }
    .cupom-codigo { margin-top: 4px; }
    .cupom-rodape-card { align-items: stretch; flex-direction: column; }
    .cupom-btn-pegar { width: 100%; min-height: 44px; }
    .cupom-validade { order: 2; text-align: center; }

    .features-grid { grid-template-columns: 1fr; }
    .features.features-neu { padding-top: 40px; }
}

@media (max-width: 420px) {
    .marca-texto { font-size: 1.05rem; }
    .hero-store-logo { width: 90px; flex-basis: 90px; padding: 7px; }
    .hero-lojas-neu .pill-loja { padding-right: 13px; }
    .pill-loja-start > strong { font-size: .9rem; }
    .fallback-amazon { font-size: 2.45rem; }
}

/* =========================================================
   V5 — FIEL AO MOCKUP AMAZON / OmasGutscheine
   ========================================================= */
.home-v5 { background: #fff8fb; }
.home-v5 > .navbar { display: none; }

.hero.hero-v5 {
    min-height: 235px;
    padding: 26px 18px 39px;
    display: flex;
    align-items: center;
    color: #fff;
    background:
        repeating-linear-gradient(101deg, rgba(255,255,255,.12) 0 2px, transparent 2px 34px),
        linear-gradient(105deg, #ef3c94 0%, #bd43d8 50%, #ee7475 100%);
}
.hero-v5 .hero-inhalt { width: 100%; max-width: 920px; }
.hero.hero-v5 h1 {
    margin: 0 auto 8px;
    max-width: 720px;
    font-size: clamp(1.08rem, 1.55vw, 1.42rem);
    line-height: 1.25;
    letter-spacing: 0;
    font-weight: 700;
    text-shadow: none;
}
.hero.hero-v5 .hero-sub {
    margin: 0 auto 28px;
    max-width: 620px;
    font-size: clamp(.98rem, 1.4vw, 1.18rem);
    line-height: 1.35;
    font-weight: 600;
    opacity: 1;
}
.hero-lojas-v5 { max-width: 460px; margin: 0 auto; }
.hero-lojas-v5 .pill-loja {
    min-height: 74px;
    padding: 9px 22px 9px 22px;
    background: #fff;
    color: #e02b72;
    border: 0;
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(87, 31, 76, .16);
}
.hero-lojas-v5 .pill-loja:hover { transform: translateY(-1px); }
.hero-lojas-v5 .pill-loja-start { gap: 26px; }
.hero-lojas-v5 .hero-store-logo {
    width: 92px;
    height: 46px;
    flex: 0 0 92px;
    padding: 6px 5px;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.hero-lojas-v5 .hero-store-logo img { max-width: 100%; max-height: 38px; object-fit: contain; }
.amazon-wordmark-mini {
    position: relative;
    display: inline-block;
    color: #171717;
    font-size: 1.18rem;
    font-weight: 900;
    letter-spacing: -.06em;
    line-height: 1;
}
.amazon-wordmark-mini::after {
    content: '';
    position: absolute;
    left: 23%; right: 2%; bottom: -7px;
    height: 6px;
    border-bottom: 3px solid #ff9900;
    border-radius: 50%;
    transform: rotate(4deg);
}
.hero-lojas-v5 .pill-loja-start > strong { font-size: 1.2rem; font-weight: 800; }
.hero-lojas-v5 .pill-arrow { font-size: 1.1rem; color: #f12b79; }

.secao-cupons.secao-cupons-v5 {
    max-width: 1450px;
    margin: 0 auto;
    padding: 27px clamp(18px, 7vw, 132px) 40px;
    background: radial-gradient(circle at 50% -100px, rgba(244, 166, 204, .08), transparent 410px);
}
.busca-form.busca-v5 {
    max-width: 750px;
    min-height: 72px;
    margin: 0 auto 20px;
    padding: 6px 8px 6px 24px;
    border: 1px solid #f1e9ed;
    box-shadow: 0 10px 30px rgba(103, 49, 80, .06);
}
.busca-v5 .busca-icone { margin-right: 7px; color: #f13a83; }
.busca-form.busca-v5 input[type="text"] { font-size: 1.03rem; color: #6b6871; }
.busca-form.busca-v5 button {
    width: 54px;
    height: 54px;
    margin-left: auto;
    background: linear-gradient(135deg, #ed3c87, #d91a74);
    box-shadow: 0 6px 15px rgba(223, 39, 119, .19);
}

.categorias-v5 {
    justify-content: center;
    gap: 16px;
    margin: 0 auto 28px;
    padding-bottom: 0;
}
.categorias-v5 .categoria-chip {
    min-height: 48px;
    padding: 0 19px;
    display: inline-flex;
    align-items: center;
    gap: 11px;
    border-radius: 10px;
    background: rgba(255,255,255,.7);
    border: 1px solid #eadfe5;
    color: #514f56;
    font-size: .83rem;
    font-weight: 700;
    box-shadow: 0 3px 12px rgba(83, 48, 66, .02);
}
.categorias-v5 .categoria-chip.ativo,
.categorias-v5 .categoria-chip:hover {
    color: #fff;
    background: linear-gradient(105deg, #ad3ad5, #ef397f);
    border-color: transparent;
}
.categorias-v5 .cat-icon { font-size: 1.12rem; line-height: 1; }
.secao-cabecalho-v5 { max-width: 1280px; margin: 0 auto 16px; }

.grid-cupons.grid-cupons-v5 {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin: 0 auto;
}

.cupom-card.cupom-card-v5 {
    position: relative;
    min-height: 385px;
    display: grid;
    grid-template-columns: 43% 57%;
    padding: 14px;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid #f0e8ec;
    background: #fff;
    box-shadow: 0 16px 42px rgba(120, 47, 87, .10);
    color: #252334;
}
.cupom-card-v5:hover { transform: translateY(-3px); box-shadow: 0 19px 48px rgba(120, 47, 87, .14); }

.deal-ribbon {
    position: absolute;
    z-index: 4;
    top: 15px;
    right: -39px;
    width: 142px;
    padding: 7px 0;
    transform: rotate(45deg);
    text-align: center;
    color: #fff;
    background: linear-gradient(90deg, #c53bd0, #f43182);
    font-size: .69rem;
    font-weight: 900;
    letter-spacing: .02em;
    box-shadow: 0 5px 13px rgba(212, 46, 133, .17);
}

.cupom-card-v5 .cupom-logo-area { padding: 0 12px 0 0; }
.cupom-card-v5 .cupom-logo-principal {
    min-height: 302px;
    padding: 34px 22px;
    border-radius: 15px;
    border: 0;
    background: linear-gradient(145deg, #fafafa, #fff);
}
.cupom-card-v5 .cupom-logo-principal img {
    width: 91%;
    height: auto;
    max-width: 330px;
    max-height: 150px;
    object-fit: contain;
}
.cupom-card-v5 .cupom-logo-fallback { flex-direction: column; }
.cupom-card-v5 .fallback-amazon {
    position: relative;
    font-size: clamp(2.65rem, 4.1vw, 4.8rem);
    font-weight: 900;
    letter-spacing: -.085em;
    color: #111;
}
.cupom-card-v5 .fallback-amazon::after {
    content: '';
    position: absolute;
    left: 20%; right: 2%; bottom: -13px;
    height: 13px;
    border-bottom: 7px solid #ff9900;
    border-radius: 50%;
    transform: rotate(4deg);
}
.cupom-card-v5 .fallback-amazon-domain { display: none; }
.cupom-card-v5 .cupom-loja-mini {
    min-height: 48px;
    padding: 9px 0 0;
    gap: 8px;
    font-size: .77rem;
    color: #303039;
    font-weight: 700;
}
.cupom-card-v5 .mini-logo-box { width: 25px; height: 25px; border-radius: 5px; padding: 3px; }

.cupom-card-v5 .cupom-conteudo {
    padding: 1px 4px 1px 7px;
    justify-content: flex-start;
}
.cupom-card-v5 .cupom-topo {
    min-height: 36px;
    margin: 0 0 9px;
    display: block;
}
.cupom-card-v5 .cupom-categoria {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 850;
    color: #fff;
    background: linear-gradient(105deg, #ef438a, #c840d0);
    box-shadow: none;
}
.cupom-card-v5 .cupom-desconto-destaque {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin: 0 0 8px;
    text-align: left;
    color: #e32779;
}
.cupom-card-v5 .cupom-desconto-destaque strong {
    font-size: clamp(2.55rem, 4vw, 4rem);
    line-height: .92;
    letter-spacing: -.055em;
    font-weight: 850;
}
.cupom-card-v5 .cupom-desconto-destaque small {
    margin: 0;
    font-size: .85rem;
    color: #8d36c1;
    font-weight: 850;
}
.cupom-card-v5 .cupom-titulo {
    margin: 0 0 8px;
    max-width: 94%;
    font-size: clamp(1.08rem, 1.45vw, 1.28rem);
    line-height: 1.25;
    color: #262432;
    font-weight: 850;
}
.cupom-card-v5 .cupom-desc {
    margin: 0 0 13px;
    max-width: 96%;
    font-size: .83rem;
    line-height: 1.45;
    color: #85818a;
}
.cupom-card-v5 .cupom-codigo {
    min-height: 57px;
    margin: auto 0 11px;
    padding: 7px 7px 7px 18px;
    border: 1.7px dashed #e72f7b;
    border-radius: 11px;
    background: #fff;
    color: #d92773;
    font-size: .9rem;
    font-weight: 900;
    text-align: center;
}
.cupom-card-v5 .cupom-codigo-texto { flex: 1; text-align: center; }
.cupom-card-v5 .copy-icon-box {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    border-radius: 9px;
    color: #fff;
    background: linear-gradient(135deg, #ed3b87, #d71c73);
}
.cupom-card-v5 .cupom-codigo:hover,
.cupom-card-v5 .cupom-codigo.copiado { background: #fff7fa; }
.cupom-card-v5 .cupom-rodape-card {
    min-height: 43px;
    margin: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.cupom-card-v5 .cupom-validade { display: none; }
.cupom-card-v5 .cupom-btn-pegar {
    min-height: 40px;
    min-width: 170px;
    padding: 8px 17px;
    border-radius: 999px;
    border: 1px solid #ec3a82;
    color: #df2877;
    background: #fff;
    font-size: .75rem;
    font-weight: 800;
}

.todos-amazon-wrap { display: flex; justify-content: center; padding: 22px 0 0; }
.todos-amazon-btn {
    min-width: 380px;
    min-height: 48px;
    padding: 0 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
    border: 1px solid #ed3b81;
    border-radius: 999px;
    color: #df2876;
    background: #fff;
    font-size: .8rem;
    font-weight: 800;
}
.todos-amazon-btn:hover { background: #fff1f6; }
.home-v5 .rodape-site { margin-top: 0; }

@media (max-width: 1120px) {
    .secao-cupons.secao-cupons-v5 { padding-left: 28px; padding-right: 28px; }
    .grid-cupons.grid-cupons-v5 { grid-template-columns: 1fr; max-width: 780px; }
    .cupom-card.cupom-card-v5 { grid-template-columns: 42% 58%; }
}

@media (max-width: 700px) {
    .hero.hero-v5 { min-height: 215px; padding: 24px 14px 30px; }
    .hero.hero-v5 h1 { font-size: 1.1rem; max-width: 90%; }
    .hero.hero-v5 .hero-sub { margin-bottom: 21px; font-size: .96rem; }
    .hero-lojas-v5 { max-width: 92%; }
    .hero-lojas-v5 .pill-loja { min-height: 62px; padding: 7px 15px; }
    .hero-lojas-v5 .pill-loja-start { gap: 12px; }
    .hero-lojas-v5 .hero-store-logo { width: 82px; flex-basis: 82px; height: 42px; }
    .hero-lojas-v5 .pill-loja-start > strong { font-size: 1rem; }

    .secao-cupons.secao-cupons-v5 { padding: 22px 12px 34px; }
    .busca-form.busca-v5 { min-height: 58px; padding-left: 15px; }
    .busca-form.busca-v5 button { width: 44px; height: 44px; }
    .categorias-v5 { justify-content: flex-start; gap: 8px; margin-bottom: 18px; overflow-x: auto; }
    .categorias-v5 .categoria-chip { min-height: 42px; padding: 0 13px; font-size: .76rem; }

    .cupom-card.cupom-card-v5 { display: block; min-height: 0; padding: 11px; border-radius: 18px; }
    .cupom-card-v5 .cupom-logo-area { padding: 0; }
    .cupom-card-v5 .cupom-logo-principal { min-height: 180px; max-height: 200px; padding: 26px 24px; }
    .cupom-card-v5 .cupom-logo-principal img { max-height: 110px; max-width: 290px; }
    .cupom-card-v5 .fallback-amazon { font-size: 3.6rem; }
    .cupom-card-v5 .cupom-loja-mini { min-height: 42px; padding-top: 7px; }
    .cupom-card-v5 .cupom-conteudo { padding: 8px 3px 2px; }
    .cupom-card-v5 .cupom-desconto-destaque strong { font-size: 2.65rem; }
    .cupom-card-v5 .cupom-codigo { margin-top: 5px; }
    .cupom-card-v5 .cupom-btn-pegar { width: 100%; min-height: 44px; }
    .cupom-card-v5 .cupom-rodape-card { display: block; }
    .todos-amazon-btn { min-width: 0; width: 100%; }
}


/* ================= V6 — página individual da loja ================= */
.loja-v6 { background: #fff8fb; }
.loja-v6 .hero-loja {
    padding: 28px 20px 34px;
    background:
        repeating-linear-gradient(100deg, rgba(255,255,255,.09) 0 2px, transparent 2px 27px),
        linear-gradient(120deg, #f84999 0%, #bf49d8 52%, #ef7080 100%);
}
.loja-v6 .hero-loja .loja-logo-box {
    width: min(260px, 72vw) !important;
    min-width: 0 !important;
    height: 76px !important;
    margin-bottom: 10px !important;
    padding: 12px 22px !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(75,32,59,.12);
}
.loja-v6 .hero-loja .hero-badge { display: none; }
.loja-v6 .hero-loja h1 { margin-bottom: 6px; font-size: 1.65rem; }
.loja-v6 .hero-loja .hero-sub { margin-bottom: 12px; font-size: .9rem; }
.loja-v6 .hero-loja .hero-limpar { margin-top: 2px; font-size: .76rem; }

.loja-v6 .loja-cupons-v6 {
    max-width: 1460px;
    padding-top: 30px;
    padding-bottom: 54px;
}
.loja-v6 .loja-cupons-v6 .busca-v5 {
    max-width: 760px;
    margin: 0 auto 28px;
}
.loja-v6 .loja-cupons-v6 .grid-cupons-v5 {
    max-width: 1320px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}
.loja-v6 .loja-cupons-v6 .cupom-card-v5 {
    min-height: 370px;
    grid-template-columns: minmax(250px, 43%) minmax(0, 57%);
}
.loja-v6 .loja-cupons-v6 .cupom-logo-principal {
    min-height: 278px;
}
.loja-v6 .loja-cupons-v6 .cupom-logo-principal img {
    width: 86%;
    max-width: 300px;
    max-height: 135px;
}
.loja-v6 .loja-cupons-v6 .cupom-conteudo {
    padding: 5px 8px 3px 14px;
}
.loja-v6 .loja-cupons-v6 .cupom-topo { min-height: 32px; margin-bottom: 8px; }
.loja-v6 .loja-cupons-v6 .cupom-desconto-destaque strong { font-size: clamp(2.5rem, 3.5vw, 3.55rem); }
.loja-v6 .loja-cupons-v6 .cupom-titulo { font-size: clamp(1.05rem, 1.35vw, 1.25rem); }
.loja-v6 .loja-cupons-v6 .cupom-desc { min-height: 42px; }

@media (max-width: 1120px) {
    .loja-v6 .loja-cupons-v6 .grid-cupons-v5 { grid-template-columns: 1fr; max-width: 780px; }
    .loja-v6 .loja-cupons-v6 .cupom-card-v5 { grid-template-columns: 42% 58%; }
}

@media (max-width: 700px) {
    .loja-v6 .hero-loja { padding: 22px 14px 26px; }
    .loja-v6 .hero-loja .loja-logo-box { height: 64px !important; width: min(220px, 74vw) !important; }
    .loja-v6 .hero-loja h1 { font-size: 1.35rem; }
    .loja-v6 .hero-loja .hero-sub { font-size: .82rem; }
    .loja-v6 .loja-cupons-v6 { padding: 20px 12px 38px; }
    .loja-v6 .loja-cupons-v6 .busca-v5 { margin-bottom: 18px; }
    .loja-v6 .loja-cupons-v6 .cupom-card-v5 { display: block; min-height: 0; }
    .loja-v6 .loja-cupons-v6 .cupom-logo-principal { min-height: 150px; max-height: 170px; }
    .loja-v6 .loja-cupons-v6 .cupom-logo-principal img { max-height: 92px; max-width: 240px; }
    .loja-v6 .loja-cupons-v6 .cupom-conteudo { padding: 8px 3px 2px; }
    .loja-v6 .loja-cupons-v6 .cupom-desc { min-height: 0; }
}

/* V8 - cupom clicável como link real: abre nova aba sem depender de popup JS */
a.cupom-codigo,
a.cupom-codigo:visited,
a.cupom-codigo:hover,
a.cupom-codigo:focus {
    text-decoration: none;
}
