/* ═══════════════════════════════════════════════
   VoIP Office Offers — Frontend Styles v2
═══════════════════════════════════════════════ */
:root {
    --voo-accent:      #F5A623;
    --voo-dark:        #1f3a6e;
    --voo-hero-bg:     #1f3a6e;
    --voo-header-bg:   #1f3a6e;
    --voo-header-text: #ffffff;
    --voo-white:       #ffffff;
    --voo-text:        #1a2340;
    --voo-gray:        #f4f6fb;
    --voo-radius:      0px;
    --voo-shadow:      0 4px 32px rgba(31,58,110,.14);
}

/* ── WRAPPER ── */
.voo-offer-wrap {
    font-family: 'Inter','Segoe UI',Arial,sans-serif;
    color: var(--voo-text);
    line-height: 1.6;
    overflow: hidden;
    box-shadow: var(--voo-shadow);
    background: #fff;
    border-radius: 12px;
}

/* ════════════════════════════
   HEADER
════════════════════════════ */
.voo-site-header {
    background: var(--voo-header-bg);
    position: relative;
    z-index: 10;
    box-shadow: 0 2px 16px rgba(0,0,0,.18);
}
.voo-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 0 32px;
    height: 64px;
    max-width: 1200px;
    margin: 0 auto;
}

/* Logo */
.voo-logo-link { text-decoration:none; flex-shrink:0; }
.voo-logo-img  { height:38px; width:auto; display:block; }
.voo-logo-text { display:flex; flex-direction:column; line-height:1.1; }
.voo-logo-name {
    font-size: 18px; font-weight: 900;
    color: var(--voo-header-text);
    letter-spacing: -.3px;
    text-transform: uppercase;
}
.voo-logo-tag {
    font-size: 10px; font-weight: 500;
    color: var(--voo-accent);
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

/* Desktop nav */
.voo-nav {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 1;
    justify-content: center;
}
.voo-nav-link {
    color: rgba(255,255,255,.78);
    text-decoration: none;
    font-size: 14px; font-weight: 500;
    padding: 8px 14px;
    border-radius: 6px;
    transition: background .18s, color .18s;
    white-space: nowrap;
}
.voo-nav-link:hover { background:rgba(255,255,255,.1); color:#fff; }

/* Header actions */
.voo-header-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }

.voo-header-cta {
    background: var(--voo-accent);
    color: var(--voo-dark);
    font-weight: 800; font-size: 13px;
    padding: 9px 20px;
    border-radius: 7px;
    text-decoration: none;
    transition: transform .2s, filter .2s;
    white-space: nowrap;
}
.voo-header-cta:hover { transform:translateY(-2px); filter:brightness(1.08); color:var(--voo-dark); }

/* Hamburger */
.voo-hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    background: none; border: none;
    cursor: pointer; padding: 6px;
    border-radius: 6px;
    transition: background .2s;
}
.voo-hamburger:hover { background: rgba(255,255,255,.1); }
.voo-hamburger span {
    display: block; width: 22px; height: 2px;
    background: var(--voo-header-text);
    border-radius: 2px;
    transition: transform .3s, opacity .3s;
}
.voo-hamburger.voo-ham-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.voo-hamburger.voo-ham-open span:nth-child(2){ opacity:0; }
.voo-hamburger.voo-ham-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* Mobile nav drawer */
.voo-mobile-nav {
    display: none;
    flex-direction: column;
    gap: 2px;
    padding: 12px 20px 16px;
    background: rgba(0,0,0,.15);
    border-top: 1px solid rgba(255,255,255,.08);
    max-height: 0; overflow: hidden;
    transition: max-height .35s ease, padding .35s ease;
}
.voo-mobile-nav.voo-nav-open { max-height: 400px; }
.voo-mobile-nav .voo-nav-link {
    display: block; padding: 10px 14px;
    font-size: 15px;
}
.voo-mobile-cta { margin-top: 8px; display:inline-block; }

