/* ================================================
   CARNITAS EL PRIMO TOÑO — Premium Warm Theme
   Paleta: Café oscuro, naranja tatemado, dorado, crema cálida.
   ================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,700&family=Outfit:wght@300;400;500;600;700;800&family=Dancing+Script:wght@600;700&display=swap');

:root {
  --cafe-oscuro:    #2B1A0E;
  --cafe-medio:     #5C3317;
  --cafe-claro:     #8B4513;
  --naranja:        #D2601A;
  --naranja-vivo:   #E8751A;
  --dorado:         #C8922A;
  --dorado-claro:   #F0B429;
  --crema:          #FDF6EC;
  --crema-oscura:   #F5E6D0;
  --blanco:         #FFFDF9;
  --text-dark:      #1C0F07;
  --text-medio:     #5C3D2E;
  --text-suave:     #9A7B6B;
  --grad-hero:      linear-gradient(135deg, rgba(43,26,14,0.88) 0%, rgba(92,51,23,0.75) 50%, rgba(210,96,26,0.4) 100%);
  --grad-naranja:   linear-gradient(135deg, #D2601A 0%, #E8751A 50%, #F0B429 100%);
  --grad-cafe:      linear-gradient(135deg, #2B1A0E 0%, #5C3317 100%);
  --sombra-card:    0 8px 32px rgba(43,26,14,0.12);
  --sombra-hover:   0 20px 50px rgba(43,26,14,0.22);
  --sombra-naranja: 0 8px 25px rgba(210,96,26,0.35);
  --sombra-glow:    0 0 40px rgba(232,117,26,0.25);
  --font-serif:     'Playfair Display', Georgia, serif;
  --font-sans:      'Outfit', sans-serif;
  --font-script:    'Dancing Script', cursive;
  --ease:           cubic-bezier(0.4, 0, 0.2, 1);
  --dur:            0.35s;
  /* Compat */
  --primary-color:   #E8751A;
  --accent-color:    #C8922A;
  --bg-main:         #FDF6EC;
  --bg-secondary:    #F5E6D0;
  --text-main:       #1C0F07;
  --text-muted:      #9A7B6B;
  --font-heading:    'Playfair Display', Georgia, serif;
  --font-body:       'Outfit', sans-serif;
  --glass-bg:        rgba(253,246,236,0.92);
  --glass-border:    rgba(210,96,26,0.2);
  --glass-shadow:    0 8px 32px rgba(43,26,14,0.12);
  --transition-speed:0.35s;
  --naranja-calido:  #E8751A;
  --terracota:       #D2601A;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background-color:var(--crema)!important;color:var(--text-dark)!important;font-family:var(--font-sans)!important;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,h5,h6{font-family:var(--font-serif)!important;color:var(--cafe-oscuro)!important;font-weight:700;line-height:1.2;}
a{color:var(--naranja);text-decoration:none;}
a:hover{color:var(--cafe-claro);}

