/* ============================================================
   Prepaid-Host — Unified Product Hero (compact / modern)
   Used via <x-public.product-hero> Blade component.
   Accent override: data-accent="blue|green|purple|amber|cyan"
   ============================================================ */
:root {
    --ph-hero-bg-from:  #ffffff;
    --ph-hero-bg-to:    #f6faff;
    --ph-hero-navy:     #0f1c2b;
    --ph-hero-text:     #1e293b;
    --ph-hero-muted:    #64748b;
    --ph-hero-border:   #e6ecf2;
    --ph-hero-white:    #ffffff;
    --ph-hero-success:  #10b981;
    --ph-hero-radius:   10px;

    --ph-hero-accent:    #009CFF;
    --ph-hero-accent-d:  #006EC8;
    --ph-hero-accent-2:  #4f7cff;
    --ph-hero-accent-lt: rgba(0, 156, 255, 0.07);
    --ph-hero-glow:      rgba(0, 156, 255, 0.18);
    --ph-hero-shadow-accent: 0 6px 20px rgba(0, 156, 255, 0.18);
}

/* ── Accent variants ── */
.ph-hero[data-accent="green"] {
    --ph-hero-accent:    #10b981;
    --ph-hero-accent-d:  #047857;
    --ph-hero-accent-2:  #06b6d4;
    --ph-hero-accent-lt: rgba(16, 185, 129, 0.08);
    --ph-hero-glow:      rgba(16, 185, 129, 0.18);
    --ph-hero-shadow-accent: 0 6px 20px rgba(16, 185, 129, 0.18);
}
.ph-hero[data-accent="purple"] {
    --ph-hero-accent:    #7b61ff;
    --ph-hero-accent-d:  #5b3fe0;
    --ph-hero-accent-2:  #009CFF;
    --ph-hero-accent-lt: rgba(123, 97, 255, 0.08);
    --ph-hero-glow:      rgba(123, 97, 255, 0.18);
    --ph-hero-shadow-accent: 0 6px 20px rgba(123, 97, 255, 0.18);
}
.ph-hero[data-accent="amber"] {
    --ph-hero-accent:    #f59e0b;
    --ph-hero-accent-d:  #b45309;
    --ph-hero-accent-2:  #ef4444;
    --ph-hero-accent-lt: rgba(245, 158, 11, 0.08);
    --ph-hero-glow:      rgba(245, 158, 11, 0.18);
    --ph-hero-shadow-accent: 0 6px 20px rgba(245, 158, 11, 0.18);
}
.ph-hero[data-accent="cyan"] {
    --ph-hero-accent:    #06b6d4;
    --ph-hero-accent-d:  #0891b2;
    --ph-hero-accent-2:  #009CFF;
    --ph-hero-accent-lt: rgba(6, 182, 212, 0.08);
    --ph-hero-glow:      rgba(6, 182, 212, 0.18);
    --ph-hero-shadow-accent: 0 6px 20px rgba(6, 182, 212, 0.18);
}

/* ── Hero shell — clean, compact ── */
.ph-hero {
    background: linear-gradient(180deg, var(--ph-hero-bg-from) 0%, var(--ph-hero-bg-to) 100%);
    padding: 64px 0 48px;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--ph-hero-border);
}
/* one subtle accent glow, NO grid overlay */
.ph-hero::before {
    content: '';
    position: absolute;
    top: -180px;
    right: -120px;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--ph-hero-glow) 0%, transparent 65%);
    filter: blur(20px);
    pointer-events: none;
    z-index: 0;
}
/* second tiny accent on bottom-left for balance */
.ph-hero::after {
    content: '';
    position: absolute;
    bottom: -160px;
    left: -100px;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--ph-hero-glow) 0%, transparent 70%);
    opacity: 0.5;
    filter: blur(28px);
    pointer-events: none;
    z-index: 0;
}
/* legacy mesh slot — still rendered but visually hidden (kept for backwards compat) */
.ph-hero-mesh { display: none; }

/* ── Layout ── */
.ph-hero-inner {
    position: relative;
    z-index: 2;
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

/* ── Eyebrow / badge ── */
.ph-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: var(--ph-hero-white);
    border: 1px solid var(--ph-hero-border);
    color: var(--ph-hero-accent);
    padding: 0.28rem 0.75rem;
    border-radius: 50px;
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    margin-bottom: 1rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}
.ph-hero-badge i { color: var(--ph-hero-accent); font-size: 0.72rem; }
.ph-hero-badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--ph-hero-success);
    display: inline-block;
}

