/* Estilos básicos */
:root{--container-width:1000px}
body{font-family:Arial,Helvetica,sans-serif;margin:0;color:#222}
.container{max-width:var(--container-width);margin:0 auto;padding:16px}
.site-header{background:url('../../images/anim/zarape-pattern.svg') repeat;background-size:200px 200px;color:#fff;padding:20px 0;box-shadow:0 4px 12px rgba(0,0,0,0.3);position:relative;overflow:hidden}
.site-header::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.1) 100%);pointer-events:none}
.site-header .container{position:relative;z-index:1}
.site-header .header-inner{display:flex;align-items:center;justify-content:center;gap:16px}
.header-tagline{text-align:center;font-size:0.95rem;font-weight:500;letter-spacing:1px;opacity:0.9;margin-top:12px;font-style:italic}
.header-left-accents,.header-right-accents{display:flex;gap:6px;align-items:center}
.accent-icon{opacity:1;animation:float 4s ease-in-out infinite;display:inline-block;cursor:default;text-shadow:0 0 8px rgba(0,0,0,0.8), 0 0 4px rgba(255,255,255,0.6), 0 2px 4px rgba(0,0,0,0.6);filter:drop-shadow(0 3px 6px rgba(0,0,0,0.7)) drop-shadow(0 0 10px rgba(255,255,255,0.3));background:rgba(0,0,0,0.15);padding:4px 8px;border-radius:8px;backdrop-filter:blur(2px)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.header-center{text-align:center}
/* Header language switcher */
.header-lang{position:absolute;top:18px;right:18px;z-index:5;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.header-lang-switcher{display:flex;gap:8px}
.header-lang-switcher .lang-btn{background:transparent;border:2px solid rgba(255,255,255,0.15);padding:6px 8px;border-radius:6px;cursor:pointer;font-size:1rem;color:#fff}
.header-lang-switcher .lang-btn:hover{transform:translateY(-2px);box-shadow:0 6px 12px rgba(0,0,0,0.12)}
.header-lang-switcher .lang-btn[aria-pressed="true"]{border-color:rgba(255,255,255,0.9);background:rgba(255,255,255,0.08)}

.logo-link{display:inline-block}
.main-logo{width:170px;height:auto;object-fit:contain;filter:drop-shadow(0 3px 10px rgba(0,0,0,0.4));transition:transform 0.3s ease}
.logo-link:hover .main-logo{transform:scale(1.05)}
@media(max-width:600px){.site-header{padding:12px 0}.site-header .header-inner{gap:12px}.accent-icon{font-size:1rem !important;padding:2px 4px;border-radius:6px;text-shadow:0 0 6px rgba(0,0,0,0.8), 0 0 3px rgba(255,255,255,0.5)}.header-tagline{font-size:0.8rem;margin-top:8px;letter-spacing:0.5px}.main-logo{width:110px}}@media(max-width:380px){.site-header .header-inner{gap:8px}.accent-icon{font-size:0.9rem !important;padding:1px 3px}.header-tagline{font-size:0.75rem}.main-logo{width:90px}}}
/* Weather Banner - Professional Alert Banner */
.weather-banner{background:linear-gradient(135deg,#1a0a0a 0%,#2d1200 50%,#1a0a0a 100%);background-size:200% 100%;color:#fff;padding:0;border-bottom:none;box-shadow:0 10px 40px rgba(0,0,0,0.9);position:relative;overflow:hidden}
.weather-banner::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(255,255,255,0.01) 2px,rgba(255,255,255,0.01) 4px);pointer-events:none}
.weather-banner::after{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#fff,#ffd700,#fff);background-size:200% 100%;animation:shimmer 3s ease-in-out infinite}
.weather-banner__inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:20px 24px;position:relative;z-index:1;max-width:var(--container-width);margin:0 auto}
.weather-banner__badge{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;color:#b71c1c;padding:16px 18px;border-radius:14px;box-shadow:0 8px 20px rgba(0,0,0,0.3);flex-shrink:0;min-width:100px;border:3px solid #b71c1c}
.weather-banner__badge-icon{font-size:2rem;line-height:1;animation:pulse 1.5s cubic-bezier(0.4,0,0.6,1) infinite}
.weather-banner__badge-text{font-size:0.8rem;font-weight:900;text-transform:uppercase;letter-spacing:1.5px;margin-top:6px;color:#b71c1c;text-shadow:none}
.weather-banner__content{min-width:0;background:rgba(0,0,0,0.3);padding:12px 16px;border-radius:8px}
.weather-banner__header{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}
.weather-banner__title{font-size:1.3rem;font-weight:900;text-transform:uppercase;letter-spacing:2px;color:#ffd700;text-shadow:0 3px 8px rgba(0,0,0,0.5)}
.weather-banner__message{font-size:1rem;line-height:1.6;margin:0;color:#fff;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,0.4)}
.weather-banner__message strong{color:#ffd700;font-weight:900;text-shadow:0 2px 4px rgba(0,0,0,0.5)}
.weather-banner__action{flex-shrink:0}
.weather-banner__logo{width:85px;height:auto;border-radius:12px;filter:drop-shadow(0 8px 20px rgba(0,0,0,0.8));border:3px solid #fff;background:#fff;padding:6px}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:0.8}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@media(max-width:900px){.weather-banner__inner{grid-template-columns:auto 1fr;gap:16px}.weather-banner__action{grid-column:1/-1;text-align:center}}
@media(max-width:600px){.weather-banner{padding:0}.weather-banner__inner{grid-template-columns:auto 1fr;gap:12px;padding:12px 16px}.weather-banner__badge{padding:12px 14px;min-width:85px}.weather-banner__badge-icon{font-size:1.6rem}.weather-banner__badge-text{font-size:0.7rem;letter-spacing:1px;margin-top:4px}.weather-banner__title{font-size:1.05rem;letter-spacing:1px}.weather-banner__message{font-size:0.85rem}.weather-banner__logo{width:65px}}

.site-main{overflow-x:hidden;margin-top:-16px}
/* Navigation Buttons - Temática Mexicana Auténtica */
.nav-buttons{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;padding:16px;margin:0 -16px;background:linear-gradient(180deg,rgba(217,74,36,0.08) 0%,rgba(47,140,76,0.08) 100%);border-top:2px solid rgba(217,74,36,0.4);border-bottom:3px dashed rgba(244,122,34,0.4);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
.nav-buttons::-webkit-scrollbar{height:6px}.nav-buttons::-webkit-scrollbar-track{background:rgba(0,0,0,0.05);border-radius:3px}.nav-buttons::-webkit-scrollbar-thumb{background:rgba(217,74,36,0.6);border-radius:3px}
.nav-buttons::-webkit-scrollbar-thumb:hover{background:rgba(217,74,36,0.8)}

/* Desktop: centrados */
@media(min-width:769px){
    .nav-buttons{overflow:hidden;justify-content:center;flex-wrap:wrap;gap:12px;padding:20px 16px}
}

/* Mobile/Tablet: scroll horizontal */
@media(max-width:768px){
    .nav-buttons{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:12px}
}

.nav-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 10px;min-width:110px;flex-shrink:0;background:linear-gradient(135deg,#fff 0%,#f9f9f9 100%);border:2px solid rgba(217,74,36,0.5);border-radius:8px;text-decoration:none;color:#222;font-weight:600;font-size:0.85rem;transition:all 0.25s cubic-bezier(0.34,1.56,0.64,1);cursor:pointer;position:relative;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,0.12),inset 0 1px 0 rgba(255,255,255,0.8)}
.nav-button::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.6),transparent);transition:left 0.4s ease;pointer-events:none}
.nav-button:hover::before{left:100%}
.nav-button__icon{font-size:1.8rem;display:block;line-height:1}
.nav-button__label{font-size:0.75rem;letter-spacing:0.3px;text-transform:uppercase;text-align:center;line-height:1.2}
.nav-button:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(217,74,36,0.3),inset 0 1px 0 rgba(255,255,255,0.8)}
.nav-button:active{transform:translateY(-1px);box-shadow:0 3px 8px rgba(217,74,36,0.2),inset 0 2px 4px rgba(0,0,0,0.1)}
.nav-button--active{background:linear-gradient(135deg,#D94A24 0%,#b83a1a 100%);color:#fff;border-color:#a0301a;box-shadow:0 6px 16px rgba(217,74,36,0.4),inset 0 1px 0 rgba(255,255,255,0.3)}
/* Colores individuales para cada botón - Paleta Mexicana Auténtica */
.nav-button:nth-child(1){--accent:#D94A24}.nav-button:nth-child(2){--accent:#2F8C4C}.nav-button:nth-child(3){--accent:#F47A22}.nav-button:nth-child(4){--accent:#214C8A}.nav-button:nth-child(5){--accent:#6B3FA0}
.nav-button:nth-child(1):hover{border-color:#D94A24;background:linear-gradient(135deg,#FFE8E0 0%,#FFF0EB 100%)}.nav-button:nth-child(2):hover{border-color:#2F8C4C;background:linear-gradient(135deg,#E8F5F0 0%,#F0F9F7 100%)}.nav-button:nth-child(3):hover{border-color:#F47A22;background:linear-gradient(135deg,#FFF3E8 0%,#FFF7F0 100%)}.nav-button:nth-child(4):hover{border-color:#214C8A;background:linear-gradient(135deg,#E8EFF8 0%,#F0F5FB 100%)}.nav-button:nth-child(5):hover{border-color:#6B3FA0;background:linear-gradient(135deg,#F3E8FB 0%,#F8F0FB 100%)}
@media(max-width:768px){
    .nav-buttons{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;gap:4px;padding:8px}
    .nav-button{padding:8px 4px;min-width:80px;font-size:0.7rem}
    .nav-button__icon{font-size:1.2rem}
    .nav-button__label{font-size:0.6rem}
}
@media(max-width:480px){
    .nav-buttons{gap:3px;padding:6px;justify-content:center}
    .nav-button{padding:8px 6px;min-width:auto;font-size:0.65rem;flex:1;max-width:80px;display:flex;flex-direction:column;align-items:center;justify-content:center}
    .nav-button__icon{font-size:1.3rem;display:block;margin-bottom:4px}
    .nav-button__label{font-size:0.55rem;text-align:center}
}

/* Traducciones: por defecto mostrar español, ocultar japonés */
.jp-text{display:none}
.es-text{display:block}
.en-text{display:none}

/* Cuando el body tenga la clase lang-xx se muestran los textos correspondientes */
body.lang-jp .jp-text{display:block}
body.lang-jp .es-text{display:none}
body.lang-jp .en-text{display:none}

body.lang-en .en-text{display:block}
body.lang-en .es-text{display:none}
body.lang-en .jp-text{display:none}

body.lang-es .es-text{display:block}
body.lang-es .jp-text{display:none}
body.lang-es .en-text{display:none}

/* Cuando el body tenga la clase lang-jp se muestran los textos en japonés */
body.lang-jp .jp-text{display:block}
body.lang-jp .es-text{display:none}

.fusion-banner{background:linear-gradient(135deg,rgba(196,30,58,0.15) 0%, rgba(63,72,204,0.15) 100%);border:2px solid rgba(196,30,58,0.3);border-radius:8px;padding:20px;margin-bottom:24px;text-align:center}
.fusion-title{margin:0 0 8px;font-size:1.4rem;color:#222;font-weight:700}
.fusion-desc{margin:0;font-size:0.95rem;color:#555;line-height:1.5}
@media(max-width:600px){.fusion-banner{padding:16px;margin-bottom:20px}.fusion-title{font-size:1.1rem}.fusion-desc{font-size:0.9rem}}
.cards{display:flex;gap:12px}
.card{background:#f7f7f7;padding:12px;border-radius:6px;flex:1}
.site-footer{background:#eee;padding:12px;text-align:center}

/* === PÁGINA: LA HISTORIA === */

.historia-hero{padding:80px 20px;text-align:center;background:linear-gradient(135deg,#D94A24 0%,#F47A22 25%,#E04F8A 50%,#2F8C4C 75%,#214C8A 100%);background-size:200% 200%;position:relative;margin-bottom:60px;border-radius:0;overflow:hidden;animation:gradientShift 6s ease infinite}

.historia-hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M20,50 Q40,30 60,50 T100,50" fill="none" stroke="%23F2B632" stroke-width="0.5" opacity="0.2"/><circle cx="30" cy="30" r="2" fill="%23F2B632" opacity="0.15"/><circle cx="70" cy="70" r="2" fill="%23F2B632" opacity="0.15"/><circle cx="50" cy="20" r="1.5" fill="%23F2B632" opacity="0.1"/></svg>');opacity:0.4;pointer-events:none}

.historia-hero::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0.1) 100%);pointer-events:none}

.historia-hero__content{max-width:800px;margin:0 auto;position:relative;z-index:2;animation:fadeInDown 0.8s ease-out}

.historia-hero__logo{max-width:100%;height:auto;max-height:320px;object-fit:contain;margin-bottom:24px;filter:drop-shadow(0 8px 24px rgba(0,0,0,0.2));transition:transform 0.4s ease}

.historia-hero:hover .historia-hero__logo{transform:scale(1.05)}

.historia-hero__subtitle{margin:0 0 12px;font-size:1.35rem;font-weight:600;color:#fff;letter-spacing:0.5px;text-shadow:0 2px 8px rgba(0,0,0,0.3)}

.weather-widget{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,0.1);padding:6px 10px;border-radius:8px;backdrop-filter:blur(4px);font-size:0.85rem;color:#fff}
.weather-widget__icon{font-size:1.2rem;line-height:1}
.weather-widget__temp{font-weight:700;font-size:1rem}
.weather-widget__desc{font-size:0.7rem;opacity:0.85;text-transform:capitalize}
.weather-widget__loading{font-size:0.75rem;color:rgba(255,255,255,0.7);font-style:italic}
.weather-widget__location{font-size:0.7rem;color:rgba(255,255,255,0.8);margin-top:2px;text-align:center;font-weight:500}
@media(max-width:600px){.weather-widget{padding:4px 8px;font-size:0.75rem}.weather-widget__temp{font-size:0.9rem}.weather-widget__location{font-size:0.65rem}}

/* Ensure JP subtitle in hero stays white, not gray */
p.historia-hero__subtitle-jp.jp-text{color:#fff !important;font-style:normal}


@keyframes gradientShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:768px){
    .historia-hero{padding:60px 16px;margin-bottom:40px}
    .historia-hero__logo{max-height:240px;margin-bottom:20px}
    .historia-hero__subtitle{font-size:1.15rem}
    .historia-hero__subtitle-jp{font-size:0.9rem}
}

@media(max-width:480px){
    .historia-hero{padding:50px 12px;margin-bottom:30px}
    .historia-hero__logo{max-height:180px;margin-bottom:16px}
    .historia-hero__subtitle{font-size:0.95rem}
    .historia-hero__subtitle-jp{font-size:0.8rem}
}

.historia-intro{padding:60px 20px;background:linear-gradient(135deg,rgba(217,74,36,0.05) 0%,rgba(47,140,76,0.05) 100%);border-radius:12px;margin-bottom:80px;position:relative;overflow:hidden}

.historia-intro::before{content:'';position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(244,122,34,0.05) 0%,transparent 70%);pointer-events:none}

.historia-intro__text{margin:0 0 20px;font-size:1.15rem;line-height:1.85;color:#333;text-align:center;max-width:800px;margin-left:auto;margin-right:auto;position:relative;z-index:1}

.historia-intro__text--jp{margin:24px 0 0;font-size:1rem;line-height:1.8;color:rgba(0,0,0,0.65);font-family:'Hiragino Sans','Yu Gothic',sans-serif;border-top:2px solid rgba(217,74,36,0.2);padding-top:24px}

.historia-intro__highlight{color:#D94A24;font-weight:700;letter-spacing:0.5px;text-shadow:0 1px 3px rgba(0,0,0,0.05)}

@media(max-width:768px){
    .historia-intro{padding:40px 16px;margin-bottom:60px}
    .historia-intro__text{font-size:1.05rem}
    .historia-intro__text--jp{font-size:0.95rem}
}

@media(max-width:480px){
    .historia-intro{padding:30px 12px;margin-bottom:40px}
    .historia-intro__text{font-size:0.95rem;text-align:left}
    .historia-intro__text--jp{font-size:0.85rem;text-align:left;margin:16px 0 0;padding-top:16px}
}

.historia-chapters{padding:60px 0;position:relative;background:linear-gradient(180deg,rgba(217,74,36,0.03) 0%,rgba(47,140,76,0.03) 50%,rgba(244,122,34,0.03) 100%)}

/* Timeline vertical */
.historia-chapters::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#D94A24 0%,#F47A22 33%,#2F8C4C 66%,#6B3FA0 100%);transform:translateX(-50%);border-radius:2px}

.historia-chapter{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:100px;animation:slideInFade 0.8s ease-out;animation-fill-mode:both;position:relative;padding:40px 20px;padding-left:40px;background:rgba(255,255,255,0.7);border-radius:12px;transition:all 0.3s ease}

.historia-chapter:hover{background:rgba(255,255,255,0.95);box-shadow:0 8px 24px rgba(0,0,0,0.08)}

.historia-chapter:nth-child(1){animation-delay:0.1s}
.historia-chapter:nth-child(2){animation-delay:0.25s}
.historia-chapter:nth-child(3){animation-delay:0.4s}
.historia-chapter:nth-child(4){animation-delay:0.55s}

/* Animaciones épicas */
@keyframes slideInFade{from{opacity:0;transform:translateY(30px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse-glow{0%,100%{box-shadow:0 0 0 0 rgba(217,74,36,0.3)}50%{box-shadow:0 0 0 8px rgba(217,74,36,0)}}

.historia-chapter__deco-line{position:absolute;left:0;top:50%;width:100%;height:3px;background:linear-gradient(90deg,var(--chapter-color,#D94A24),transparent);border-radius:2px;transform:translateY(-50%);z-index:0;opacity:0.3}

.historia-chapter--img-right{grid-template-columns:1fr 1fr}
.historia-chapter--img-left .historia-chapter__image-wrapper{order:1}
.historia-chapter--img-left .historia-chapter__content{order:2}
.historia-chapter--img-right .historia-chapter__image-wrapper{order:2}
.historia-chapter--img-right .historia-chapter__content{order:1}

.historia-chapter__image-wrapper{position:relative;perspective:1000px}
.historia-chapter__image{width:100%;height:auto;border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,0.15),inset 0 1px 0 rgba(255,255,255,0.6);transition:all 0.4s ease;border:3px solid rgba(255,255,255,0.8)}

.historia-chapter:hover .historia-chapter__image{transform:scale(1.03) rotateY(-2deg);box-shadow:0 24px 48px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.6)}

.historia-chapter__badge{position:absolute;bottom:20px;right:20px;width:64px;height:64px;background:linear-gradient(135deg,var(--chapter-color,#D94A24) 0%,rgba(255,255,255,0.9) 100%);color:var(--chapter-color,#D94A24);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,0.25),inset 0 1px 0 rgba(255,255,255,0.8);border:4px solid #fff;animation:pulse-glow 2s ease-in-out infinite}

.historia-chapter__content{padding:30px;position:relative;z-index:1}

.historia-chapter__header{margin-bottom:20px}

.historia-chapter__title{margin:0 0 8px;font-size:1.6rem;color:var(--chapter-color,#D94A24);font-weight:700;text-transform:uppercase;letter-spacing:1px;transition:all 0.3s ease}

.historia-chapter:hover .historia-chapter__title{letter-spacing:2px;text-shadow:0 2px 8px rgba(0,0,0,0.1)}

.historia-chapter__title-jp{margin:4px 0 0;font-size:0.85rem;color:rgba(0,0,0,0.5);font-family:'Hiragino Sans','Yu Gothic',sans-serif;font-weight:500}

.historia-chapter__text{margin:0 0 16px;font-size:1.05rem;line-height:1.85;color:#555;text-align:justify}

.historia-chapter__text--jp{margin:12px 0 0;font-size:0.95rem;line-height:1.8;color:rgba(0,0,0,0.6);font-family:'Hiragino Sans','Yu Gothic',sans-serif;text-align:justify;padding-top:12px;border-top:2px solid rgba(0,0,0,0.1)}

.historia-chapter__text .highlight-accent{color:var(--chapter-color,#D94A24);font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,0.1)}

.historia-chapter__text .hero-name{color:#E04F8A;font-weight:700;letter-spacing:0.3px;text-shadow:0 0 8px rgba(224,79,138,0.2)}

.historia-separator{height:3px;width:35%;margin:80px auto;background:linear-gradient(90deg,transparent 0%,var(--chapter-color,#D94A24) 20%,var(--chapter-color,#D94A24) 80%,transparent 100%);position:relative;border-radius:2px}

.historia-separator::before{content:'✿';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--chapter-color,#D94A24);font-size:1rem;background:#fff;padding:0 12px;letter-spacing:1px}

.historia-separator::after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:inherit;transform:translateY(-50%);border-radius:1px}

@media(max-width:768px){
    .historia-chapters::before{left:24px}
    
    .historia-chapter{grid-template-columns:1fr;gap:24px;margin-bottom:70px;padding:24px;padding-left:60px;border-radius:8px}
    
    .historia-chapter--img-right,
    .historia-chapter--img-left{grid-template-columns:1fr}
    
    .historia-chapter__image-wrapper{order:1 !important}
    
    .historia-chapter__content{order:2 !important;padding:16px;padding-left:0}
    
    .historia-chapter__title{font-size:1.35rem;letter-spacing:0.5px}
    
    .historia-chapter__title-jp{font-size:0.8rem}
    
    .historia-chapter__text{font-size:0.98rem}
    
    .historia-chapter__text--jp{font-size:0.9rem}
    
    .historia-chapter__badge{width:56px;height:56px;font-size:1.6rem;bottom:16px;right:16px}
    
    .historia-separator{margin:60px auto;width:45%}
}

@media(max-width:480px){
    .historia-chapters::before{left:16px}
    
    .historia-chapter{gap:16px;margin-bottom:50px;padding:16px;padding-left:48px}
    
    .historia-chapter__content{padding:12px}
    
    .historia-chapter__title{font-size:1.15rem;letter-spacing:0.3px}
    
    .historia-chapter__title-jp{font-size:0.75rem;margin:2px 0 0}
    
    .historia-chapter__text{font-size:0.9rem;text-align:left}
    
    .historia-chapter__text--jp{font-size:0.85rem;margin:8px 0 0;padding-top:8px}
    
    .historia-chapter__badge{width:48px;height:48px;font-size:1.4rem;bottom:12px;right:12px}
    
    .historia-separator{margin:40px auto;width:55%;height:2px}
}

.historia-cta{padding:60px 0;background:linear-gradient(135deg,#D94A24 0%,#F47A22 50%,#2F8C4C 100%);text-align:center;border-radius:8px;margin-top:80px;position:relative;overflow:hidden}
.historia-cta::before{content:'';position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="3" fill="%23F2B632" opacity="0.3"/><circle cx="80" cy="80" r="3" fill="%23F2B632" opacity="0.3"/><circle cx="80" cy="20" r="2" fill="%23F2B632" opacity="0.2"/><circle cx="20" cy="80" r="2" fill="%23F2B632" opacity="0.2"/></svg>');background-size:50px 50px;animation:float 6s ease-in-out infinite;pointer-events:none}
.historia-cta__title{margin:0 0 12px;font-size:2rem;color:#fff;font-weight:700;position:relative;z-index:1;line-height:1.2}
.historia-cta__subtitle{margin:0 0 40px;font-size:1.1rem;color:rgba(255,255,255,0.9);font-weight:300;position:relative;z-index:1}

.historia-cta__buttons{display:flex;gap:16px;justify-content:center;margin-bottom:40px;flex-wrap:wrap;position:relative;z-index:1}
.btn{display:inline-block;padding:14px 28px;border-radius:6px;text-decoration:none;font-weight:600;font-size:1rem;transition:all 0.3s ease;cursor:pointer;border:none;min-height:44px;display:flex;align-items:center;justify-content:center}
.btn--primary{background:#fff;color:#D94A24;box-shadow:0 6px 20px rgba(0,0,0,0.25)}
.btn--primary:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,0.35)}
.btn--secondary{background:transparent;color:#fff;border:2px solid #fff}
.btn--secondary:hover{background:rgba(255,255,255,0.1);transform:translateY(-3px)}

.historia-cta__info{display:flex;gap:40px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}
.info-item{display:flex;flex-direction:column;align-items:center;background:rgba(255,255,255,0.1);padding:16px 24px;border-radius:6px;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2)}
.info-label{font-size:0.85rem;color:rgba(255,255,255,0.7);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:4px}
.info-value{font-size:1rem;color:#fff;font-weight:600}

@media(max-width:768px){
    .historia-cta{padding:40px 16px;margin-top:60px;border-radius:6px}
    .historia-cta__title{font-size:1.5rem;margin-bottom:8px}
    .historia-cta__subtitle{font-size:0.95rem;margin-bottom:28px}
    .historia-cta__buttons{gap:10px;margin-bottom:32px}
    .btn{padding:12px 20px;font-size:0.9rem}
    .historia-cta__info{gap:12px;flex-direction:column;width:100%}
    .info-item{width:100%;padding:12px 14px;font-size:0.85rem}
    .info-label{font-size:0.75rem;margin-bottom:3px}
    .info-value{font-size:0.9rem}
}

@media(max-width:480px){
    .historia-cta{padding:24px 12px;margin-top:50px;border-radius:4px;box-sizing:border-box}
    .historia-cta__title{font-size:1.25rem;margin-bottom:6px}
    .historia-cta__subtitle{font-size:0.85rem;margin-bottom:20px}
    .historia-cta__buttons{flex-direction:column;gap:8px;margin-bottom:24px;width:100%}
    .btn{width:100%;padding:12px 12px;font-size:0.8rem;min-height:44px;box-sizing:border-box}
    .btn--secondary{border-width:1.5px}
    .historia-cta__info{gap:10px;width:100%}
    .info-item{width:100%;padding:10px 12px;background:rgba(255,255,255,0.08);border-radius:4px;box-sizing:border-box}
    .info-label{font-size:0.7rem;margin-bottom:2px}
    .info-value{font-size:0.85rem;line-height:1.2}
}

/* === PÁGINA: BIENVENIDA === */

.bienvenida-hero{background-color:#D94A24;color:#fff;padding:120px 20px;text-align:center;border-radius:8px;margin-bottom:60px;position:relative;overflow:hidden;background-attachment:fixed;background-size:cover;background-position:center}
.bienvenida-hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.5) 100%);pointer-events:none}
.bienvenida-hero__overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.4) 100%);pointer-events:none}
.bienvenida-hero__content{max-width:700px;margin:0 auto;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center}
.bienvenida-hero__title{margin:0 0 16px;font-size:2.8rem;font-weight:700;line-height:1.1;letter-spacing:-0.5px;text-shadow:0 3px 8px rgba(0,0,0,0.4)}
.bienvenida-hero__subtitle{margin:0 0 40px;font-size:1.4rem;font-weight:300;opacity:0.95;text-shadow:0 2px 6px rgba(0,0,0,0.3)}
.bienvenida-hero__actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* Hero Image: Hidden on desktop, centered on top in mobile */
.bienvenida-hero__image{display:none}

/* Hero Buttons */
.hero-btn{display:inline-flex;flex-direction:row;align-items:center;gap:12px;padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:700;font-size:0.95rem;transition:all 0.28s ease;cursor:pointer;min-height:48px;border:3px solid rgba(255,255,255,0.12);background:linear-gradient(135deg,rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.9) 100%);color:#222;box-shadow:0 8px 20px rgba(0,0,0,0.12);position:relative;overflow:hidden}
.hero-btn::before{content:'';position:absolute;left:0;top:0;bottom:0;width:8px;background:linear-gradient(180deg,#D94A24,#2F8C4C,#F47A22);border-top-left-radius:999px;border-bottom-left-radius:999px}
.hero-btn__icon{font-size:1.6rem;display:block;line-height:1}
.hero-btn__text{display:block;font-size:0.95rem;line-height:1.2}
.hero-btn__text--short{display:none}
.hero-btn__text--full{display:inline}

.hero-btn--primary{background:#fff;color:#D94A24;border-color:rgba(217,74,36,0.12);box-shadow:0 10px 28px rgba(0,0,0,0.15)}
.hero-btn--primary:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(0,0,0,0.2)}

.hero-btn--secondary{background:linear-gradient(135deg,rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 100%);color:#fff;border-color:rgba(255,255,255,0.18);backdrop-filter:blur(8px)}
.hero-btn--secondary:hover{background:rgba(255,255,255,0.12);transform:translateY(-4px);border-color:#fff}

.hero-btn--accent{background:linear-gradient(135deg,rgba(242,182,50,0.18) 0%,rgba(242,182,50,0.08) 100%);color:#fff;border-color:rgba(242,182,50,0.3);backdrop-filter:blur(6px)}
.hero-btn--accent:hover{background:rgba(242,182,50,0.28);transform:translateY(-4px);border-color:#F2B632}

/* Responsive: Tablet 769px-1024px */
@media(max-width:1024px){
    .bienvenida-hero{padding:70px 16px}
    .bienvenida-hero__title{font-size:2.2rem}
    .bienvenida-hero__subtitle{font-size:1.2rem;margin-bottom:30px}
}

/* Responsive: Tablet 481px-768px */
@media(max-width:768px){
    .bienvenida-hero{padding:80px 16px;margin-bottom:40px}
    .bienvenida-hero__title{font-size:1.8rem}
    .bienvenida-hero__subtitle{font-size:1.05rem;margin-bottom:28px}
    .bienvenida-hero__actions{gap:10px}
    .hero-btn{padding:14px 16px;font-size:0.9rem;min-height:52px}
    .hero-btn__icon{font-size:1.4rem}
}

/* Responsive: Mobile 320px-480px */
@media(max-width:480px){
    .bienvenida-hero{padding:60px 20px;margin-bottom:30px;border-radius:6px;background-attachment:scroll;min-height:400px}
    .bienvenida-hero__image{display:none}
    .bienvenida-hero__content{display:flex;flex-direction:column;align-items:stretch;text-align:center;max-width:none;width:100%}
    .bienvenida-hero__title{font-size:1.4rem;margin-bottom:10px}
    .bienvenida-hero__subtitle{font-size:0.95rem;margin-bottom:20px}
    .bienvenida-hero__actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:none}
    .hero-btn{width:100%;padding:12px 8px;font-size:0.85rem;min-height:85px;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-radius:8px}
    .hero-btn::before{width:5px;border-radius:8px 0 0 8px}
    .hero-btn__icon{font-size:1.8rem;margin-right:0;margin-bottom:6px;display:block}
    .hero-btn__text{font-size:0.8rem;text-align:center;flex:none}
    .hero-btn__text--short{display:inline}
    .hero-btn__text--full{display:none}

    /* Fix móvil: evitar solapamiento y permitir que el contenido se rompa correctamente */
    .bienvenida-hero__actions{align-items:stretch}
    .hero-btn{min-width:0;box-sizing:border-box;flex:1 1 auto}
    .hero-btn__text{word-break:break-word;white-space:normal}
    .hero-btn::before{height:60%;top:20%;border-radius:6px 0 0 6px}
}

.bienvenida-section{padding:60px 0;border-bottom:3px dashed rgba(217,74,36,0.3);margin-bottom:40px}
.bienvenida-section:last-of-type{border-bottom:none}
.bienvenida-section__header{text-align:center;margin-bottom:50px}
.bienvenida-section__title{margin:0 0 12px;font-size:2.2rem;font-weight:700;color:#D94A24}
.bienvenida-section__subtitle{margin:0;font-size:1.1rem;color:#777;font-weight:300}
.bienvenida-section__cta{display:flex;justify-content:center;margin-top:40px}

@media(max-width:768px){
    .bienvenida-section{padding:40px 0;margin-bottom:30px}
    .bienvenida-section__header{margin-bottom:30px}
    .bienvenida-section__title{font-size:1.8rem}
    .bienvenida-section__subtitle{font-size:1rem}
}

@media(max-width:480px){
    .bienvenida-section{padding:30px 0;margin-bottom:20px}
    .bienvenida-section__header{margin-bottom:20px}
    .bienvenida-section__title{font-size:1.4rem}
    .bienvenida-section__subtitle{font-size:0.95rem}
}

/* Sección Menu */
.bienvenida-menu__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:40px;max-width:900px;margin-left:auto;margin-right:auto}
.menu-item{background:linear-gradient(135deg,#f9f9f9 0%,#f0f0f0 100%);padding:24px;border-radius:8px;text-align:center;border:2px solid #eee;transition:all 0.3s ease;cursor:default;border-top:4px solid #D94A24}
.menu-item:nth-child(2) .menu-item__icon{color:#2F8C4C;border-top-color:#2F8C4C}
.menu-item:nth-child(2){border-top-color:#2F8C4C}
.menu-item:nth-child(3) .menu-item__icon{color:#F47A22;border-top-color:#F47A22}
.menu-item:nth-child(3){border-top-color:#F47A22}
.menu-item:nth-child(4) .menu-item__icon{color:#6B3FA0;border-top-color:#6B3FA0}
.menu-item:nth-child(4){border-top-color:#6B3FA0}
.menu-item:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,0.12)}
.menu-item__icon{font-size:3rem;margin-bottom:12px;display:block;color:#D94A24}
.menu-item__title{margin:0 0 8px;font-size:1.2rem;font-weight:700;color:#222}
.menu-item__desc{margin:0 0 12px;font-size:0.95rem;color:#666;line-height:1.5}
.menu-item__price{margin:0;font-size:1.1rem;font-weight:700;color:#D94A24}

@media(max-width:768px){
    .bienvenida-menu__grid{grid-template-columns:1fr;gap:16px}
    .menu-item{padding:20px}
    .menu-item__icon{font-size:2.5rem;margin-bottom:8px}
    .menu-item__title{font-size:1.1rem}
}

@media(max-width:480px){
    .bienvenida-menu__grid{grid-template-columns:1fr;gap:12px}
    .menu-item{padding:16px;border-top-width:3px}
    .menu-item__icon{font-size:2rem;margin-bottom:6px}
    .menu-item__title{font-size:1rem;margin-bottom:6px}
    .menu-item__desc{font-size:0.85rem;margin-bottom:8px}
    .menu-item__price{font-size:0.95rem}
}

/* Sección Weekends */
.bienvenida-weekends__featured{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:30px;max-width:800px;margin-left:auto;margin-right:auto}
.featured-item{background:linear-gradient(135deg,rgba(196,30,58,0.08) 0%,rgba(63,72,204,0.08) 100%);padding:28px 16px;border-radius:8px;text-align:center;border:2px solid rgba(217,74,36,0.2);transition:all 0.3s ease}
.featured-item:hover{border-color:#D94A24;background:linear-gradient(135deg,rgba(217,74,36,0.12) 0%,rgba(63,72,204,0.12) 100%)}
.featured-item__icon{font-size:2.5rem;display:block;margin-bottom:12px}
.featured-item h3{margin:0 0 8px;font-size:1.15rem;font-weight:700;color:#D94A24}
.featured-item p{margin:0;font-size:0.9rem;color:#777;line-height:1.4}

.bienvenida-weekends__note{text-align:center;margin:30px 0;font-size:1rem;color:#666;font-style:italic}

@media(max-width:768px){
    .bienvenida-weekends__featured{grid-template-columns:1fr 1fr;gap:16px}
    .featured-item{padding:20px 12px}
    .featured-item__icon{font-size:2rem;margin-bottom:8px}
    .featured-item h3{font-size:1rem}
}

@media(max-width:480px){
    .bienvenida-weekends__featured{grid-template-columns:1fr;gap:12px}
    .featured-item{padding:16px;border-width:1px}
    .featured-item__icon{font-size:1.8rem;margin-bottom:6px}
    .featured-item h3{font-size:0.95rem}
    .featured-item p{font-size:0.85rem}
    .bienvenida-weekends__note{font-size:0.9rem;margin:20px 0}
}

/* Sección Catering */
.bienvenida-catering__content{max-width:900px;margin:0 auto}
.bienvenida-catering__description{font-size:1.1rem;line-height:1.8;color:#555;text-align:center;margin-bottom:40px;max-width:700px;margin-left:auto;margin-right:auto}

.bienvenida-catering__options{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:40px}
.catering-option{background:linear-gradient(135deg,#f9f9f9 0%,#f0f0f0 100%);padding:24px;border-radius:8px;text-align:center;border:2px solid #eee;border-top:4px solid #D94A24;transition:all 0.3s ease}
.catering-option:nth-child(2){border-top-color:#2F8C4C}
.catering-option:nth-child(3){border-top-color:#F47A22}
.catering-option:nth-child(4){border-top-color:#6B3FA0}
.catering-option:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,0.12)}
.catering-option__icon{font-size:2.8rem;display:block;margin-bottom:12px}
.catering-option h3{margin:0 0 8px;font-size:1.15rem;font-weight:700;color:#D94A24}
.catering-option:nth-child(2) h3{color:#2F8C4C}
.catering-option:nth-child(3) h3{color:#F47A22}
.catering-option:nth-child(4) h3{color:#6B3FA0}
.catering-option p{margin:0;font-size:0.95rem;color:#777;line-height:1.5}

.bienvenida-catering__notice{background:rgba(217,74,36,0.1);border-left:4px solid #D94A24;padding:16px 20px;border-radius:4px;margin:40px 0;text-align:center;font-size:1rem;color:#555}

@media(max-width:768px){
    .bienvenida-catering__options{grid-template-columns:1fr;gap:16px}
    .bienvenida-catering__description{font-size:1rem;margin-bottom:30px}
    .catering-option{padding:20px;border-top-width:3px}
    .catering-option__icon{font-size:2.3rem;margin-bottom:8px}
    .catering-option h3{font-size:1rem}
}

@media(max-width:480px){
    .bienvenida-catering__description{font-size:0.95rem;margin-bottom:20px;line-height:1.6}
    .bienvenida-catering__options{grid-template-columns:1fr;gap:12px}
    .catering-option{padding:16px;border-top-width:3px}
    .catering-option__icon{font-size:2rem;margin-bottom:6px}
    .catering-option h3{font-size:0.95rem;margin-bottom:6px}
    .catering-option p{font-size:0.85rem}
    .bienvenida-catering__notice{padding:12px 16px;font-size:0.9rem;margin:30px 0}
}

/* Sección Contacto */
.bienvenida-contacto__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:900px;margin:0 auto}
.contacto-card{background:linear-gradient(135deg,#f9f9f9 0%,#f0f0f0 100%);padding:28px;border-radius:8px;border:2px solid #eee;border-top:4px solid #D94A24;transition:all 0.3s ease}
.contacto-card:nth-child(2){border-top-color:#2F8C4C}
.contacto-card:nth-child(3){border-top-color:#F47A22}
.contacto-card:nth-child(4){border-top-color:#6B3FA0}
.contacto-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,0.12)}
.contacto-card__title{margin:0 0 16px;font-size:1.2rem;font-weight:700;color:#D94A24}
.contacto-card:nth-child(2) .contacto-card__title{color:#2F8C4C}
.contacto-card:nth-child(3) .contacto-card__title{color:#F47A22}
.contacto-card:nth-child(4) .contacto-card__title{color:#6B3FA0}
.contacto-card__text{margin:0 0 16px;font-size:0.95rem;color:#555;line-height:1.6}
.contacto-card__link{display:inline-block;color:#D94A24;text-decoration:none;font-weight:600;transition:all 0.2s ease;font-size:0.95rem}
.contacto-card:nth-child(2) .contacto-card__link{color:#2F8C4C}
.contacto-card:nth-child(3) .contacto-card__link{color:#F47A22}
.contacto-card:nth-child(4) .contacto-card__link{color:#6B3FA0}
.contacto-card__link:hover{opacity:0.7;text-decoration:underline}

.contacto-card__socials{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap}
.social-link{display:inline-block;padding:6px 14px;background:rgba(217,74,36,0.1);border:1px solid rgba(217,74,36,0.3);border-radius:4px;text-decoration:none;color:#D94A24;font-size:0.85rem;font-weight:600;transition:all 0.2s ease}
.contacto-card:nth-child(2) .social-link{background:rgba(47,140,76,0.1);border-color:rgba(47,140,76,0.3);color:#2F8C4C}
.contacto-card:nth-child(3) .social-link{background:rgba(244,122,34,0.1);border-color:rgba(244,122,34,0.3);color:#F47A22}
.contacto-card:nth-child(4) .social-link{background:rgba(107,63,160,0.1);border-color:rgba(107,63,160,0.3);color:#6B3FA0}
.social-link:hover{background:rgba(217,74,36,0.2);text-decoration:none;transform:translateY(-2px)}
.contacto-card:nth-child(2) .social-link:hover{background:rgba(47,140,76,0.2)}
.contacto-card:nth-child(3) .social-link:hover{background:rgba(244,122,34,0.2)}
.contacto-card:nth-child(4) .social-link:hover{background:rgba(107,63,160,0.2)}

@media(max-width:768px){
    .bienvenida-contacto__grid{grid-template-columns:1fr;gap:16px}
    .contacto-card{padding:20px}
    .contacto-card__title{font-size:1.1rem;margin-bottom:12px}
    .contacto-card__text{font-size:0.9rem;margin-bottom:12px}
}

@media(max-width:480px){
    .bienvenida-contacto__grid{grid-template-columns:1fr;gap:12px}
    .contacto-card{padding:16px;border-top-width:3px}
    .contacto-card__title{font-size:1rem;margin-bottom:8px}
    .contacto-card__text{font-size:0.85rem;line-height:1.5;margin-bottom:8px}
    .contacto-card__link{font-size:0.85rem}
    .contacto-card__socials{gap:8px}
    .social-link{padding:5px 12px;font-size:0.75rem}
}

/* === PÁGINA: MENÚ DEL DÍA === */

.menu-hero{background:linear-gradient(135deg,#D94A24 0%,#F47A22 50%,#2F8C4C 100%);color:#fff;padding:80px 20px;text-align:center;border-radius:8px;margin-bottom:60px;position:relative;overflow:hidden}
.menu-hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="3" fill="%23F2B632" opacity="0.2"/><circle cx="80" cy="80" r="3" fill="%23F2B632" opacity="0.2"/></svg>');background-size:50px 50px;opacity:0.3;pointer-events:none}
.menu-hero__content{max-width:700px;margin:0 auto;position:relative;z-index:1}
.menu-hero__title{margin:0 0 16px;font-size:2.8rem;font-weight:700;line-height:1.1;letter-spacing:-0.5px}
.menu-hero__subtitle{margin:0;font-size:1.4rem;font-weight:300;opacity:0.95}

@media(max-width:768px){
    .menu-hero{padding:60px 16px;margin-bottom:40px}
    .menu-hero__title{font-size:2rem}
    .menu-hero__subtitle{font-size:1.1rem}
}

@media(max-width:480px){
    .menu-hero{padding:40px 12px;margin-bottom:30px;border-radius:6px}
    .menu-hero__title{font-size:1.5rem}
    .menu-hero__subtitle{font-size:0.95rem}
}

.menu-image-section{padding:40px 0;margin-bottom:40px;background:#fff}

.menu-image-wrapper{max-width:900px;margin:0 auto;padding:0 20px;text-align:center}

.menu-image{width:100%;height:auto;max-width:900px;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,0.12);transition:transform 0.3s ease}

.menu-image:hover{transform:scale(1.02)}

.menu-image--clickable{cursor:pointer;opacity:0.95}
.menu-image--clickable:hover{opacity:1}

.menu-image-hint{margin-top:8px;text-align:center;font-size:0.85rem;color:#999;font-style:italic}

.menu-section{padding:60px 0;margin-bottom:60px}

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

/* === Blossom Masonry Layout (menu section) — vertical orientation === */
.menu-section--masonry{padding-bottom:60px}
.menu-section__header{text-align:center;margin-bottom:32px}
.menu-section__title{font-size:1.8rem;font-weight:700;color:#2D6A4F;margin:0 0 8px}
.menu-masonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(180px,auto);grid-auto-flow:row dense;gap:24px;padding:0}
.menu-masonry .menu-card{min-width:0;overflow-wrap:break-word}
/* Tall items: span 2 rows (hero & premium) */
.menu-masonry .menu-card:nth-child(1),.menu-masonry .menu-card:nth-child(5){grid-row:span 2}
/* Featured (4n+1 like Blossom) — extra visual weight */
.menu-masonry .menu-card:nth-child(2){background:linear-gradient(135deg,#f0f6f2 0%,#e2ede6 100%);border-top-color:#2D6A4F}
@media (max-width:900px){.menu-masonry{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.menu-masonry{grid-template-columns:1fr;grid-auto-rows:auto}.menu-masonry .menu-card:nth-child(1),.menu-masonry .menu-card:nth-child(5){grid-row:span 1}}

.menu-card{background:linear-gradient(135deg,#f9f9f9 0%,#f0f0f0 100%);padding:28px;border-radius:8px;border:2px solid #eee;border-top:4px solid #D94A24;transition:all 0.3s ease;position:relative}
.menu-card:nth-child(2){border-top-color:#2F8C4C}
.menu-card:nth-child(3){border-top-color:#F47A22}
.menu-card:nth-child(4){border-top-color:#6B3FA0}
.menu-card:nth-child(5){border-top-color:#214C8A}
.menu-card:nth-child(6){border-top-color:#E04F8A}
.menu-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(0,0,0,0.15)}

.menu-card__number{position:absolute;top:-12px;left:20px;width:40px;height:40px;background:linear-gradient(135deg,#D94A24 0%,#F47A22 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;box-shadow:0 4px 12px rgba(0,0,0,0.2)}
.menu-card:nth-child(2) .menu-card__number{background:linear-gradient(135deg,#2F8C4C 0%,#3fa85f 100%)}
.menu-card:nth-child(3) .menu-card__number{background:linear-gradient(135deg,#F47A22 0%,#f59a4a 100%)}
.menu-card:nth-child(4) .menu-card__number{background:linear-gradient(135deg,#6B3FA0 0%,#8a5bc4 100%)}
.menu-card:nth-child(5) .menu-card__number{background:linear-gradient(135deg,#214C8A 0%,#3a6bb0 100%)}
.menu-card:nth-child(6) .menu-card__number{background:linear-gradient(135deg,#E04F8A 0%,#e876ac 100%)}

.menu-card__title{margin:16px 0 6px;font-size:1.4rem;font-weight:700;color:#D94A24}
.menu-card:nth-child(2) .menu-card__title{color:#2F8C4C}
.menu-card:nth-child(3) .menu-card__title{color:#F47A22}
.menu-card:nth-child(4) .menu-card__title{color:#6B3FA0}
.menu-card:nth-child(5) .menu-card__title{color:#214C8A}
.menu-card:nth-child(6) .menu-card__title{color:#E04F8A}

.menu-card__desc{margin:0 0 12px;font-size:0.9rem;font-style:italic;color:#777}

.menu-card__items{margin:12px 0;padding-left:20px;list-style:none}
.menu-card__items li{padding:6px 0;font-size:0.9rem;color:#555;line-height:1.4;position:relative}
.menu-card__items li::before{content:'•';position:absolute;left:-16px;color:#D94A24;font-weight:700}

.menu-card__price{margin:16px 0 0;font-size:1.3rem;font-weight:700;color:#D94A24;text-align:center;padding-top:12px;border-top:2px solid rgba(0,0,0,0.1)}

.menu-cta{background:linear-gradient(135deg,#D94A24 0%,#F47A22 50%,#2F8C4C 100%);color:#fff;padding:60px 20px;text-align:center;border-radius:8px;margin-top:40px;position:relative;overflow:hidden}
.menu-cta::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="3" fill="%23F2B632" opacity="0.2"/></svg>');background-size:50px 50px;pointer-events:none}
.menu-cta h2{margin:0 0 12px;font-size:2rem;font-weight:700;position:relative;z-index:1}
.menu-cta p{margin:0 0 32px;font-size:1.1rem;opacity:0.95;position:relative;z-index:1}
.menu-cta__buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}

@media(max-width:768px){
    .menu-grid{grid-template-columns:repeat(2,1fr);gap:16px}
    .menu-image-wrapper{padding:0 12px}
    .menu-image{border-radius:6px}
    .menu-cta{padding:40px 16px;margin-top:30px}
    .menu-cta h2{font-size:1.5rem;margin-bottom:8px}
    .menu-cta p{font-size:1rem;margin-bottom:24px}
    .menu-cta__buttons{gap:12px}
}

@media(max-width:480px){
    .menu-grid{grid-template-columns:1fr;gap:12px}
    .menu-card{padding:20px;border-top-width:3px}
    .menu-card__number{width:36px;height:36px;font-size:1rem;left:16px}
    .menu-card__title{font-size:1.1rem;margin-bottom:4px}
    .menu-card__desc{font-size:0.85rem;margin-bottom:8px}
    .menu-card__items{margin:8px 0;padding-left:16px}
    .menu-card__items li{padding:4px 0;font-size:0.85rem}
    .menu-card__price{margin:12px 0 0;font-size:1.1rem;padding-top:8px}
    .menu-image-wrapper{padding:0 8px}
    .menu-image{border-radius:4px}
    
    .menu-cta{padding:30px 12px;margin-top:20px;border-radius:6px}
    .menu-cta h2{font-size:1.3rem;margin-bottom:6px}
    .menu-cta p{font-size:0.9rem;margin-bottom:20px}
    .menu-cta__buttons{flex-direction:column;gap:10px}
}

/* === PÁGINA: WEEKENDS === */

.weekends-hero{background:linear-gradient(135deg,#D94A24 0%,#F47A22 50%,#2F8C4C 100%);color:#fff;padding:80px 20px;text-align:center;border-radius:8px;margin-bottom:60px;position:relative;overflow:hidden}
.weekends-hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="3" fill="%23F2B632" opacity="0.2"/><circle cx="80" cy="80" r="3" fill="%23F2B632" opacity="0.2"/></svg>');background-size:50px 50px;opacity:0.3;pointer-events:none}
.weekends-hero__content{max-width:700px;margin:0 auto;position:relative;z-index:1}
.weekends-hero h1{margin:0 0 16px;font-size:2.8rem;font-weight:700;line-height:1.1;letter-spacing:-0.5px}
.weekends-hero p{margin:0;font-size:1.4rem;font-weight:300;opacity:0.95}

@media(max-width:768px){
    .weekends-hero{padding:60px 16px;margin-bottom:40px}
    .weekends-hero h1{font-size:2rem}
    .weekends-hero p{font-size:1.1rem}
}

@media(max-width:480px){
    .weekends-hero{padding:40px 12px;margin-bottom:30px;border-radius:6px}
    .weekends-hero h1{font-size:1.5rem}
    .weekends-hero p{font-size:0.95rem}
}

.weekends-section{padding:60px 0}

.weekends-header{text-align:center;margin-bottom:50px}
.weekends-header h2{margin:0 0 12px;font-size:2.2rem;font-weight:700;color:#D94A24}
.weekends-header p{margin:0;font-size:1.1rem;color:#777;font-weight:300}

.weekends-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:40px}

.weekends-card{background:linear-gradient(135deg,#f9f9f9 0%,#f0f0f0 100%);padding:28px;border-radius:8px;border:2px solid #eee;border-top:4px solid #D94A24;transition:all 0.3s ease;position:relative;cursor:pointer}
.weekends-card:nth-child(2){border-top-color:#2F8C4C}
.weekends-card:nth-child(3){border-top-color:#F47A22}
.weekends-card:nth-child(4){border-top-color:#6B3FA0}
.weekends-card:nth-child(5){border-top-color:#214C8A}
.weekends-card:nth-child(6){border-top-color:#E04F8A}
.weekends-card:nth-child(7){border-top-color:#8B4513}
.weekends-card:nth-child(8){border-top-color:#C1272D}
.weekends-card:nth-child(9){border-top-color:#FFB81C}
.weekends-card:nth-child(10){border-top-color:#1B998B}
.weekends-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(217,74,36,0.25);border-color:#D94A24}
.weekends-card.highlighted{transform:translateY(-10px);box-shadow:0 24px 48px rgba(217,74,36,0.35);border:2px solid rgba(217,74,36,0.6);background:linear-gradient(135deg,#fff8f3 0%,#fff0e8 100%)}

.weekends-card__number{position:absolute;top:-12px;left:20px;width:40px;height:40px;background:linear-gradient(135deg,#D94A24 0%,#F47A22 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;box-shadow:0 4px 12px rgba(0,0,0,0.2)}
.weekends-card:nth-child(2) .weekends-card__number{background:linear-gradient(135deg,#2F8C4C 0%,#3fa85f 100%)}
.weekends-card:nth-child(3) .weekends-card__number{background:linear-gradient(135deg,#F47A22 0%,#f59a4a 100%)}
.weekends-card:nth-child(4) .weekends-card__number{background:linear-gradient(135deg,#6B3FA0 0%,#8a5bc4 100%)}
.weekends-card:nth-child(5) .weekends-card__number{background:linear-gradient(135deg,#214C8A 0%,#3a6bb0 100%)}
.weekends-card:nth-child(6) .weekends-card__number{background:linear-gradient(135deg,#E04F8A 0%,#e876ac 100%)}
.weekends-card:nth-child(7) .weekends-card__number{background:linear-gradient(135deg,#8B4513 0%,#a85a2a 100%)}
.weekends-card:nth-child(8) .weekends-card__number{background:linear-gradient(135deg,#C1272D 0%,#db483f 100%)}
.weekends-card:nth-child(9) .weekends-card__number{background:linear-gradient(135deg,#FFB81C 0%,#ffc940 100%)}
.weekends-card:nth-child(10) .weekends-card__number{background:linear-gradient(135deg,#1B998B 0%,#42b5a8 100%)}

.weekends-card h3{margin:16px 0 6px;font-size:1.4rem;font-weight:700;color:#D94A24}
.weekends-card:nth-child(2) h3{color:#2F8C4C}
.weekends-card:nth-child(3) h3{color:#F47A22}
.weekends-card:nth-child(4) h3{color:#6B3FA0}
.weekends-card:nth-child(5) h3{color:#214C8A}
.weekends-card:nth-child(6) h3{color:#E04F8A}
.weekends-card:nth-child(7) h3{color:#8B4513}
.weekends-card:nth-child(8) h3{color:#C1272D}
.weekends-card:nth-child(9) h3{color:#FFB81C}
.weekends-card:nth-child(10) h3{color:#1B998B}

.weekends-card__jp{margin:0 0 12px;font-size:0.9rem;font-style:italic;color:#777}

.weekends-ingredients{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0}

.weekends-ingredients__es,
.weekends-ingredients__jp{margin:0;padding-left:20px;list-style:none}

.weekends-ingredients__es li,
.weekends-ingredients__jp li{padding:6px 0;font-size:0.85rem;color:#555;line-height:1.4;position:relative}

.weekends-ingredients__es li::before,
.weekends-ingredients__jp li::before{content:'•';position:absolute;left:-16px;color:#D94A24;font-weight:700}

.weekends-ingredients__jp li{color:#888;font-size:0.8rem;font-weight:500}

.weekends-card ul{margin:12px 0;padding-left:20px;list-style:none}
.weekends-card li{padding:6px 0;font-size:0.9rem;color:#555;line-height:1.4;position:relative}
.weekends-card li::before{content:'•';position:absolute;left:-16px;color:#D94A24;font-weight:700}

.weekends-cta{background:linear-gradient(135deg,#D94A24 0%,#F47A22 50%,#2F8C4C 100%);color:#fff;padding:60px 20px;text-align:center;border-radius:8px;margin-top:40px;position:relative;overflow:hidden}
.weekends-cta::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="3" fill="%23F2B632" opacity="0.2"/></svg>');background-size:50px 50px;pointer-events:none}
.weekends-cta h2{margin:0 0 12px;font-size:2rem;font-weight:700;position:relative;z-index:1}
.weekends-cta p{margin:0 0 32px;font-size:1.1rem;opacity:0.95;position:relative;z-index:1}
.weekends-cta__buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}

.weekends-cta__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:6px;text-decoration:none;font-weight:600;font-size:1rem;transition:all 0.3s ease;cursor:pointer;border:none}

.weekends-cta__btn--primary{background:#fff;color:#D94A24;box-shadow:0 6px 20px rgba(0,0,0,0.25)}
.weekends-cta__btn--primary:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,0.35)}

.weekends-cta__btn--secondary{background:rgba(255,255,255,0.15);color:#fff;border:2px solid rgba(255,255,255,0.6);backdrop-filter:blur(10px)}
.weekends-cta__btn--secondary:hover{background:rgba(255,255,255,0.25);transform:translateY(-3px);border-color:#fff}

@media(max-width:768px){
    .weekends-header{margin-bottom:30px}
    .weekends-header h2{font-size:1.8rem}
    .weekends-header p{font-size:1rem}
    
    .weekends-grid{grid-template-columns:repeat(2,1fr);gap:16px}
    
    .weekends-card{padding:24px;border-top-width:3px}
    .weekends-card__number{width:40px;height:40px;font-size:1.1rem}
    .weekends-card h3{font-size:1.2rem;margin-bottom:6px}
    .weekends-card__jp{font-size:0.9rem;margin-bottom:10px}
    
    .weekends-ingredients{grid-template-columns:1fr 1fr;gap:14px;margin:10px 0}
    .weekends-ingredients__es,
    .weekends-ingredients__jp{padding-left:18px;margin:0}
    .weekends-ingredients__es li,
    .weekends-ingredients__jp li{padding:5px 0;font-size:0.85rem}
    
    .weekends-cta{padding:40px 16px;margin-top:30px}
    .weekends-cta h2{font-size:1.5rem;margin-bottom:8px}
    .weekends-cta p{font-size:1rem;margin-bottom:24px}
    .weekends-cta__buttons{gap:12px}
}

@media(max-width:480px){
    .weekends-header{margin-bottom:20px}
    .weekends-header h2{font-size:1.4rem}
    .weekends-header p{font-size:0.95rem}
    
    .weekends-grid{grid-template-columns:1fr;gap:12px}
    
    .weekends-card{padding:20px;border-top-width:3px}
    .weekends-card__number{width:36px;height:36px;font-size:1rem;left:16px}
    .weekends-card h3{font-size:1.1rem;margin-bottom:4px}
    .weekends-card__jp{font-size:0.85rem;margin-bottom:8px}
    
    .weekends-ingredients{grid-template-columns:1fr;gap:12px;margin:8px 0}
    .weekends-ingredients__es,
    .weekends-ingredients__jp{padding-left:16px;margin:0}
    .weekends-ingredients__es li,
    .weekends-ingredients__jp li{padding:3px 0;font-size:0.8rem}
    
    .weekends-card ul{margin:8px 0;padding-left:16px}
    .weekends-card li{padding:4px 0;font-size:0.85rem}
    
    .weekends-cta{padding:30px 12px;margin-top:20px;border-radius:6px}
    .weekends-cta h2{font-size:1.3rem;margin-bottom:6px}
    .weekends-cta p{font-size:0.9rem;margin-bottom:20px}
    .weekends-cta__buttons{flex-direction:column;gap:10px}
    .weekends-cta__btn{width:100%;padding:12px 16px;font-size:0.9rem}
}

/* === PÁGINA: CATERING === */

.catering-hero{background:linear-gradient(135deg,#D94A24 0%,#F47A22 50%,#2F8C4C 100%);color:#fff;padding:80px 20px;text-align:center;border-radius:8px;margin-bottom:60px;position:relative;overflow:hidden}
.catering-hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="3" fill="%23F2B632" opacity="0.2"/><circle cx="80" cy="80" r="3" fill="%23F2B632" opacity="0.2"/></svg>');background-size:50px 50px;opacity:0.3;pointer-events:none}
.catering-hero__content{max-width:700px;margin:0 auto;position:relative;z-index:1}
.catering-hero h1{margin:0 0 16px;font-size:2.8rem;font-weight:700;line-height:1.1;letter-spacing:-0.5px}
.catering-hero p{margin:0 0 12px;font-size:1.4rem;font-weight:300;opacity:0.95}
.catering-hero__jp{font-size:1.1rem;font-style:italic;opacity:0.85}

@media(max-width:768px){
    .catering-hero{padding:60px 16px;margin-bottom:40px}
    .catering-hero h1{font-size:2rem}
    .catering-hero p{font-size:1.1rem}
    .catering-hero__jp{font-size:0.95rem}
}

@media(max-width:480px){
    .catering-hero{padding:40px 12px;margin-bottom:30px;border-radius:6px}
    .catering-hero h1{font-size:1.5rem}
    .catering-hero p{font-size:0.95rem;margin-bottom:8px}
    .catering-hero__jp{font-size:0.85rem}
}

.catering-section{padding:60px 0;border-bottom:2px dashed rgba(217,74,36,0.3);margin-bottom:40px}

.catering-header{text-align:center;margin-bottom:50px}
.catering-header h2{margin:0 0 12px;font-size:2.2rem;font-weight:700;color:#D94A24}
.catering-header p{margin:0;font-size:1.1rem;color:#777;font-weight:300}

.catering-featured{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:40px}

.catering-featured__item{background:linear-gradient(135deg,#f9f9f9 0%,#f0f0f0 100%);padding:32px 24px;border-radius:8px;border:2px solid #eee;border-top:4px solid #D94A24;text-align:center;transition:all 0.3s ease}
.catering-featured__item:nth-child(2){border-top-color:#2F8C4C}
.catering-featured__item:nth-child(3){border-top-color:#F47A22}
.catering-featured__item:hover{transform:translateY(-6px);box-shadow:0 12px 28px rgba(0,0,0,0.12)}

.catering-featured__item h3{margin:0 0 8px;font-size:1.5rem;font-weight:700;color:#D94A24}
.catering-featured__item:nth-child(2) h3{color:#2F8C4C}
.catering-featured__item:nth-child(3) h3{color:#F47A22}

.catering-featured__item .jp-text{margin:0 0 12px;font-size:0.9rem;font-style:italic;color:#777}

.catering-featured__item p{margin:0;font-size:0.95rem;color:#555;line-height:1.6}

@media(max-width:768px){
    .catering-featured{grid-template-columns:1fr;gap:16px}
    .catering-featured__item{padding:24px 20px}
    .catering-featured__item h3{font-size:1.3rem}
}

@media(max-width:480px){
    .catering-featured{grid-template-columns:1fr;gap:12px}
    .catering-featured__item{padding:20px 16px;border-top-width:3px}
    .catering-featured__item h3{font-size:1.1rem;margin-bottom:6px}
}

.catering-contact-section{background:linear-gradient(135deg,rgba(196,30,58,0.05) 0%,rgba(63,72,204,0.05) 100%);padding:60px 40px;border-radius:8px;margin-bottom:60px}

.catering-contact__content{max-width:900px;margin:0 auto}

.catering-contact__content h2{margin:0 0 8px;font-size:2rem;font-weight:700;color:#D94A24;text-align:center}
.catering-contact__content .jp-text{margin:0 0 32px;font-size:1rem;color:#777;text-align:center;font-style:italic}

.intro-text{font-size:1.05rem;line-height:1.8;color:#555;text-align:center;max-width:800px;margin:0 auto 20px}

.catering-two-column{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;margin:40px 0}

.catering-column h3{margin:0 0 20px;font-size:1.3rem;font-weight:700;color:#D94A24}
.catering-column:nth-child(2) h3{color:#2F8C4C}

.catering-list{list-style:none;padding:0;margin:0}
.catering-list li{padding:10px 0;font-size:1rem;color:#555;line-height:1.6}

.catering-commitment{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;margin:40px 0;padding:40px 0;border-top:2px solid rgba(217,74,36,0.2);border-bottom:2px solid rgba(217,74,36,0.2)}

.commitment-block{background:#fff;padding:24px;border-radius:8px;border-left:4px solid #D94A24}
.commitment-block:nth-child(2){border-left-color:#2F8C4C}

.commitment-block h3{margin:0 0 12px;font-size:1.2rem;font-weight:700;color:#D94A24}
.commitment-block:nth-child(2) h3{color:#2F8C4C}

.commitment-block p{margin:0;font-size:0.95rem;color:#555;line-height:1.6}

.catering-info-box{background:#fff;padding:24px;border-radius:8px;border-left:4px solid #D94A24;margin:20px 0;margin-top:40px}
.catering-info-box:nth-child(2){border-left-color:#214C8A;margin-top:16px}

.catering-info-box h3{margin:0 0 12px;font-size:1.1rem;font-weight:700;color:#D94A24}
.catering-info-box:nth-child(2) h3{color:#214C8A}

.catering-info-box p{margin:0;font-size:0.95rem;color:#555;line-height:1.6}

@media(max-width:768px){
    .catering-contact-section{padding:40px 24px}
    .catering-contact__content h2{font-size:1.6rem}
    .catering-two-column{grid-template-columns:1fr;gap:24px;margin:30px 0}
    .catering-commitment{grid-template-columns:1fr;gap:16px;margin:30px 0;padding:24px 0}
}

@media(max-width:480px){
    .catering-contact-section{padding:30px 16px}
    .catering-contact__content h2{font-size:1.4rem;margin-bottom:6px}
    .intro-text{font-size:0.95rem;margin-bottom:16px}
    .catering-two-column{grid-template-columns:1fr;gap:20px;margin:24px 0}
    .catering-column h3{font-size:1.1rem;margin-bottom:16px}
    .catering-list li{padding:8px 0;font-size:0.9rem}
    .catering-commitment{grid-template-columns:1fr;gap:12px;margin:20px 0;padding:16px 0}
    .commitment-block{padding:16px}
    .commitment-block h3{font-size:1rem}
    .catering-info-box{padding:16px;margin:16px 0}
    .catering-info-box h3{font-size:0.95rem;margin-bottom:8px}
}

.catering-form-section{padding:60px 0;background:linear-gradient(135deg,rgba(196,30,58,0.03) 0%,rgba(63,72,204,0.03) 100%);margin:60px 0}

.catering-form-container{max-width:700px;margin:0 auto;padding:0 20px}

.catering-form-container h2{margin:0 0 8px;font-size:2rem;font-weight:700;color:#D94A24;text-align:center}
.catering-form-container > p{margin:0 0 40px;font-size:1rem;color:#777;text-align:center;font-style:italic}

.catering-form{background:#fff;padding:40px;border-radius:8px;border:2px solid rgba(217,74,36,0.1);box-shadow:0 4px 12px rgba(0,0,0,0.08)}

.form-group{margin-bottom:24px}
.form-group label{display:block;margin-bottom:8px;font-size:0.95rem;font-weight:600;color:#333}
.form-group input,
.form-group select,
.form-group textarea{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:6px;font-size:0.95rem;font-family:Arial,sans-serif;transition:all 0.2s ease}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{outline:none;border-color:#D94A24;box-shadow:0 0 0 3px rgba(217,74,36,0.1)}

.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}

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

.form-info{background:rgba(217,74,36,0.08);padding:16px;border-radius:6px;border-left:4px solid #D94A24;margin:24px 0;font-size:0.9rem;color:#555}
.form-info p{margin:0;line-height:1.5}

.form-submit{width:100%;padding:14px 28px;background:linear-gradient(135deg,#D94A24 0%,#F47A22 100%);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.3s ease;min-height:44px}
.form-submit:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(217,74,36,0.3)}
.form-submit:active{transform:translateY(0);box-shadow:0 4px 12px rgba(217,74,36,0.2)}

@media(max-width:768px){
    .catering-form-section{padding:40px 0;margin:40px 0}
    .catering-form-container h2{font-size:1.5rem;margin-bottom:6px}
    .form-row{grid-template-columns:1fr;gap:16px}
    .form-group--half{margin-bottom:24px}
    .catering-form{padding:24px}
}

@media(max-width:480px){
    .catering-form-section{padding:30px 0;margin:30px 0}
    .catering-form-container{padding:0 12px}
    .catering-form-container h2{font-size:1.3rem}
    .catering-form-container > p{font-size:0.9rem;margin-bottom:24px}
    .catering-form{padding:16px;border-width:1px}
    .form-group{margin-bottom:16px}
    .form-group label{font-size:0.85rem;margin-bottom:6px}
    .form-group input,
    .form-group select,
    .form-group textarea{padding:10px 12px;font-size:0.9rem}
    .form-info{padding:12px;font-size:0.85rem}
    .form-submit{padding:12px 16px;font-size:0.95rem}
}

.catering-cta{background:linear-gradient(135deg,#D94A24 0%,#F47A22 50%,#2F8C4C 100%);color:#fff;padding:60px 20px;text-align:center;border-radius:8px;margin-top:60px;position:relative;overflow:hidden}
.catering-cta::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="3" fill="%23F2B632" opacity="0.2"/></svg>');background-size:50px 50px;pointer-events:none}
.catering-cta h2{margin:0 0 12px;font-size:2rem;font-weight:700;position:relative;z-index:1}
.catering-cta > p{margin:0 0 32px;font-size:1.1rem;opacity:0.95;position:relative;z-index:1}
.catering-cta__buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}

.catering-cta__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:6px;text-decoration:none;font-weight:600;font-size:1rem;transition:all 0.3s ease;cursor:pointer;border:none}

.catering-cta__btn--primary{background:#fff;color:#D94A24;box-shadow:0 6px 20px rgba(0,0,0,0.25)}
.catering-cta__btn--primary:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,0.35)}

.catering-cta__btn--secondary{background:rgba(255,255,255,0.15);color:#fff;border:2px solid rgba(255,255,255,0.6);backdrop-filter:blur(10px)}
.catering-cta__btn--secondary:hover{background:rgba(255,255,255,0.25);transform:translateY(-3px);border-color:#fff}

.jp-text{color:inherit;font-size:inherit;font-style:normal;font-weight:600 !important}
.bienvenida-section__subtitle.jp-text{color:#333 !important;font-weight:500 !important}
.menu-item__price.jp-text{color:#222 !important;font-weight:600 !important}

@media(max-width:768px){
    .catering-cta{padding:40px 16px;margin-top:40px}
    .catering-cta h2{font-size:1.5rem;margin-bottom:8px}
    .catering-cta > p{font-size:1rem;margin-bottom:24px}
    .catering-cta__buttons{gap:12px}
}

@media(max-width:480px){
    .catering-cta{padding:30px 12px;margin-top:30px;border-radius:6px}
    .catering-cta h2{font-size:1.3rem;margin-bottom:6px}
    .catering-cta > p{font-size:0.9rem;margin-bottom:20px}
    .catering-cta__buttons{flex-direction:column;gap:10px}
    .catering-cta__btn{width:100%;padding:12px 16px;font-size:0.9rem}
}

/* === LIGHTBOX MODAL === */

.menu-lightbox{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;overflow:hidden}

.menu-lightbox--active{display:flex;align-items:center;justify-content:center}

.menu-lightbox__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.95);z-index:-1;cursor:pointer}

.menu-lightbox__container{position:relative;width:90%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;align-items:center;z-index:1}

.menu-lightbox__content{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;width:100%;position:relative}

.menu-lightbox__image{max-width:100%;max-height:75vh;object-fit:contain;transform-origin:center;transition:transform 0.2s ease;cursor:grab;user-select:none}

.menu-lightbox__image:active{cursor:grabbing}

.menu-lightbox__close{position:absolute;top:16px;right:16px;width:40px;height:40px;background:rgba(255,255,255,0.1);border:2px solid rgba(255,255,255,0.5);border-radius:50%;color:#fff;font-size:1.5rem;cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center;padding:0;backdrop-filter:blur(10px);z-index:10}

.menu-lightbox__close:hover{background:rgba(255,255,255,0.25);border-color:#fff}

.menu-lightbox__controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px;background:rgba(255,255,255,0.1);padding:12px 24px;border-radius:8px;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2)}

.menu-lightbox__btn{background:rgba(217,74,36,0.8);border:1px solid rgba(217,74,36,1);color:#fff;width:36px;height:36px;border-radius:6px;font-size:1.2rem;cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center;padding:0}

.menu-lightbox__btn:hover{background:rgba(217,74,36,1);box-shadow:0 4px 12px rgba(217,74,36,0.4)}

.menu-lightbox__btn:active{transform:scale(0.95)}

.menu-lightbox__zoom-level{color:#fff;font-weight:600;min-width:60px;text-align:center;font-size:0.95rem}

@media(max-width:768px){
    .menu-lightbox__container{width:95%;max-height:85vh}
    .menu-lightbox__content{max-height:70vh}
    .menu-lightbox__image{max-height:60vh}
    .menu-lightbox__close{width:36px;height:36px;font-size:1.3rem;top:12px;right:12px}
    .menu-lightbox__controls{gap:12px;padding:10px 16px;margin-top:16px}
    .menu-lightbox__btn{width:32px;height:32px;font-size:1rem}
    .menu-lightbox__zoom-level{font-size:0.85rem;min-width:50px}
}

@media(max-width:480px){
    .menu-lightbox__container{width:98%;max-height:90vh}
    .menu-lightbox__content{max-height:75vh}
    .menu-lightbox__image{max-height:65vh}
    .menu-lightbox__close{width:32px;height:32px;font-size:1.1rem;top:8px;right:8px}
    .menu-lightbox__controls{gap:10px;padding:8px 12px;margin-top:12px}
    .menu-lightbox__btn{width:30px;height:30px;font-size:0.9rem}
    .menu-lightbox__zoom-level{font-size:0.8rem;min-width:45px}
}

/* === GALERÍA INTERACTIVA WEEKENDS === */

.weekends-gallery-section{padding:60px 20px;background:linear-gradient(180deg,rgba(217,74,36,0.02) 0%,rgba(47,140,76,0.02) 100%);margin:40px 0}

.weekends-gallery-header{text-align:center;margin-bottom:40px}

.weekends-gallery-header h2{font-size:2.2rem;color:#222;margin-bottom:12px;font-weight:700}

.weekends-gallery-header p{font-size:1rem;color:#666;opacity:0.9}

.weekends-gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:0 auto;max-width:600px}

.weekends-gallery-item{position:relative;aspect-ratio:1;cursor:pointer;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,0.1);transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1);transform:scale(1);user-select:none}

.weekends-gallery-item.active{transform:scale(1.12);box-shadow:0 16px 40px rgba(217,74,36,0.5);border:3px solid #D94A24}

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

.weekends-gallery-item:hover{transform:scale(1.08);box-shadow:0 12px 32px rgba(217,74,36,0.3)}

.weekends-gallery-item:hover img{transform:scale(1.15)}

.weekends-gallery-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0.7) 70%,rgba(0,0,0,0.85) 100%);display:flex;align-items:flex-end;justify-content:center;padding:16px;opacity:1;transition:opacity 0.3s ease}

.weekends-gallery-label{color:#fff;font-size:0.95rem;font-weight:600;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,0.5)}

/* Desktop: 5 columnas */
@media(min-width:1025px){
    .weekends-gallery-grid{grid-template-columns:repeat(5,1fr);gap:24px}
    .weekends-gallery-header h2{font-size:2.5rem}
}

/* Tablet: 3 columnas */
@media(max-width:1024px){
    .weekends-gallery-grid{grid-template-columns:repeat(3,1fr);gap:20px}
    .weekends-gallery-header h2{font-size:2rem}
    .weekends-gallery-header p{font-size:0.95rem}
}

/* Mobile: 2 columnas */
@media(max-width:768px){
    .weekends-gallery-section{padding:40px 16px;margin:30px 0}
    .weekends-gallery-grid{grid-template-columns:repeat(2,1fr);gap:16px}
    .weekends-gallery-header{margin-bottom:30px}
    .weekends-gallery-header h2{font-size:1.6rem;margin-bottom:10px}
    .weekends-gallery-header p{font-size:0.9rem}
    .weekends-gallery-label{font-size:0.85rem}
}

/* Small Mobile: 2 columnas ajustadas */
@media(max-width:480px){
    .weekends-gallery-section{padding:30px 12px;margin:20px 0}
    .weekends-gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}
    .weekends-gallery-header{margin-bottom:20px}
    .weekends-gallery-header h2{font-size:1.4rem;margin-bottom:8px}
    .weekends-gallery-header p{font-size:0.85rem}
    .weekends-gallery-item{border-radius:8px}
    .weekends-gallery-label{font-size:0.75rem;padding:12px 8px}
}

/* === MODAL INTERACTIVO WEEKENDS === */

.weekends-modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:9998;overflow-y:auto}

.weekends-modal--active{display:flex;align-items:center;justify-content:center}

.weekends-modal__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.92);backdrop-filter:blur(4px);cursor:pointer}

.weekends-modal__content{position:relative;background:#fff;border-radius:16px;max-width:900px;width:95%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,0.4);z-index:9999;animation:modalSlideIn 0.3s ease-out}

@keyframes modalSlideIn{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}

.weekends-modal__close{position:absolute;top:20px;right:20px;width:40px;height:40px;background:rgba(217,74,36,0.1);border:none;border-radius:50%;font-size:2rem;color:#D94A24;cursor:pointer;transition:all 0.2s ease;z-index:100;display:flex;align-items:center;justify-content:center;padding:0}

.weekends-modal__close:hover{background:#D94A24;color:#fff;transform:rotate(90deg)}

.weekends-modal__body{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:32px}

.weekends-modal__image-container{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f9f9f9 0%,#f0f0f0 100%);border-radius:12px;padding:12px;width:250px;height:220px}

.weekends-modal__image{max-width:200px;max-height:180px;object-fit:contain;border-radius:8px}

.weekends-modal__info{display:flex;flex-direction:column;gap:24px;justify-content:center}

.weekends-modal__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}

.weekends-modal__title{margin:0;font-size:2.2rem;color:#D94A24;font-weight:700}

.weekends-modal__subtitle{margin:8px 0 0;font-size:1.1rem;color:#888;font-style:italic}

.weekends-modal__lang-toggle{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#FFF3E8 0%,#FFF0EB 100%);border:2px solid #D94A24;border-radius:8px;cursor:pointer;font-weight:600;color:#D94A24;transition:all 0.3s ease;white-space:nowrap}

.weekends-modal__lang-toggle:hover{background:linear-gradient(135deg,#D94A24 0%,#c43619 100%);color:#fff;transform:translateY(-2px);box-shadow:0 8px 16px rgba(217,74,36,0.3)}

.flag{font-size:1.4rem}

.lang-text{font-size:0.9rem}

/* Acordeón */
.weekends-modal__accordion{border:2px solid #eee;border-radius:8px;overflow:hidden}

.weekends-modal__accordion-btn{width:100%;padding:16px 20px;background:#fff;border:none;text-align:left;font-size:1rem;font-weight:600;color:#222;cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;gap:12px;border-bottom:2px solid #eee}

.weekends-modal__accordion-btn:hover{background:#f9f9f9;border-bottom-color:#D94A24}

.accordion-icon{display:inline-block;transition:transform 0.3s ease;font-size:0.8rem;color:#D94A24}

.weekends-modal__accordion-content{max-height:0;overflow:hidden;transition:max-height 0.3s ease}

.weekends-modal__accordion-content.active{max-height:500px}

.weekends-modal__ingredients{list-style:none;padding:16px 20px;margin:0;background:#f9f9f9}

.weekends-modal__ingredients li{padding:8px 0;font-size:0.95rem;color:#555;line-height:1.6}

.weekends-modal__description{margin:0;font-size:1rem;color:#666;line-height:1.8;font-style:italic;opacity:0.8}

/* Navegación */
.weekends-modal__navigation{display:flex;align-items:center;justify-content:center;gap:20px;padding:24px 40px;border-top:2px solid #eee;background:#f9f9f9}

.weekends-modal__counter{font-size:1.1rem;font-weight:600;color:#D94A24;min-width:60px;text-align:center}

.weekends-modal__nav-btn{width:44px;height:44px;border-radius:50%;border:2px solid #D94A24;background:#fff;color:#D94A24;font-size:1.4rem;cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;justify-content:center;padding:0}

.weekends-modal__nav-btn:hover{background:#D94A24;color:#fff;transform:scale(1.1);box-shadow:0 6px 16px rgba(217,74,36,0.3)}

.weekends-modal__nav-btn:active{transform:scale(0.95)}

/* Responsive Modal */
@media(max-width:768px){
    .weekends-modal__body{grid-template-columns:1fr;gap:24px;padding:24px}
    .weekends-modal__image-container{min-height:300px}
    .weekends-modal__image{max-height:350px}
    .weekends-modal__title{font-size:1.8rem}
    .weekends-modal__subtitle{font-size:1rem}
    .weekends-modal__header{gap:12px}
    .weekends-modal__navigation{padding:16px 24px;gap:16px}
}

@media(max-width:480px){
    .weekends-modal__content{width:98%;max-height:95vh;border-radius:12px}
    .weekends-modal__body{gap:16px;padding:16px}
    .weekends-modal__image-container{min-height:250px;padding:12px}
    .weekends-modal__image{max-height:250px}
    .weekends-modal__title{font-size:1.5rem}
    .weekends-modal__subtitle{font-size:0.9rem}
    .weekends-modal__lang-toggle{font-size:0.85rem;padding:8px 12px}
    .lang-text{display:none}
    .flag{font-size:1.2rem}
    .weekends-modal__accordion-btn{padding:12px 16px;font-size:0.95rem}
    .weekends-modal__ingredients{padding:12px 16px}
    .weekends-modal__ingredients li{padding:6px 0;font-size:0.9rem}
    .weekends-modal__navigation{padding:12px 16px}
    .weekends-modal__nav-btn{width:40px;height:40px;font-size:1.2rem}
    .weekends-modal__counter{font-size:1rem}
}

/* === GALERÍA INTERACTIVA CATERING === */

.catering-gallery-section{padding:60px 20px;background:linear-gradient(180deg,rgba(217,74,36,0.02) 0%,rgba(47,140,76,0.02) 100%);margin:40px 0}

.catering-gallery-header{text-align:center;margin-bottom:40px}

.catering-gallery-header h2{font-size:2.2rem;color:#222;margin-bottom:12px;font-weight:700}

.catering-gallery-header p{font-size:1rem;color:#666;opacity:0.9}

.catering-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0 auto;max-width:700px}

.catering-gallery-item{position:relative;aspect-ratio:1;cursor:pointer;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,0.1);transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1);transform:scale(1);user-select:none}

.catering-gallery-item.active{transform:scale(1.08);box-shadow:0 12px 32px rgba(217,74,36,0.4);border:3px solid #D94A24}

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

.catering-gallery-item:hover{transform:scale(1.06);box-shadow:0 10px 28px rgba(217,74,36,0.25)}

.catering-gallery-item:hover img{transform:scale(1.1)}

.catering-gallery-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0.7) 70%,rgba(0,0,0,0.85) 100%);display:flex;align-items:flex-end;justify-content:center;padding:16px;opacity:1;transition:opacity 0.3s ease}

.catering-gallery-label{color:#fff;font-size:1rem;font-weight:600;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,0.5)}

/* Tablet: 2 columnas */
@media(max-width:768px){
    .catering-gallery-grid{grid-template-columns:repeat(2,1fr);gap:20px;max-width:600px}
    .catering-gallery-header h2{font-size:1.8rem}
}

/* Mobile: 1 columna */
@media(max-width:480px){
    .catering-gallery-section{padding:40px 16px;margin:30px 0}
    .catering-gallery-grid{grid-template-columns:1fr;gap:16px;max-width:100%}
    .catering-gallery-header{margin-bottom:30px}
    .catering-gallery-header h2{font-size:1.6rem;margin-bottom:10px}
    .catering-gallery-header p{font-size:0.9rem}
    .catering-gallery-label{font-size:0.9rem}
}

/* Modal Catering */
.catering-modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:9998;overflow-y:auto}

.catering-modal--active{display:flex;align-items:center;justify-content:center}

.catering-modal__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.92);backdrop-filter:blur(4px);cursor:pointer}

.catering-modal__content{position:relative;background:#fff;border-radius:16px;max-width:800px;width:95%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,0.4);z-index:9999;animation:cateringModalSlideIn 0.3s ease-out}

@keyframes cateringModalSlideIn{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}

.catering-modal__close{position:absolute;top:20px;right:20px;width:40px;height:40px;background:rgba(217,74,36,0.1);border:none;border-radius:50%;font-size:2rem;color:#D94A24;cursor:pointer;transition:all 0.2s ease;z-index:100;display:flex;align-items:center;justify-content:center;padding:0}

.catering-modal__close:hover{background:#D94A24;color:#fff;transform:rotate(90deg)}

.catering-modal__body{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:32px}

.catering-modal__image-container{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f9f9f9 0%,#f0f0f0 100%);border-radius:12px;padding:16px;width:100%;height:320px}

.catering-modal__image{max-width:280px;max-height:280px;object-fit:contain;border-radius:8px}

.catering-modal__info{display:flex;flex-direction:column;gap:20px;justify-content:center}

.catering-modal__title{margin:0;font-size:1.8rem;color:#D94A24;font-weight:700}

.catering-modal__subtitle{margin:8px 0 0;font-size:1rem;color:#888;font-style:italic}

.catering-modal__description{margin:0;font-size:1rem;color:#666;line-height:1.8}

/* Navegación Catering */
.catering-modal__navigation{display:flex;align-items:center;justify-content:center;gap:20px;padding:24px 32px;border-top:2px solid #eee;background:#f9f9f9}

.catering-modal__counter{font-size:1.1rem;font-weight:600;color:#D94A24;min-width:50px;text-align:center}

.catering-modal__nav-btn{width:44px;height:44px;border-radius:50%;border:2px solid #D94A24;background:#fff;color:#D94A24;font-size:1.4rem;cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;justify-content:center;padding:0}

.catering-modal__nav-btn:hover{background:#D94A24;color:#fff;transform:scale(1.1);box-shadow:0 6px 16px rgba(217,74,36,0.3)}

.catering-modal__nav-btn:active{transform:scale(0.95)}

/* Responsive Catering Modal */
@media(max-width:768px){
    .catering-modal__body{grid-template-columns:1fr;gap:24px;padding:24px}
    .catering-modal__image-container{height:300px}
    .catering-modal__image{max-width:260px;max-height:260px}
    .catering-modal__title{font-size:1.6rem}
    .catering-modal__subtitle{font-size:0.95rem}
    .catering-modal__description{font-size:0.95rem}
    .catering-modal__navigation{padding:16px 24px;gap:16px}
}

@media(max-width:480px){
    .catering-modal__content{width:98%;max-height:95vh;border-radius:12px}
    .catering-modal__body{gap:16px;padding:16px}
    .catering-modal__image-container{height:220px;padding:12px}
    .catering-modal__image{max-width:180px;max-height:180px}
    .catering-modal__title{font-size:1.4rem}
    .catering-modal__subtitle{font-size:0.9rem;margin-top:6px}
    .catering-modal__description{font-size:0.9rem}
    .catering-modal__navigation{padding:12px 16px;gap:12px}
    .catering-modal__nav-btn{width:40px;height:40px;font-size:1.2rem}
    .catering-modal__counter{font-size:0.95rem;min-width:45px}
}

/* === BREADCRUMB NAVIGATION === */

.breadcrumb{background-color:#f5f5f5;padding:12px 16px;margin:0 0 24px 0;border-bottom:1px solid #e0e0e0}

.breadcrumb__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:0.95rem}

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

.breadcrumb__item::after{content:'›';margin:0 8px;color:#999;font-weight:600;font-size:1.1rem}

.breadcrumb__item:last-child::after{display:none}

.breadcrumb__link{color:#D94A24;text-decoration:none;transition:all 0.2s ease;font-weight:500}

.breadcrumb__link:hover{color:#c73a1a;text-decoration:underline}

.breadcrumb__link:active{color:#b02a0a}

.breadcrumb__current{color:#666;font-weight:500}

@media(max-width:768px){
    .breadcrumb{padding:10px 12px;margin:0 0 16px 0}
    .breadcrumb__list{font-size:0.9rem}
    .breadcrumb__item::after{margin:0 6px;font-size:1rem}
}

@media(max-width:480px){
    .breadcrumb{padding:8px 10px;margin:0 0 12px 0}
    .breadcrumb__list{font-size:0.85rem;gap:4px}
    .breadcrumb__item::after{margin:0 4px;font-size:0.95rem}
}

/* === RELATED PAGES SECTION === */

.related-pages{background:linear-gradient(135deg, rgba(217,74,36,0.08) 0%, rgba(217,74,36,0.04) 100%);padding:48px 0;margin:48px 0;border-top:2px solid #f0f0f0;border-bottom:2px solid #f0f0f0}

.related-pages__title{font-size:1.8rem;font-weight:700;color:#222;margin-bottom:32px;text-align:center;letter-spacing:-0.5px}

.related-pages__grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:24px}

.related-pages__card{display:flex;flex-direction:column;background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:24px;text-decoration:none;color:inherit;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(0,0,0,0.05);position:relative;overflow:hidden}

.related-pages__card::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:#D94A24;transform:scaleY(0);transform-origin:top;transition:transform 0.3s ease}

.related-pages__card:hover{border-color:#D94A24;box-shadow:0 8px 24px rgba(217,74,36,0.15);transform:translateY(-2px)}

.related-pages__card:hover::before{transform:scaleY(1)}

.related-pages__card-title{font-size:1.2rem;font-weight:600;color:#D94A24;margin-bottom:12px;margin-top:0;display:flex;align-items:center;gap:8px}

.related-pages__card-desc{font-size:0.95rem;color:#666;margin-bottom:0;line-height:1.5}

.related-pages__card-arrow{position:absolute;bottom:16px;right:16px;font-size:1.5rem;color:#D94A24;opacity:0.3;transition:all 0.3s ease}

.related-pages__card:hover .related-pages__card-arrow{opacity:1;transform:translateX(4px)}

@media(max-width:768px){
    .related-pages{padding:32px 0;margin:32px 0}
    .related-pages__title{font-size:1.5rem;margin-bottom:24px}
    .related-pages__grid{gap:16px}
    .related-pages__card{padding:16px}
    .related-pages__card-title{font-size:1.1rem;margin-bottom:8px}
    .related-pages__card-desc{font-size:0.9rem}
}

@media(max-width:480px){
    .related-pages{padding:24px 0;margin:24px 0}
    .related-pages__title{font-size:1.3rem;margin-bottom:16px}
    .related-pages__grid{grid-template-columns:1fr;gap:12px}
    .related-pages__card{padding:12px 16px;border-radius:8px}
    .related-pages__card-title{font-size:1rem;margin-bottom:6px}
    .related-pages__card-desc{font-size:0.85rem}
}

/* ========================================
   BLOSSOM-STYLE CAROUSEL (Native scroll-snap)
   ======================================== */

.bienvenida-gallery {
    background: linear-gradient(180deg, rgba(217,74,36,0.04) 0%, rgba(47,140,76,0.04) 100%);
    padding: 32px 0 48px;
}

.blossom-carousel {
    position: relative;
    margin: 0 auto;
    max-width: 100%;
}

.blossom-carousel__viewport {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;            /* Firefox */
    -ms-overflow-style: none;         /* IE/Edge */
    cursor: grab;
    touch-action: pan-x;
    user-select: none;
    -webkit-user-select: none;
}
.blossom-carousel__viewport::-webkit-scrollbar { display: none; }
.blossom-carousel__viewport.is-dragging { cursor: grabbing; scroll-behavior: auto; }
.blossom-carousel__viewport.is-dragging .blossom-carousel__slide { pointer-events: none; }

.blossom-carousel__track {
    display: flex;
    gap: 16px;
    padding: 8px 20px 20px;
    list-style: none;
    margin: 0;
}

.blossom-carousel__slide {
    flex: 0 0 auto;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    width: 78%;
    max-width: 360px;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 6px 20px rgba(0,0,0,0.10);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
}
.blossom-carousel__slide:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.blossom-carousel__slide img {
    display: block;
    width: 100%;
    height: 240px;
    object-fit: cover;
    pointer-events: none;
    -webkit-user-drag: none;
}
.blossom-carousel__caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 12px 14px;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.78) 100%);
    color: #fff;
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0.3px;
    text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}

/* ===== Navigation arrows ===== */
.blossom-carousel__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,0.95);
    color: var(--mx-red, #D94A24);
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0,0,0,0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.15s, background 0.15s, opacity 0.2s;
    opacity: 0.95;
}
.blossom-carousel__nav:hover {
    transform: translateY(-50%) scale(1.08);
    background: #fff;
}
.blossom-carousel__nav:disabled,
.blossom-carousel__nav.is-disabled {
    opacity: 0.35;
    cursor: not-allowed;
    transform: translateY(-50%);
}
.blossom-carousel__nav--prev { left: 6px; }
.blossom-carousel__nav--next { right: 6px; }

/* ===== Dots ===== */
.blossom-carousel__dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    padding: 12px 16px 0;
    flex-wrap: wrap;
}
.blossom-carousel__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    background: rgba(0,0,0,0.25);
    padding: 0;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s, width 0.2s;
}
.blossom-carousel__dot:hover { background: rgba(0,0,0,0.45); }
.blossom-carousel__dot.is-active {
    background: var(--mx-red, #D94A24);
    width: 24px;
    border-radius: 4px;
}

/* ===== Responsive: tablet (2 slides) ===== */
@media (min-width: 600px) {
    .blossom-carousel__slide { width: 46%; max-width: 380px; }
    .blossom-carousel__slide img { height: 260px; }
    .blossom-carousel__nav--prev { left: 12px; }
    .blossom-carousel__nav--next { right: 12px; }
}

/* ===== Responsive: desktop (3 slides) ===== */
@media (min-width: 960px) {
    .blossom-carousel__slide { width: 32%; max-width: 400px; }
    .blossom-carousel__slide img { height: 280px; }
    .blossom-carousel__track { padding: 8px 32px 20px; gap: 20px; }
    .blossom-carousel__nav--prev { left: 16px; }
    .blossom-carousel__nav--next { right: 16px; }
}

/* ===== Reduced motion ===== */
@media (prefers-reduced-motion: reduce) {
    .blossom-carousel__viewport { scroll-behavior: auto; }
    .blossom-carousel__slide { transition: none; }
    .blossom-carousel__nav,
    .blossom-carousel__dot { transition: none; }
}

/* Pause animation indicator (autoplay) */
.blossom-carousel[data-paused="true"] .blossom-carousel__viewport { cursor: grabbing; }

/* ================================================
   BLOSSOM CAROUSEL — THEMES
   Color de acento y fondo personalizado por página
   ================================================ */

/* MENU — Verde fresco (platillos del día) */
.blossom-carousel-section--menu {
    --mx-red: #2D6A4F;
    background: linear-gradient(180deg, #FAFCFA 0%, #F0F6F2 100%);
    border-bottom-color: rgba(45, 106, 79, 0.3);
}
.blossom-carousel-section--menu .bienvenida-section__title { color: #2D6A4F; }
.blossom-carousel-section--menu .blossom-carousel__dot.is-active {
    box-shadow: 0 2px 8px rgba(45, 106, 79, 0.35);
}

/* WEEKENDS — Naranja festivo (default) */
.blossom-carousel-section--weekends {
    background: linear-gradient(180deg, #FFF8F5 0%, #FFEFE8 100%);
}

/* CATERING — Vino elegante (eventos) */
.blossom-carousel-section--catering {
    --mx-red: #7D2638;
    background: linear-gradient(180deg, #FAF6F7 0%, #F0E8EB 100%);
    border-bottom-color: rgba(125, 38, 56, 0.3);
}
.blossom-carousel-section--catering .bienvenida-section__title { color: #7D2638; }
.blossom-carousel-section--catering .blossom-carousel__dot.is-active {
    box-shadow: 0 2px 8px rgba(125, 38, 56, 0.35);
}
