/* -------------------------------------------------------------
   DESIGN SYSTEM & VARIABLES (BUFFET INFANTIL & EVENTOS COM AFETO)
   ------------------------------------------------------------- */
:root {
    --font-primary: 'Montserrat', 'Inter', 'Poppins', sans-serif;
    --font-heading: 'Cormorant Garamond', 'Fredoka', serif;
    --font-serif: 'Cormorant Garamond', serif;
    --font-script: 'Caveat', 'Dancing Script', cursive;

    /* Exact Pixel-Sampled Color Tokens from Reference Image */
    --color-bg-primary: #FBF6F1;       /* Warm Cream Off-White Background */
    --color-bg-secondary: #F3ECE5;     /* Soft warm plaster */
    --color-border: #EADBCE;           /* Warm soft beige border */
    
    /* Exact Colors */
    --color-title-wine: #550D0E;       /* Deep Maroon Wine (#550D0E) */
    --color-text-italic-teal: #286856; /* Forest Green Italic (#286856) */
    --color-eyebrow-teal: #316458;     /* Dark Sage Green (#316458) */
    --color-text-body: #52525A;        /* Charcoal Warm Gray (#52525A) */
    --color-coral-accent: #F97041;     /* Warm Coral Orange (#F97041) */

    --color-green-ceramic: #286856;    /* Forest Green CTA */
    --color-green-ceramic-hover: #1D5042;
    --color-coral: #F97041;            /* Warm Coral Orange */
    --color-peach: #F97041;            /* Playful Coral Orange */
    --color-yellow: #F4A261;           /* Warm Amber Yellow */
    --color-mint: #81B29A;             /* Soft Mint Green */
    --color-burgundy: #550D0E;         /* Deep Maroon Wine */
    
    /* Card Backgrounds */
    --color-bg-card: #FFFFFF;
    --color-bg-card-alt: #FFFBF5;
    
    /* Typographic Palette */
    --color-title: #550D0E;            /* Deep Maroon Wine */
    --color-text: #52525A;             /* Charcoal Warm Gray */
    --color-text-sec: #7A7A82;         /* Secondary text */
    
    /* Layout & Radius */
    --max-width: 1200px;
    --radius-small: 12px;
    --radius-medium: 20px;
    --radius-large: 28px;
    --radius-pill: 50px;
    
    /* Soft Playful Shadows */
    --shadow-soft: 0 12px 35px rgba(45, 42, 38, 0.05);
    --shadow-hover: 0 20px 45px rgba(45, 42, 38, 0.1);
    
    /* Transitions */
    --transition-smooth: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    --transition-fast: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* -------------------------------------------------------------
   BASE RESET & COMMON STYLES (iOS Safari & Mobile Fluid)
   ------------------------------------------------------------- */
html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    overflow-x: hidden;
    width: 100%;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

body {
    background-color: var(--color-bg-primary);
    color: var(--color-text);
    font-family: var(--font-primary);
    font-size: 16px;
    line-height: 1.75;
    overflow-x: hidden;
    width: 100%;
    position: relative;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Trava de scroll de fundo para menu mobile aberto */
body.menu-open {
    overflow: hidden !important;
    touch-action: none;
}

/* Prevenção de Auto-Zoom no iOS Safari para campos de texto */
input, select, textarea, .form-control {
    font-size: 16px !important;
}

a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition-fast);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.container {
    width: 90%;
    max-width: var(--max-width);
    margin: 0 auto;
}

.section-padding {
    padding: 110px 0;
}

/* -------------------------------------------------------------
   TYPOGRAPHY & PLAYFUL HEADINGS
   ------------------------------------------------------------- */
h1, h2, h3, h4 {
    font-family: var(--font-heading);
    font-weight: 600;
    color: var(--color-title);
    line-height: 1.25;
}

.section-header {
    text-align: center;
    margin-bottom: 70px;
}

.section-tag {
    font-family: var(--font-script);
    font-size: 1.7rem;
    font-weight: 700;
    color: var(--color-peach);
    display: block;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

.section-header h2 {
    font-size: 3rem;
    color: var(--color-title);
    margin-bottom: 16px;
    letter-spacing: -0.5px;
}

.divider-playful {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 0.9rem;
    color: var(--color-yellow);
}

.divider-playful span:nth-child(2) {
    color: var(--color-coral);
    font-size: 1.1rem;
}

/* -------------------------------------------------------------
   BUTTONS
   ------------------------------------------------------------- */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 28px;
    border-radius: var(--radius-pill);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
    transition: var(--transition-smooth);
    border: none;
    font-family: var(--font-primary);
}

.btn-primary {
    background-color: var(--color-green-ceramic);
    color: #FFFFFF;
    box-shadow: 0 8px 25px rgba(38, 70, 57, 0.2);
}

.btn-primary:hover {
    background-color: var(--color-green-ceramic-hover);
    color: #FFFFFF;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 12px 30px rgba(38, 70, 57, 0.3);
}

.btn-secondary {
    background-color: transparent;
    color: var(--color-peach);
    border: 2px solid var(--color-peach);
}

.btn-secondary:hover {
    background-color: var(--color-peach);
    color: #FFFFFF;
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(238, 108, 77, 0.25);
}

.btn-outline {
    background-color: transparent;
    color: var(--color-green-ceramic);
    border: 2px solid var(--color-green-ceramic);
}

.btn-outline:hover {
    background-color: var(--color-green-ceramic);
    color: #FFFFFF;
    transform: translateY(-3px);
}

.btn-gold {
    background-color: var(--color-yellow);
    color: #FFFFFF;
}

.btn-gold:hover {
    background-color: #E29352;
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(244, 162, 97, 0.3);
}

.btn-whatsapp {
    background-color: #25D366;
    color: #FFFFFF;
    font-size: 0.9rem;
    padding: 16px 30px;
    box-shadow: 0 8px 25px rgba(37, 211, 102, 0.3);
}

.btn-whatsapp:hover {
    background-color: #1EBE5B;
    color: #FFFFFF;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 12px 30px rgba(37, 211, 102, 0.4);
}

.btn-block {
    display: flex;
    width: 100%;
}

/* -------------------------------------------------------------
   NAVBAR
   ------------------------------------------------------------- */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background-color: rgba(250, 246, 240, 0.94);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--color-border);
    transition: var(--transition-smooth);
}

.nav-container {
    width: 90%;
    max-width: var(--max-width);
    margin: 0 auto;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.logo {
    display: flex;
    align-items: center;
}

.brand-logo-img {
    height: 38px;
    max-height: 38px;
    width: auto;
    object-fit: contain;
    display: block;
    transition: var(--transition-fast);
}

.brand-logo-img:hover {
    transform: scale(1.03);
}

.logo-main {
    font-family: var(--font-heading);
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--color-title);
    line-height: 1;
}

.logo-sub {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--color-peach);
    margin-top: 4px;
    font-family: var(--font-primary);
    font-weight: 700;
}

.nav-menu {
    display: flex;
    gap: 22px;
    align-items: center;
}

.nav-btn-external {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 18px;
    background: linear-gradient(135deg, #FFF6EE 0%, #FFEFE3 100%);
    color: #E76F51;
    border: 1.5px solid #F4A261;
    border-radius: var(--radius-pill);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    transition: var(--transition-smooth);
    box-shadow: 0 3px 10px rgba(244, 162, 97, 0.18);
    white-space: nowrap;
    text-decoration: none;
}

.nav-btn-external i {
    font-size: 0.82rem;
    color: #F4A261;
    transition: color 0.2s ease;
}

.nav-btn-external i.fa-arrow-up-right-from-square {
    font-size: 0.7rem;
    opacity: 0.85;
}

.nav-btn-external:hover {
    background: linear-gradient(135deg, #F4A261 0%, #E76F51 100%);
    color: #FFFFFF;
    border-color: #E76F51;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(231, 111, 81, 0.32);
}

.nav-btn-external:hover i {
    color: #FFFFFF;
}

.nav-link {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--color-text);
    position: relative;
    padding: 6px 0;
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--color-peach);
    border-radius: 2px;
    transition: var(--transition-fast);
}

.nav-link:hover {
    color: var(--color-green-ceramic);
}

.nav-link:hover::after {
    width: 100%;
}

.btn-nav {
    padding: 10px 22px;
    font-size: 0.75rem;
    background-color: var(--color-green-ceramic);
    color: #FFFFFF;
}

.btn-nav:hover {
    background-color: var(--color-peach);
    color: #FFFFFF;
}

.menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 42px;
    height: 42px;
    padding: 12px 9px;
    background: rgba(244, 162, 97, 0.12);
    border: 1px solid rgba(244, 162, 97, 0.28);
    border-radius: 12px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: var(--transition-fast);
}

.menu-toggle:active {
    transform: scale(0.94);
    background: rgba(244, 162, 97, 0.25);
}

.menu-toggle span {
    width: 100%;
    height: 2.5px;
    background-color: var(--color-title-wine);
    border-radius: 2px;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    transform-origin: center;
}

/* Backdrop Overlay for Mobile Menu */
.nav-overlay {
    position: fixed;
    inset: 0;
    background: rgba(45, 20, 15, 0.45);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    touch-action: none;
}

.nav-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* Botão Flutuante de WhatsApp com suporte a Safe Area do iPhone */
.floating-wpp-btn {
    position: fixed;
    bottom: calc(22px + env(safe-area-inset-bottom, 0px));
    right: 20px;
    z-index: 995;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.4);
    text-decoration: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease;
    animation: wppPulse 3s infinite;
}

@keyframes wppPulse {
    0%, 100% { box-shadow: 0 8px 24px rgba(37, 211, 102, 0.4); }
    50% { box-shadow: 0 10px 30px rgba(37, 211, 102, 0.65), 0 0 0 10px rgba(37, 211, 102, 0.12); }
}

.floating-wpp-btn:hover,
.floating-wpp-btn:active {
    transform: scale(1.08) translateY(-3px);
    box-shadow: 0 12px 32px rgba(37, 211, 102, 0.55);
    color: #FFFFFF;
}

.floating-wpp-btn .wpp-tooltip {
    position: absolute;
    right: 68px;
    background: rgba(30, 58, 47, 0.94);
    color: #FFFFFF;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transform: translateX(10px);
    transition: all 0.25s ease;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
    font-family: var(--font-primary);
}

.floating-wpp-btn:hover .wpp-tooltip {
    opacity: 1;
    transform: translateX(0);
}

/* -------------------------------------------------------------
   SECTION 1: HERO KIDS (EXACT MATCH TO REFERENCE DESIGN)
   ------------------------------------------------------------- */
.hero-kids {
    position: relative;
    padding: 140px 0 80px 0;
    background-color: var(--color-bg-primary);
    overflow: hidden;
    min-height: 92vh;
    display: flex;
    align-items: center;
}

/* Organic background color blobs */
.hero-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(50px);
    z-index: 1;
    pointer-events: none;
    animation: floatBlob 12s infinite alternate ease-in-out;
}

.blob-1 {
    width: 320px;
    height: 320px;
    background-color: rgba(240, 113, 103, 0.18); /* Soft Coral */
    top: -50px;
    left: -80px;
}

.blob-2 {
    width: 380px;
    height: 380px;
    background-color: rgba(244, 162, 97, 0.22); /* Soft Yellow Amber */
    bottom: -60px;
    right: -50px;
}

.blob-3 {
    width: 280px;
    height: 280px;
    background-color: rgba(129, 178, 154, 0.2); /* Soft Mint Green */
    bottom: 20px;
    left: 20%;
    animation-delay: -4s;
}

.blob-4 {
    width: 250px;
    height: 250px;
    background-color: rgba(238, 108, 77, 0.15); /* Soft Peach */
    top: 15%;
    right: 35%;
    animation-delay: -7s;
}

