:root {
    --bg: #070707;
    --bg-soft: #101010;
    --card: #151515;
    --card-2: #1d1d1d;
    --gold: #d4af37;
    --gold-dark: #a9841f;
    --text: #f5f5f5;
    --muted: #aaa;
    --danger: #dc2626;
}

* { box-sizing: border-box; }
body {
    background: radial-gradient(circle at top left, rgba(212,175,55,.12), transparent 28%), var(--bg);
    color: var(--text);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a { color: var(--gold); text-decoration: none; }
a:hover { color: #fff0a8; }
.main-nav { background: rgba(8,8,8,.92); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(212,175,55,.18); }
.navbar-brand { letter-spacing: -.03em; font-size: 1.45rem; }
.navbar-brand span, .footer-logo span { color: var(--gold); }
.fw-black { font-weight: 900; }
.btn-gold { background: linear-gradient(135deg, var(--gold), #ffe08a); color: #111; border: 0; font-weight: 800; }
.btn-gold:hover { background: linear-gradient(135deg, #ffe08a, var(--gold)); color: #000; }
.btn-outline-gold { border: 1px solid var(--gold); color: var(--gold); }
.btn-outline-gold:hover { background: var(--gold); color: #111; }
.badge-gold, .badge-featured { background: rgba(212,175,55,.16); color: #ffe08a; border: 1px solid rgba(212,175,55,.45); }
.badge-verified { background: rgba(34,197,94,.14); color: #86efac; border: 1px solid rgba(34,197,94,.35); }
.badge-pending { background: rgba(251,191,36,.14); color: #fde68a; border: 1px solid rgba(251,191,36,.35); }
.badge-rejected { background: rgba(239,68,68,.14); color: #fecaca; border: 1px solid rgba(239,68,68,.35); }
.hero {
    min-height: 520px;
    display: grid;
    align-items: center;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(212,175,55,.12);
}
.hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(7,7,7,.96), rgba(7,7,7,.68), rgba(7,7,7,.92)),
        url('https://images.unsplash.com/photo-1519608487953-e999c86e7455?auto=format&fit=crop&w=1600&q=70') center/cover no-repeat;
    filter: saturate(.8);
}
.hero .container { position: relative; z-index: 2; }
.hero h1 { font-size: clamp(2.2rem, 7vw, 5.6rem); font-weight: 950; letter-spacing: -.07em; line-height: .95; }
.hero h1 span { color: var(--gold); }
.hero p { max-width: 720px; color: #d8d8d8; font-size: 1.1rem; }
.search-panel { background: rgba(21,21,21,.88); border: 1px solid rgba(212,175,55,.22); border-radius: 24px; padding: 1rem; box-shadow: 0 24px 60px rgba(0,0,0,.42); }
.form-control, .form-select, textarea {
    background-color: #101010 !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.13) !important;
}
.form-control:focus, .form-select:focus, textarea:focus { box-shadow: 0 0 0 .2rem rgba(212,175,55,.18) !important; border-color: var(--gold) !important; }
.form-label { color: #ddd; font-weight: 700; }
.card-dark {
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)), var(--card);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 16px 36px rgba(0,0,0,.32);
}
.ad-card { height: 100%; transition: transform .2s ease, border-color .2s ease; }
.ad-card:hover { transform: translateY(-4px); border-color: rgba(212,175,55,.5); }
.ad-card.featured { border-color: rgba(212,175,55,.58); box-shadow: 0 20px 44px rgba(212,175,55,.08); }
.ad-thumb { width: 100%; height: 235px; object-fit: cover; background: #222; }
.ad-thumb-detail { width: 100%; max-height: 570px; object-fit: cover; border-radius: 24px; border: 1px solid rgba(255,255,255,.08); }
.category-pill { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; border-radius: 14px; background: rgba(212,175,55,.12); border: 1px solid rgba(212,175,55,.35); color: #ffe08a; font-weight: 900; }
.city-chip { border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); color: #eee; padding: .55rem .8rem; border-radius: 999px; display: inline-block; margin: .2rem; }
.city-chip:hover { border-color: var(--gold); color: var(--gold); }
.section-title { font-weight: 950; letter-spacing: -.045em; }
.muted { color: var(--muted); }
.site-footer { background: #050505; border-top: 1px solid rgba(212,175,55,.12); }
.footer-logo { font-weight: 950; letter-spacing: -.05em; }
.footer-links { list-style: none; padding-left: 0; }
.footer-links li { margin-bottom: .45rem; }
.age-gate { position: fixed; inset: 0; z-index: 9999; background: rgba(0,0,0,.92); display: grid; place-items: center; padding: 1rem; }
.age-card { max-width: 620px; padding: 2rem; border-radius: 28px; background: linear-gradient(180deg, #171717, #090909); border: 1px solid rgba(212,175,55,.35); box-shadow: 0 30px 80px rgba(0,0,0,.6); text-align: center; }
.age-card h1 { font-weight: 950; letter-spacing: -.04em; }
.table-dark-custom { --bs-table-bg: #111; --bs-table-border-color: rgba(255,255,255,.08); }
.status-dot { width: 10px; height: 10px; display: inline-block; border-radius: 999px; background: #888; margin-right: 6px; }
.status-published { background: #22c55e; }
.status-pending { background: #f59e0b; }
.status-rejected { background: #ef4444; }
.notice-box { border-left: 4px solid var(--gold); background: rgba(212,175,55,.08); padding: 1rem; border-radius: 14px; }
@media (max-width: 767px) {
    .hero { min-height: auto; padding: 4rem 0; }
    .ad-thumb { height: 210px; }
}
.status-payment_pending { background: #8b5cf6; }
.status-paused { background: #64748b; }
.status-expired { background: #f97316; }
.status-deleted { background: #991b1b; }
.text-gold { color: var(--gold); }
.plan-card { min-height: 260px; }
.hp-field {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
}
.captcha-box {
    background: rgba(212,175,55,.07);
    border: 1px solid rgba(212,175,55,.18);
    border-radius: 14px;
    padding: .85rem;
}
.security-badge-low { color: #fde68a; }
.security-badge-medium { color: #fdba74; }
.security-badge-high { color: #fca5a5; }

.seo-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .45rem;
    font-size: .92rem;
    color: var(--muted);
}
.seo-breadcrumbs a { color: #d9d9d9; text-decoration: none; }
.seo-breadcrumbs a:hover { color: var(--gold); }
.seo-text-block {
    border-top: 1px solid rgba(212,175,55,.12);
    border-bottom: 1px solid rgba(212,175,55,.12);
}
.pagination-dark .page-link {
    background: #111;
    border-color: rgba(255,255,255,.12);
    color: #f5f5f5;
}
.pagination-dark .page-link:hover,
.pagination-dark .active .page-link {
    background: var(--gold);
    border-color: var(--gold);
    color: #050505;
}
.dropdown-menu-dark { border: 1px solid rgba(212,175,55,.2); }


.blog-card { transition: transform .2s ease, border-color .2s ease; }
.blog-card:hover { transform: translateY(-3px); border-color: rgba(212,175,55,.45); }
.article-content { color: #e7e7e7; line-height: 1.75; }
.article-content h2, .article-content h3 { margin-top: 2rem; margin-bottom: .85rem; color: #fff; font-weight: 900; letter-spacing: -.025em; }
.article-content p { margin-bottom: 1rem; }
.article-content ul, .article-content ol { margin-bottom: 1.25rem; }
.article-content li { margin-bottom: .45rem; }
.article-content a { text-decoration: underline; }
.legal-detail .article-content, .blog-detail .article-content { border-color: rgba(212,175,55,.16); }
.admin-mini-nav a { margin: .15rem; }


/* Fase premium: contacto oculto, pagos manuales y tarjetas más cuidadas */
.category-pill-word { min-width: auto; padding: 0 .9rem; justify-content: flex-start; }

/* Tarjetas: los iconos de contacto quedan pequeños y pegados al pie de la tarjeta. */
.ad-card { display:flex; flex-direction:column; }
.ad-card > .p-3 { display:flex; flex-direction:column; flex:1 1 auto; }
.contact-actions { display:flex; align-items:center; gap:.45rem; flex-wrap:wrap; margin-top:.85rem; }
.contact-actions-card {
    margin-top:auto;
    padding-top:.7rem;
    border-top:1px solid rgba(255,255,255,.08);
    justify-content:flex-end;
    gap:.28rem;
    flex-wrap:nowrap;
}
.contact-actions-card .contact-btn {
    width:29px !important;
    height:29px !important;
    min-width:29px !important;
    max-width:29px !important;
    padding:0 !important;
    border-radius:999px;
    justify-content:center;
    align-items:center;
    overflow:hidden;
    line-height:1;
    flex:0 0 29px;
}
.contact-actions-card .contact-btn span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.contact-actions-detail .contact-btn { min-height:46px; padding:.55rem .85rem; }
.contact-btn {
    display:inline-flex; align-items:center; gap:.45rem; border:1px solid rgba(255,255,255,.14); color:#fff; background:rgba(255,255,255,.045); border-radius:999px; font-weight:800; text-decoration:none; transition:.18s ease; cursor:pointer;
}
.contact-btn:hover { border-color:var(--gold); color:var(--gold); transform:translateY(-1px); }
.contact-btn svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; display:block; flex:0 0 auto; }
.contact-actions-card .contact-btn svg { width:14px !important; height:14px !important; min-width:14px; max-width:14px; }
.contact-actions-card .contact-btn svg text { font-size:6px; }
.contact-btn svg text { fill:currentColor; stroke:none; font-family:system-ui,sans-serif; }
.contact-whatsapp { border-color:rgba(34,197,94,.35); color:#86efac; background:rgba(34,197,94,.08); }
.contact-whatsapp:hover { color:#bbf7d0; border-color:#22c55e; }
.contact-telegram { border-color:rgba(56,189,248,.35); color:#7dd3fc; background:rgba(56,189,248,.08); }
.contact-telegram:hover { color:#bae6fd; border-color:#38bdf8; }
.contact-report { border-color:rgba(239,68,68,.22); color:#fecaca; }
.contact-report:hover { border-color:#ef4444; color:#fecaca; }
.premium-payment-card { border-color:rgba(212,175,55,.28); box-shadow:0 28px 70px rgba(0,0,0,.48); }
.payment-reference { background:linear-gradient(135deg, rgba(212,175,55,.16), rgba(212,175,55,.04)); border:1px solid rgba(212,175,55,.32); border-radius:18px; padding:1rem; display:flex; flex-direction:column; justify-content:center; }
.payment-reference span { color:var(--muted); font-weight:700; font-size:.9rem; }
.payment-reference strong { color:#ffe08a; font-size:1.15rem; letter-spacing:.02em; word-break:break-all; }
.payment-reference small { color:var(--muted); }
.payment-method-card { display:block; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.035); border-radius:18px; padding:1rem; cursor:pointer; transition:.18s ease; }
.payment-method-card:hover { border-color:rgba(212,175,55,.55); transform:translateY(-2px); }
.payment-method-card input { margin-right:.4rem; accent-color:#d4af37; }
@media (max-width:767px){
    .contact-actions-card { gap:.22rem; }
    .contact-actions-card .contact-btn { width:28px !important; height:28px !important; min-width:28px !important; max-width:28px !important; flex-basis:28px; }
    .contact-actions-card .contact-btn svg { width:13px !important; height:13px !important; }
    .contact-actions-detail .contact-btn { flex:1 1 calc(50% - .45rem); justify-content:center; }
}

/* Dashboard admin profesional */
.admin-dashboard .metric-card {
    display:block;
    height:100%;
    padding:1.15rem;
    border-radius:20px;
    border:1px solid rgba(255,255,255,.1);
    background:linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
    color:#fff;
    text-decoration:none;
    box-shadow:0 18px 42px rgba(0,0,0,.25);
    transition:.18s ease;
}
.admin-dashboard .metric-card:hover { transform:translateY(-2px); border-color:rgba(212,175,55,.45); color:#fff; }
.admin-dashboard .metric-card span { display:block; color:var(--muted); font-weight:800; font-size:.88rem; }
.admin-dashboard .metric-card strong { display:block; font-size:2.15rem; line-height:1.1; margin:.25rem 0; color:#fff; }
.admin-dashboard .metric-card small { color:var(--muted); }
.admin-dashboard .danger-soft { border-color:rgba(239,68,68,.22); background:linear-gradient(145deg, rgba(239,68,68,.09), rgba(255,255,255,.025)); }
.admin-dashboard .warning-soft { border-color:rgba(212,175,55,.28); background:linear-gradient(145deg, rgba(212,175,55,.12), rgba(255,255,255,.025)); }
.admin-dashboard .revenue-card { background:linear-gradient(145deg, rgba(212,175,55,.14), rgba(255,255,255,.035)); border-color:rgba(212,175,55,.27); }
.admin-dashboard .mini-row { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:.8rem 0; border-bottom:1px solid rgba(255,255,255,.075); }
.admin-dashboard .mini-row:last-child { border-bottom:0; }
.code-block { background:#050505; color:#e7e7e7; border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:1rem; white-space:pre-wrap; }

/* Panel usuario avanzado */
.account-dashboard .account-hero{background:linear-gradient(135deg,rgba(212,175,55,.13),rgba(20,20,20,1) 45%,rgba(8,8,8,1));border:1px solid rgba(212,175,55,.22)}
.account-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .55rem;font-size:.72rem;font-weight:800;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#e5e5e5}
.account-badge.ok{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.11);color:#bbf7d0}
.account-badge.warn{border-color:rgba(245,158,11,.4);background:rgba(245,158,11,.13);color:#fde68a}
.account-badge.gold{border-color:rgba(212,175,55,.55);background:rgba(212,175,55,.13);color:var(--gold)}
.account-badge.muted-badge{color:#a1a1a1}
.metric-card{height:100%;border:1px solid rgba(212,175,55,.16);background:rgba(20,20,20,.92);border-radius:18px;padding:1rem;text-align:center}
.metric-card strong{display:block;color:var(--gold);font-size:1.9rem;line-height:1.1}.metric-card span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.verification-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);padding:.7rem 0}.verification-row:last-of-type{border-bottom:0}.verification-row span{color:var(--muted)}.verification-row strong{color:#fff}
.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.quick-grid a{display:block;padding:.85rem;border:1px solid rgba(212,175,55,.16);border-radius:14px;background:rgba(255,255,255,.03);text-decoration:none;color:#fff;font-weight:800}.quick-grid a:hover{border-color:rgba(212,175,55,.5);color:var(--gold)}
.account-ad-thumb{width:64px;height:54px;object-fit:cover;border-radius:12px;border:1px solid rgba(255,255,255,.08)}
.account-table td{vertical-align:middle}
@media(max-width:576px){.quick-grid{grid-template-columns:1fr}.account-ad-thumb{width:52px;height:46px}.metric-card strong{font-size:1.45rem}}


/* Featured vs standard ad cards */
.ad-grid-item-featured .ad-card-featured {
    min-height: 100%;
    background:
        linear-gradient(145deg, rgba(212,175,55,.14), rgba(255,255,255,.035) 42%, rgba(0,0,0,.1)),
        var(--card);
    border: 1px solid rgba(212,175,55,.55);
    box-shadow: 0 24px 64px rgba(212,175,55,.13), 0 18px 40px rgba(0,0,0,.38);
}
.ad-card-featured .ad-thumb { height: 310px; }
.ad-card-featured .p-3 { padding: 1.15rem !important; }
.ad-card-featured .ad-card-title { font-weight: 900; letter-spacing: -.025em; }
.ad-card-featured .ad-card-desc { font-size: .98rem; line-height: 1.45; }
.ad-card-standard {
    border-radius: 18px;
    box-shadow: 0 10px 22px rgba(0,0,0,.24);
}
.ad-card-standard .ad-thumb { height: 168px; }
.ad-card-standard .p-3 { padding: .82rem !important; }
.ad-card-standard .badge { font-size: .66rem; padding: .35rem .5rem; }
.ad-card-standard .ad-card-title { font-size: .96rem; line-height: 1.18; font-weight: 850; }
.ad-card-standard .ad-card-desc { font-size: .82rem; line-height: 1.35; margin-bottom: .55rem !important; }
.ad-card-standard .btn-sm { font-size: .74rem; padding: .28rem .5rem; }
.ad-card-standard .contact-actions-card { margin-top: .6rem !important; padding-top: .48rem; }
@media (max-width: 767px) {
    .ad-card-featured .ad-thumb { height: 245px; }
    .ad-card-standard .ad-thumb { height: 140px; }
    .ad-card-standard .p-3 { padding: .68rem !important; }
    .ad-card-standard .ad-card-desc { display: none; }
    .ad-card-standard .btn-sm { font-size: .68rem; padding: .23rem .42rem; }
}

/* Cookie consent legal layer */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:2147483000;padding:1rem;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.76));}
.cookie-panel{max-width:1120px;margin:0 auto;border:1px solid rgba(212,175,55,.28);background:rgba(13,13,13,.98);box-shadow:0 24px 70px rgba(0,0,0,.65);border-radius:22px;padding:1rem;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;}
.cookie-panel h4{color:#fff;font-weight:900}.cookie-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.link-gold{color:var(--gold);text-decoration:none}.link-gold:hover{text-decoration:underline;color:#ffe08a}
.cookie-modal{position:fixed;inset:0;z-index:2147483001;background:rgba(0,0,0,.74);display:flex;align-items:center;justify-content:center;padding:1rem}.cookie-modal-card{max-width:680px;width:100%;border:1px solid rgba(212,175,55,.28);border-radius:24px;background:#111;padding:1.25rem;box-shadow:0 30px 90px rgba(0,0,0,.75)}
.cookie-modal-card h3{color:#fff;font-weight:900}.cookie-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:.85rem;margin:.65rem 0;background:rgba(255,255,255,.035)}.cookie-row p{margin:0;color:var(--muted);font-size:.88rem}.cookie-toggle-row{cursor:pointer}.cookie-toggle-row input{width:22px;height:22px;accent-color:#d4af37;flex:0 0 auto}
@media(max-width:768px){.cookie-panel{grid-template-columns:1fr}.cookie-actions{justify-content:stretch}.cookie-actions .btn{flex:1 1 30%}.cookie-row{align-items:flex-start}.cookie-modal-card{max-height:92vh;overflow:auto}}
