:root{
    --jvr-blue:#0f6fc6;
    --jvr-blue-2:#0a4f91;
    --jvr-ink:#0f172a;
    --jvr-muted:#526174;
    --jvr-line:#d8e4f2;
    --jvr-soft:#f5f9ff;
    --jvr-soft-2:#eef6ff;
    --jvr-ok:#128c7e;
    --jvr-warn:#f59e0b;
    --jvr-accent:#ff7a59;
}

.jvr-cg-wrapper{
    max-width:1180px;
    margin:28px auto;
    padding:0;
    border:1px solid var(--jvr-line);
    border-radius:26px;
    background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
    box-shadow:0 20px 50px rgba(15,23,42,.10);
    font-family:inherit;
    overflow:visible;
    color:var(--jvr-ink);
}

.jvr-cg-hero{
    display:grid;
    grid-template-columns:250px 1fr;
    gap:24px;
    align-items:center;
    padding:28px 32px;
    background:
        radial-gradient(circle at 15% 15%,rgba(15,111,198,.18) 0,rgba(15,111,198,0) 34%),
        linear-gradient(135deg,#ffffff 0%,#f8fbff 60%,#eef6ff 100%);
    border-bottom:1px solid var(--jvr-line);
}

.jvr-cg-logo-wrap{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:16px;
    border-radius:22px;
    background:#07111f;
    box-shadow:0 16px 28px rgba(7,17,31,.18);
}

.jvr-cg-logo{
    max-width:220px;
    width:100%;
    height:auto;
    display:block;
}

.jvr-cg-eyebrow,
.jvr-cg-banner-kicker{
    display:inline-flex;
    align-items:center;
    margin-bottom:10px;
    padding:6px 12px;
    border-radius:999px;
    background:#e8f3ff;
    color:var(--jvr-blue);
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.02em;
}

.jvr-cg-hero h2,
.jvr-cg-banner h2{
    margin:0 0 10px;
    font-size:34px;
    line-height:1.08;
    letter-spacing:-.02em;
}

.jvr-cg-hero p,
.jvr-cg-legal,
.jvr-cg-panel-intro,
.jvr-cg-banner p,
.jvr-cg-banner li,
.jvr-cg-side-help,
.jvr-cg-edu{
    color:var(--jvr-muted);
}

.jvr-cg-hero-pills{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:14px;
}

.jvr-cg-hero-pills span{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:6px 12px;
    border-radius:999px;
    background:#eef6ff;
    color:#14436f;
    border:1px solid #d3e7ff;
    font-size:13px;
    font-weight:700;
}

.jvr-cg-banner{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:24px;
    align-items:stretch;
    padding:28px 32px;
    border-radius:26px;
    background:
        radial-gradient(circle at top right,rgba(255,122,89,.18) 0,rgba(255,122,89,0) 28%),
        linear-gradient(135deg,#0f172a 0%,#123a69 58%,#0f6fc6 100%);
    color:#fff;
    box-shadow:0 20px 50px rgba(15,23,42,.16);
}

.jvr-cg-banner .jvr-cg-banner-copy,
.jvr-cg-banner .jvr-cg-banner-panel{
    position:relative;
    z-index:1;
}

.jvr-cg-banner h2,
.jvr-cg-banner p,
.jvr-cg-banner li{
    color:#fff;
}

.jvr-cg-banner-list{
    margin:16px 0 0;
    padding-left:18px;
}

.jvr-cg-banner-list li + li{
    margin-top:8px;
}

.jvr-cg-banner-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:20px;
}

.jvr-cg-banner-panel{
    display:flex;
    flex-direction:column;
    gap:12px;
    justify-content:center;
}

.jvr-cg-banner-stat,
.jvr-cg-banner-note{
    padding:16px 18px;
    border-radius:18px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(10px);
}

.jvr-cg-banner-stat span{
    display:block;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:rgba(255,255,255,.72);
}

.jvr-cg-banner-stat strong{
    display:block;
    margin-top:4px;
    font-size:30px;
    line-height:1.05;
}

.jvr-cg-banner-note{
    font-size:14px;
    line-height:1.45;
}

.jvr-cg-notice{
    margin:22px 32px 0;
    padding:14px 16px;
    border-radius:16px;
    background:#eef6ff;
    border:1px solid #cfe5ff;
    color:#12345a;
}

.jvr-cg-mode-tabs{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin:22px 32px;
}

.jvr-cg-mode,
.jvr-cg-secondary{
    min-height:44px;
    padding:10px 16px;
    border-radius:999px;
    border:1px solid #bfd1e5;
    background:#fff;
    color:var(--jvr-ink);
    font-weight:900;
    cursor:pointer;
    box-shadow:0 2px 8px rgba(15,23,42,.04);
}

.jvr-cg-mode.is-active{
    background:linear-gradient(135deg,var(--jvr-blue),var(--jvr-blue-2));
    color:#fff;
    border-color:transparent;
}

.jvr-cg-panel{
    display:none;
    padding:0 32px 28px;
}

.jvr-cg-panel.is-active{
    display:block;
}

.jvr-cg-step{
    display:flex;
    gap:12px;
    align-items:flex-start;
    margin:24px 0 12px;
}

.jvr-cg-step-number{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:34px;
    height:34px;
    border-radius:12px;
    background:linear-gradient(135deg,var(--jvr-blue),#38a7e8);
    color:#fff;
    font-weight:900;
}

.jvr-cg-step h3,
.jvr-cg-form h3,
.jvr-cg-banner h2{
    margin:0 0 4px;
    font-size:21px;
}

.jvr-cg-step p{
    margin:0;
    color:var(--jvr-muted);
}

.jvr-cg-grid,
.jvr-cg-tramo-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin:14px 0 18px;
}

.jvr-cg-form label,
.jvr-cg-tramo label{
    display:flex;
    flex-direction:column;
    gap:7px;
    font-weight:800;
}

.jvr-cg-form input,
.jvr-cg-form select,
.jvr-cg-tramo input,
.jvr-cg-tramo select{
    min-height:48px;
    border:1px solid #cbd8e8;
    border-radius:14px;
    padding:10px 13px;
    font-size:16px;
    background:#fff;
    color:var(--jvr-ink);
    box-shadow:0 2px 6px rgba(15,23,42,.03);
}

.jvr-cg-help{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:20px;
    height:20px;
    margin-left:5px;
    border-radius:50%;
    background:#e8f3ff;
    color:var(--jvr-blue);
    font-size:12px;
    font-weight:900;
    cursor:help;
}

.jvr-cg-help:hover:after,
.jvr-cg-help:focus:after{
    content:attr(data-help);
    position:absolute;
    z-index:50;
    left:50%;
    bottom:135%;
    transform:translateX(-50%);
    width:min(360px,82vw);
    padding:11px 13px;
    border-radius:12px;
    background:#0f172a;
    color:#fff;
    font-size:13px;
    line-height:1.35;
    font-weight:500;
    box-shadow:0 10px 20px rgba(15,23,42,.25);
}

.jvr-cg-button,
.jvr-cg-whatsapp{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:12px 22px;
    border-radius:14px;
    border:none;
    background:linear-gradient(135deg,var(--jvr-blue),var(--jvr-blue-2));
    color:#fff!important;
    font-weight:900;
    text-decoration:none!important;
    cursor:pointer;
    box-shadow:0 10px 18px rgba(15,111,198,.20);
}

.jvr-cg-secondary-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:12px 22px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.35);
    background:rgba(255,255,255,.08);
    color:#fff!important;
    font-weight:900;
    text-decoration:none!important;
}

