/* Estilos específicos para el formulario Pizzas Watson */
.pw-form-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 60px;
    background-color: #fff; /* Fondo gris claro de la referencia */
    padding: 80px 20px;
    font-family: 'Poppins', sans-serif;
    border-radius: 0; /* Opcional: si quieres que sea una sección completa */
}

/* --- LADO IZQUIERDO: TEXTO --- */
.pw-header {
    flex: 1;
    max-width: 500px;
    min-width: 300px;
}

.pw-header h3 {
    font-size: 2.5rem;
    color: #1a1a1a;
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1.2;
}

.pw-header p {
    color: #666;
    line-height: 1.6;
    margin-bottom: 15px;
    font-size: 1rem;
}

.pw-subtitle {
    font-weight: 500;
    color: #ff7f00 !important; /* Destacar la instrucción */
}

/* --- LADO DERECHO: TARJETA DEL FORMULARIO --- */
.pw-form {
    flex: 1;
    max-width: 450px;
    min-width: 300px;
    background-color: #ffffff;
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 15px 40px rgba(0,0,0,0.08); /* Sombra suave */
}

.pw-input-group {
    margin-bottom: 30px;
    position: relative;
}

/* Estilo de etiquetas */
.pw-input-group label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}

/* Estilo de Inputs (Solo línea inferior como en la referencia) */
.pw-input-group input,
.pw-input-group select {
    width: 100%;
    padding: 10px 0;
    border: none;
    border-bottom: 2px solid #eee; /* Línea gris suave */
    background: transparent;
    font-family: inherit;
    font-size: 1rem;
    color: #333;
    transition: border-color 0.3s ease;
    outline: none;
}

/* Cambio de color al escribir */
.pw-input-group input:focus,
.pw-input-group select:focus {
    border-bottom-color: #ff7f00; /* Naranja corporativo */
}

/* Botón de Enviar */
#pwSubmitBtn {
    width: 100%;
    background-color: #ff7f00;
    color: white;
    border: none;
    padding: 15px;
    border-radius: 50px; /* Forma de píldora */
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 10px 20px rgba(255, 127, 0, 0.3);
}

#pwSubmitBtn:hover {
    background-color: #e67300;
    transform: translateY(-2px);
    box-shadow: 0 15px 25px rgba(255, 127, 0, 0.4);
}

.pw-wa-icon {
    width: 24px;
    height: 24px;
    filter: brightness(0) invert(1); /* Vuelve el icono blanco */
}

/* Ajuste Responsive */
@media (max-width: 768px) {
    .pw-form-container {
        flex-direction: column;
        text-align: center;
        padding: 40px 20px;
    }
    
    .pw-form {
        width: 100%;
        padding: 30px 20px;
    }
}

