 * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
            line-height: 1.6;
            color: #333;
            background: url("https://s1.elespanol.com/2020/06/03/curiosidades/curiosidades_494961313_153077119_1706x1280.jpg");
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
            min-height: 100vh;

        }

        body {
  font-size: 1.1em;
}

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px;
            background-color: rgba(255, 255, 255, 0.95);
            box-shadow: 0 0 30px rgba(0,0,0,0.2);
            backdrop-filter: blur(10px);
        }

        .header {
            text-align: center;
            margin-bottom: 30px;
            padding: 20px 0;
            background: white;
            border-radius: 10px;
        }

        .header h1 {
            font-size: 2.5rem;
            margin-bottom: 10px;
        }

        .header h1 .highlight {
            color: #4DB8DA;
        }

        .header h1 .dark {
            color: #193D70;
        }

.hero-section {
    background: linear-gradient(135deg, #4DB8DA, #00ACC1);
    padding: 40px;
    border-radius: 15px;
    margin-bottom: 40px;
    color: white;
    font-size: 1.1rem;
    line-height: 1.8;
    box-shadow: 0 10px 30px rgba(0,188,212,0.3);
    text-align: justify; /* opcional, para que quede alineado */
}

        .hero-content {
            flex: 1;
            font-size: 1.1rem;
            line-height: 1.8;
        }

        .hero-content strong {
            font-weight: bold;
        }

        .hero-image {
            flex: 1;
            text-align: center;
            position: relative;
        }

        .hero-image img {
            max-width: 100%;
            border-radius: 10px;
            box-shadow: 0 10px 25px rgba(0,0,0,0.2);
        }

        .plans-section {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 40px;
            margin-bottom: 40px;
            padding-left: 5%;
            padding-right: 5%;
        }

        .plan {
            background: white;
            border-radius: 15px;
            padding: 30px;
            box-shadow: 0 8px 25px rgba(0,0,0,0.15);
            border: 3px solid transparent;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            position: relative;
            overflow: hidden;
        }

        .plan::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 8px;
        }

        .plan1::before {
            background: #4DB8DA;
        }

        .plan2::before {
            background: #193D70;
        }

        .plan:hover {
            transform: translateY(-8px);
            box-shadow: 0 20px 40px rgba(0,0,0,0.2);
        }

        .plan1 {
            border-color: #4DB8DA;
        }

        .plan2 {
            border-color: #193D70;
        }

        .plan-header {
            display: flex;
            align-items: center;
            margin-bottom: 25px;
            gap: 15px;
        }

        .plan-number {
            padding: 15px 25px;
            border-radius: 10px;
            color: white;
            font-size: 1.5rem;
            font-weight: bold;
            text-shadow: 0 2px 4px rgba(0,0,0,0.2);
        }

        .plan1 .plan-number {
            background: #4DB8DA;
        }

        .plan2 .plan-number {
            background: #193D70;
        }

        .plan-subtitle {
            color: white;
            padding: 8px 15px;
            border-radius: 20px;
            font-size: 0.9rem;
            margin-left: auto;
            font-weight: bold;
        }

        .plan1 .plan-subtitle {
            background: #4DB8DA;
        }

        .plan2 .plan-subtitle {
            background: #193D70;
        }

        .plan-description {
            margin-bottom: 25px;
            font-size: 1rem;
            line-height: 1.7;
            color: #2c3e50;
        }

        .pricing-section {
            margin-bottom: 25px;
        }

        /* Plan 1 pricing title — celeste */
        .plan1 .pricing-title {
            background: rgba(77,184,218,0.12);
            color: #2a8aaa;
            border-left: 4px solid #4DB8DA;
            padding: 12px 15px;
            margin-bottom: 15px;
            font-weight: bold;
            border-radius: 5px;
        }

        /* Plan 2 pricing title — azul oscuro */
        .plan2 .pricing-title {
            background: rgba(25,61,112,0.10);
            color: #193D70;
            border-left: 4px solid #193D70;
            padding: 12px 15px;
            margin-bottom: 15px;
            font-weight: bold;
            border-radius: 5px;
        }

        .price-list {
            list-style: none;
            padding-left: 20px;
        }

        .price-list li {
            margin-bottom: 10px;
            position: relative;
            padding: 5px 0;
        }

        /* Bullet por defecto (plan 1) — celeste */
        .price-list li::before {
            content: "•";
            color: #4DB8DA;
            font-size: 1.5rem;
            position: absolute;
            left: -15px;
            font-weight: bold;
        }

        /* Bullet plan 2 — azul oscuro */
        .plan2 .price-list li::before {
            color: #193D70;
        }

        .price {
            font-weight: bold;
            color: #193D70;
            font-size: 1.1rem;
        }

        .benefits-section {
            margin-bottom: 25px;
        }

        /* Plan 1 benefits title — celeste */
        .plan1 .benefits-title {
            background: rgba(77,184,218,0.12);
            color: #2a8aaa;
            padding: 12px 15px;
            border-left: 4px solid #4DB8DA;
            margin-bottom: 15px;
            font-weight: bold;
            border-radius: 5px;
        }

        /* Plan 2 benefits title — azul oscuro */
        .plan2 .benefits-title {
            background: rgba(25,61,112,0.10);
            color: #193D70;
            padding: 12px 15px;
            border-left: 4px solid #193D70;
            margin-bottom: 15px;
            font-weight: bold;
            border-radius: 5px;
        }

        .benefits-list {
            list-style: none;
            padding-left: 20px;
        }

        .benefits-list li {
            margin-bottom: 12px;
            position: relative;
            padding-left: 25px;
            padding: 8px 0 8px 25px;
        }

        /* Plan 1 checkmarks — celeste */
        .plan1 .benefits-list li::before {
            content: "✓";
            color: #4DB8DA;
            font-weight: bold;
            position: absolute;
            left: 0;
            font-size: 1.2rem;
        }

        /* Plan 2 checkmarks — azul oscuro */
        .plan2 .benefits-list li::before {
            content: "✓";
            color: #193D70;
            font-weight: bold;
            position: absolute;
            left: 0;
            font-size: 1.2rem;
        }

        .cta-section {
            text-align: center;
            padding: 50px 40px;
            background: linear-gradient(135deg, #4DB8DA, #00ACC1);
            border-radius: 15px;
            position: relative;
            overflow: hidden;
        }

        .cta-section::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
            animation: shimmer 3s infinite;
        }

        @keyframes shimmer {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        .cta-button {
            background: linear-gradient(135deg, #193D70, #3F51B5);
            color: white;
            padding: 20px 60px;
            border: none;
            border-radius: 50px;
            font-size: 1.4rem;
            font-weight: bold;
            cursor: pointer;
            transition: all 0.3s ease;
            text-transform: uppercase;
            letter-spacing: 2px;
            position: relative;
            z-index: 1;
            box-shadow: 0 8px 20px rgba(30,58,138,0.4);
        }

        .cta-button:hover {
            background: linear-gradient(135deg, #3F51B5, #5C6BC0);
            transform: translateY(-3px);
            box-shadow: 0 12px 30px rgba(30,58,138,0.5);
        }

        .cta-button:active {
            transform: translateY(-1px);
        }

        @media (max-width: 768px) {
            .container {
                padding: 15px;
                margin: 10px;
            }
            
            .header h1 {
                font-size: 2rem;
            }
            .cta-button {
    position: relative;
    overflow: hidden;
}

.cta-button .ripple {
    position: absolute;
    width: 20px;
    height: 20px;
    background: rgba(255,255,255,0.5);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: ripple 0.6s ease-out;
}

@keyframes ripple {
    from {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
    to {
        transform: translate(-50%, -50%) scale(12);
        opacity: 0;
    }
}

            .hero-section {
                flex-direction: column;
                text-align: center;
                padding: 30px 20px;
            }
            
            .plans-section {
                grid-template-columns: 1fr;
                gap: 30px;
            }
            
            .plan {
                padding: 25px;
            }
            
            .plan-header {
                flex-direction: column;
                text-align: center;
                gap: 10px;
            }
            
            .plan-subtitle {
                margin-left: 0;
            }
            
            .cta-button {
                padding: 15px 40px;
                font-size: 1.2rem;
                letter-spacing: 1px;
            }
        }

        @media (max-width: 480px) {
            body {
                background-attachment: scroll;
            }
            
            .header h1 {
                font-size: 1.8rem;
            }
            
            .hero-section {
                padding: 25px 15px;
                font-size: 1rem;
            }
            
            .plan {
                padding: 20px;
            }
            
            .plan-number {
                padding: 12px 20px;
                font-size: 1.3rem;
            }
            
            .cta-button {
                padding: 15px 30px;
                font-size: 1.1rem;
            }
        }

        .heart-decoration {
            position: absolute;
            top: 15px;
            right: 15px;
            width: 35px;
            height: 35px;
            background: #e74c3c;
            transform: rotate(45deg);
            animation: heartbeat 2s infinite;
            box-shadow: 0 4px 8px rgba(231,76,60,0.3);
        }

        .heart-decoration::before,
        .heart-decoration::after {
            content: '';
            position: absolute;
            width: 35px;
            height: 35px;
            background: #e74c3c;
            border-radius: 50%;
        }

        .heart-decoration::before {
            top: -17px;
            left: 0;
        }

        .heart-decoration::after {
            left: -17px;
            top: 0;
        }

        @keyframes heartbeat {
            0%, 50%, 100% { transform: rotate(45deg) scale(1); }
            25%, 75% { transform: rotate(45deg) scale(1.15); }
        }

        .paw-prints {
            position: relative;
        }

        .paw-prints::after {
            content: "🐾";
            position: absolute;
            right: 15px;
            bottom: 15px;
            opacity: 0.2;
            font-size: 2rem;
        }

        /* Efectos adicionales */
        .container {
            animation: slideUp 0.8s ease-out;
        }

        @keyframes slideUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

.plan {
    backdrop-filter: blur(2px);
}

.plan:hover::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: radial-gradient(
        circle at top,
        rgba(255,255,255,0.15),
        transparent 70%
    );
    pointer-events: none;
}
body {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
.plan {
    transition:
        transform 0.35s cubic-bezier(.2,.8,.2,1),
        box-shadow 0.35s cubic-bezier(.2,.8,.2,1);
}
.cta-button::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,0.25),
        transparent
    );
    transform: translateX(-120%);
}

.cta-button:hover::after {
    animation: shine 1.2s ease;
}

@keyframes shine {
    to {
        transform: translateX(120%);
    }
}
.header h1 {
    text-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.petcross-section {
  padding: 80px 6%;
  background: linear-gradient(180deg, #ffffff, #f2f6fb);
}

.pc-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
  margin-bottom: 80px;
}

.pc-text {
  max-width: 520px;
}

.pc-badge {
  display: inline-block;
  background: #e6f3fb;
  color: #2c5fa3;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 14px;
  margin-bottom: 16px;
}

.pc-text h1 {
  font-size: 52px;
  font-weight: 600;
  margin-bottom: 6px;
}

.pc-text h2 {
  font-size: 22px;
  font-weight: 400;
  color: #4a6fa5;
  margin-bottom: 20px;
}

.pc-text p {
  font-size: 17px;
  color: #445066;
  margin-bottom: 30px;
}

.pc-btn {
  padding: 14px 36px;
  font-size: 16px;
  border-radius: 30px;
  border: none;
  background: #2c5fa3;
  color: white;
  cursor: pointer;
  transition: all 0.3s ease;
}

.pc-btn:hover {
  background: #254f8a;
  transform: translateY(-2px);
}

.pc-image img {
  max-width: 650px;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,0.15));
}