.jvr-cg-whatsapp{
    margin:18px 32px 0;
    background:linear-gradient(135deg,#16a085,var(--jvr-ok));
}

.jvr-cg-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:16px;
}

.jvr-cg-tramos-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    gap:20px;
}

.jvr-cg-side-help,
.jvr-cg-edu{
    padding:18px;
    border-radius:18px;
    background:#fff;
    border:1px solid var(--jvr-line);
    box-shadow:0 8px 20px rgba(15,23,42,.05);
    height:max-content;
}

.jvr-cg-side-help ol,
.jvr-cg-banner ul{
    margin:0;
}

.jvr-cg-tramo{
    margin:16px 0;
    padding:18px;
    border:1px solid var(--jvr-line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 20px rgba(15,23,42,.04);
}

.jvr-cg-tramo-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.jvr-cg-remove-tramo{
    border:1px solid #fecaca;
    background:#fff5f5;
    color:#b91c1c;
    border-radius:999px;
    padding:6px 12px;
    font-weight:900;
    cursor:pointer;
}

.jvr-cg-wide{
    grid-column:span 3;
}

.jvr-cg-result{
    margin:24px 32px 0;
}

.jvr-cg-summary{
    padding:18px;
    border:1px solid #dbeafe;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 20px rgba(15,23,42,.05);
}

.jvr-cg-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.jvr-cg-summary-card{
    padding:16px;
    border-radius:18px;
    background:#f8fbff;
    border:1px solid #e2eefb;
}

.jvr-cg-summary-card.is-highlight{
    background:linear-gradient(135deg,#eef6ff 0%,#ffffff 100%);
    border-color:#cfe5ff;
}

.jvr-cg-summary-card span{
    display:block;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#5b718b;
}

.jvr-cg-summary-card strong{
    display:block;
    margin-top:6px;
    font-size:28px;
    line-height:1.05;
}

.jvr-cg-summary-card small{
    display:block;
    margin-top:6px;
    color:var(--jvr-muted);
}

.jvr-cg-summary-notes{
    margin:14px 0 0;
    padding-left:20px;
}

.jvr-cg-summary-notes li + li{
    margin-top:6px;
}

.jvr-cg-group{
    margin-top:18px;
    padding:18px;
    border-radius:18px;
    border:1px solid var(--jvr-line);
    background:#fff;
    box-shadow:0 8px 20px rgba(15,23,42,.04);
}

.jvr-cg-group-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
    margin-bottom:14px;
}

.jvr-cg-group-kicker{
    display:inline-flex;
    margin-bottom:6px;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:var(--jvr-blue);
}

.jvr-cg-group h4{
    margin:0;
    font-size:18px;
}

.jvr-cg-group-total{
    font-size:18px;
    font-weight:900;
    color:var(--jvr-ink);
    white-space:nowrap;
}

.jvr-cg-group-items{
    display:grid;
    gap:12px;
}

.jvr-cg-item{
    display:grid;
    grid-template-columns:minmax(0,1fr) 180px;
    gap:14px;
    align-items:stretch;
    padding:16px;
    border-radius:16px;
    background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
    border:1px solid #e2eefb;
}

.jvr-cg-item.is-unpriced{
    border-color:#ffd89a;
    background:linear-gradient(180deg,#fffdf7 0%,#fffaf0 100%);
}

.jvr-cg-item-title{
    font-size:17px;
    font-weight:900;
    line-height:1.2;
}

.jvr-cg-item-main p{
    margin:6px 0 10px;
    color:var(--jvr-muted);
}

.jvr-cg-item-meta{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.jvr-cg-item-meta span{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:4px 10px;
    border-radius:999px;
    background:#eef6ff;
    border:1px solid #d3e7ff;
    font-size:13px;
    font-weight:800;
    color:#14436f;
}

.jvr-cg-item-price{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:14px;
    border-radius:14px;
    background:#f8fbff;
    border:1px solid #e2eefb;
    text-align:right;
}

.jvr-cg-item-price span{
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#5b718b;
}

.jvr-cg-item-price strong{
    display:block;
    margin-top:4px;
    font-size:22px;
}

.jvr-cg-item-price small{
    display:block;
    margin-top:4px;
    color:var(--jvr-muted);
}

.jvr-cg-tramos-result{
    margin-top:18px;
    padding:18px;
    border-radius:18px;
    border:1px solid var(--jvr-line);
    background:#fff;
    box-shadow:0 8px 20px rgba(15,23,42,.04);
}

.jvr-cg-tramo-cards{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.jvr-cg-tramo-card{
    padding:16px;
    border-radius:16px;
    border:1px solid #e2eefb;
    background:#f8fbff;
}

.jvr-cg-tramo-card h5{
    margin:0 0 6px;
    font-size:17px;
}

.jvr-cg-tramo-card p{
    margin:0 0 10px;
    color:var(--jvr-muted);
}

.jvr-cg-tramo-mini{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:8px;
}

.jvr-cg-tramo-mini span{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:4px 10px;
    border-radius:999px;
    background:#eef6ff;
    border:1px solid #d3e7ff;
    font-size:13px;
    font-weight:800;
    color:#14436f;
}

.jvr-cg-tramo-card small{
    color:var(--jvr-muted);
}

.jvr-cg-total{
    margin-top:18px;
    padding:18px;
    border-radius:18px;
    background:#ecfdf5;
    border:1px solid #bbf7d0;
    font-size:18px;
    font-weight:700;
}

.jvr-cg-warnings{
    margin-top:18px;
    padding:16px 18px;
    border-left:5px solid var(--jvr-warn);
    background:#fffbeb;
    border-radius:14px;
}

.jvr-cg-warnings h4{
    margin:0 0 8px;
}

.jvr-cg-warnings ul{
    margin:0;
    padding-left:20px;
}

.jvr-cg-legal{
    padding:18px 32px 28px;
    font-size:14px;
}

@media (max-width: 980px){
    .jvr-cg-hero,
    .jvr-cg-banner{
        grid-template-columns:1fr;
        text-align:center;
    }

    .jvr-cg-logo-wrap{
        max-width:260px;
        margin:auto;
    }

    .jvr-cg-grid,
    .jvr-cg-tramo-grid,
    .jvr-cg-summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .jvr-cg-wide{
        grid-column:span 2;
    }

    .jvr-cg-tramos-layout{
        grid-template-columns:1fr;
    }

    .jvr-cg-tramo-cards{
        grid-template-columns:1fr;
    }
}

@media (max-width: 720px){
    .jvr-cg-wrapper{
        margin:12px;
        border-radius:18px;
    }

    .jvr-cg-hero,
    .jvr-cg-panel,
    .jvr-cg-notice,
    .jvr-cg-mode-tabs,
    .jvr-cg-result,
    .jvr-cg-whatsapp,
    .jvr-cg-legal,
    .jvr-cg-banner{
        padding-left:18px;
        padding-right:18px;
        margin-left:0;
        margin-right:0;
    }

    .jvr-cg-grid,
    .jvr-cg-tramo-grid,
    .jvr-cg-summary-grid{
        grid-template-columns:1fr;
    }

    .jvr-cg-wide{
        grid-column:span 1;
    }

    .jvr-cg-hero h2,
    .jvr-cg-banner h2{
        font-size:26px;
    }

    .jvr-cg-button,
    .jvr-cg-whatsapp,
    .jvr-cg-secondary,
    .jvr-cg-secondary-link{
        width:100%;
    }

    .jvr-cg-item{
        grid-template-columns:1fr;
    }

    .jvr-cg-item-price{
        text-align:left;
    }

    .ast-scroll-top-icon.ast-scroll-to-top-right,
    #ast-scroll-top{
        display:none !important;
    }
}

.jvr-cg-field-help{
    display:block;
    margin-top:4px;
    color:#64748b;
    font-size:13px;
    line-height:1.35;
    font-weight:500;
}