/* Estilos encapsulados para el widget */
    
    /* Variables locales */
    .hero-pw14chso-wrapper {
        --brand-red: #BE0B5D;
        --brand-yellow: #f4c01e;
        --text-white: #ffffff;
    }

    /* Contenedor Principal con la clase solicitada */
    .hero-pw14chso {
        position: relative;
        background-color: #bf0811; /* Fallback */
        background-color: var(--brand-red);
        min-height: 85vh; /* Altura adaptable */
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: 'Poppins', sans-serif;
        overflow: hidden;
        padding: 1rem;
    }

    /* Patrón de puntos de fondo */
    .bg-pattern {
        position: absolute;
        bottom: -50px;
        left: -50px;
        width: 300px;
        height: 300px;
        background-image: radial-gradient(rgba(255, 255, 255, 0.2) 2px, transparent 2px);
        background-size: 20px 20px;
        border-radius: 50%;
        z-index: 1;
        pointer-events: none;
    }

    .hero-container {
        display: flex;
        width: 100%;
        max-width: 1200px;
        z-index: 2;
        align-items: center;
        justify-content: space-between;
        position: relative;
    }

    /* Sidebar Social */
    .social-sidebar {
        position: absolute;
        left: 1rem;
        top: 50%;
        transform: translateY(-50%);
        display: flex;
        flex-direction: column;
        gap: 15px;
        z-index: 10;
    }

    .social-icon {
        background: white;
        color: var(--brand-red);
        width: 35px;
        height: 35px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none !important; /* Importante para sobreescribir tema */
        font-weight: bold;
        transition: 0.3s;
        box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    }
    
    .social-icon:hover {
        transform: scale(1.1);
    }

    /* Textos */
    .hero-text {
        flex: 1;
        padding-left: 80px; /* Espacio para iconos */
        padding-right: 20px;
    }

    .script-highlight {
        font-family: 'Kaushan Script', cursive;
        color: var(--brand-yellow);
        font-size: 3rem;
        display: block;
        margin-bottom: -15px;
        transform: rotate(-5deg);
        line-height: 1;
    }

    .hero-pw14chso h1 {
        font-size: clamp(3rem, 6vw, 6rem); /* Responsive typography */
        line-height: 0.9;
        color: var(--text-white);
        text-transform: uppercase;
        font-weight: 900;
        margin: 10px 0 30px 0;
    }

    /* Botones */
    .cta-buttons {
        display: flex;
        gap: 20px;
        flex-wrap: wrap;
    }

    .custom-btn {
        padding: 12px 35px;
        border-radius: 50px;
        text-decoration: none !important;
        font-weight: 700;
        text-transform: uppercase;
        font-size: 0.9rem;
        letter-spacing: 1px;
        transition: transform 0.2s;
        display: inline-block;
    }

    .custom-btn:hover {
        transform: scale(1.05);
    }

    .btn-white {
        background-color: white;
        color: black;
        box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    }

    .btn-outline {
        background-color: transparent;
        color: white;
        border: 2px solid white;
    }

    /* Visuales */
    .hero-visuals {
        flex: 1;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .pizza-img {
        width: 100%;
        max-width: 650px; /* Ajusta según tu imagen */
        height: auto;
        filter: drop-shadow(0 20px 40px rgba(0,0,0,0.4));
        animation: floatPizza 6s ease-in-out infinite;
    }

    /* Sticker de descuento */
    .discount-badge {
        position: absolute;
        top: 0;
        left: 10%;
        border: 2px solid white;
        border-radius: 50% 60% 50% 10%; /* Forma orgánica */
        width: 100px;
        height: 100px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        color: white;
        transform: rotate(-15deg);
        z-index: 5;
    }
    
    .discount-badge .num { font-size: 1.6rem; font-weight: 900; line-height: 1; }
    .discount-badge .txt { font-family: 'Kaushan Script', cursive; font-size: 1.2rem; }

    /* Decoraciones flotantes */
    .floating-deco {
        position: absolute;
        z-index: 4;
    }
    .top-garlic { top: -20px; right: 10%; width: 50px; }
    .bottom-basil { bottom: -20px; left: 20%; width: 80px; }

    /* Animación flotante suave */
    @keyframes floatPizza {
        0% { transform: translateY(0px); }
        50% { transform: translateY(-15px); }
        100% { transform: translateY(0px); }
    }

    /* RESPONSIVE MÓVIL */
    @media (max-width: 768px) {
        .hero-container {
            flex-direction: column-reverse;
            padding-bottom: 40px;
        }
        
        .hero-text {
            padding-left: 0;
            text-align: center;
            margin-top: 30px;
        }

        .social-sidebar {
            display: none; /* Ocultar en móvil si molesta */
        }

        .cta-buttons {
            justify-content: center;
        }
        
        .script-highlight {
            font-size: 2.5rem;
        }
        
        .discount-badge {
            left: 0;
        }
    }

/* Importar fuentes solo si no las tienes en el head global */
@import url('https://fonts.googleapis.com/css2?family=Kaushan+Script&family=Poppins:wght@300;400;600;800&display=swap');

.pz-102section {
    --pz-bg: #fdfbf7;       /* Fondo crema suave */
    --pz-primary: #ffb30e;  /* Naranja botón */
    --pz-text: #2d2d2d;     /* Texto oscuro */
    --pz-gray: #666;        /* Texto descriptivo */
    --pz-font: 'Poppins', sans-serif;
    --pz-script: 'Kaushan Script', cursive;

    background-color: var(--pz-bg);
    padding: 80px 20px;
    font-family: var(--pz-font);
    overflow: hidden; /* Evita desbordes de imágenes */
}

/* Contenedor Flexbox */
.pz-102section .pz-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 60px;
}

/* --- LADO IZQUIERDO: IMÁGENES --- */
.pz-102section .pz-image-group {
    flex: 1;
    position: relative;
    height: 550px; /* Altura necesaria para la composición absoluta */
    min-width: 300px;
}

/* Estilos base para todas las imágenes */
.pz-102section .pz-image-group img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Imagen Grande (Restaurante) */
.pz-102section .pz-img-main {
    position: absolute;
    top: 0;
    left: 0;
    width: 65%;
    height: 85%;
    border-radius: 20px;
    overflow: hidden;
    z-index: 1;
}