/* BOTONES */
.btn-premium{display:inline-block;background:var(--grad-naranja);color:#fff!important;font-family:var(--font-sans);font-weight:700;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;padding:14px 36px;border-radius:50px;border:none;cursor:pointer;text-decoration:none;box-shadow:var(--sombra-naranja);transition:all var(--dur) var(--ease);}
.btn-premium:hover{transform:translateY(-3px);box-shadow:var(--sombra-hover),var(--sombra-glow);color:#fff!important;}
.btn-outline-premium{display:inline-block;background:transparent;color:var(--naranja)!important;border:2px solid var(--naranja);font-family:var(--font-sans);font-weight:600;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;padding:12px 34px;border-radius:50px;text-decoration:none;transition:all var(--dur) var(--ease);}
.btn-outline-premium:hover{background:var(--naranja);color:#fff!important;transform:translateY(-2px);box-shadow:var(--sombra-naranja);}
.btn.btn-primary{background:var(--naranja)!important;border-color:var(--naranja)!important;color:#fff!important;border-radius:50px;padding:12px 28px;font-weight:600;}
.btn.btn-primary:hover{background:var(--cafe-claro)!important;border-color:var(--cafe-claro)!important;transform:translateY(-2px);}

/* NAVBAR */
.navbar{background:rgba(253,246,236,0.96)!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:2px solid var(--crema-oscura)!important;padding:8px 0;transition:all var(--dur) var(--ease);}
.navbar.scrolled{box-shadow:0 4px 20px rgba(43,26,14,0.12);}
.navbar-brand{font-family:var(--font-serif)!important;font-size:20px!important;color:var(--cafe-oscuro)!important;font-weight:700;display:flex;align-items:center;gap:12px;}
.navbar-brand img{max-height:68px;}
.nav-link{font-family:var(--font-sans)!important;font-weight:600!important;font-size:12px!important;letter-spacing:1.5px!important;text-transform:uppercase!important;color:var(--text-medio)!important;padding:6px 14px!important;border-radius:4px;transition:color var(--dur) var(--ease)!important;position:relative;}
.nav-link::after{content:'';position:absolute;bottom:0;left:14px;width:0;height:2px;background:var(--naranja);border-radius:2px;transition:width var(--dur) var(--ease);}
.nav-link:hover{color:var(--naranja)!important;}
.nav-link:hover::after,.nav-link.active::after{width:calc(100% - 28px);}
.nav-link.active{color:var(--naranja)!important;}
.btn-ordena{background:var(--grad-naranja);color:#fff!important;font-family:var(--font-sans);font-weight:700;font-size:12px;letter-spacing:1px;text-transform:uppercase;padding:9px 20px;border-radius:50px;border:none;box-shadow:var(--sombra-naranja);transition:all var(--dur) var(--ease);}
.btn-ordena:hover{transform:translateY(-2px);box-shadow:var(--sombra-hover);color:#fff!important;}

/* HERO */
.hero-section{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:var(--cafe-oscuro);}
.hero-bg{position:absolute;inset:0;background-image:url('../images/carnitas_hero.jpg');background-size:cover;background-position:center 30%;transform:scale(1.05);transition:transform 10s var(--ease);}
.hero-section:hover .hero-bg{transform:scale(1.0);}
.hero-overlay{position:absolute;inset:0;background:var(--grad-hero);z-index:1;}
.hero-content{position:relative;z-index:2;max-width:900px;padding:40px 20px;}
.hero-script{font-family:var(--font-script)!important;font-size:clamp(26px,4vw,44px);color:var(--dorado-claro)!important;display:block;margin-bottom:-8px;text-shadow:0 2px 20px rgba(0,0,0,0.4);animation:fadeInDown 0.8s var(--ease) both;}
.hero-title{font-family:var(--font-serif)!important;font-size:clamp(50px,9vw,94px)!important;color:#FDF6EC!important;text-shadow:0 4px 30px rgba(0,0,0,0.5);margin-bottom:16px;animation:fadeInUp 0.9s 0.2s var(--ease) both;line-height:1.05;}
.hero-title span{color:var(--dorado-claro)!important;font-style:italic;}
.hero-subtitle{font-family:var(--font-sans);font-size:clamp(12px,1.8vw,17px);font-weight:300;letter-spacing:5px;color:rgba(253,246,236,0.8);text-transform:uppercase;margin-bottom:16px;animation:fadeInUp 0.9s 0.35s var(--ease) both;}
.hero-divider{display:flex;align-items:center;justify-content:center;gap:16px;margin:22px auto;animation:fadeIn 1s 0.5s var(--ease) both;}
.hero-divider-line{width:70px;height:1px;background:linear-gradient(90deg,transparent,var(--dorado-claro),transparent);}
.hero-divider-icon{color:var(--dorado-claro);font-size:18px;}
.hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;animation:fadeInUp 0.9s 0.6s var(--ease) both;}
.hero-badge{display:flex;gap:50px;justify-content:center;margin-top:60px;animation:fadeInUp 0.9s 0.8s var(--ease) both;}
.hero-badge-item{text-align:center;}
.hero-badge-number{display:block;font-family:var(--font-serif);font-size:38px;font-weight:700;color:var(--dorado-claro);line-height:1;}
.hero-badge-label{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(253,246,236,0.65);margin-top:4px;display:block;}
.hero-scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:2;animation:bounce 2s infinite;color:rgba(253,246,236,0.55);font-size:20px;text-decoration:none;}

/* SECCIONES */
.section-padding{padding:90px 0;}
.section-label{display:block;font-family:var(--font-sans);font-size:12px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--naranja);margin-bottom:12px;}
.section-title{font-family:var(--font-serif)!important;font-size:clamp(30px,5vw,50px);color:var(--cafe-oscuro)!important;line-height:1.15;margin-bottom:20px;}
.section-title span{color:var(--naranja)!important;font-style:italic;}
.section-divider{display:inline-flex;align-items:center;gap:12px;margin-bottom:30px;}
.section-divider-line{width:48px;height:2px;background:var(--grad-naranja);border-radius:2px;}
.section-divider-icon{color:var(--naranja);font-size:16px;}
.title-section{font-family:var(--font-serif)!important;font-size:42px;color:var(--cafe-oscuro)!important;position:relative;padding-bottom:16px;margin-bottom:40px;}
.title-section::after{content:'';position:absolute;bottom:0;left:0;width:60px;height:3px;background:var(--grad-naranja);border-radius:3px;}
.title-section.text-center::after,.title-section.text-start.text-center::after{left:50%;transform:translateX(-50%);}
.title-section-premium{font-family:var(--font-serif)!important;font-size:42px;color:var(--cafe-oscuro)!important;position:relative;padding-bottom:16px;margin-bottom:40px;text-align:center;}
.title-section-premium::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:70px;height:3px;background:var(--grad-naranja);border-radius:3px;}

/* ABOUT */
.about-section{background:var(--blanco);position:relative;}
.about-img-wrap{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--sombra-hover);}
.about-img-wrap img{width:100%;height:480px;object-fit:cover;display:block;transition:transform 0.6s var(--ease);}
.about-img-wrap:hover img{transform:scale(1.04);}
.about-badge-float{position:absolute;bottom:30px;right:-20px;background:var(--grad-naranja);color:#fff;border-radius:16px;padding:20px 28px;text-align:center;box-shadow:var(--sombra-naranja);font-family:var(--font-serif);}
.about-badge-float .num{font-size:40px;font-weight:700;display:block;line-height:1;color:#fff!important;}
.about-badge-float .lbl{font-size:11px;font-family:var(--font-sans);letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.85);}
.about-text-body{font-size:16px;color:var(--text-medio);line-height:1.9;margin-bottom:18px;}
.about-feature{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px;}
.about-feature-icon{width:48px;height:48px;background:var(--crema-oscura);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--naranja);font-size:20px;flex-shrink:0;transition:all var(--dur) var(--ease);}
.about-feature:hover .about-feature-icon{background:var(--naranja);color:#fff;transform:scale(1.1);}
.about-feature-text h6{font-family:var(--font-sans)!important;font-size:13px;font-weight:700;color:var(--cafe-oscuro)!important;text-transform:uppercase;letter-spacing:1px;margin-bottom:3px;}
.about-feature-text p{font-size:13px;color:var(--text-suave);margin:0;}

/* FEATURED (dark bg) */
.featured-section{background:var(--cafe-oscuro);position:relative;overflow:hidden;}
.featured-section::before{content:'';position:absolute;top:-40%;left:-15%;width:500px;height:500px;background:radial-gradient(circle,rgba(210,96,26,0.18) 0%,transparent 70%);pointer-events:none;}
.featured-card{border-radius:22px;overflow:hidden;position:relative;cursor:pointer;height:400px;box-shadow:var(--sombra-card);transition:all var(--dur) var(--ease);}
.featured-card img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s var(--ease);}
.featured-card:hover{transform:translateY(-8px);box-shadow:var(--sombra-hover);}
.featured-card:hover img{transform:scale(1.08);}
.featured-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(43,26,14,0.92) 0%,rgba(43,26,14,0.25) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:28px;transition:all var(--dur) var(--ease);}
.featured-card-tag{display:inline-block;background:var(--grad-naranja);color:#fff;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:4px 14px;border-radius:20px;margin-bottom:10px;width:fit-content;}
.featured-card-title{font-family:var(--font-serif)!important;font-size:24px!important;color:#FDF6EC!important;margin-bottom:6px;}
.featured-card-desc{font-size:13px;color:rgba(253,246,236,0.75);margin:0;max-height:0;overflow:hidden;transition:max-height 0.4s var(--ease),opacity 0.4s;opacity:0;}
.featured-card:hover .featured-card-desc{max-height:60px;opacity:1;}

/* STATS */
.stats-section{background:var(--grad-naranja);position:relative;overflow:hidden;padding:60px 0;}
.stats-section::before{content:'';position:absolute;inset:0;background:url('../images/carnitas_spread.jpg') center/cover no-repeat;opacity:0.08;}
.stat-item{text-align:center;position:relative;z-index:1;}
.stat-num{font-family:var(--font-serif);font-size:clamp(44px,7vw,70px);font-weight:700;color:#fff;line-height:1;display:block;text-shadow:0 2px 20px rgba(0,0,0,0.2);}
.stat-label{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.8);margin-top:8px;display:block;}

/* MENU CARDS */
.menu-card{background:var(--blanco);border-radius:20px;overflow:hidden;box-shadow:var(--sombra-card);border:1px solid rgba(200,146,42,0.12);transition:all var(--dur) var(--ease);height:100%;display:flex;flex-direction:column;}
.menu-card:hover{transform:translateY(-10px);box-shadow:var(--sombra-hover);border-color:rgba(210,96,26,0.25);}
.menu-img{height:220px;object-fit:cover;width:100%;transition:transform 0.6s var(--ease);}
.menu-card:hover .menu-img{transform:scale(1.06);}
.menu-img-wrapper{overflow:hidden;}
.menu-content{padding:22px 18px;flex-grow:1;display:flex;flex-direction:column;}

/* GLASS CARDS */
.glass-card{background:rgba(253,246,236,0.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(210,96,26,0.18);border-radius:20px;box-shadow:var(--sombra-card);transition:all var(--dur) var(--ease);}
.glass-card:hover{transform:translateY(-6px);box-shadow:var(--sombra-hover);border-color:rgba(210,96,26,0.35);}
.price-premium{font-family:var(--font-sans);font-size:1.3rem;font-weight:800;color:var(--naranja)!important;}

/* CONTACTO */
.contact-section{background:var(--crema-oscura);}
.map-container{border-radius:20px;overflow:hidden;height:400px;box-shadow:var(--sombra-card);}
.form-control{border:2px solid var(--crema-oscura);border-radius:12px;padding:12px 16px;font-family:var(--font-sans);background:var(--blanco);color:var(--text-dark);transition:border-color var(--dur);}
.form-control:focus{border-color:var(--naranja);box-shadow:0 0 0 3px rgba(210,96,26,0.12);outline:none;}

/* FOOTER */
.footer{background:var(--cafe-oscuro);color:rgba(253,246,236,0.8);padding:70px 0 30px;position:relative;overflow:hidden;}
.footer::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-naranja);}
.footer-logo{font-family:var(--font-script)!important;font-size:34px!important;color:var(--dorado-claro)!important;margin-bottom:14px;}
.footer a{color:rgba(253,246,236,0.7);text-decoration:none;transition:color var(--dur);}
.footer a:hover{color:var(--naranja-vivo);}
.footer h5{font-family:var(--font-sans)!important;font-size:11px!important;font-weight:700!important;letter-spacing:3px!important;text-transform:uppercase!important;color:var(--dorado-claro)!important;margin-bottom:18px;}
.footer ul{list-style:none;padding:0;}
.footer ul li{margin-bottom:10px;font-size:14px;}
.social-icons{display:flex;gap:10px;margin-top:18px;}
.social-icon{width:38px;height:38px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(253,246,236,0.7);text-decoration:none;transition:all var(--dur) var(--ease);font-size:14px;}
.social-icon:hover{background:var(--naranja);border-color:var(--naranja);color:#fff;transform:translateY(-3px);}

/* ANIMACIONES */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(-10px);}}
.animate-on-scroll{opacity:0;transform:translateY(40px);transition:opacity 0.7s var(--ease),transform 0.7s var(--ease);}
.animate-on-scroll.visible{opacity:1;transform:translateY(0);}