/* ── Title — compact, modern, tight ── */
.ph-hero-title {
    font-size: clamp(1.65rem, 3.6vw, 2.4rem);
    font-weight: 800;
    color: var(--ph-hero-navy);
    line-height: 1.15;
    letter-spacing: -0.02em;
    margin: 0 0 0.85rem;
}
.ph-hero-title span {
    background: linear-gradient(90deg, var(--ph-hero-accent) 0%, var(--ph-hero-accent-2) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ── Subtitle ── */
.ph-hero-sub {
    font-size: 0.97rem;
    color: var(--ph-hero-muted);
    line-height: 1.6;
    max-width: 580px;
    margin: 0 auto 1.4rem;
}

/* ── Pills (single tight row, no chaos) ── */
.ph-hero-pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.4rem;
    margin: 0 0 1.4rem;
}
.ph-hero-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    background: transparent;
    border: 1px solid var(--ph-hero-border);
    color: var(--ph-hero-muted);
    padding: 0.22rem 0.65rem;
    border-radius: 50px;
    font-size: 0.74rem;
    font-weight: 500;
}
.ph-hero-pill i { color: var(--ph-hero-success); font-size: 0.62rem; }
.ph-hero-pill.accent {
    background: var(--ph-hero-accent-lt);
    border-color: color-mix(in srgb, var(--ph-hero-accent) 20%, transparent);
    color: var(--ph-hero-accent);
    font-weight: 600;
}
.ph-hero-pill.accent i { color: var(--ph-hero-accent); }

/* ── CTAs — primary + small ghost link ── */
.ph-hero-ctas {
    display: inline-flex;
    align-items: center;
    gap: 1.1rem;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0;
}
.ph-hero-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: linear-gradient(180deg, var(--ph-hero-accent) 0%, var(--ph-hero-accent-d) 100%);
    color: #fff;
    padding: 0.7rem 1.35rem;
    border-radius: var(--ph-hero-radius);
    font-size: 0.92rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: var(--ph-hero-shadow-accent);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.ph-hero-cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--ph-hero-accent) 30%, transparent);
    color: #fff;
    text-decoration: none;
}
.ph-hero-cta-ghost {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--ph-hero-muted);
    padding: 0.55rem 0.4rem;
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.18s ease;
}
.ph-hero-cta-ghost i { color: var(--ph-hero-accent); transition: transform 0.18s ease; }
.ph-hero-cta-ghost:hover {
    color: var(--ph-hero-navy);
    text-decoration: none;
}
.ph-hero-cta-ghost:hover i { transform: translateX(2px); }

/* ── Trust line (small icons under CTAs) — used sparingly ── */
.ph-hero-trust {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
    flex-wrap: wrap;
    margin-top: 1.1rem;
    font-size: 0.76rem;
    color: var(--ph-hero-muted);
}
.ph-hero-trust span { display: inline-flex; align-items: center; gap: 0.35rem; }
.ph-hero-trust i { color: var(--ph-hero-success); font-size: 0.7rem; }

/* ── Inline price tag (small, lives next to CTA or in trust line) ── */
.ph-hero-price {
    display: inline-flex;
    align-items: baseline;
    gap: 0.3rem;
    color: var(--ph-hero-muted);
    font-size: 0.82rem;
}
.ph-hero-price-label  { color: var(--ph-hero-muted); }
.ph-hero-price-value  { color: var(--ph-hero-navy); font-weight: 800; font-size: 1.05rem; letter-spacing: -0.01em; }
.ph-hero-price-period { color: var(--ph-hero-muted); }

/* ── Responsive ── */
@media (max-width: 768px) {
    .ph-hero { padding: 48px 0 36px; }
    .ph-hero-badge { font-size: 0.7rem; }
    .ph-hero-title { font-size: clamp(1.5rem, 7vw, 2rem); }
    .ph-hero-sub  { font-size: 0.92rem; }
    .ph-hero-cta, .ph-hero-cta-ghost { font-size: 0.88rem; }
}