/* Imagen Secundaria (Chica comiendo) */
.pz-102section .pz-img-secondary {
    position: absolute;
    top: 40px;
    right: 0;
    width: 45%;
    height: 45%;
    border-radius: 20px 20px 20px 0; /* Forma estilizada */
    border: 8px solid var(--pz-bg); /* Borde falso para separar */
    overflow: hidden;
    z-index: 2;
    box-shadow: -10px 10px 30px rgba(0,0,0,0.1);
}

/* Imagen Flotante (Caja Pizza) */
.pz-102section .pz-img-floating {
    position: absolute;
    bottom: 0;
    right: 15%;
    width: 45%;
    z-index: 3;
    filter: drop-shadow(0 10px 15px rgba(0,0,0,0.2));
}

.pz-102section .pz-img-floating img {
    object-fit: contain;
}

/* --- LADO DERECHO: TEXTO --- */
.pz-102section .pz-content {
    flex: 1;
    min-width: 300px;
}

.pz-102section .pz-subtitle {
    font-family: var(--pz-script);
    color: var(--pz-primary);
    font-size: 1.8rem;
    display: block;
    margin-bottom: 10px;
}

.pz-102section h2 {
    font-size: 3.2rem;
    line-height: 1.1;
    color: var(--pz-text);
    margin-bottom: 25px;
    font-weight: 800;
}

.pz-102section .pz-description {
    color: var(--pz-gray);
    line-height: 1.7;
    margin-bottom: 35px;
    font-size: 1rem;
}

/* Grid de iconos */
.pz-102section .pz-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    margin-bottom: 40px;
}

.pz-102section .pz-feature-item {
    display: flex;
    align-items: center;
    gap: 15px;
    font-weight: 600;
    color: var(--pz-text);
}

.pz-102section .pz-icon {
    width: 45px;
    height: 45px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

/* Botón CTA */
.pz-102section .pz-btn {
    display: inline-block;
    background-color: var(--pz-primary);
    color: #fff;
    padding: 16px 40px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    box-shadow: 0 10px 20px rgba(255, 179, 14, 0.3);
}

.pz-102section .pz-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 25px rgba(255, 179, 14, 0.4);
}

/* --- RESPONSIVE --- */
@media (max-width: 900px) {
    .pz-102section .pz-container {
        flex-direction: column;
        text-align: center; /* Centrar texto en móvil */
    }

    .pz-102section .pz-image-group {
        width: 100%;
        max-width: 500px; /* Limitar ancho en móvil */
    }

    .pz-102section h2 {
        font-size: 2.5rem;
    }

    .pz-102section .pz-features {
        text-align: left; /* Mantener features alineados a la izquierda para legibilidad */
        justify-content: center;
    }
}

.pz-105-section {
    /* Variables locales */
    --pz-gap: 20px;
    --pz-radius: 12px;
    --pz-overlay-text: #ffffff;
    --pz-hover-zoom: 1.05;
    
    padding: 60px 20px;
    background-color: #fff; /* O el color de fondo que prefieras */
    font-family: 'Poppins', sans-serif; /* Asumiendo que usas la misma fuente */
}

.pz-105-section .pz-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* --- GRID LAYOUT --- */
.pz-105-section .pz-grid-wrapper {
    display: grid;
    /* Define 2 columnas: la primera ocupa 1.3 partes, la segunda 1 parte */
    grid-template-columns: 1.3fr 1fr; 
    /* Define 2 filas de altura automática (se ajustarán al contenido/aspect-ratio) */
    grid-template-rows: repeat(2, 250px); 
    gap: var(--pz-gap);
}

/* --- ESTILOS DE LOS ITEMS --- */
.pz-105-section .pz-grid-item {
    position: relative;
    border-radius: var(--pz-radius);
    overflow: hidden; /* Clave para que la imagen no se salga al hacer zoom */
    display: block; /* Para que el <a> funcione como bloque */
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

/* El item grande ocupa las 2 filas (span 2) en la primera columna */
.pz-105-section .pz-large-item {
    grid-row: span 2; 
}

/* Estilo de las imágenes */
.pz-105-section .pz-grid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Recorta la imagen para llenar el espacio sin deformarse */
    transition: transform 0.5s ease; /* Suavidad para el efecto zoom */
    display: block;
}

/* Efecto Hover: Zoom suave */
.pz-105-section .pz-grid-item:hover img {
    transform: scale(var(--pz-hover-zoom));
}

