/* ============================================================
   PyDel Registration — Hub Cuba Style Override
   ============================================================ */

/* ===== HIDE ORIGINAL LAYOUT HEADER/FOOTER ===== */
body > header { display: none !important; }
footer.footer-bg { display: none !important; }

/* ===== VARIABLES ===== */
:root {
    --base-1: #0038A8 !important;
    --base-rgb: 0,56,168 !important;
    --pydel-primary: #0038A8;
    --pydel-primary-dark: #002d85;
    --pydel-primary-light: #e8eef8;
    --pydel-accent: #00C853;
    --pydel-text: #1a1a2e;
    --pydel-text-light: #6b7280;
    --pydel-bg-light: #f8fafc;
    --pydel-radius: 16px;
    --pydel-radius-sm: 10px;
    --pydel-shadow: 0 4px 24px rgba(0,56,168,.08);
    --pydel-shadow-lg: 0 12px 48px rgba(0,56,168,.12);
    --pydel-transition: all .35s cubic-bezier(.4,0,.2,1);
}

/* ===== FONT ===== */
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
    color: var(--pydel-text);
    -webkit-font-smoothing: antialiased;
}

/* ===== PYDEL NAV ===== */
.pydel-nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(0,56,168,.06);
    transition: var(--pydel-transition);
}
.pydel-nav.scrolled { box-shadow: var(--pydel-shadow); }
.pydel-nav-inner {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 24px; max-width: 1200px; margin: 0 auto;
}
.pydel-nav-logo {
    display: flex; align-items: center; gap: 10px;
    font-weight: 800; font-size: 1.3rem; color: var(--pydel-primary);
    text-decoration: none;
}
.pydel-nav-logo img { height: 36px; width: 36px; object-fit: contain; }
.pydel-nav-logo .country-tag { font-weight: 400; color: var(--pydel-text-light); font-size: .85rem; }
.pydel-nav-links { display: flex; gap: 28px; align-items: center; }
.pydel-nav-links a {
    font-weight: 500; font-size: .9rem; color: var(--pydel-text-light);
    text-decoration: none; transition: color .3s;
}
.pydel-nav-links a:hover { color: var(--pydel-primary); }
.pydel-nav-cta {
    background: var(--pydel-primary); color: #fff !important; padding: 10px 24px;
    border-radius: 50px; font-weight: 600; font-size: .9rem;
    transition: var(--pydel-transition); text-decoration: none;
}
.pydel-nav-cta:hover {
    background: var(--pydel-primary-dark); color: #fff !important;
    transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,56,168,.3);
}
.pydel-hamburger {
    display: none; flex-direction: column; gap: 5px; cursor: pointer;
    background: none; border: none; padding: 5px;
}
.pydel-hamburger span {
    width: 26px; height: 2.5px; background: var(--pydel-text);
    border-radius: 2px; transition: var(--pydel-transition); display: block;
}

/* ===== SPACER ===== */
.pydel-spacer { height: 90px; }

/* ===== FORM OVERRIDES ===== */
.__card, .card.__card {
    border: none !important;
    border-radius: var(--pydel-radius) !important;
    box-shadow: var(--pydel-shadow) !important;
}
.card-title { color: var(--pydel-text) !important; }

.step__item.active .shapes,
.step__item.current .shapes {
    background: var(--pydel-primary) !important;
    border-color: var(--pydel-primary) !important;
}
.step__item.active, .step__item.current { color: var(--pydel-primary) !important; }

.btn--primary, .btn-base, a.btn-base {
    background: var(--pydel-primary) !important;
    border-color: var(--pydel-primary) !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    padding: 12px 32px !important;
    transition: var(--pydel-transition) !important;
}
.btn--primary:hover, .btn-base:hover, a.btn-base:hover {
    background: var(--pydel-primary-dark) !important;
    border-color: var(--pydel-primary-dark) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,56,168,.3) !important;
}
.btn--reset { border-radius: 50px !important; padding: 12px 32px !important; }
.text-base, a.text-base { color: var(--pydel-primary) !important; }

