.detalle-paquete{
    padding:70px 0;
    background:
        radial-gradient(ellipse at top left, rgba(45,179,74,.08), transparent 45%),
        radial-gradient(ellipse at bottom right, rgba(20,99,70,.06), transparent 40%),
        linear-gradient(180deg, #f3f7f4 0%, #eef3f0 100%);
}

.detalle-paquete-clean{
    padding-top:36px;
}

.detalle-intro{
    position:relative;
    margin-bottom:28px;
    padding:22px 26px 26px;
    border-radius:22px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.96) 0%, rgba(240,249,243,.98) 100%);
    border:1px solid rgba(20,99,70,.12);
    box-shadow:0 14px 34px rgba(16,40,28,.07);
    overflow:hidden;
}

.detalle-intro::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:5px;
    background:linear-gradient(180deg, var(--verde-vivo), var(--verde-oscuro));
}

.detalle-intro::after{
    content:"";
    position:absolute;
    right:-40px;
    top:-40px;
    width:160px;
    height:160px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(45,179,74,.14), transparent 70%);
    pointer-events:none;
}

.detalle-topbar{
    position:relative;
    z-index:1;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:18px;
}

.detalle-back{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 14px;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(20,99,70,.14);
    color:var(--verde-oscuro);
    font-weight:600;
    font-size:.92rem;
    transition:.2s ease;
}

.detalle-back:hover{
    background:var(--verde);
    border-color:var(--verde);
    color:#fff;
}

.detalle-back-ico{
    font-size:1.05rem;
    line-height:1;
}

.detalle-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 14px;
    border-radius:999px;
    background:linear-gradient(135deg, #e8f5ec, #dff3e6);
    color:var(--verde-oscuro);
    font-size:.85rem;
    font-weight:700;
    letter-spacing:.01em;
    border:1px solid rgba(20,99,70,.12);
}

.af-ico-chip{
    width:16px;
    height:16px;
    color:var(--verde);
}

.detalle-heading{
    position:relative;
    z-index:1;
    margin:0;
    padding-left:4px;
}

.detalle-kicker{
    margin:0 0 8px;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--verde);
}

.detalle-heading h1{
    font-family:"Source Serif 4", Georgia, serif;
    font-size:clamp(2rem, 4vw, 2.85rem);
    color:var(--verde-oscuro);
    margin:0 0 12px;
    letter-spacing:-.02em;
    line-height:1.1;
}

.detalle-lead{
    margin:0;
    color:#4a5a52;
    max-width:640px;
    font-size:1.05rem;
    line-height:1.6;
    padding-left:14px;
    border-left:2px solid rgba(45,179,74,.35);
}

@media(max-width:600px){
    .detalle-intro{
        padding:18px 16px 20px 18px;
    }

    .detalle-topbar{
        flex-direction:column;
        align-items:flex-start;
    }
}

.detalle-title{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
    font-family:"Source Serif 4", Georgia, serif;
    color:var(--verde-oscuro);
    font-weight:700;
    font-size:1.35rem;
}

.detalle-title-center{
    justify-content:center;
}

.af-ico{
    display:inline-flex;
    width:22px;
    height:22px;
    color:var(--verde);
    flex-shrink:0;
}

.af-ico svg{
    width:100%;
    height:100%;
    display:block;
}

.af-ico-lg{
    width:28px;
    height:28px;
    color:#fff;
}

.af-ico-inline{
    width:18px;
    height:18px;
    vertical-align:-3px;
    margin-right:4px;
}

.incluye-icons{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:14px;
    margin-bottom:28px;
}

.incluye-icon-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    text-align:center;
    padding:18px 12px;
    border-radius:16px;
    background:#fff;
    border:1px solid rgba(20,99,70,.1);
    box-shadow:0 8px 22px rgba(16,40,28,.05);
}

.incluye-icon-item .af-ico{
    width:48px;
    height:48px;
    border-radius:14px;
    background:linear-gradient(145deg, var(--verde-vivo), var(--verde-oscuro));
    color:#fff;
    display:grid;
    place-items:center;
    padding:10px;
}

.incluye-icon-item .af-ico svg{
    width:24px;
    height:24px;
}

.incluye-icon-item span{
    font-size:.88rem;
    font-weight:600;
    color:#334038;
    line-height:1.35;
}

@media(max-width:900px){
    .incluye-icons{
        grid-template-columns:repeat(2, 1fr);
    }
}

@media(max-width:520px){
    .incluye-icons{
        grid-template-columns:1fr;
    }
}

.detalle-grid{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:28px;
    align-items:start;
}

.detalle-main,
.detalle-sidebar{
    display:flex;
    flex-direction:column;
    gap:22px;
}

.detalle-card{
    background:rgba(255,255,255,.92);
    border:1px solid rgba(20,99,70,.08);
    border-radius:20px;
    padding:28px;
    box-shadow:0 12px 32px rgba(16,40,28,.08);
    backdrop-filter:blur(6px);
}

