/* CTAs de planes — móvil y PC (evita solapamiento táctil en tarjetas apiladas) */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
body.df-planes-page,
body.df-landing-gourmet-page,
body.df-landing-ventas-page {
    overflow-x: hidden;
    word-wrap: break-word;
    overflow-wrap: anywhere;
}

.df-plan-card {
    border-radius: 15px;
    position: relative;
    isolation: isolate;
    max-width: 100%;
}
.df-plan-card--featured {
    background: #ffffff;
}
@media (min-width: 992px) {
    .df-plan-card--featured {
        transform: scale(1.03);
        z-index: 2;
    }
}
@media (max-width: 991.98px) {
    .df-plan-card--featured {
        transform: none;
        z-index: auto;
    }
    .df-plan-card .card-body {
        padding: 1.75rem 1.25rem !important;
    }
}
.df-plan-pay-btn,
a.df-plan-pay-btn,
button.df-plan-pay-btn {
    position: relative;
    z-index: 5;
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    line-height: 1.3;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(235, 93, 50, 0.15);
    cursor: pointer;
    text-decoration: none !important;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    box-sizing: border-box;
}
.df-plan-pay-btn:active {
    opacity: 0.92;
}
.df-strip-planes__inner a {
    min-height: 44px;
    touch-action: manipulation;
    position: relative;
    z-index: 2;
}
#plan-gratis,
#plan-pro,
#plan-gourmet {
    scroll-margin-top: 24px;
}

/* —— planes.php —— */
.df-planes-page-title {
    color: #2c3e50;
    font-weight: 800;
    font-size: clamp(1.45rem, 5.5vw, 2.5rem);
    line-height: 1.2;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}
.df-planes-page-lead {
    font-size: clamp(0.95rem, 3.8vw, 1.2rem);
    line-height: 1.55;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}
.df-planes-card-header-text {
    display: block;
    line-height: 1.35;
    letter-spacing: 0.2px !important;
    font-size: clamp(0.72rem, 3.2vw, 0.95rem) !important;
    word-break: break-word;
}
.df-planes-card-header-sub {
    font-size: clamp(0.68rem, 2.8vw, 0.78rem) !important;
}
.df-planes-card-body h2 {
    font-size: clamp(1.65rem, 7vw, 2rem);
    line-height: 1.15;
}
.df-planes-card-body h2 small {
    font-size: clamp(0.8rem, 3.5vw, 1rem) !important;
}
.df-planes-alert {
    font-size: clamp(0.82rem, 3.4vw, 0.92rem);
    line-height: 1.6;
}
.df-planes-faq {
    font-size: clamp(0.88rem, 3.6vw, 1rem);
    line-height: 1.55;
}
.df-planes-faq p {
    margin-bottom: 0.75rem;
}
.df-planes-footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.35rem 0.5rem;
    line-height: 1.5;
}
.df-planes-footer-links a {
    white-space: nowrap;
}
.df-planes-footer-links .df-planes-footer-sep {
    color: #94a3b8;
}

@media (max-width: 575.98px) {
    .df-planes-page .container {
        padding-left: max(0.85rem, env(safe-area-inset-left, 0px));
        padding-right: max(0.85rem, env(safe-area-inset-right, 0px));
    }
    .df-plan-card .card-body {
        padding: 1.35rem 1rem !important;
    }
    .df-plan-card .card-header {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }
    .df-plan-pay-btn {
        font-size: 0.88rem;
        padding-left: 0.65rem !important;
        padding-right: 0.65rem !important;
    }
    .df-planes-card-body ul li {
        font-size: 0.92rem;
        line-height: 1.45;
        padding-right: 0.15rem;
    }
}