.pc-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 32px;
}

.pc-card {
  background: white;
  padding: 30px;
  border-radius: 24px;
  box-shadow: 0 15px 35px rgba(0,0,0,0.08);
}

.pc-card h3 {
  font-size: 20px;
  margin-bottom: 16px;
  color: #1f2a44;
}

.pc-card ul {
  list-style: none;
}

.pc-card li {
  padding-left: 18px;
  position: relative;
  margin-bottom: 10px;
  color: #445066;
}

.pc-card li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #2c5fa3;
}
.adquirir-btn {
  position: relative;
  padding: 14px 36px;
  border-radius: 999px;
  border: none;
  cursor: pointer;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #ffffff;
  background: #4DB8DA;
  box-shadow: 0 10px 25px rgba(77, 184, 218, 0.35);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.adquirir-btn::before { content: none; }

/* Plan 1 — celeste */
.adquirir-btn-1 {
  background: #4DB8DA;
  box-shadow: 0 10px 25px rgba(77, 184, 218, 0.35);
}
.adquirir-btn-1:hover {
  background: #3aa8cc;
  box-shadow: 0 16px 38px rgba(77, 184, 218, 0.45);
}

/* Plan 2 — azul oscuro */
.adquirir-btn-2 {
  background: #193D70;
  box-shadow: 0 10px 25px rgba(25, 61, 112, 0.35);
}
.adquirir-btn-2:hover {
  background: #142f58;
  box-shadow: 0 16px 38px rgba(25, 61, 112, 0.45);
}

.adquirir-btn:hover  { transform: translateY(-2px); }
.adquirir-btn:active { transform: translateY(0); }
.adquirir-btn:focus  { outline: none; }
/* FONDO OSCURO */
.mp-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

/* CAJA MODAL */
.mp-modal {
  background: #fff;
  width: 100%;
  max-width: 460px;
  padding: 30px;
  border-radius: 20px;
  position: relative;
}

/* CERRAR */
.mp-modal-close {
  position: absolute;
  top: 12px;
  right: 16px;
  border: none;
  background: none;
  font-size: 26px;
  cursor: pointer;
}

/* TITULO */
.mp-modal h2 {
  text-align: center;
  margin-bottom: 20px;
}

/* FORM */
.mp-form-group {
  margin-bottom: 15px;
}

.mp-form-group label {
  display: block;
  font-size: 14px;
  margin-bottom: 6px;
}

.mp-form-group input {
  width: 100%;
  padding: 12px;
  border-radius: 10px;
  border: 1px solid #ccc;
}

/* BOTÓN */
.mp-submit-btn {
  width: 100%;
  padding: 14px;
  border-radius: 999px;
  border: none;
  background: #254F8A;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}

/* MENSAJE AYUDA */
.mp-modal-help {
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid #eee;
  text-align: center;
  font-size: 13px;
}

.mp-modal-help a {
  color: #254F8A;
  font-weight: bold;
  text-decoration: none;
}
.mp-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.mp-modal {
  background: #fff;
  max-width: 460px;
  width: 100%;
  padding: 30px;
  border-radius: 18px;
  position: relative;
}

.mp-modal-close {
  position: absolute;
  top: 12px;
  right: 16px;
  font-size: 26px;
  background: none;
  border: none;
  cursor: pointer;
}

.mp-modal-form input {
  width: 100%;
  padding: 12px;
  margin-bottom: 14px;
  border-radius: 10px;
  border: 1px solid #ccc;
}

.mp-submit-btn {
  width: 100%;
  padding: 14px;
  border-radius: 999px;
  border: none;
  background: #254F8A;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}

.mp-modal-help {
  margin: 18px 0;
  padding-top: 14px;
  border-top: 1px solid #eee;
  text-align: center;
  font-size: 13px;
}
/* Dropdown base */
.nav-item.dropdown {
    position: relative;
}

/* Menú oculto */
.dropdown-menu-custom {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #fff;
    min-width: 240px;
    box-shadow: 0 12px 30px rgba(0,0,0,0.15);
    border-radius: 8px;
    padding: 8px 0;
    display: none;
    z-index: 999;
}

/* Items del dropdown */
.dropdown-menu-custom a {
    display: block;
    padding: 10px 18px;
    color: #333;
    font-size: 14px;
    text-decoration: none;
    transition: background 0.2s ease;
}

/* Hover item */
.dropdown-menu-custom a:hover {
    background-color: #f3f3f3;
}

/* Mostrar dropdown al hover */
.nav-item.dropdown:hover .dropdown-menu-custom {
    display: block;
}
html {
    scroll-behavior: smooth;
}
.brand-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}

.brand-logo img {
    height: 48px; /* mismo alto visual que el texto */
    width: auto;
    object-fit: contain;
}

.brand-logo h1 {
    font-size: 2.5rem;
    line-height: 1;
    margin: 0;
    font-weight: 700;
}

.mp-btn-primary {
  font-size: 1.15rem !important;   /* ajusta a 1.2rem si lo quieres más grande */
  font-weight: 600 !important;
  transition: all 0.25s ease !important;
}

.mp-btn-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.25) !important;
  filter: brightness(1.05) !important;
}

.mega-dropdown {
    position: relative;
}

.mega-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);

    width: 720px;
    padding: 40px 60px;

    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 35px 80px rgba(0,0,0,0.18);

    display: none;
    grid-template-columns: 1fr 1fr;
    gap: 80px;

    z-index: 9999;
}

/* Mostrar al hover */
.mega-dropdown:hover .mega-menu {
    display: grid;
}

/* Columnas */
.mega-column h6 {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 20px;
    color: #193D70;
    font-weight: 600;
}

.mega-column a {
    display: block;
    margin-bottom: 10px;
    font-size: 15px;
    color: #444;
    text-decoration: none;
    transition: all 0.2s ease;
}

.mega-column a:hover {
    color: #4DB8DA;
    transform: translateX(6px);
}

/* Línea divisora */
.mega-menu::before {
    content: "";
    position: absolute;
    top: 40px;
    bottom: 40px;
    left: 50%;
    width: 1px;
    background: #e6eef5;
}

.mega-column {
    text-align: left !important;
}

.mega-column h6 {
    margin: 0 0 20px 0 !important;
    text-align: left !important;
}