.detalle-card h2:not(.detalle-title),
.detalle-card h3{
    margin-bottom:18px;
    font-family:"Source Serif 4", Georgia, serif;
    color:var(--verde-oscuro);
    font-weight:700;
    letter-spacing:-.01em;
}

.salida-card h3{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
}

.salida-fechas,
.salida-precio{
    display:flex;
    align-items:center;
    gap:6px;
}

.detalle-item{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:14px 0;
    border-bottom:1px solid rgba(20,99,70,.1);
}

.detalle-item:last-child{
    border-bottom:none;
}

.detalle-item strong{
    color:var(--charcoal);
    font-weight:600;
}

.detalle-item span{
    color:#3d4a42;
    text-align:right;
}

.detalle-lista{
    padding-left:0;
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:12px;
}

.detalle-lista li{
    position:relative;
    padding-left:28px;
    color:#334038;
}

.detalle-lista li::before{
    content:"";
    position:absolute;
    left:0;
    top:.45em;
    width:12px;
    height:12px;
    border-radius:50%;
    background:linear-gradient(135deg, var(--verde-vivo), var(--verde-oscuro));
    box-shadow:0 0 0 3px rgba(45,179,74,.18);
}

.detalle-importante{
    color:#3d4a42;
    margin-bottom:14px;
    line-height:1.65;
}

.detalle-importante:last-child{
    margin-bottom:0;
}

.precio-card{
    text-align:center;
    background:
        linear-gradient(160deg, rgba(45,179,74,.08), transparent 55%),
        #fff;
    border:1px solid rgba(45,179,74,.18);
}

.precio-label{
    display:block;
    color:#67766c;
    margin-bottom:10px;
    font-size:.95rem;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.precio{
    font-family:"Source Serif 4", Georgia, serif;
    font-size:2.4rem;
    font-weight:700;
    color:var(--verde-oscuro);
    margin-bottom:12px;
    letter-spacing:-.02em;
}

.precio-consulta{
    font-size:1.8rem;
}

.btn-full{
    width:100%;
    justify-content:center;
    text-align:center;
    margin-top:8px;
}

.btn-secondary-solid{
    display:inline-block;
    padding:14px 24px;
    border-radius:999px;
    font-weight:700;
    background:#eef6f0;
    color:var(--verde-oscuro);
    border:1px solid rgba(20,99,70,.18);
    transition:.25s ease;
}

.btn-secondary-solid:hover{
    background:var(--verde);
    color:#fff;
    border-color:var(--verde);
}

.detalle-card-media{
    padding:12px;
}

.detalle-imagen{
    width:100%;
    border-radius:14px;
    display:block;
    aspect-ratio:4/3;
    object-fit:cover;
}

.detalle-flyer{
    aspect-ratio:auto;
    max-height:720px;
    object-fit:contain;
    background:#f3f7f4;
}

.salidas-public{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.salida-card{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:16px 18px;
    border-radius:14px;
    background:#f7fbf8;
    border:1px solid rgba(20,99,70,.12);
}

.salida-card h3{
    margin:0 0 4px;
    font-size:1.05rem;
    color:var(--verde-oscuro);
    font-family:"Outfit", sans-serif;
    font-weight:600;
}

.salida-fechas{
    margin:0;
    color:#4a5a52;
    font-size:.95rem;
}

.salida-precio{
    margin:6px 0 0;
    font-weight:700;
    color:var(--verde-oscuro);
    font-size:1.1rem;
}

.salida-card .btn{
    flex-shrink:0;
    padding:11px 18px;
}

.salida-card.is-agotado{
    opacity:.72;
    background:#f5f5f5;
}

.salida-precio.is-agotado{
    color:#c0392b;
}

.btn-agotado{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:11px 18px;
    border-radius:999px;
    font-weight:700;
    background:#e8e8e8;
    color:#777;
    cursor:default;
}

@media(max-width:700px){
    .salida-card{
        flex-direction:column;
        align-items:stretch;
    }

    .salida-card .btn{
        width:100%;
        text-align:center;
    }
}

.detalle-empty{
    text-align:center;
    background:#fff;
    border-radius:20px;
    padding:48px 28px;
    box-shadow:var(--sombra);
}

.detalle-empty h2{
    font-family:"Source Serif 4", Georgia, serif;
    color:var(--verde-oscuro);
    margin-bottom:12px;
}

.detalle-empty p{
    color:#566b5f;
    margin-bottom:24px;
}

.hero-detalle .hero-content h2{
    font-family:"Source Serif 4", Georgia, serif;
}

@media(max-width:900px){
    .detalle-grid{
        grid-template-columns:1fr;
    }

    .detalle-item{
        flex-direction:column;
        gap:6px;
    }

    .detalle-item span{
        text-align:left;
    }
}