/* ════════════════════════════
   HERO
════════════════════════════ */
.voo-hero {
    background: var(--voo-hero-bg);
    padding: 52px 40px 56px;
    position: relative;
    overflow: hidden;
}
.voo-hero-shape {
    position: absolute; border-radius: 50%; pointer-events: none;
}
.voo-shape-1 {
    width: 340px; height: 340px;
    top: -100px; right: -80px;
    background: rgba(255,255,255,.05);
}
.voo-shape-2 {
    width: 200px; height: 200px;
    bottom: -60px; left: -50px;
    background: var(--voo-accent); opacity:.06;
}
.voo-hero-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    max-width: 1100px;
    margin: 0 auto;
    position: relative; z-index: 1;
    flex-wrap: wrap;
}
.voo-hero-left  { flex: 0 0 auto; min-width: 260px; }
.voo-hero-right { flex: 1 1 300px; }

/* Offer stack */
.voo-offer-stack { display:flex; flex-direction:column; gap:4px; }
.voo-special-badge {
    display: inline-block;
    background: var(--voo-accent);
    color: var(--voo-dark);
    font-weight: 900; font-size: 12px;
    letter-spacing: 2.5px; text-transform: uppercase;
    padding: 5px 18px;
    clip-path: polygon(0 0,100% 0,94% 100%,0 100%);
    margin-bottom: 4px;
}
.voo-ends-on {
    font-size: clamp(32px,5.5vw,52px);
    font-weight: 900; color: var(--voo-accent);
    font-style: italic; line-height: 1;
    text-transform: uppercase; letter-spacing: -1.5px;
}
.voo-end-date {
    display: inline-block;
    background: #0d1d40;
    color: #fff;
    font-weight: 800; font-size: clamp(12px,1.8vw,16px);
    letter-spacing: 1.5px; text-transform: uppercase;
    padding: 7px 18px; margin-top: 4px; border-radius: 4px;
}