.form-control:focus, .form-select:focus {
    border-color: var(--pydel-primary) !important;
    box-shadow: 0 0 0 .2rem rgba(0,56,168,.15) !important;
}

.__plan-item.active .inner-div,
.plan-check-item input:checked + .plan-check-item-inner {
    border-color: var(--pydel-primary) !important;
    background: var(--pydel-primary-light) !important;
}
.__plan-item .title { color: var(--pydel-primary) !important; }
.payment-item input:checked + .payment-item-inner { border-color: var(--pydel-primary) !important; }

.section-gap { padding-top: 40px !important; }
.landing-inline-1 { background: var(--pydel-bg-light) !important; min-height: calc(100vh - 200px); }

.step__header .title { color: var(--pydel-text) !important; font-weight: 700 !important; }
.register--title { color: var(--pydel-text) !important; }

/* Links override */
a:hover { color: var(--pydel-primary); }

/* ===== PYDEL FOOTER ===== */
.pydel-footer {
    background: var(--pydel-text); color: rgba(255,255,255,.7);
    padding: 60px 0 30px; margin-top: 40px;
}
.pydel-footer .pydel-f-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.pydel-footer-grid {
    display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 40px; margin-bottom: 40px;
}
.pydel-footer-brand h3 { color: #fff; font-size: 1.4rem; margin-bottom: 10px; }
.pydel-footer-brand p { font-size: .9rem; line-height: 1.7; }
.pydel-footer-col h4 {
    color: #fff; font-size: .9rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1px; margin-bottom: 16px;
}
.pydel-footer-col a {
    display: block; margin-bottom: 10px; font-size: .9rem;
    color: rgba(255,255,255,.7); text-decoration: none;
}
.pydel-footer-col a:hover { color: #fff; }
.pydel-footer-bottom {
    border-top: 1px solid rgba(255,255,255,.1); padding-top: 24px;
    display: flex; justify-content: space-between; font-size: .8rem;
}
.pydel-footer-bottom a { color: #4d8ee6; font-weight: 600; text-decoration: none; }

/* ===== RESPONSIVE ===== */
@media (max-width: 900px) {
    .pydel-nav-links { display: none; }
    .pydel-hamburger { display: flex; }
    .pydel-nav-links.show {
        display: flex !important; flex-direction: column;
        position: absolute; top: 70px; right: 24px;
        background: #fff; padding: 20px; border-radius: 12px;
        box-shadow: 0 8px 32px rgba(0,0,0,.12); gap: 16px; z-index: 999;
    }
    .pydel-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .pydel-footer-grid { grid-template-columns: 1fr; }
    .pydel-footer-bottom { flex-direction: column; gap: 8px; text-align: center; }
}

/* ===== PLAN CARDS — PyDel Override ===== */
.__plan-item {
    --primary-clr: var(--pydel-primary) !important;
    border-radius: var(--pydel-radius) !important;
    transition: var(--pydel-transition) !important;
    border: 2px solid transparent !important;
    overflow: hidden;
}
.__plan-item:hover {
    border-color: var(--pydel-primary) !important;
    box-shadow: var(--pydel-shadow) !important;
}
.__plan-item .title {
    color: var(--pydel-primary) !important;
}
.__plan-item .price {
    color: var(--pydel-text) !important;
}

/* Active plan card */
.__plan-item.active {
    background: var(--pydel-primary) !important;
    border-color: var(--pydel-primary-dark) !important;
    box-shadow: var(--pydel-shadow-lg) !important;
}
.__plan-item.active .title,
.__plan-item.active .price,
.__plan-item.active .day-count {
    color: #fff !important;
}
.__plan-item.active .btn--primary {
    background: var(--pydel-accent) !important;
    border-color: var(--pydel-accent) !important;
    color: #fff !important;
}
.__plan-item.active .inner-div::before {
    background: rgba(255,255,255,0.06) !important;
}

/* Payment method cards (comision vs suscripcion) */
.payment-item .payment-item-inner {
    border-radius: var(--pydel-radius-sm) !important;
    border: 2px solid #e5e7eb !important;
    transition: var(--pydel-transition) !important;
    background: #fff !important;
}
.payment-item .payment-item-inner:hover {
    border-color: rgba(0,56,168,.3) !important;
    box-shadow: var(--pydel-shadow) !important;
}
.payment-item input:checked + .payment-item-inner {
    border-color: var(--pydel-primary) !important;
    background: var(--pydel-primary-light) !important;
    box-shadow: 0 0 0 3px rgba(0,56,168,.12) !important;
}

/* General card override */
#business-plan-div .__card {
    border-radius: var(--pydel-radius) !important;
    border: none !important;
    box-shadow: var(--pydel-shadow) !important;
}
#business-plan-div .register--title {
    color: var(--pydel-text) !important;
    font-weight: 700 !important;
}

/* Subscription plan section */
#subscription-plan {
    margin-top: 16px;
}