/* —— landing_gourmet_upsell.php —— */
.df-landing-gourmet-page .hero {
    padding: clamp(2.5rem, 10vw, 6.25rem) 1rem;
    border-radius: 0 0 clamp(1.25rem, 5vw, 3.125rem) clamp(1.25rem, 5vw, 3.125rem);
}
.df-landing-gourmet-page .hero h1 {
    font-size: clamp(1.55rem, 6.5vw, 3rem);
    line-height: 1.2;
    padding: 0 0.25rem;
}
.df-landing-gourmet-page .hero .lead {
    font-size: clamp(0.92rem, 3.8vw, 1.25rem);
    line-height: 1.55;
    padding: 0 0.35rem;
}
.df-landing-gourmet-hero-pills {
    gap: 0.35rem;
}
.df-landing-gourmet-hero-pills > div {
    font-size: clamp(0.78rem, 3.2vw, 0.95rem);
    padding: 0.35rem 0.65rem !important;
    border-right: none !important;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 999px;
}
.df-landing-gourmet-nav-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.35rem;
    font-size: clamp(0.82rem, 3.4vw, 0.95rem);
}
.df-landing-gourmet-nav-top .df-landing-sep {
    display: none;
}
.df-landing-price-box {
    border: 3px solid #EB5D32;
    border-radius: clamp(1rem, 4vw, 1.875rem);
    background: white;
    position: relative;
    overflow: hidden;
    max-width: 100%;
}
.df-landing-price-box .df-landing-badge-vip {
    position: absolute;
    top: 14px;
    right: -36px;
    background: #EB5D32;
    color: white;
    padding: 5px 40px;
    transform: rotate(45deg);
    font-weight: bold;
    letter-spacing: 1px;
    font-size: 0.72rem;
    z-index: 2;
}
.df-landing-price-box .df-landing-price-main {
    font-size: clamp(1.75rem, 8vw, 2.5rem);
    line-height: 1.1;
    word-break: break-word;
}
.df-landing-price-box .df-landing-price-anual {
    font-size: clamp(0.88rem, 3.8vw, 1.1rem) !important;
    line-height: 1.4;
    word-break: break-word;
}
.df-landing-price-box .badge-success {
    white-space: normal;
    line-height: 1.35;
    max-width: 100%;
}
.df-landing-gourmet-page .btn-anual {
    font-size: clamp(0.82rem, 3.6vw, 1.2rem);
    padding: 12px 10px;
    white-space: normal;
    line-height: 1.3;
    text-transform: none;
}
.df-landing-gourmet-page .btn-mensual {
    font-size: clamp(0.82rem, 3.5vw, 1rem);
    white-space: normal;
    line-height: 1.3;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.gourmet-demo-section {
    padding: clamp(1.25rem, 5vw, 2.5rem) clamp(0.85rem, 4vw, 1.5rem) !important;
}
.gourmet-demo-checklist li {
    font-size: clamp(0.84rem, 3.5vw, 0.95rem);
    line-height: 1.45;
    padding-right: 0.25rem;
}

.df-landing-gourmet-page .feature-card h4 {
    font-size: clamp(1rem, 4.2vw, 1.25rem);
    line-height: 1.3;
}
.df-landing-gourmet-page .feature-card p {
    font-size: clamp(0.86rem, 3.5vw, 1rem);
    line-height: 1.5;
}

@media (max-width: 575.98px) {
    .df-landing-gourmet-page .feature-card {
        padding: 1.15rem !important;
    }
    .df-landing-gourmet-page .container {
        padding-left: max(0.85rem, env(safe-area-inset-left, 0px));
        padding-right: max(0.85rem, env(safe-area-inset-right, 0px));
    }
    .df-landing-price-box {
        padding: 1.35rem 0.85rem !important;
    }
    .df-landing-price-box .df-landing-badge-vip {
        position: static;
        transform: none;
        display: inline-block;
        margin-bottom: 0.75rem;
        border-radius: 999px;
        padding: 6px 14px;
        right: auto;
        top: auto;
        letter-spacing: 0.08em;
    }
    .df-landing-price-box h2 {
        font-size: 1.15rem;
        line-height: 1.25;
    }
    .df-landing-gourmet-page footer {
        border-radius: 1.5rem 1.5rem 0 0 !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}