/* --- TEXTOS SUPERPUESTOS (Overlays) --- */
.pz-105-section .pz-content-overlay {
    position: absolute;
    z-index: 2;
    padding: 25px;
    width: 100%;
    box-sizing: border-box;
    /* Degradado sutil para leer mejor el texto sobre fotos */
    background: linear-gradient(to bottom, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 100%);
}

/* Posiciones específicas */
.pz-105-section .pz-pos-top-left {
    top: 0;
    left: 0;
    text-align: left;
}

.pz-105-section .pz-pos-bottom-right {
    bottom: 0;
    right: 0;
    text-align: right;
    background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%);
}

/* Tipografía */
.pz-105-section .pz-promo-title {
    color: var(--pz-overlay-text);
    font-size: 2.5rem;
    line-height: 1.1;
    margin: 0 0 10px 0;
    font-weight: 700;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.pz-105-section .pz-promo-subtitle {
    color: var(--pz-overlay-text);
    font-size: 1rem;
    font-weight: 500;
    opacity: 0.9;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.pz-105-section .pz-btn-text {
    color: var(--pz-overlay-text);
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: inline-block;
    transition: margin-right 0.3s ease;
}

/* Animación de la flechita al hacer hover */
.pz-105-section .pz-grid-item:hover .pz-btn-text {
    margin-right: 10px;
}

/* --- RESPONSIVE (Móvil) --- */
@media (max-width: 768px) {
    .pz-105-section .pz-grid-wrapper {
        grid-template-columns: 1fr; /* Una sola columna */
        grid-template-rows: auto;   /* Altura automática */
    }

    .pz-105-section .pz-large-item {
        grid-row: auto; /* Ya no ocupa 2 filas, solo 1 natural */
        height: 300px;  /* Altura fija para móvil */
    }

    .pz-105-section .pz-grid-item {
        height: 200px; /* Altura para los items pequeños en móvil */
    }
}

/* Asegúrate de tener FontAwesome y las fuentes cargadas (Poppins, Kaushan Script) */

.pz-104-soc {
    --pz-yellow: #ffc20e;      /* Amarillo acentos */
    --pz-dark-banner: #1f1f1f; /* Fondo oscuro del newsletter */
    --pz-text-white: #ffffff;
    
    background-color: var(--pz-red-bg);
    padding: 0 20px 80px 20px;
    font-family: 'Poppins', sans-serif;
    position: relative;
    overflow: hidden;
}

.pz-104-soc .pz-container {
    max-width: 1200px;
    margin: 0 auto;
	padding: 1rem;
}

/* --- 1. NEWSLETTER BANNER --- */
.pz-104-soc .pz-newsletter-banner {
    background-color: var(--pz-dark-banner); /* Fondo oscuro asegurado */
    border-radius: 80px;
    padding: 30px 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    margin-bottom: 60px; 
    top: -40px;
    box-shadow: 0 15px 30px rgba(0,0,0,0.2);
    /* Ajuste para evitar colapso si falta imagen */
    min-height: 120px; 
    z-index: 10; /* Asegura que flote sobre lo demás */
}

.pz-104-soc .pz-news-content {
    display: flex;
    align-items: center;
    gap: 40px;
    flex: 1;
    z-index: 2;
}

.pz-104-soc .pz-news-text h3 {
    color: white !important; /* Forzamos blanco */
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0; /* Limpieza de márgenes */
}

.pz-104-soc .pz-script-sub {
    font-family: 'Kaushan Script', cursive;
    color: var(--pz-yellow);
    font-size: 1.2rem;
    display: block;
    margin-bottom: 5px;
}

/* Formulario Newsletter AJUSTADO */
.pz-104-soc .pz-news-form {
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.3); /* Borde más visible */
    border-radius: 50px;
    padding: 8px; /* Más espacio interno */
    display: flex;
    flex: 1;
    max-width: 450px;
}

.pz-104-soc .pz-news-form input {
    background: transparent;
    border: none;
    color: white !important; /* Texto al escribir blanco */
    padding: 10px 20px;
    flex: 1;
    outline: none;
    font-family: inherit;
}

.pz-104-soc .pz-news-form input::placeholder {
    color: #cccccc; /* Placeholder gris claro legible */
    opacity: 1;
}

.pz-104-soc .pz-news-form button {
    background-color: white;
    color: var(--pz-red-bg);
    border: none;
    border-radius: 50px;
    padding: 12px 30px;
    font-weight: 700;
    font-size: 0.8rem;
    cursor: pointer;
    text-transform: uppercase;
    transition: transform 0.3s;
    white-space: nowrap; /* Evita que el texto del botón salte de línea */
}

.pz-104-soc .pz-news-form button:hover {
    transform: scale(1.05);
}

.pz-104-soc .pz-news-img-deco {
    width: 150px;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    border-radius: 0 80px 80px 0;
    overflow: hidden;
}

.pz-104-soc .pz-news-img-deco img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* --- 2. DELIVERY CONTENT --- */
.pz-104-soc .pz-delivery-wrapper {
    display: flex;
    align-items: center;
    gap: 50px;
}

.pz-104-soc .pz-delivery-img {
    flex: 1;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 350px; /* Altura mínima para mantener el espacio del círculo */
}

.pz-104-soc .pz-yellow-circle {
    background-color: var(--pz-yellow);
    width: 400px;
    height: 400px;
    border-radius: 50%;
    position: absolute;
    z-index: 1;
}

.pz-104-soc .pz-scooter-img {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 450px;
    display: block;
    animation: floatScooter 3s ease-in-out infinite;
}

@keyframes floatScooter {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

/* Texto Derecha - CORRECCIÓN DE COLORES */
.pz-104-soc .pz-delivery-text {
    flex: 1;
    color: white !important; /* Base blanca */
}

.pz-104-soc .pz-script-yellow {
    font-family: 'Kaushan Script', cursive;
    color: var(--pz-yellow);
    font-size: 1.5rem;
    margin-bottom: 10px;
    display: block;
}

.pz-104-soc .pz-delivery-text h2 {
    font-size: 3rem;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 20px;
    color: #ffffff !important; /* FORZADO: Blanco puro */
}

.pz-104-soc .pz-desc {
    font-size: 1rem;
    opacity: 0.9;
    line-height: 1.6;
    margin-bottom: 40px;
    max-width: 90%;
    color: #ffffff !important; /* FORZADO: Blanco puro */
}

/* Grid Iconos */
.pz-104-soc .pz-icons-grid {
    display: flex;
    gap: 20px;
}

.pz-104-soc .pz-icon-box {
    border: 2px dashed rgba(255, 194, 14, 0.5);
    border-radius: 15px;
    padding: 20px 15px;
    text-align: center;
    flex: 1;
    transition: background 0.3s;
}

.pz-104-soc .pz-icon-box:hover {
    background: rgba(255,255,255,0.1);
}

.pz-104-soc .pz-icon-box i {
    font-size: 1.8rem;
    color: var(--pz-yellow);
    margin-bottom: 10px;
}

.pz-104-soc .pz-icon-box span {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.4;
    color: #ffffff !important; /* Texto iconos blanco */
}

/* --- RESPONSIVE --- */
@media (max-width: 900px) {
    .pz-104-soc .pz-newsletter-banner {
        flex-direction: column;
        text-align: center;
        padding: 30px;
        top: 0;
        margin-bottom: 40px;
        gap: 20px;
    }
    
    .pz-104-soc .pz-news-content {
        flex-direction: column;
        width: 100%;
        gap: 20px;
    }

    .pz-104-soc .pz-news-img-deco {
        display: none;
    }

    .pz-104-soc .pz-delivery-wrapper {
        flex-direction: column;
        text-align: center;
    }

    .pz-104-soc .pz-yellow-circle {
        width: 280px;
        height: 280px;
    }
    
    /* Ajuste para que el círculo no tape el texto en móvil si se solapan */
    .pz-104-soc .pz-delivery-img {
        margin-bottom: 30px;
    }

    .pz-104-soc .pz-desc {
        margin: 0 auto 30px auto;
    }

    .pz-104-soc .pz-icons-grid {
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .pz-104-soc .pz-icon-box {
        min-width: 140px;
    }
}

/* --- ESTILOS BASE (ESCRITORIO) --- */
/* Por defecto, ocultamos este menú en PC para no estorbar */
.menu-pzz-movil106 {
    display: none;
}

/* --- ESTILOS MÓVIL (Solo pantallas menores a 768px) --- */
@media (max-width: 768px) {
    
    .menu-pzz-movil106 {
        /* Hacemos que aparezca y sea flexible */
        display: flex;
        justify-content: space-between; /* Distribuye espacio igual entre iconos */
        align-items: center;
        
        /* Posición Fija: Siempre pegado abajo aunque hagas scroll */
        position: fixed;
        bottom: 20px; /* Un poco levantado del borde (estilo flotante) */
        left: 50%;
        transform: translateX(-50%); /* Truco para centrarlo perfectamente */
        
        /* Dimensiones y Forma */
        width: 90%;         /* Ocupa el 90% del ancho de la pantalla */
        max-width: 400px;   /* Pero no se hace gigante en tablets */
        height: 70px;
        background-color: #ff7f00; /* Naranja corporativo (Pizzas Watson) */
        border-radius: 50px;       /* Bordes totalmente redondos (Pill shape) */
        padding: 0 25px;           /* Espacio a los lados */
        box-sizing: border-box;
        
        /* Sombra fuerte para que parezca que flota sobre el contenido */
        box-shadow: 0 10px 25px rgba(255, 127, 0, 0.4);
        z-index: 9999; /* Asegura que esté SIEMPRE encima de todo */
        
        /* Efecto de cristal (opcional, si quieres transparencia moderna) */
        /* backdrop-filter: blur(5px); */
    }

    /* Estilo de cada botón (Enlace) */
    .menu-pzz-movil106 .pz-menu-item {
        color: rgba(255, 255, 255, 0.8); /* Blanco semi-transparente */
        font-size: 1.4rem;
        text-decoration: none;
        width: 45px;
        height: 45px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50%;
        transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Rebote suave */
        position: relative;
    }

    /* Efecto al tocar o estar activo */
    .menu-pzz-movil106 .pz-menu-item:hover,
    .menu-pzz-movil106 .pz-menu-item.active {
        background-color: white;
        color: #ff7f00; /* El icono se vuelve naranja */
        transform: translateY(-5px); /* Se eleva un poquito */
        box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    }

    /* Puntito rojo de notificación (ej. en la campana) */
    .menu-pzz-movil106 .pz-dot {
        position: absolute;
        top: 10px;
        right: 10px;
        width: 8px;
        height: 8px;
        background-color: #ff0000;
        border-radius: 50%;
        border: 2px solid #ff7f00; /* Borde naranja para separarlo */
    }
}

.fopzz107-sec {
    --pz-text-color: #fff;   /* Texto gris suave */
    --pz-accent: #ff7f00;       /* Naranja corporativo */
    --pz-white: #ffffff;
    
    background-color: var(--pz-footer-bg);
    color: var(--pz-text-color);
    padding: 80px 20px 40px 20px; /* Más espacio arriba que abajo */
    font-family: 'Poppins', sans-serif;
    text-align: center; /* CLAVE: Centra todo el contenido */
    position: relative;
}

.fopzz107-sec .pz-container {
    max-width: 800px; /* Ancho limitado para que el texto no se estire demasiado */
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* --- LOGO --- */
.fopzz107-sec .pz-footer-logo {
    margin-bottom: 25px;
}

.fopzz107-sec .pz-footer-logo img {
    max-width: 180px; /* Tamaño controlado del logo */
    height: auto;
    display: block;
}

/* Si usas texto en lugar de imagen para el logo: */
.fopzz107-sec .pz-footer-logo h2 {
    font-family: 'Kaushan Script', cursive;
    color: var(--pz-white);
    font-size: 2.5rem;
    margin: 0;
}

/* --- DESCRIPCIÓN --- */
.fopzz107-sec .pz-footer-desc {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 35px;
    color: var(--pz-text-color);
    max-width: 600px; /* Para que las líneas de texto no sean eternas */
}

/* --- REDES SOCIALES --- */
.fopzz107-sec .pz-social-links {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 50px;
}

.fopzz107-sec .pz-social-links a {
    width: 45px;
    height: 45px;
    background-color: rgba(255, 255, 255, 0.1); /* Fondo transparente sutil */
    border-radius: 50%; /* Círculos perfectos */
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--pz-white);
    text-decoration: none;
    font-size: 1.2rem;
    transition: all 0.3s ease;
}

/* Efecto Hover: Fondo naranja y el icono sube */
.fopzz107-sec .pz-social-links a:hover {
    background-color: var(--pz-accent);
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(255, 127, 0, 0.3);
}

/* --- COPYRIGHT --- */
.fopzz107-sec .pz-copyright {
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, 0.1); /* Línea divisoria muy fina */
    padding-top: 30px;
    font-size: 0.9rem;
    color: #FFB8D9; /* Texto un poco más oscuro para que no distraiga */
}

/* Responsive básico */
@media (max-width: 768px) {
    .fopzz107-sec {
        padding: 60px 20px 30px 20px;
    }
    
    .fopzz107-sec .pz-footer-logo img {
        max-width: 150px;
    }
}