/* Countdown */
.voo-countdown-wrap { margin-top: 22px; }
.voo-countdown {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.voo-cd-unit {
    display: flex; flex-direction: column; align-items: center;
}
.voo-cd-flip {
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 8px;
    padding: 10px 16px;
    min-width: 60px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.voo-cd-flip::after {
    content: '';
    position: absolute;
    left: 0; right: 0;
    top: 50%; height: 1px;
    background: rgba(0,0,0,.15);
}
.voo-cd-num {
    display: block;
    font-size: 30px; font-weight: 900;
    color: var(--voo-accent);
    line-height: 1; font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
}
.voo-cd-lbl {
    font-size: 10px;
    color: rgba(255,255,255,.55);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-top: 5px; font-weight: 600;
}
.voo-cd-sep {
    font-size: 26px; font-weight: 900;
    color: rgba(255,255,255,.35);
    margin-top: -16px; /* align with number vertically */
    user-select: none;
}
/* Flip animation */
@keyframes vooFlipNum {
    0%   { transform: translateY(-8px); opacity:0; }
    60%  { transform: translateY(2px);  opacity:1; }
    100% { transform: translateY(0);    opacity:1; }
}
.voo-flip-anim .voo-cd-num {
    animation: vooFlipNum .28s cubic-bezier(.22,.68,0,1.2) both;
}
.voo-cd-expired {
    color: rgba(255,255,255,.6); font-size:14px;
    padding: 10px 0;
}

/* Plan name / right side */
.voo-hero-plan-name {
    font-size: clamp(28px,4.5vw,52px);
    font-weight: 900; color: #fff;
    text-transform: uppercase;
    letter-spacing: -1.5px; line-height: 1;
}
.voo-hero-plan-name::after {
    content:''; display:block;
    width:50px; height:4px;
    background:var(--voo-accent);
    margin-top:12px; border-radius:2px;
}
.voo-hero-billing {
    color: rgba(255,255,255,.7);
    font-size: clamp(13px,1.8vw,17px);
    margin-top: 10px;
}

/* Hero quick pills (visible on mobile) */
.voo-hero-pills {
    display: none;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}
.voo-hero-pill {
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 8px;
    padding: 8px 14px;
    display: flex; flex-direction: column;
    align-items: center; gap: 2px;
}
.voo-pill-range {
    font-size: 11px; color:rgba(255,255,255,.6); font-weight:500;
}
.voo-pill-price {
    font-size: 18px; font-weight:900;
    color: var(--voo-accent);
}

/* ════════════════════════════
   BODY
════════════════════════════ */
.voo-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #fff;
}

.voo-pricing-section,
.voo-included-section {
    padding: 48px 44px 52px;
}
.voo-included-section {
    background: var(--voo-gray);
    border-left: 1px solid rgba(31,58,110,.07);
}

.voo-section-eyebrow {
    font-size: 11px; font-weight: 700;
    letter-spacing: 3px; text-transform: uppercase;
    color: var(--voo-dark); opacity: .55;
    margin: 0 0 4px;
}
.voo-section-title {
    font-size: clamp(20px,3vw,28px); font-weight:900;
    color: var(--voo-dark); text-transform:uppercase;
    letter-spacing: -.5px; margin:0 0 8px;
    line-height: 1.1;
}
.voo-section-title::after {
    content:''; display:block;
    width:36px; height:3px;
    background:var(--voo-accent);
    margin-top:10px; border-radius:2px;
}

/* Pricing cards */
.voo-tiers-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px; margin-top: 28px;
}
.voo-tier-card {
    background: #fff;
    border: 1.5px solid rgba(31,58,110,.1);
    border-radius: 12px;
    padding: 18px 16px;
    display: flex; flex-direction: column;
    gap: 10px;
    position: relative;
    transition: border-color .2s, transform .2s, box-shadow .2s;
}
.voo-tier-card:hover {
    border-color: var(--voo-accent);
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(245,166,35,.18);
}
.voo-tier-featured {
    border-color: var(--voo-accent);
    background: linear-gradient(145deg,#fffbf0,#fff);
}
.voo-tier-popular {
    position: absolute; top: -10px; right: 12px;
    background: var(--voo-accent);
    color: var(--voo-dark);
    font-size: 10px; font-weight: 800;
    letter-spacing: 1px; text-transform: uppercase;
    padding: 3px 10px; border-radius: 20px;
}
.voo-tier-range {
    font-size: 13px; font-weight: 700;
    color: var(--voo-dark); line-height: 1.3;
}
.voo-tier-price-wrap {
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.voo-price-was {
    background: rgba(245,166,35,.18);
    color: var(--voo-dark); opacity: .6;
    text-decoration: line-through;
    font-size: 12px; font-weight: 700;
    padding: 2px 7px; border-radius: 4px;
}
.voo-tier-price {
    display: flex; align-items: baseline; gap: 1px;
    background: var(--voo-accent);
    color: var(--voo-dark);
    padding: 5px 12px; border-radius: 8px;
}
.voo-price-cur  { font-size: 14px; font-weight: 800; }
.voo-price-num  { font-size: 28px; font-weight: 900; line-height: 1; }
.voo-price-per  { font-size: 11px; font-weight: 700; opacity:.7; }

/* Included list */
.voo-included-list {
    list-style:none; margin:24px 0 0; padding:0;
    display:flex; flex-direction:column; gap:12px;
}
.voo-included-list li {
    display:flex; align-items:flex-start; gap:10px;
    font-size: 15px; color: var(--voo-text);
    line-height: 1.5;
}
.voo-check {
    display:inline-flex; align-items:center; justify-content:center;
    width:22px; height:22px; border-radius:50%;
    background:var(--voo-accent); color:var(--voo-dark);
    flex-shrink:0; margin-top:1px;
}
.voo-included-cta {
    margin-top:24px; font-size:14px; font-weight:700;
    color:var(--voo-dark);
    border-left:4px solid var(--voo-accent);
    padding-left:14px; line-height:1.5;
}

/* ════════════════════════════
   CONTACT BAR
════════════════════════════ */
.voo-contact-bar {
    background: var(--voo-dark);
    display: flex; align-items: center;
    gap: 20px; padding: 24px 44px;
    flex-wrap: wrap;
}
.voo-contact-label {
    color:#fff;
    font-size:clamp(18px,3vw,28px);
    font-weight:900; margin-right:6px;
}
.voo-contact-link {
    display:flex; align-items:center; gap:10px;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.2);
    border-radius:8px; padding:10px 20px;
    color:#fff; text-decoration:none;
    font-size:15px; font-weight:600;
    transition:background .2s;
}
.voo-contact-link:hover { background:rgba(255,255,255,.2); color:#fff; }
.voo-icon { flex-shrink:0; }
.voo-contact-call {
    display:flex; align-items:center; justify-content:center;
    width:44px; height:44px;
    background:var(--voo-accent); border-radius:50%;
    text-decoration:none; color:var(--voo-dark);
    transition:transform .2s;
}
.voo-contact-call:hover { transform:scale(1.12); }

/* ════════════════════════════
   RESPONSIVE — TABLET
════════════════════════════ */
@media (max-width: 960px) {
    .voo-hero { padding: 40px 28px 44px; }
    .voo-hero-inner { gap: 28px; }
    .voo-tiers-grid { grid-template-columns: 1fr; gap:12px; }
    .voo-pricing-section,.voo-included-section { padding:36px 28px; }
    .voo-contact-bar { padding:20px 28px; gap:14px; }
}

@media (max-width: 768px) {
    /* Header: show hamburger */
    .voo-hamburger { display:flex; }
    .voo-nav { display:none; }
    .voo-mobile-nav { display:flex; }
    .voo-header-inner { padding:0 20px; }
    .voo-header-cta { font-size:12px; padding:8px 14px; }

    /* Body stacks */
    .voo-body { grid-template-columns:1fr; }
    .voo-included-section { border-left:none; border-top:1px solid rgba(31,58,110,.07); }
}

/* ════════════════════════════
   RESPONSIVE — MOBILE
════════════════════════════ */
@media (max-width: 600px) {
    .voo-header-inner { height:56px; padding:0 16px; }
    .voo-logo-img { height:30px; }
    .voo-logo-name { font-size:15px; }
    .voo-header-cta { display:none; } /* only hamburger on small mobile */

    .voo-hero { padding:28px 16px 36px; }
    .voo-hero-inner { flex-direction:column; gap:24px; }
    .voo-hero-left,.voo-hero-right { min-width:0; width:100%; }
    .voo-ends-on { font-size:clamp(26px,9vw,38px); }

    /* Show price pills on mobile hero */
    .voo-hero-pills { display:flex; }
    /* Hide desktop right side plan name on very small screens to avoid clutter */

    .voo-cd-flip { min-width:48px; padding:8px 12px; }
    .voo-cd-num { font-size:24px; }
    .voo-countdown { gap:8px; }
    .voo-cd-sep { font-size:20px; margin-top:-14px; }

    .voo-pricing-section,.voo-included-section { padding:24px 16px; }
    .voo-section-title { font-size:20px; }

    .voo-tiers-grid { grid-template-columns:1fr; gap:10px; }
    .voo-tier-card { padding:14px 14px; }
    .voo-price-num { font-size:24px; }

    .voo-contact-bar { padding:18px 16px; flex-direction:column; align-items:flex-start; gap:12px; }
    .voo-contact-link { font-size:14px; padding:9px 16px; }
}

@media (max-width: 400px) {
    .voo-cd-flip { min-width:40px; padding:7px 8px; }
    .voo-cd-num { font-size:20px; }
    .voo-cd-lbl { font-size:9px; }
}