@keyframes floatBlob {
    0% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(25px, -20px) scale(1.08); }
    100% { transform: translate(-15px, 15px) scale(0.95); }
}

.hero-container {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 50px;
    align-items: center;
}

/* Left Content */
.hero-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.hero-brand-tag {
    margin-bottom: 6px;
}

.subbrand-script {
    font-family: var(--font-script);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--color-peach);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.tag-heart {
    color: var(--color-coral);
    font-size: 1.3rem;
}

.hero-eyebrow {
    font-family: 'Montserrat', 'Poppins', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--color-eyebrow-teal);
    margin-bottom: 16px;
    display: block;
}

.hero-main-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 3.8rem;
    font-weight: 500;
    color: var(--color-title-wine);
    line-height: 1.15;
    margin-bottom: 20px;
    letter-spacing: -0.5px;
}

.script-highlight {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 3.8rem;
    font-weight: 500;
    color: var(--color-text-italic-teal);
    display: block;
    margin-top: 4px;
    line-height: 1.1;
}

.hero-description {
    font-family: 'Montserrat', 'Inter', 'Poppins', sans-serif;
    font-size: 1.05rem;
    font-weight: 400;
    color: var(--color-text-body);
    line-height: 1.75;
    margin-bottom: 35px;
    max-width: 530px;
}

/* CTA Button */
.hero-cta-wrapper {
    margin-bottom: 40px;
}

.btn-hero-wpp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 12px;
    padding: 16px 32px;
    background-color: var(--color-green-ceramic);
    color: #FFFFFF;
    border-radius: var(--radius-pill);
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    box-shadow: 0 10px 30px rgba(38, 70, 57, 0.25);
    transition: var(--transition-smooth);
    max-width: 100%;
}

.btn-hero-wpp i.fa-whatsapp {
    font-size: 1.25rem;
}

.btn-hero-wpp:hover {
    background-color: var(--color-green-ceramic-hover);
    color: #FFFFFF;
    transform: translateY(-4px) scale(1.02);
    box-shadow: 0 15px 35px rgba(38, 70, 57, 0.35);
}

/* Hero Feature Icons (Bottom Left) */
.hero-features-list {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding-top: 28px;
    border-top: 1px dashed rgba(216, 203, 185, 0.8);
    width: 100%;
}

.feature-mini-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.mini-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: #FFFFFF;
    color: var(--color-green-ceramic);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 16px rgba(45, 42, 38, 0.08);
    font-size: 1.1rem;
    flex-shrink: 0;
}

.feature-mini-item span {
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-size: 0.85rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-title-wine);
}

/* Right Content: Visual Image & Floating Badges */
.hero-right {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.floating-script-note {
    position: absolute;
    top: -25px;
    right: 15px;
    z-index: 10;
    font-family: var(--font-script);
    font-size: 2.1rem;
    font-weight: 700;
    color: var(--color-burgundy);
    line-height: 1.15;
    transform: rotate(4deg);
    text-align: right;
    pointer-events: none;
    text-shadow: 0 3px 12px rgba(250, 246, 240, 0.9);
}

.floating-script-note .heart-doodle {
    color: var(--color-coral);
    display: inline-block;
    font-size: 1.8rem;
}

.hero-image-wrapper {
    position: relative;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
}

/* Colorful Peeking Corner Blobs (Exact match to reference mockup image) */
.blob-corner {
    position: absolute;
    z-index: 1;
    pointer-events: none;
    transition: var(--transition-smooth);
}

.blob-corner-teal {
    width: 140px;
    height: 240px;
    background-color: #5DB7C7;
    right: -25px;
    top: 20%;
    border-radius: 60% 40% 30% 70% / 50% 60% 40% 50%;
    opacity: 0.85;
}

.blob-corner-coral {
    width: 160px;
    height: 180px;
    background-color: #F07167;
    right: -20px;
    bottom: -15px;
    border-radius: 50% 50% 40% 60% / 60% 40% 60% 40%;
    opacity: 0.85;
}

.blob-corner-yellow {
    width: 120px;
    height: 120px;
    background-color: #F4A261;
    left: -15px;
    bottom: 5%;
    border-radius: 70% 30% 60% 40% / 50% 70% 30% 50%;
    opacity: 0.75;
}

.hero-blob-backdrop {
    position: absolute;
    inset: -15px;
    background: linear-gradient(135deg, rgba(240, 113, 103, 0.4) 0%, rgba(244, 162, 97, 0.4) 50%, rgba(93, 183, 199, 0.4) 100%);
    border-radius: 32px;
    filter: blur(20px);
    z-index: 1;
}

/* Hero Image Frame (Proporção natural 3/2 para não cortar a foto) */
.hero-image-frame.square-frame {
    position: relative;
    z-index: 2;
    border-radius: 28px;
    overflow: hidden;
    aspect-ratio: 3 / 2;
    box-shadow: 0 20px 45px rgba(45, 42, 38, 0.12);
    border: 6px solid #FFFFFF;
    background-color: #FFFFFF;
    width: 100%;
}

.hero-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.6s ease;
}

.hero-image-frame:hover .hero-main-img {
    transform: scale(1.03);
}

/* Floating Party Balloons */
.floating-balloon {
    position: absolute;
    z-index: 4;
    pointer-events: none;
    filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.12));
    animation: floatBalloon 4s infinite alternate ease-in-out;
}

.balloon-teal {
    top: -25px;
    left: -15px;
    animation-delay: 0s;
}

.balloon-coral {
    bottom: 40px;
    right: -28px;
    animation-delay: 1.2s;
}

.balloon-yellow {
    top: 30%;
    left: -32px;
    animation-delay: 2.2s;
}

@keyframes floatBalloon {
    0% { transform: translateY(0) rotate(-4deg); }
    100% { transform: translateY(-12px) rotate(6deg); }
}

/* Floating Doodles around Hero Photo */
.doodle {
    position: absolute;
    z-index: 3;
    pointer-events: none;
    user-select: none;
}

.star-1 {
    top: 40px;
    left: -20px;
    font-size: 1.8rem;
    color: var(--color-peach);
    animation: floatDoodle 3s infinite alternate ease-in-out;
}

.star-2 {
    bottom: 30px;
    right: -15px;
    font-size: 1.6rem;
    color: var(--color-yellow);
    animation: floatDoodle 4s infinite alternate ease-in-out 0.5s;
}

.heart-1 {
    top: -10px;
    left: 20%;
    font-size: 1.4rem;
    color: var(--color-coral);
    animation: floatDoodle 3.5s infinite alternate ease-in-out 1s;
}

.star-3 {
    bottom: 20%;
    left: -25px;
    font-size: 1.5rem;
    color: var(--color-mint);
    animation: floatDoodle 4.5s infinite alternate ease-in-out 1.5s;
}

.heart-2 {
    bottom: -10px;
    left: 45%;
    font-size: 1.6rem;
    color: var(--color-burgundy);
    animation: floatDoodle 3.2s infinite alternate ease-in-out 0.8s;
}

@keyframes floatDoodle {
    0% { transform: translateY(0) rotate(0deg); }
    100% { transform: translateY(-10px) rotate(12deg); }
}

/* -------------------------------------------------------------
   ABOUT & TEAM SECTION
   ------------------------------------------------------------- */
.about {
    background-color: var(--color-bg-secondary);
    border-bottom: 1px solid var(--color-border);
}

.about-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 70px;
    align-items: center;
}

.about-text p {
    margin-bottom: 22px;
    color: var(--color-text);
    font-size: 1rem;
}

.about-text .highlight-text {
    font-size: 1.45rem;
    line-height: 1.55;
    color: var(--color-title);
    font-family: var(--font-heading);
    font-weight: 600;
    border-left: 4px solid var(--color-peach);
    padding-left: 20px;
    margin-bottom: 28px;
    border-radius: 2px;
}

.team-title {
    font-size: 2.2rem;
    color: var(--color-title);
    margin-bottom: 8px;
    font-weight: 600;
}

.team-subtitle {
    font-size: 0.8rem;
    color: var(--color-peach);
    margin-bottom: 30px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 700;
}

.team-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.team-item {
    display: flex;
    gap: 20px;
    background-color: var(--color-bg-card);
    border: 1px solid var(--color-border);
    padding: 22px 24px;
    border-radius: var(--radius-medium);
    transition: var(--transition-smooth);
    box-shadow: var(--shadow-soft);
}

.team-item:hover {
    border-color: var(--color-green-ceramic);
    transform: translateY(-4px);
    box-shadow: var(--shadow-hover);
}

.team-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    flex-shrink: 0;
    transition: var(--transition-fast);
}

.icon-coral {
    background-color: rgba(240, 113, 103, 0.15);
    color: var(--color-coral);
}

.icon-mint {
    background-color: rgba(129, 178, 154, 0.18);
    color: var(--color-mint);
}

.icon-yellow {
    background-color: rgba(244, 162, 97, 0.18);
    color: var(--color-yellow);
}

.team-item:hover .team-icon {
    transform: scale(1.08);
}

.team-info h4 {
    color: var(--color-title);
    font-size: 1.1rem;
    margin-bottom: 4px;
    font-family: var(--font-heading);
    font-weight: 600;
}

.team-info p {
    font-size: 0.88rem;
    color: var(--color-text-sec);
    margin: 0;
}

/* -------------------------------------------------------------
   PACKAGES SECTION
   ------------------------------------------------------------- */
/* Section Subtitle Description */
.section-subtitle-desc {
    font-size: 1.05rem;
    color: var(--color-text-body);
    max-width: 650px;
    margin: -8px auto 16px auto;
    line-height: 1.6;
}
/* =========================================================
   ENTRADAS SECTION — Redesigned Kids Buffet Aesthetic
   ========================================================= */

/* -- Wrapper -- */
.entradas-section {
    position: relative;
    background: linear-gradient(135deg, #FDF9F4 0%, #F5F0FC 40%, #F0FAF7 100%);
    border-radius: 32px;
    padding: 60px 50px;
    margin-bottom: 48px;
    overflow: hidden;
    border: 2px solid rgba(92, 184, 196, 0.2);
    box-shadow: 0 16px 50px rgba(85, 13, 14, 0.06);
}

/* -- Background Blobs -- */
.entradas-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(55px);
    opacity: 0.28;
    pointer-events: none;
}

.entradas-blob-teal {
    width: 320px; height: 320px;
    background: #5CB8C4;
    top: -80px; left: -80px;
}
.entradas-blob-coral {
    width: 250px; height: 250px;
    background: #F4A261;
    bottom: -60px; right: 30%;
}
.entradas-blob-yellow {
    width: 200px; height: 200px;
    background: #FFD166;
    top: 30%; right: -50px;
}
.entradas-blob-pink {
    width: 180px; height: 180px;
    background: #F07F8C;
    bottom: -40px; left: 25%;
}

/* -- Floating Doodles -- */
.entradas-doodle {
    position: absolute;
    pointer-events: none;
    font-size: 1.4rem;
    opacity: 0.55;
    animation: entDoodleFloat 4s ease-in-out infinite;
}