/* ===== PLAN CARD FIX — dashed border + overflow + polish ===== */
.__plan-item,
.__plan-item .inner-div {
    border: none !important;
    border-style: solid !important;
    outline: none !important;
}
.__plan-item {
    background: #fff !important;
    border: 2px solid #e5e7eb !important;
    border-radius: var(--pydel-radius) !important;
    box-shadow: var(--pydel-shadow) !important;
    overflow: hidden !important;
}
.__plan-item .inner-div {
    overflow-y: auto !important;
    max-height: none !important;
    overflow: visible !important;
    border: none !important;
}
.__plan-item:hover {
    border-color: var(--pydel-primary) !important;
    transform: translateY(-2px);
    box-shadow: var(--pydel-shadow-lg) !important;
}

/* Active state */
.__plan-item.active {
    background: var(--pydel-primary) !important;
    border-color: var(--pydel-primary-dark) !important;
    transform: translateY(-4px);
}
.__plan-item.active .inner-div {
    color: #fff !important;
}

/* Info list clean */
.__plan-item .info {
    overflow: visible !important;
    max-height: none !important;
}
.__plan-item .info li {
    border-color: rgba(0,0,0,.06) !important;
}
.__plan-item.active .info li {
    border-color: rgba(255,255,255,.12) !important;
}

/* Price styling */
.__plan-item .price {
    color: var(--pydel-primary) !important;
    font-weight: 800 !important;
}
.__plan-item.active .price {
    color: #fff !important;
}

/* Day count pill */
.__plan-item .day-count {
    background: var(--pydel-primary-light) !important;
    color: var(--pydel-primary) !important;
    border-radius: 20px !important;
}
.__plan-item.active .day-count {
    background: rgba(255,255,255,.15) !important;
    color: #fff !important;
}

/* ===== PLAN CARD FIX v2 — inner-div background + contrast ===== */

/* Estado normal: fondo blanco, texto oscuro */
.__plan-item .inner-div {
    background: #fff !important;
    color: var(--pydel-text) !important;
}
.__plan-item .inner-div::before {
    display: none !important;
}
.__plan-item .title {
    color: var(--pydel-primary) !important;
    font-weight: 700 !important;
}
.__plan-item .price {
    color: var(--pydel-text) !important;
    font-weight: 800 !important;
}
.__plan-item .info li {
    color: var(--pydel-text) !important;
}
.__plan-item .info li i {
    color: var(--pydel-primary) !important;
}

/* Estado activo: fondo azul PyDel, texto blanco */
.__plan-item.active .inner-div {
    background: var(--pydel-primary) !important;
    color: #fff !important;
}
.__plan-item.active .title,
.__plan-item.active .price,
.__plan-item.active .day-count,
.__plan-item.active .info li {
    color: #fff !important;
}
.__plan-item.active .info li i {
    color: var(--pydel-accent) !important;
}
.__plan-item.active .day-count {
    background: rgba(255,255,255,.15) !important;
}

/* Check icons en estado activo */
.__plan-item.active .info li img.check { display: none !important; }
.__plan-item.active .info li img.check-white { display: inline-block !important; }