.ed-star-1 { top: 12%; left: 8%; color: #5CB8C4; animation-delay: 0s; font-size: 1.2rem; }
.ed-heart-1 { top: 18%; right: 10%; color: #F07F8C; animation-delay: 0.8s; font-size: 1.6rem; }
.ed-star-2 { bottom: 22%; left: 5%; color: #F4A261; animation-delay: 1.4s; font-size: 1rem; }
.ed-heart-2 { bottom: 15%; right: 8%; color: #5CB8C4; animation-delay: 2s; font-size: 1.2rem; }
.ed-star-3 { top: 50%; right: 4%; color: #FFD166; animation-delay: 0.5s; font-size: 0.9rem; }

@keyframes entDoodleFloat {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-10px) rotate(12deg); }
}

/* -- Header -- */
.entradas-header {
    text-align: center;
    margin-bottom: 48px;
    position: relative;
    z-index: 2;
}

.entradas-eyebrow {
    margin-bottom: 14px;
}

.entradas-badge-top {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: linear-gradient(135deg, #F4A261, #F07F8C);
    color: #fff;
    font-family: var(--font-primary);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    padding: 7px 20px;
    border-radius: 50px;
    box-shadow: 0 4px 18px rgba(244, 162, 97, 0.45);
}

.entradas-badge-top i {
    font-size: 0.85rem;
}

.entradas-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 3rem;
    font-weight: 700;
    color: #4A1715;
    line-height: 1.15;
    margin-bottom: 14px;
}

.entradas-title em {
    font-style: italic;
    color: #5CB8C4;
    font-size: 3.2rem;
}

.entradas-subtitle {
    font-family: var(--font-primary);
    font-size: 1rem;
    color: #7A7A82;
    max-width: 540px;
    margin: 0 auto;
    line-height: 1.7;
}

/* -- Content Grid -- */
.entradas-content-grid {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 48px;
    align-items: start;
    position: relative;
    z-index: 2;
}

/* -- Photo Column -- */
.entradas-photo-col {
    position: relative;
}

.entradas-photo-frame {
    position: relative;
    border-radius: 28px;
    overflow: visible;
}

.entradas-main-photo {
    width: 100%;
    aspect-ratio: 883 / 1024;
    object-fit: cover;
    object-position: center;
    border-radius: 24px;
    display: block;
    box-shadow: 0 20px 55px rgba(85, 13, 14, 0.15);
    border: 5px solid #fff;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.entradas-photo-frame:hover .entradas-main-photo {
    transform: scale(1.015);
}

/* Corner Accents */
.photo-corner-accent {
    position: absolute;
    width: 64px; height: 64px;
    border-radius: 50%;
    z-index: 3;
    pointer-events: none;
}
.pca-tl {
    top: -14px; left: -14px;
    background: linear-gradient(135deg, #5CB8C4, #7DD3DA);
    box-shadow: 0 4px 16px rgba(92, 184, 196, 0.5);
}
.pca-br {
    bottom: -14px; right: -14px;
    background: linear-gradient(135deg, #F4A261, #F07F8C);
    box-shadow: 0 4px 16px rgba(240, 127, 140, 0.45);
}

/* Balloons on photo */
.ep-balloon {
    position: absolute;
    z-index: 4;
    pointer-events: none;
}
.ep-balloon-1 { top: -40px; right: 20px; animation: balloonBob 3.2s ease-in-out infinite; }
.ep-balloon-2 { top: -30px; right: 65px; animation: balloonBob 2.8s ease-in-out infinite 0.6s; }
.ep-balloon-3 { top: -22px; right: 105px; animation: balloonBob 3.6s ease-in-out infinite 1.2s; }

@keyframes balloonBob {
    0%, 100% { transform: translateY(0) rotate(-3deg); }
    50% { transform: translateY(-10px) rotate(3deg); }
}

/* Fritos na hora stamp */
.entradas-stamp {
    position: absolute;
    bottom: -18px;
    left: -18px;
    z-index: 5;
    animation: stampSpin 12s linear infinite;
}

.stamp-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 80px; height: 80px;
    background: linear-gradient(135deg, #F07167, #E05050);
    color: #fff;
    border-radius: 50%;
    box-shadow: 0 6px 22px rgba(240, 113, 103, 0.55);
    border: 3px solid #fff;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    line-height: 1.3;
    gap: 3px;
}

.stamp-inner i {
    font-size: 1.1rem;
    margin-bottom: 2px;
}

@keyframes stampSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* -- Items Column -- */
.entradas-items-col {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Category Blocks */
.entradas-category-block {
    background: rgba(255, 255, 255, 0.72);
    border-radius: 22px;
    padding: 28px 30px;
    border: 1.5px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 8px 30px rgba(85, 13, 14, 0.05);
    backdrop-filter: blur(8px);
}

.ecb-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-primary);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: 6px 16px;
    border-radius: 50px;
    margin-bottom: 20px;
}

.ecb-label-coral {
    background: rgba(244, 162, 97, 0.18);
    color: #B5541A;
}

.ecb-label-teal {
    background: rgba(92, 184, 196, 0.18);
    color: #1E7E8A;
}

/* Item Cards Grid */
.entradas-items-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.entrada-item-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 14px 10px;
    border-radius: 16px;
    font-family: var(--font-primary);
    font-size: 0.8rem;
    font-weight: 700;
    text-align: center;
    cursor: default;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    border: 1.5px solid transparent;
}

.entrada-item-card:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

.eic-coral {
    background: rgba(244, 162, 97, 0.14);
    color: #9B4218;
    border-color: rgba(244, 162, 97, 0.35);
}
.eic-coral:hover { background: rgba(244, 162, 97, 0.25); }

.eic-teal {
    background: rgba(92, 184, 196, 0.13);
    color: #1A717A;
    border-color: rgba(92, 184, 196, 0.3);
}
.eic-teal:hover { background: rgba(92, 184, 196, 0.22); }

.eic-yellow {
    background: rgba(255, 209, 102, 0.18);
    color: #8A6210;
    border-color: rgba(255, 209, 102, 0.4);
}
.eic-yellow:hover { background: rgba(255, 209, 102, 0.28); }

.eic-pink {
    background: rgba(240, 127, 140, 0.13);
    color: #8B2A3A;
    border-color: rgba(240, 127, 140, 0.28);
}
.eic-pink:hover { background: rgba(240, 127, 140, 0.22); }

.eic-emoji {
    font-size: 1.6rem;
    line-height: 1;
}
.eic-name {
    line-height: 1.2;
}

/* Star Feature Cards (Queridinhos) */
.entradas-star-items {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.entrada-star-card {
    display: flex;
    align-items: center;
    gap: 14px;
    background: linear-gradient(135deg, #fff 0%, #FFF8F0 100%);
    border: 1.5px solid rgba(244, 162, 97, 0.3);
    border-radius: 16px;
    padding: 14px 18px;
    position: relative;
    transition: all 0.3s ease;
}

.entrada-star-card:hover {
    transform: translateX(5px);
    border-color: rgba(244, 162, 97, 0.6);
    box-shadow: 0 6px 20px rgba(244, 162, 97, 0.2);
}

.star-emoji {
    font-size: 2rem;
    flex-shrink: 0;
}

.star-text {
    flex: 1;
}

.star-text strong {
    display: block;
    font-family: var(--font-primary);
    font-size: 0.9rem;
    font-weight: 800;
    color: #4A1715;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
}

.star-text span {
    font-size: 0.8rem;
    color: #9A8A7A;
}

.star-heart {
    font-size: 1.2rem;
    color: #F07F8C;
    animation: heartPulse 2s ease-in-out infinite;
    flex-shrink: 0;
}

@keyframes heartPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.3); }
}

/* =========================================================
   ENTRADAS SECTION — Responsive
   ========================================================= */
@media (max-width: 900px) {
    .entradas-section {
        padding: 44px 28px;
    }

    .entradas-content-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .entradas-title {
        font-size: 2.2rem;
    }

    .entradas-title em {
        font-size: 2.4rem;
    }

    .entradas-photo-col {
        max-width: 380px;
        margin: 0 auto;
        width: 100%;
    }

    .entradas-main-photo {
        aspect-ratio: 883 / 1024;
        max-height: 440px;
        width: 100%;
    }

    .entradas-items-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 600px) {
    .entradas-section {
        padding: 36px 20px;
        border-radius: 22px;
    }

    .entradas-title {
        font-size: 1.8rem;
    }

    .entradas-title em {
        font-size: 2rem;
    }

    .entradas-items-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
    }

    .entradas-content-grid {
        gap: 28px;
    }

    .ep-balloon-1, .ep-balloon-2, .ep-balloon-3 {
        display: none;
    }

    .entradas-stamp {
        width: 64px; height: 64px;
        bottom: -12px; left: -12px;
    }

    .stamp-inner {
        width: 64px; height: 64px;
        font-size: 0.55rem;
    }
}

/* =========================================================
   PRATOS PRINCIPAIS SECTION — Redesigned Kids Buffet Aesthetic
   ========================================================= */

.pratos-section {
    position: relative;
    background: linear-gradient(135deg, #F2FAF6 0%, #FBF6F1 50%, #F5F0E8 100%);
    border-radius: 32px;
    padding: 60px 50px;
    margin-bottom: 48px;
    overflow: hidden;
    border: 2px solid rgba(129, 178, 154, 0.22);
    box-shadow: 0 16px 50px rgba(40, 104, 86, 0.07);
}

/* Blobs */
.pratos-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(55px);
    opacity: 0.25;
    pointer-events: none;
}
.pratos-blob-mint   { width: 300px; height: 300px; background: #81B29A; top: -70px; right: -60px; }
.pratos-blob-amber  { width: 240px; height: 240px; background: #F4A261; bottom: -50px; left: 20%; }
.pratos-blob-green  { width: 180px; height: 180px; background: #264936; top: 40%; left: -50px; }
.pratos-blob-rose   { width: 160px; height: 160px; background: #E8B4B8; bottom: -30px; right: 12%; }

/* Doodles */
.pratos-doodle {
    position: absolute;
    pointer-events: none;
    opacity: 0.5;
    animation: entDoodleFloat 4s ease-in-out infinite;
}
.pd-star-1 { top: 10%; left: 6%;   color: #81B29A; font-size: 1.2rem; animation-delay: 0s; }
.pd-heart-1 { top: 16%; right: 8%; color: #E8B4B8; font-size: 1.5rem; animation-delay: 0.9s; }
.pd-star-2  { bottom: 20%; left: 4%; color: #F4A261; font-size: 1rem;  animation-delay: 1.5s; }
.pd-heart-2 { bottom: 12%; right: 6%; color: #81B29A; font-size: 1.2rem; animation-delay: 2.1s; }
.pd-star-3  { top: 48%; right: 5%; color: #FFD166;  font-size: 0.9rem; animation-delay: 0.4s; }

/* Header */
.pratos-header {
    text-align: center;
    margin-bottom: 48px;
    position: relative;
    z-index: 2;
}

.pratos-eyebrow { margin-bottom: 14px; }

.pratos-badge-top {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: linear-gradient(135deg, #81B29A, #4A8F72);
    color: #fff;
    font-family: var(--font-primary);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    padding: 7px 20px;
    border-radius: 50px;
    box-shadow: 0 4px 18px rgba(74, 143, 114, 0.4);
}

.pratos-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 3rem;
    font-weight: 700;
    color: #264936;
    line-height: 1.15;
    margin: 12px 0 12px;
}
.pratos-title em {
    font-style: italic;
    color: #F4A261;
    font-size: 3.2rem;
}

.pratos-subtitle {
    font-family: var(--font-primary);
    font-size: 1rem;
    color: #7A7A82;
    max-width: 520px;
    margin: 0 auto;
    line-height: 1.7;
}

/* Content Grid */
.pratos-content-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 44px;
    align-items: start;
    position: relative;
    z-index: 2;
}

/* ---- Accordion ---- */
.pratos-categories-col {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.prato-accordion {
    border-radius: 18px;
    overflow: hidden;
    border: 1.5px solid rgba(129, 178, 154, 0.2);
    background: rgba(255,255,255,0.72);
    backdrop-filter: blur(8px);
    transition: box-shadow 0.3s ease;
}

.prato-accordion[open] {
    box-shadow: 0 8px 28px rgba(40, 104, 86, 0.10);
    border-color: rgba(129, 178, 154, 0.4);
}

.pa-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: background 0.25s ease;
}
.pa-summary::-webkit-details-marker { display: none; }

.pa-icon { font-size: 1.4rem; flex-shrink: 0; }

.pa-title {
    flex: 1;
    font-family: var(--font-primary);
    font-size: 0.9rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.pa-chevron {
    font-size: 0.75rem;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}
.prato-accordion[open] .pa-chevron { transform: rotate(180deg); }

/* Color variants for summaries */
.pa-summary-wine  { background: rgba(85, 13, 14, 0.07);  color: #6B1A1B; }
.pa-summary-wine:hover  { background: rgba(85, 13, 14, 0.12); }
.pa-summary-teal  { background: rgba(92, 184, 196, 0.1); color: #1A6A78; }
.pa-summary-teal:hover  { background: rgba(92, 184, 196, 0.18); }
.pa-summary-blue  { background: rgba(100, 149, 200, 0.1); color: #1A4A80; }
.pa-summary-blue:hover  { background: rgba(100, 149, 200, 0.18); }
.pa-summary-amber { background: rgba(244, 162, 97, 0.12); color: #8A4A10; }
.pa-summary-amber:hover { background: rgba(244, 162, 97, 0.2); }
.pa-summary-mint  { background: rgba(129, 178, 154, 0.12); color: #1E5A40; }
.pa-summary-mint:hover  { background: rgba(129, 178, 154, 0.2); }
.pa-summary-rose  { background: rgba(232, 180, 184, 0.15); color: #7A2A38; }
.pa-summary-rose:hover  { background: rgba(232, 180, 184, 0.25); }

/* Accordion body */
.pa-body {
    padding: 0 20px 18px 20px;
}

.pa-items-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 4px;
}

.pa-item {
    display: flex;
    flex-direction: column;
    background: rgba(248, 243, 236, 0.7);
    border-radius: 12px;
    padding: 10px 12px;
    font-family: var(--font-primary);
    font-size: 0.82rem;
    font-weight: 600;
    color: #3A3A3A;
    line-height: 1.3;
    border: 1px solid rgba(234, 219, 206, 0.6);
    transition: all 0.2s ease;
}

.pa-item:hover {
    background: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

.pa-item small {
    display: block;
    font-size: 0.72rem;
    font-weight: 400;
    color: #9A8A7A;
    margin-top: 3px;
}

/* Featured / Highlight Item */
.pa-item-highlight {
    grid-column: 1 / -1;
    background: linear-gradient(135deg, #FFF9EB 0%, #FFF3DC 100%);
    border: 1.5px solid #F4A261;
    box-shadow: 0 4px 15px rgba(244, 162, 97, 0.22);
    padding: 12px 14px;
    transform: translateY(-1px);
}

.pa-item-highlight:hover {
    background: #FFFDF8;
    border-color: #E76F51;
    transform: translateY(-3px);
    box-shadow: 0 6px 18px rgba(231, 111, 81, 0.25);
}

.pa-item-highlight .pa-item-title {
    font-weight: 800;
    color: #431B0A;
}

.pa-item-highlight small {
    color: #8C532E;
    font-weight: 500;
}

.pa-badge-featured {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: linear-gradient(135deg, #E76F51, #F4A261);
    color: #FFFFFF;
    font-family: var(--font-primary);
    font-size: 0.64rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 3px 9px;
    border-radius: 50px;
    margin-bottom: 5px;
    width: fit-content;
    box-shadow: 0 2px 8px rgba(231, 111, 81, 0.35);
}

.pa-badge-featured i {
    font-size: 0.65rem;
    color: #FFE6A7;
}

/* ---- Photo Column ---- */
.pratos-photo-col {
    display: flex;
    flex-direction: column;
    gap: 18px;
    position: sticky;
    top: 100px;
}

.pratos-photo-frame {
    position: relative;
    border-radius: 28px;
    overflow: visible;
}

.pratos-main-photo {
    width: 100%;
    aspect-ratio: 1312 / 1199;
    object-fit: cover;
    object-position: center;
    border-radius: 22px;
    display: block;
    box-shadow: 0 20px 55px rgba(40, 104, 86, 0.18);
    border: 5px solid #fff;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.pratos-photo-frame:hover .pratos-main-photo { transform: scale(1.015); }

.pratos-corner-accent {
    position: absolute;
    width: 60px; height: 60px;
    border-radius: 50%;
    z-index: 3;
    pointer-events: none;
}
.pca-mint-tl {
    top: -13px; left: -13px;
    background: linear-gradient(135deg, #81B29A, #4A8F72);
    box-shadow: 0 4px 16px rgba(74, 143, 114, 0.45);
}
.pca-amber-br {
    bottom: -13px; right: -13px;
    background: linear-gradient(135deg, #F4A261, #E8894A);
    box-shadow: 0 4px 16px rgba(244, 162, 97, 0.45);
}

/* Balloons */
.pp-balloon { position: absolute; z-index: 4; pointer-events: none; }
.pp-balloon-1 { top: -38px; right: 18px;  animation: balloonBob 3.4s ease-in-out infinite; }
.pp-balloon-2 { top: -28px; right: 60px;  animation: balloonBob 2.9s ease-in-out infinite 0.5s; }
.pp-balloon-3 { top: -20px; right: 98px;  animation: balloonBob 3.8s ease-in-out infinite 1.1s; }

/* Stamp */
.pratos-stamp {
    position: absolute;
    bottom: -16px; left: -16px;
    z-index: 5;
    animation: stampSpin 14s linear infinite;
}
.pratos-stamp-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 80px; height: 80px;
    background: linear-gradient(135deg, #4A8F72, #264936);
    color: #fff;
    border-radius: 50%;
    box-shadow: 0 6px 22px rgba(38, 73, 54, 0.45);
    border: 3px solid #fff;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    line-height: 1.3;
    gap: 3px;
}
.pratos-stamp-inner i { font-size: 1rem; margin-bottom: 2px; }

/* Info card */
.pratos-info-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: rgba(129, 178, 154, 0.12);
    border: 1.5px solid rgba(129, 178, 154, 0.3);
    border-radius: 16px;
    padding: 16px 18px;
}
.pratos-info-card i {
    color: #4A8F72;
    font-size: 1.1rem;
    margin-top: 2px;
    flex-shrink: 0;
}
.pratos-info-card p {
    font-family: var(--font-primary);
    font-size: 0.85rem;
    color: #4A4A4A;
    line-height: 1.55;
}
.pratos-info-card strong { color: #264936; }

/* ---- Responsive ---- */
@media (max-width: 960px) {
    .pratos-section { padding: 44px 28px; }

    .pratos-content-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .pratos-photo-col { 
        position: static;
        max-width: 380px;
        margin: 0 auto;
        width: 100%;
    }

    .pratos-main-photo { 
        aspect-ratio: 1312 / 1199;
        max-height: 400px;
        width: 100%;
    }

    .pratos-title { font-size: 2.2rem; }
    .pratos-title em { font-size: 2.4rem; }
}

@media (max-width: 600px) {
    .pratos-section { padding: 36px 18px; border-radius: 22px; }

    .pratos-title { font-size: 1.8rem; }
    .pratos-title em { font-size: 2rem; }

    .pa-items-grid { grid-template-columns: 1fr; }

    .pp-balloon-1, .pp-balloon-2, .pp-balloon-3 { display: none; }
}

/* =========================================================
   BEBIDAS SECTION — Kids Party Refreshment Aesthetic
   ========================================================= */

.bebidas-section {
    position: relative;
    background: linear-gradient(135deg, #FFFDF8 0%, #F0FAFB 45%, #FFF4F7 100%);
    border-radius: 32px;
    padding: 60px 50px;
    margin-bottom: 48px;
    overflow: hidden;
    border: 2px solid rgba(72, 202, 228, 0.28);
    box-shadow: 0 16px 50px rgba(0, 180, 216, 0.07);
}

/* Blobs */
.bebidas-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(55px);
    opacity: 0.26;
    pointer-events: none;
}
.bebidas-blob-aqua   { width: 320px; height: 320px; background: #48CAE4; top: -80px; left: -70px; }
.bebidas-blob-orange { width: 260px; height: 260px; background: #FFB703; bottom: -60px; right: 25%; }
.bebidas-blob-berry  { width: 220px; height: 220px; background: #FF4D6D; top: 35%; right: -50px; }
.bebidas-blob-yellow { width: 180px; height: 180px; background: #FFD166; bottom: -40px; left: 20%; }

/* Doodles */
.bebidas-doodle {
    position: absolute;
    pointer-events: none;
    opacity: 0.55;
    animation: entDoodleFloat 4s ease-in-out infinite;
}
.bd-bubble-1 { top: 12%; left: 7%; font-size: 1.4rem; animation-delay: 0s; }
.bd-star-1   { top: 18%; right: 8%; color: #00B4D8; font-size: 1.3rem; animation-delay: 0.7s; }
.bd-heart-1  { bottom: 20%; left: 5%; color: #FF4D6D; font-size: 1.3rem; animation-delay: 1.4s; }
.bd-fruit-1  { top: 52%; right: 4%; font-size: 1.3rem; animation-delay: 1.8s; }
.bd-star-2   { bottom: 12%; right: 6%; color: #FFB703; font-size: 1.1rem; animation-delay: 2.2s; }
.bd-bubble-2 { bottom: 35%; left: 4%; font-size: 1.2rem; animation-delay: 0.4s; }

/* Header */
.bebidas-header {
    text-align: center;
    margin-bottom: 48px;
    position: relative;
    z-index: 2;
}

.bebidas-eyebrow { margin-bottom: 14px; }

.bebidas-badge-top {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #00B4D8, #0077B6);
    color: #fff;
    font-family: var(--font-primary);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    padding: 7px 22px;
    border-radius: 50px;
    box-shadow: 0 4px 18px rgba(0, 180, 216, 0.4);
}

.bebidas-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 3rem;
    font-weight: 700;
    color: #1A365D;
    line-height: 1.15;
    margin: 12px 0 12px;
}
.bebidas-title em {
    font-style: italic;
    color: #FF8500;
    font-size: 3.2rem;
}

.bebidas-subtitle {
    font-family: var(--font-primary);
    font-size: 1rem;
    color: #6C757D;
    max-width: 580px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Content Grid */
.bebidas-content-grid {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 44px;
    align-items: start;
    position: relative;
    z-index: 2;
}

/* Photo Column */
.bebidas-photo-col {
    display: flex;
    flex-direction: column;
    gap: 18px;
    position: sticky;
    top: 100px;
}

.bebidas-photo-frame {
    position: relative;
    border-radius: 28px;
    overflow: visible;
}

.bebidas-main-photo {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    object-position: center;
    border-radius: 22px;
    display: block;
    box-shadow: 0 20px 55px rgba(0, 119, 182, 0.16);
    border: 5px solid #fff;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.bebidas-photo-frame:hover .bebidas-main-photo { transform: scale(1.015); }

/* Corner Accents */
.bebidas-corner-accent {
    position: absolute;
    width: 60px; height: 60px;
    border-radius: 50%;
    z-index: 3;
    pointer-events: none;
}
.bca-aqua-tl {
    top: -13px; left: -13px;
    background: linear-gradient(135deg, #48CAE4, #0096C7);
    box-shadow: 0 4px 14px rgba(0, 180, 216, 0.35);
}
.bca-yellow-br {
    bottom: -13px; right: -13px;
    background: linear-gradient(135deg, #FFD166, #FFB703);
    box-shadow: 0 4px 14px rgba(255, 183, 3, 0.35);
}

/* SVG Balloons */
.bp-balloon {
    position: absolute;
    z-index: 4;
    pointer-events: none;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.12));
    animation: balloonBob 3.5s ease-in-out infinite;
}
.bp-balloon-1 { top: -24px; right: 28px; animation-delay: 0s; }
.bp-balloon-2 { top: -34px; right: 58px; animation-delay: 0.8s; }
.bp-balloon-3 { top: -18px; right: 90px; animation-delay: 1.6s; }

/* Stamp */
.bebidas-stamp {
    position: absolute;
    bottom: 22px; right: 22px;
    z-index: 4;
}
.bebidas-stamp-inner {
    background: linear-gradient(135deg, #FF758F, #FF4D6D);
    color: #fff;
    border-radius: 50%;
    width: 82px; height: 82px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-family: var(--font-primary);
    font-weight: 800;
    box-shadow: 0 6px 20px rgba(255, 77, 109, 0.45);
    border: 3px solid #fff;
    transform: rotate(8deg);
    animation: pulseStamp 3s ease-in-out infinite;
}
.bebidas-stamp-inner i { font-size: 0.85rem; margin-bottom: 2px; }
.bebidas-stamp-inner span { font-size: 0.65rem; line-height: 1.15; text-transform: uppercase; letter-spacing: 0.5px; }

/* Info Card */
.bebidas-info-card {
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(8px);
    border: 1.5px solid rgba(72, 202, 228, 0.3);
    border-radius: 16px;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.bebidas-info-card i {
    color: #0096C7;
    font-size: 1.2rem;
    flex-shrink: 0;
}
.bebidas-info-card p {
    font-family: var(--font-primary);
    font-size: 0.86rem;
    color: #495057;
    line-height: 1.5;
    margin: 0;
}

/* Details Column Cards */
.bebidas-details-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.bebidas-card {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 24px;
    border: 1.5px solid rgba(220, 230, 242, 0.9);
    box-shadow: 0 6px 22px rgba(100, 140, 180, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.bebidas-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0, 119, 182, 0.1);
}

.bc-header {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 14px;
}

.bc-badge-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
}
.bc-badge-orange {
    background: linear-gradient(135deg, #FFF3E0, #FFE0B2);
    color: #E65100;
}
.bc-badge-blue {
    background: linear-gradient(135deg, #E0F2FE, #BAE6FD);
    color: #0284C7;
}

.bc-header-text {
    flex: 1;
    min-width: 0;
}

.bc-header-text h4 {
    font-family: var(--font-primary);
    font-size: 1.15rem;
    font-weight: 800;
    color: #1E293B;
    margin: 0 0 6px 0;
    line-height: 1.3;
}

.bc-rule-pill {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 12px;
    background: #FFF8EB;
    color: #9A3412;
    padding: 8px 14px;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.4;
    border: 1px solid rgba(244, 162, 97, 0.35);
    margin-bottom: 14px;
    width: 100%;
}

.bc-rule-pill .rule-part {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.bc-rule-pill .rule-sep {
    color: #D97706;
    font-weight: 800;
    opacity: 0.5;
}

.bc-rule-pill strong {
    color: #C2410C;
    font-weight: 800;
}

.bc-subtext {
    font-size: 0.8rem;
    color: #64748B;
    font-weight: 500;
}

.bc-desc {
    font-size: 0.88rem;
    color: #475569;
    line-height: 1.5;
    margin-bottom: 16px;
}

/* Flavors Grid */
.bebidas-flavors-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.flavor-chip {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 14px;
    font-family: var(--font-primary);
    font-size: 0.84rem;
    font-weight: 700;
    background: #FFFFFF;
    border: 1.5px solid #F1F5F9;
    transition: all 0.2s ease;
    cursor: default;
}
.flavor-chip:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.06);
}

.flavor-chip .fc-icon { font-size: 1.15rem; }
.flavor-chip .fc-name { color: #334155; }

.fc-orange:hover { border-color: #FB923C; background: #FFF7ED; }
.fc-berry:hover  { border-color: #F43F5E; background: #FFF1F2; }
.fc-yellow:hover { border-color: #FBBF24; background: #FEFCE8; }
.fc-mint:hover   { border-color: #34D399; background: #ECFDF5; }
.fc-coral:hover  { border-color: #FB7185; background: #FFF1F2; }
.fc-pink:hover   { border-color: #F472B6; background: #FDF2F8; }
.fc-warm:hover   { border-color: #F59E0B; background: #FFFBEB; }
.fc-green:hover  { border-color: #10B981; background: #F0FDF4; }

/* Sodas Grid */
.bebidas-sodas-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.soda-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 11px 12px;
    border-radius: 12px;
    font-family: var(--font-primary);
    font-size: 0.82rem;
    font-weight: 800;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.badge-coca {
    background: linear-gradient(135deg, #FEF2F2, #FEE2E2);
    color: #DC2626;
    border: 1.5px solid #FECACA;
}
.badge-coca-zero {
    background: linear-gradient(135deg, #1E293B, #0F172A);
    color: #FFFFFF;
    border: 1.5px solid #334155;
}
.badge-guarana {
    background: linear-gradient(135deg, #ECFDF5, #D1FAE5);
    color: #059669;
    border: 1.5px solid #A7F3D0;
}
.badge-agua {
    background: linear-gradient(135deg, #F0F9FF, #E0F2FE);
    color: #0284C7;
    border: 1.5px solid #BAE6FD;
}

/* Kids Highlight Banner */
.bc-kids-highlight {
    background: linear-gradient(135deg, #FDF4FF 0%, #EFF6FF 50%, #F0FDF4 100%);
    border: 1.5px dashed #A855F7;
    padding: 16px 20px;
}

.kids-station-banner {
    display: flex;
    align-items: center;
    gap: 14px;
}
.ksb-emoji {
    font-size: 2rem;
    flex-shrink: 0;
}
.ksb-content strong {
    display: block;
    font-family: var(--font-primary);
    font-size: 0.95rem;
    font-weight: 800;
    color: #6B21A8;
    margin-bottom: 2px;
}
.ksb-content p {
    font-family: var(--font-primary);
    font-size: 0.82rem;
    color: #4B5563;
    margin: 0;
    line-height: 1.45;
}

/* Responsive */
@media (max-width: 960px) {
    .bebidas-section { padding: 44px 28px; }
    .bebidas-content-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .bebidas-photo-col { 
        position: static;
        max-width: 380px;
        margin: 0 auto;
        width: 100%;
    }
    .bebidas-main-photo { 
        aspect-ratio: 1/1;
        max-height: 380px;
        width: 100%;
    }
    .bebidas-title { font-size: 2.2rem; }
    .bebidas-title em { font-size: 2.4rem; }
}

@media (max-width: 600px) {
    .bebidas-section { padding: 36px 18px; border-radius: 22px; }
    .bebidas-title { font-size: 1.8rem; }
    .bebidas-title em { font-size: 2rem; }
    .bebidas-flavors-grid { grid-template-columns: 1fr; }
    .bebidas-sodas-grid { grid-template-columns: 1fr; }
    .bp-balloon-1, .bp-balloon-2, .bp-balloon-3 { display: none; }
}

/* =========================================================
   SOBREMESAS SECTION — Kids Party Dessert Delight Aesthetic
   ========================================================= */

.sobremesas-section {
    position: relative;
    background: linear-gradient(135deg, #FFFDF9 0%, #FFF5F7 45%, #FBF6FF 100%);
    border-radius: 32px;
    padding: 60px 50px;
    margin-bottom: 48px;
    overflow: hidden;
    border: 2px solid rgba(244, 162, 97, 0.28);
    box-shadow: 0 16px 50px rgba(230, 57, 70, 0.06);
}

/* Blobs */
.sobremesas-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(55px);
    opacity: 0.24;
    pointer-events: none;
}
.sobremesas-blob-rose    { width: 320px; height: 320px; background: #FFB5A7; top: -70px; right: -60px; }
.sobremesas-blob-caramel { width: 260px; height: 260px; background: #F4A261; bottom: -60px; left: 20%; }
.sobremesas-blob-lilac   { width: 220px; height: 220px; background: #D8B4E2; top: 35%; left: -50px; }
.sobremesas-blob-yellow  { width: 180px; height: 180px; background: #FFD166; bottom: -30px; right: 15%; }

/* Doodles */
.sobremesas-doodle {
    position: absolute;
    pointer-events: none;
    opacity: 0.55;
    animation: entDoodleFloat 4s ease-in-out infinite;
}
.sd-cake-1   { top: 12%; right: 8%; font-size: 1.4rem; animation-delay: 0s; }
.sd-star-1   { top: 18%; left: 7%; color: #E76F51; font-size: 1.3rem; animation-delay: 0.7s; }
.sd-heart-1  { bottom: 20%; right: 6%; color: #FF758F; font-size: 1.3rem; animation-delay: 1.4s; }
.sd-candy-1  { top: 52%; left: 4%; font-size: 1.3rem; animation-delay: 1.8s; }
.sd-star-2   { bottom: 12%; left: 6%; color: #F4A261; font-size: 1.1rem; animation-delay: 2.2s; }
.sd-sparkle  { bottom: 35%; right: 4%; font-size: 1.2rem; animation-delay: 0.4s; }

/* Header */
.sobremesas-header {
    text-align: center;
    margin-bottom: 48px;
    position: relative;
    z-index: 2;
}

.sobremesas-eyebrow { margin-bottom: 14px; }

.sobremesas-badge-top {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #F4A261, #E76F51);
    color: #fff;
    font-family: var(--font-primary);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    padding: 7px 22px;
    border-radius: 50px;
    box-shadow: 0 4px 18px rgba(231, 111, 81, 0.38);
}

.sobremesas-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 3rem;
    font-weight: 700;
    color: #431B0A;
    line-height: 1.15;
    margin: 12px 0 12px;
}
.sobremesas-title em {
    font-style: italic;
    color: #E76F51;
    font-size: 3.2rem;
}

.sobremesas-subtitle {
    font-family: var(--font-primary);
    font-size: 1rem;
    color: #7A6B63;
    max-width: 580px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Content Grid */
.sobremesas-content-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 44px;
    align-items: start;
    position: relative;
    z-index: 2;
}

/* Items Column */
.sobremesas-items-col {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.sobremesas-card {
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 24px;
    border: 1.5px solid rgba(244, 162, 97, 0.25);
    box-shadow: 0 6px 22px rgba(180, 120, 80, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.sobremesas-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(231, 111, 81, 0.12);
}

.sc-header {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 14px;
}

.sc-badge-icon {
    width: 44px; height: 44px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
    background: linear-gradient(135deg, #FFF0E6, #FFE3D1);
    color: #D94D26;
}

.sc-header-text {
    flex: 1;
    min-width: 0;
}

.sc-header-text h4 {
    font-family: var(--font-primary);
    font-size: 1.15rem;
    font-weight: 800;
    color: #431B0A;
    margin: 0 0 6px 0;
    line-height: 1.3;
}

.sc-rule-pill {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 12px;
    background: #FFF8EB;
    color: #9A3412;
    padding: 8px 14px;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.4;
    border: 1px solid rgba(244, 162, 97, 0.35);
    margin-bottom: 14px;
    width: 100%;
}

.sc-rule-pill .rule-part {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.sc-rule-pill .rule-sep {
    color: #D97706;
    font-weight: 800;
    opacity: 0.5;
}

.sc-rule-pill strong {
    color: #C2410C;
    font-weight: 800;
}

.sc-desc {
    font-size: 0.88rem;
    color: #634C40;
    line-height: 1.5;
    margin-bottom: 16px;
}

/* Desserts Grid */
.sobremesas-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.dessert-item-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 13px;
    border-radius: 14px;
    font-family: var(--font-primary);
    background: #FFFFFF;
    border: 1.5px solid rgba(244, 162, 97, 0.2);
    transition: all 0.22s ease;
}
.dessert-item-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(231, 111, 81, 0.12);
    border-color: #F4A261;
    background: #FFFDF9;
}

.dic-icon {
    font-size: 1.25rem;
    line-height: 1;
    flex-shrink: 0;
}

.dic-name {
    font-size: 0.84rem;
    font-weight: 700;
    color: #38241A;
    line-height: 1.3;
}

/* Quality Highlight */
.sc-highlight-box {
    background: linear-gradient(135deg, #FFF9EB 0%, #FFF2DE 100%);
    border: 1.5px dashed #F4A261;
    border-radius: 16px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.sc-highlight-box i {
    color: #E76F51;
    font-size: 1.25rem;
    flex-shrink: 0;
}
.sc-highlight-box p {
    font-family: var(--font-primary);
    font-size: 0.83rem;
    color: #634C40;
    margin: 0;
    line-height: 1.5;
}

/* Photo Column */
.sobremesas-photo-col {
    display: flex;
    flex-direction: column;
    gap: 18px;
    position: sticky;
    top: 100px;
}

.sobremesas-photo-frame {
    position: relative;
    border-radius: 28px;
    overflow: visible;
}

.sobremesas-main-photo {
    width: 100%;
    aspect-ratio: 1024 / 935;
    object-fit: cover;
    object-position: center;
    border-radius: 22px;
    display: block;
    box-shadow: 0 20px 55px rgba(180, 100, 60, 0.16);
    border: 5px solid #fff;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.sobremesas-photo-frame:hover .sobremesas-main-photo { transform: scale(1.015); }

/* Corner Accents */
.sobremesas-corner-accent {
    position: absolute;
    width: 60px; height: 60px;
    border-radius: 50%;
    z-index: 3;
    pointer-events: none;
}
.sca-rose-tl {
    top: -13px; left: -13px;
    background: linear-gradient(135deg, #FFB5A7, #FF758F);
    box-shadow: 0 4px 14px rgba(255, 117, 143, 0.35);
}
.sca-caramel-br {
    bottom: -13px; right: -13px;
    background: linear-gradient(135deg, #FFD166, #F4A261);
    box-shadow: 0 4px 14px rgba(244, 162, 97, 0.35);
}

/* SVG Balloons */
.sp-balloon {
    position: absolute;
    z-index: 4;
    pointer-events: none;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.12));
    animation: balloonBob 3.5s ease-in-out infinite;
}
.sp-balloon-1 { top: -24px; right: 28px; animation-delay: 0s; }
.sp-balloon-2 { top: -34px; right: 58px; animation-delay: 0.8s; }
.sp-balloon-3 { top: -18px; right: 90px; animation-delay: 1.6s; }

/* Stamp */
.sobremesas-stamp {
    position: absolute;
    bottom: 22px; right: 22px;
    z-index: 4;
}
.sobremesas-stamp-inner {
    background: linear-gradient(135deg, #F4A261, #E76F51);
    color: #fff;
    border-radius: 50%;
    width: 82px; height: 82px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-family: var(--font-primary);
    font-weight: 800;
    box-shadow: 0 6px 20px rgba(231, 111, 81, 0.45);
    border: 3px solid #fff;
    transform: rotate(8deg);
    animation: pulseStamp 3s ease-in-out infinite;
}
.sobremesas-stamp-inner i { font-size: 0.85rem; margin-bottom: 2px; }
.sobremesas-stamp-inner span { font-size: 0.65rem; line-height: 1.15; text-transform: uppercase; letter-spacing: 0.5px; }

/* Info Card */
.sobremesas-info-card {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(8px);
    border: 1.5px solid rgba(244, 162, 97, 0.3);
    border-radius: 16px;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.sobremesas-info-card i {
    color: #E76F51;
    font-size: 1.2rem;
    flex-shrink: 0;
}
.sobremesas-info-card p {
    font-family: var(--font-primary);
    font-size: 0.86rem;
    color: #5C473C;
    line-height: 1.5;
    margin: 0;
}

/* Responsive */
@media (max-width: 960px) {
    .sobremesas-section { padding: 44px 28px; }
    .sobremesas-content-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .sobremesas-photo-col { 
        position: static;
        max-width: 380px;
        margin: 0 auto;
        width: 100%;
    }
    .sobremesas-main-photo { 
        aspect-ratio: 1024 / 935;
        max-height: 380px;
        width: 100%;
    }
    .sobremesas-title { font-size: 2.2rem; }
    .sobremesas-title em { font-size: 2.4rem; }
}

@media (max-width: 600px) {
    .sobremesas-section { padding: 36px 18px; border-radius: 22px; }
    .sobremesas-title { font-size: 1.8rem; }
    .sobremesas-title em { font-size: 2rem; }
    .sobremesas-grid { grid-template-columns: 1fr; }
    .sp-balloon-1, .sp-balloon-2, .sp-balloon-3 { display: none; }
}

/* Menu Session Cards */
.menu-session-card {


    background-color: #FFFFFF;
    border: 2px solid var(--color-border);
    border-radius: var(--radius-large);
    padding: 45px 40px;
    margin-bottom: 45px;
    box-shadow: var(--shadow-soft);
    transition: var(--transition-smooth);
}

.menu-session-card:hover {
    box-shadow: var(--shadow-hover);
    border-color: rgba(249, 112, 65, 0.4);
}

.session-header-inner {
    margin-bottom: 25px;
    text-align: left;
}

.session-header-inner h3 {
    font-size: 2.2rem;
    color: var(--color-title-wine);
    margin: 8px 0 6px 0;
}

.session-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 45px;
    align-items: center;
}

.session-grid.reverse-grid {
    grid-template-columns: 0.9fr 1.1fr;
}

.session-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    font-size: 0.8rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: var(--radius-pill);
    margin-bottom: 14px;
}

.badge-coral {
    background-color: rgba(249, 112, 65, 0.15);
    color: #D94D26;
}

.badge-mint {
    background-color: rgba(129, 178, 154, 0.2);
    color: #1E614A;
}

.badge-teal {
    background-color: rgba(40, 104, 86, 0.15);
    color: #286856;
}

.badge-gold {
    background-color: rgba(244, 162, 97, 0.2);
    color: #B56218;
}

.session-info h3 {
    font-size: 2rem;
    color: var(--color-title-wine);
    margin-bottom: 12px;
}

.session-intro {
    font-size: 0.98rem;
    color: var(--color-text-body);
    margin-bottom: 22px;
    line-height: 1.6;
}

/* Item Pills Container */
.session-items-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 15px;
}

.pill-item {
    background-color: var(--color-bg-primary);
    border: 1px solid var(--color-border);
    padding: 8px 16px;
    border-radius: var(--radius-pill);
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--color-text-body);
    transition: var(--transition-fast);
}

.pill-item:hover {
    background-color: #FFFFFF;
    border-color: var(--color-coral);
    transform: translateY(-2px);
}

.pill-item.highlight-pill {
    background-color: rgba(249, 112, 65, 0.12);
    border-color: var(--color-coral);
    color: #C83B14;
    font-weight: 800;
    letter-spacing: 0.5px;
}

/* Photo Slots */
.session-photo-slot {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    height: 340px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    border: 4px solid #FFFFFF;
}

.session-photo-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.session-photo-slot:hover .session-photo-img {
    transform: scale(1.05);
}

.photo-badge {
    position: absolute;
    bottom: 15px;
    left: 15px;
    background-color: rgba(45, 42, 38, 0.85);
    color: #FFFFFF;
    padding: 6px 14px;
    border-radius: var(--radius-pill);
    font-size: 0.78rem;
    font-weight: 700;
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Main Dishes Grid */
.main-dishes-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 15px;
}

@media (max-width: 768px) {
    .main-dishes-grid {
        grid-template-columns: 1fr;
    }
}

/* Session Details Box (Bebidas & Sobremesas) */
.session-details-box {
    display: flex;
    flex-direction: column;
    gap: 16px;
    background-color: var(--color-bg-primary);
    border: 1px solid var(--color-border);
    padding: 22px 26px;
    border-radius: var(--radius-medium);
    margin-top: 15px;
}

.detail-row strong {
    display: block;
    color: var(--color-title-wine);
    font-size: 0.95rem;
    margin-bottom: 4px;

    i {
        color: var(--color-coral);
        margin-right: 6px;
    }
}

.detail-row span {
    font-size: 0.9rem;
    color: var(--color-text-body);
    line-height: 1.5;
}

/* Packages Center CTA */
.packages-cta-center {
    text-align: center;
    margin-top: 50px;
}

.package-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover);
}

.package-card#pkgMini {
    border-color: rgba(129, 178, 154, 0.4);
}

.package-card#pkgMini:hover {
    border-color: var(--color-mint);
}

.package-card#pkgCompleto {
    border-color: rgba(240, 113, 103, 0.5);
    background-color: #FFFBF7;
}

.package-card#pkgCompleto:hover {
    border-color: var(--color-coral);
}

.package-card#pkgEspecial {
    border-color: rgba(244, 162, 97, 0.5);
    background-color: #FFFDF8;
}

.package-card#pkgEspecial:hover {
    border-color: var(--color-yellow);
}

.package-badge {
    display: inline-block;
    padding: 6px 14px;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: var(--radius-pill);
    margin-bottom: 18px;
}

.badge-mint {
    background-color: rgba(129, 178, 154, 0.18);
    color: #2F694F;
}

.badge-coral {
    background-color: rgba(240, 113, 103, 0.18);
    color: #C0433A;
}

.badge-gold {
    background-color: rgba(244, 162, 97, 0.2);
    color: #A96222;
}

.package-header h3 {
    font-size: 2.2rem;
    color: var(--color-title);
    margin-bottom: 12px;
}

.package-price {
    display: flex;
    align-items: baseline;
    gap: 4px;
    margin-bottom: 16px;
    color: var(--color-green-ceramic);
}

.package-price .currency {
    font-size: 1.2rem;
    font-weight: 700;
}

.package-price .price-val {
    font-size: 3.2rem;
    font-weight: 700;
    font-family: var(--font-heading);
    line-height: 1;
}

.package-price .period {
    font-size: 0.85rem;
    color: var(--color-text-sec);
}

.package-desc {
    font-size: 0.9rem;
    color: var(--color-text);
    margin-bottom: 28px;
    line-height: 1.6;
}

.package-features {
    list-style: none;
    margin-bottom: 30px;
}

.package-features li {
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px dashed rgba(228, 221, 207, 0.8);
}

.package-features li:last-child {
    border-bottom: none;
}

.feature-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    color: var(--color-title);
    font-size: 0.95rem;
    margin-bottom: 4px;
}

.feature-title i {
    color: var(--color-peach);
}

.feature-desc {
    font-size: 0.86rem;
    color: var(--color-text-sec);
    display: block;
    line-height: 1.55;
    padding-left: 26px;
}

/* Collapsible Menu */
.menu-collapsible-wrapper {
    margin-top: 15px;
    margin-bottom: 25px;
}

.btn-menu-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 18px;
    background-color: var(--color-bg-primary);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-small);
    font-family: var(--font-primary);
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--color-title);
    cursor: pointer;
    transition: var(--transition-fast);
}

.btn-menu-toggle:hover {
    background-color: #FFFFFF;
    border-color: var(--color-green-ceramic);
}

.btn-menu-toggle .toggle-arrow {
    transition: transform 0.3s ease;
}

.btn-menu-toggle.active .toggle-arrow {
    transform: rotate(180deg);
}

.menu-content-collapsed {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-in-out;
}

.menu-categories-grid {
    padding-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    text-align: left;
}

.menu-category h4 {
    font-size: 1rem;
    color: var(--color-green-ceramic);
    margin-bottom: 8px;
    font-family: var(--font-primary);
    font-weight: 700;
}

.category-note {
    font-size: 0.78rem;
    color: var(--color-text-sec);
    font-style: italic;
    margin-bottom: 8px;
}

.menu-category ul {
    list-style: disc;
    padding-left: 20px;
}

.menu-category ul li {
    font-size: 0.83rem;
    color: var(--color-text);
    margin-bottom: 6px;
    border-bottom: none;
    padding-bottom: 0;
}

.package-footer {
    margin-top: auto;
}

.highlight-box {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 18px;
    background-color: rgba(38, 70, 57, 0.06);
    border-radius: var(--radius-small);
    font-size: 0.82rem;
    color: var(--color-text);
    margin-bottom: 20px;
}

.highlight-box i {
    color: var(--color-green-ceramic);
    font-size: 1.1rem;
    margin-top: 2px;
}

/* Comparison Box */
.comparison-box {
    background-color: #FFFFFF;
    border: 2px solid var(--color-border);
    border-radius: var(--radius-large);
    padding: 40px;
    margin-top: 50px;
    box-shadow: var(--shadow-soft);
}

.comp-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 30px;
}

.comp-header i {
    font-size: 1.8rem;
    color: var(--color-peach);
}

.comp-header h3 {
    font-size: 1.8rem;
    color: var(--color-title);
}

.comp-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 25px;
}

.comp-card {
    background-color: var(--color-bg-primary);
    padding: 24px;
    border-radius: var(--radius-medium);
    border: 1px solid var(--color-border);
}

.comp-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: var(--radius-pill);
    font-size: 0.8rem;
    font-weight: 700;
    margin-bottom: 16px;
}

.badge-green {
    background-color: rgba(129, 178, 154, 0.2);
    color: #264639;
}

.comp-card ul {
    list-style: disc;
    padding-left: 20px;
}

.comp-card ul li {
    font-size: 0.9rem;
    color: var(--color-text);
    margin-bottom: 10px;
}

.comp-footer-note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding-top: 20px;
    border-top: 1px dashed var(--color-border);
    font-size: 0.88rem;
    color: var(--color-text-sec);
}

.comp-footer-note i {
    color: var(--color-yellow);
    font-size: 1.2rem;
    margin-top: 2px;
}

/* Observations Box */
.observations-box {
    background-color: var(--color-bg-secondary);
    border-radius: var(--radius-large);
    padding: 35px 40px;
    margin-top: 35px;
}

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

.obs-header i {
    font-size: 1.5rem;
    color: var(--color-coral);
}

.obs-header h3 {
    font-size: 1.5rem;
    color: var(--color-title);
}

.obs-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.obs-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.obs-item i {
    font-size: 1.5rem;
    color: var(--color-green-ceramic);
    background-color: #FFFFFF;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.obs-item strong {
    display: block;
    color: var(--color-title);
    font-size: 1rem;
    margin-bottom: 4px;
}

.obs-item p {
    font-size: 0.88rem;
    color: var(--color-text-sec);
    line-height: 1.5;
}

/* -------------------------------------------------------------
   SIMULATOR SECTION — Kids Party Aesthetic
   ------------------------------------------------------------- */
.simulator {
    background: linear-gradient(180deg, #FAF6F0 0%, #FFF9F3 50%, #FAF6F0 100%);
    position: relative;
    overflow: hidden;
}

.simulator-card {
    position: relative;
    background: linear-gradient(135deg, #FFFDF9 0%, #FFFFFF 50%, #FFF8F2 100%);
    border: 2px solid rgba(244, 162, 97, 0.35);
    border-radius: 36px;
    padding: 60px 50px;
    box-shadow: 0 18px 55px rgba(244, 162, 97, 0.12);
    overflow: hidden;
}

/* Background Blobs */
.simulator-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    opacity: 0.22;
    pointer-events: none;
}
.sim-blob-mint   { width: 320px; height: 320px; background: #81B29A; top: -80px; left: -60px; }
.sim-blob-coral  { width: 280px; height: 280px; background: #F4A261; bottom: -70px; right: 20%; }
.sim-blob-yellow { width: 220px; height: 220px; background: #FFD166; top: 30%; right: -50px; }
.sim-blob-aqua   { width: 200px; height: 200px; background: #5CB8C4; bottom: -40px; left: 15%; }

/* Floating Doodles */
.simulator-doodle {
    position: absolute;
    pointer-events: none;
    opacity: 0.55;
    animation: entDoodleFloat 4s ease-in-out infinite;
}
.smd-balloon { top: 12%; left: 6%; font-size: 1.4rem; animation-delay: 0s; }
.smd-star-1  { top: 16%; right: 7%; color: #5CB8C4; font-size: 1.3rem; animation-delay: 0.8s; }
.smd-heart   { bottom: 22%; left: 5%; color: #E76F51; font-size: 1.3rem; animation-delay: 1.5s; }
.smd-sparkle { top: 48%; right: 4%; font-size: 1.3rem; animation-delay: 2.1s; }
.smd-star-2  { bottom: 14%; right: 6%; color: #FFD166; font-size: 1.1rem; animation-delay: 0.5s; }

/* Header */
.simulator-header {
    text-align: center;
    margin-bottom: 48px;
    position: relative;
    z-index: 2;
}

.simulator-eyebrow {
    margin-bottom: 14px;
}

.simulator-badge-top {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #5CB8C4, #3E9BA8);
    color: #fff;
    font-family: var(--font-primary);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    padding: 7px 22px;
    border-radius: 50px;
    box-shadow: 0 4px 18px rgba(92, 184, 196, 0.4);
}

.simulator-header h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 3rem;
    font-weight: 700;
    color: #4A1715;
    line-height: 1.15;
    margin: 12px 0 12px;
}

.simulator-header h2 em {
    font-style: italic;
    color: #F4A261;
    font-size: 3.2rem;
}

.simulator-header p {
    font-family: var(--font-primary);
    color: #7A6B63;
    font-size: 1rem;
    max-width: 580px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Body Grid */
.simulator-body-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 48px;
    align-items: flex-start;
    position: relative;
    z-index: 2;
}

/* Inputs Column */
.sim-inputs {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.form-group {
    margin-bottom: 0;
}

.form-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-primary);
    font-size: 0.95rem;
    font-weight: 800;
    color: #431B0A;
    margin-bottom: 12px;
}

.form-label i {
    color: #F4A261;
    font-size: 1rem;
}

.label-with-counter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.label-with-counter .form-label {
    margin-bottom: 0;
}

.label-badge {
    background: linear-gradient(135deg, #F4A261, #E76F51);
    color: #FFFFFF;
    padding: 4px 16px;
    border-radius: 50px;
    font-size: 0.98rem;
    font-weight: 800;
    font-family: var(--font-primary);
    box-shadow: 0 4px 12px rgba(231, 111, 81, 0.3);
}

.toggle-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.toggle-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: linear-gradient(135deg, #FFF9EB 0%, #FFF2DE 100%);
    border: 2px solid #F4A261;
    border-radius: 18px;
    cursor: default;
    transition: all 0.25s ease;
    font-family: var(--font-primary);
    box-shadow: 0 4px 14px rgba(244, 162, 97, 0.15);
}

.toggle-btn .tb-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.toggle-btn .tb-emoji {
    font-size: 1.25rem;
}

.toggle-btn .title {
    font-weight: 800;
    color: #431B0A;
    font-size: 1.02rem;
}

.toggle-btn .price {
    font-size: 0.9rem;
    color: #E76F51;
    font-weight: 800;
    background: #FFFFFF;
    padding: 6px 14px;
    border-radius: 50px;
    border: 1px solid rgba(244, 162, 97, 0.35);
    box-shadow: 0 2px 8px rgba(231, 111, 81, 0.12);
}

/* Range Slider */
.range-slider-wrapper {
    background: #FFFFFF;
    border: 2px solid rgba(244, 162, 97, 0.22);
    border-radius: 20px;
    padding: 20px 22px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03);
}

.range-slider {
    width: 100%;
    height: 10px;
    border-radius: 6px;
    background: linear-gradient(90deg, #F4A261 0%, #5CB8C4 100%);
    outline: none;
    cursor: pointer;
    -webkit-appearance: none;
}

.range-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #FFFFFF;
    border: 4px solid #E76F51;
    box-shadow: 0 4px 12px rgba(231, 111, 81, 0.35);
    cursor: pointer;
    transition: transform 0.2s ease;
}

.range-slider::-webkit-slider-thumb:hover {
    transform: scale(1.15);
}

.range-limits {
    display: flex;
    justify-content: space-between;
    font-size: 0.78rem;
    font-weight: 600;
    color: #8C7A70;
    margin-top: 12px;
}

.range-limits i {
    color: #F4A261;
}

/* Text Input */
.form-control {
    width: 100%;
    padding: 15px 20px;
    border: 2px solid rgba(244, 162, 97, 0.25);
    border-radius: 18px;
    font-family: var(--font-primary);
    font-size: 0.95rem;
    background: #FFFFFF;
    outline: none;
    transition: all 0.25s ease;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.02);
}

.form-control:focus {
    border-color: #F4A261;
    background: #FFFDF9;
    box-shadow: 0 0 0 4px rgba(244, 162, 97, 0.15);
}

/* Results Box */
.sim-results {
    background: linear-gradient(135deg, #FFFDF9 0%, #FFF7EE 100%);
    border: 2px solid rgba(244, 162, 97, 0.32);
    border-radius: 26px;
    padding: 34px 30px;
    box-shadow: 0 10px 30px rgba(244, 162, 97, 0.10);
    display: flex;
    flex-direction: column;
}

.results-header-tag {
    font-family: var(--font-primary);
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #E76F51;
    text-align: center;
    margin-bottom: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.results-header-tag i {
    font-size: 0.95rem;
}

.results-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
    font-family: var(--font-primary);
    font-size: 0.93rem;
}

.res-label {
    color: #7A6B63;
    font-weight: 600;
}

.res-val {
    font-weight: 800;
    color: #431B0A;
}

.sim-results .divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(244, 162, 97, 0.4), transparent);
    margin: 20px 0;
}

.total-box {
    text-align: center;
    margin: 18px 0;
    background: #FFFFFF;
    padding: 22px 20px;
    border-radius: 20px;
    border: 1.5px solid rgba(244, 162, 97, 0.25);
    box-shadow: 0 6px 18px rgba(244, 162, 97, 0.08);
}

.total-label {
    display: block;
    font-family: var(--font-primary);
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 800;
    color: #A37055;
    margin-bottom: 4px;
}

.total-value {
    font-family: 'Fredoka', cursive, var(--font-heading);
    font-size: 3rem;
    font-weight: 700;
    color: #E76F51;
    line-height: 1.1;
    letter-spacing: -0.5px;
}

.inclusions-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: var(--font-primary);
    font-size: 0.82rem;
    color: #52796F;
    margin-bottom: 24px;
    font-weight: 600;
    text-align: center;
    line-height: 1.4;
}

.inclusions-hint i {
    color: #81B29A;
    font-size: 1rem;
    flex-shrink: 0;
}

.btn-whatsapp {
    background: linear-gradient(135deg, #25D366, #128C7E);
    color: #FFFFFF;
    border-radius: 50px;
    font-family: var(--font-primary);
    font-weight: 800;
    font-size: 1rem;
    padding: 16px 28px;
    box-shadow: 0 6px 22px rgba(37, 211, 102, 0.35);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border: none;
    cursor: pointer;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.btn-whatsapp:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(37, 211, 102, 0.45);
    color: #FFFFFF;
}

.btn-block {
    width: 100%;
}

/* -------------------------------------------------------------
   GALLERY SECTION
   ------------------------------------------------------------- */
.gallery {
    background-color: var(--color-bg-primary);
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.gallery-item {
    position: relative;
    border-radius: var(--radius-medium);
    overflow: hidden;
    box-shadow: var(--shadow-soft);
    aspect-ratio: 4 / 3;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.gallery-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(38, 70, 57, 0.9), transparent 70%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 20px;
    opacity: 0;
    transition: var(--transition-fast);
}

.gallery-item:hover img {
    transform: scale(1.08);
}

.gallery-item:hover .gallery-overlay {
    opacity: 1;
}

.gallery-title {
    color: #FFFFFF;
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 600;
}

.gallery-category {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* -------------------------------------------------------------
   DIFFERENTIALS SECTION
   ------------------------------------------------------------- */
.differentials {
    background-color: var(--color-bg-secondary);
}

.diff-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.diff-card {
    background-color: #FFFFFF;
    border: 2px solid var(--color-border);
    border-radius: var(--radius-large);
    padding: 35px 30px;
    transition: var(--transition-smooth);
    box-shadow: var(--shadow-soft);
}

.diff-card:hover {
    transform: translateY(-6px);
    border-color: var(--color-green-ceramic);
    box-shadow: var(--shadow-hover);
}

.diff-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    margin-bottom: 20px;
}

.diff-card h3 {
    font-size: 1.4rem;
    color: var(--color-title);
    margin-bottom: 10px;
}

.diff-card p {
    font-size: 0.9rem;
    color: var(--color-text-sec);
    line-height: 1.6;
}

/* -------------------------------------------------------------
   FOOTER
   ------------------------------------------------------------- */
.footer {
    background-color: #1E3A2F;
    color: rgba(255, 255, 255, 0.85);
    padding-top: 80px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr 1fr;
    gap: 50px;
    padding-bottom: 60px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-brand .logo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.footer-brand .logo-main {
    color: #FFFFFF;
}

.footer-brand .logo-sub {
    color: var(--color-yellow);
}

.footer-desc {
    margin-top: 18px;
    font-size: 0.9rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
}

.footer-links h4, .footer-contact h4 {
    color: #FFFFFF;
    font-family: var(--font-heading);
    font-size: 1.3rem;
    margin-bottom: 20px;
}

.links-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.links-grid a {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9rem;
    transition: var(--transition-fast);
}

.links-grid a:hover {
    color: var(--color-yellow);
    transform: translateX(4px);
}

.contact-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.contact-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.9rem;
}

.contact-list i {
    color: var(--color-yellow);
    font-size: 1.1rem;
}

.footer-bottom {
    padding: 25px 0 calc(90px + env(safe-area-inset-bottom, 0px)) 0;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.6);
}

.bottom-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.designed-by {
    font-family: var(--font-script);
    font-size: 1.2rem;
    color: var(--color-yellow);
}

/* -------------------------------------------------------------
   ANIMATIONS & RESPONSIVE DESIGN
   ------------------------------------------------------------- */
.fade-in-up {
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 0.8s forwards cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.scroll-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: var(--transition-smooth);
}

.scroll-reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Responsive Breakpoints */
@media (max-width: 1024px) {
    .hero-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 36px;
        text-align: center;
    }
    
    .hero-right {
        order: 1; /* Foto do menino em destaque no topo */
        width: 100%;
        display: flex;
        justify-content: center;
        margin-bottom: 5px;
    }
    
    .hero-left {
        order: 2; /* Informações logo abaixo */
        align-items: center;
        width: 100%;
    }
    
    .hero-main-title {
        font-size: 2.8rem;
    }
    
    .script-highlight {
        font-size: 3.2rem;
    }
    
    .hero-features-list {
        justify-content: center;
    }
    
    .floating-script-note {
        top: -15px;
        right: 0;
        font-size: 1.6rem;
    }

    .about-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .packages-grid {
        grid-template-columns: 1fr;
    }
    
    .session-grid, .session-grid.reverse-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .menu-session-card {
        padding: 30px 22px;
    }
    
    .simulator-body-grid {
        grid-template-columns: 1fr;
    }
    
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .diff-grid {
        grid-template-columns: 1fr;
    }
    
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

@media (max-width: 768px) {
    .navbar {
        padding-top: env(safe-area-inset-top, 0px);
    }
    
    .nav-container {
        height: 68px;
    }
    
    .brand-logo-img {
        height: 32px;
        max-height: 32px;
    }

    .nav-menu {
        position: fixed;
        top: calc(68px + env(safe-area-inset-top, 0px));
        left: 0;
        width: 100%;
        max-height: calc(100dvh - 68px - env(safe-area-inset-top, 0px));
        background-color: rgba(250, 246, 240, 0.98);
        -webkit-backdrop-filter: blur(20px);
        backdrop-filter: blur(20px);
        flex-direction: column;
        padding: 24px 20px calc(28px + env(safe-area-inset-bottom, 0px)) 20px;
        gap: 16px;
        border-bottom: 1.5px solid var(--color-border);
        box-shadow: 0 20px 40px rgba(0,0,0,0.12);
        transform: translateY(-130%);
        opacity: 0;
        visibility: hidden;
        transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease, visibility 0.35s ease;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        z-index: 999;
    }
    
    .nav-menu.active {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
    }
    
    .nav-link {
        font-size: 0.92rem;
        padding: 10px 0;
        width: 100%;
        text-align: center;
        border-bottom: 1px dashed rgba(228, 221, 207, 0.6);
    }
    
    .nav-btn-external {
        width: 100%;
        justify-content: center;
        padding: 12px 20px;
        font-size: 0.85rem;
        margin-top: 6px;
    }
    
    .menu-toggle {
        display: flex;
    }
    
    .nav-cta {
        display: none;
    }

    .section-padding {
        padding: 60px 0;
    }
    
    /* Hero Mobile */
    .hero-kids {
        padding: 95px 0 45px 0;
        min-height: auto;
        overflow: hidden;
    }

    .hero-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 24px;
    }

    .hero-right {
        order: 1; /* Foto do menino em destaque no topo */
        width: 100%;
        display: flex;
        justify-content: center;
        margin-bottom: 6px;
    }

    .hero-left {
        order: 2; /* Informações logo abaixo */
        align-items: center;
        width: 100%;
    }

    .hero-main-title {
        font-size: clamp(2rem, 7vw, 2.6rem);
        line-height: 1.18;
        margin-bottom: 14px;
    }

    .script-highlight {
        font-size: clamp(2.2rem, 8vw, 3rem);
    }

    .hero-description {
        font-size: 0.95rem;
        margin-bottom: 24px;
        line-height: 1.65;
        max-width: 100%;
    }

    .btn-hero-wpp {
        width: 100%;
        max-width: 340px;
        padding: 15px 20px;
        font-size: 0.84rem;
        justify-content: center;
    }
    
    .hero-features-list {
        flex-direction: column;
        align-items: center;
        gap: 12px;
        padding-top: 20px;
    }

    .hero-image-wrapper {
        max-width: 340px;
        width: 100%;
        margin: 0 auto;
        position: relative;
    }

    /* Travar blobs e decorações para não estourar viewport no iPhone */
    .blob-corner-teal {
        right: -8px;
        width: 110px;
        height: 180px;
    }

    .blob-corner-coral {
        right: -8px;
        width: 130px;
        height: 150px;
    }

    .balloon-coral {
        right: -10px;
    }

    .balloon-yellow {
        left: -12px;
    }

    .star-1 {
        left: -10px;
    }

    .star-2 {
        right: -10px;
    }

    .floating-script-note {
        font-size: 1.55rem;
        top: -16px;
        right: 0;
    }
    
    .comp-grid, .obs-grid {
        grid-template-columns: 1fr;
    }

    /* Seção Sobre Nós em Coluna Única no Mobile (Fim da bagunça) */
    .about-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .about-text .highlight-text {
        font-size: 1.25rem;
        line-height: 1.55;
        padding-left: 16px;
        margin-bottom: 22px;
    }

    .team-item {
        padding: 18px 20px;
        gap: 16px;
    }

    /* Seções de Cardápios & Entradas */
    .entradas-section, 
    .pratos-section, 
    .bebidas-section, 
    .sobremesas-section {
        padding: 30px 20px;
        border-radius: 22px;
        margin-bottom: 35px;
        overflow: hidden;
    }

    .entradas-title,
    .pratos-title,
    .bebidas-title,
    .sobremesas-title {
        font-size: clamp(1.7rem, 5.5vw, 2.1rem);
    }

    .entradas-title em,
    .pratos-title em,
    .bebidas-title em,
    .sobremesas-title em {
        font-size: clamp(1.85rem, 6vw, 2.3rem);
    }

    /* Regras de Bebidas e Sobremesas no Mobile (Prevenção de quebra do badge) */
    .bc-header, .sc-header {
        gap: 12px;
        align-items: flex-start;
    }

    .bc-badge-icon, .sc-badge-icon {
        width: 40px;
        height: 40px;
        font-size: 1.15rem;
        border-radius: 12px;
        flex-shrink: 0;
    }

    .bc-header-text h4, .sc-header-text h4 {
        font-size: 1.05rem;
        line-height: 1.25;
        margin-bottom: 6px;
    }

    .bc-rule-pill, .sc-rule-pill {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        padding: 8px 12px;
        width: 100%;
        border-radius: 10px;
    }

    .bc-rule-pill .rule-sep, .sc-rule-pill .rule-sep {
        display: none;
    }

    .bc-rule-pill .rule-part, .sc-rule-pill .rule-part {
        font-size: 0.74rem;
        white-space: normal;
        line-height: 1.35;
    }

    /* Simulator Mobile */
    .simulator-card {
        padding: 24px 18px;
        border-radius: 22px;
    }

    .simulator-header h2 {
        font-size: clamp(1.8rem, 6vw, 2.3rem);
    }

    .toggle-btn {
        padding: 14px 16px;
        border-radius: 14px;
    }

    .range-slider-wrapper {
        padding: 18px 16px;
        border-radius: 16px;
    }

    .range-slider {
        height: 12px;
        touch-action: pan-x;
    }

    .range-slider::-webkit-slider-thumb {
        width: 32px;
        height: 32px;
    }

    .sim-results {
        padding: 24px 18px;
        border-radius: 20px;
    }

    .total-box {
        padding: 18px 16px;
        border-radius: 16px;
    }

    .total-value {
        font-size: clamp(2.2rem, 8vw, 2.8rem);
        white-space: nowrap;
    }

    .btn-whatsapp {
        padding: 15px 20px;
        font-size: 0.95rem;
    }

    /* Diferenciais & Rodapé */
    .diff-card {
        padding: 26px 20px;
        border-radius: 20px;
    }

    .bottom-flex {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }

    .footer {
        padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px));
    }
}

/* Telas compactas (iPhone SE, iPhone Mini e smartphones até 480px) */
@media (max-width: 480px) {
    .container {
        width: 92%;
    }

    .section-padding {
        padding: 48px 0;
    }

    .hero-kids {
        padding: 85px 0 35px 0;
    }

    .hero-main-title {
        font-size: 1.85rem;
    }

    .script-highlight {
        font-size: 2.1rem;
    }

    .floating-script-note {
        font-size: 1.35rem;
        top: -12px;
    }

    .hero-image-wrapper {
        max-width: 290px;
    }

    .entradas-items-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px;
    }

    .entrada-item-card {
        padding: 12px 6px;
        font-size: 0.74rem;
        border-radius: 12px;
    }

    .simulator-card {
        padding: 20px 14px;
    }

    .toggle-btn {
        padding: 12px 12px;
        gap: 6px;
    }

    .toggle-btn .title {
        font-size: 0.9rem;
    }

    .toggle-btn .price {
        font-size: 0.8rem;
        padding: 4px 8px;
    }

    .sim-results {
        padding: 20px 14px;
    }

    .total-value {
        font-size: clamp(2rem, 7.5vw, 2.5rem);
    }

    .floating-wpp-btn {
        width: 52px;
        height: 52px;
        font-size: 1.65rem;
        bottom: calc(18px + env(safe-area-inset-bottom, 0px));
        right: 16px;
    }

    .floating-wpp-btn .wpp-tooltip {
        display: none;
    }
}
