/* Página: catering (estilos propios, cargados solo en esta página) */
body{margin:0;background:var(--arena)}
.ph{display:grid;place-items:center;text-align:center;padding:1rem;box-sizing:border-box;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--obscuro-suave);background:var(--casi-verde)}
.ob{display:inline-block;border:1px solid var(--obscuro);border-radius:1rem;background:var(--verde);color:var(--arena);box-shadow:-4px 4px 0 0 var(--obscuro);padding:9px 15px;text-decoration:none;white-space:nowrap;font:inherit;cursor:pointer}
.ob.sec{background:var(--arena);color:var(--obscuro)}
.fi{box-sizing:border-box;width:100%;border:1px solid var(--obscuro);background:var(--arena);min-height:2.75rem;color:var(--obscuro);border-radius:.7rem;padding:.5rem .75rem;font:inherit}
.cf-wrap{max-width:80rem;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(2.5rem,5vw,5rem);align-items:start;padding:clamp(2rem,5vw,4.5rem);border-radius:var(--radius);background:var(--naranjato);border:1px solid var(--obscuro);box-shadow:-6px 6px 0 0 var(--obscuro);box-sizing:border-box}
.cf-intro{position:sticky;top:9rem;display:flex;flex-direction:column;gap:1.25rem}
.cf-intro .stiker{align-self:flex-start}
.cf-photo{position:relative;margin:.5rem 0 1rem;max-width:24rem}
.cf-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);border:1px solid var(--obscuro);box-shadow:-4px 4px 0 0 var(--obscuro);transform:rotate(-3deg);transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.cf-photo:hover img{transform:rotate(0) scale(1.02)}
.cf-tag{position:absolute;right:-1.25rem;bottom:-1rem;padding:.6rem .9rem;border-radius:1rem;background:var(--verde-profundo);color:var(--arena);border:1px solid var(--obscuro);box-shadow:-3px 3px 0 0 var(--obscuro);font-weight:700;font-size:.9rem;line-height:1.25;transform:rotate(5deg)}
.cf-steps{position:relative;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2rem}
.cf-steps::before{content:"";position:absolute;left:2.6rem;top:2rem;bottom:2rem;border-left:2px dashed var(--obscuro);opacity:.5}
.cf-step{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.25rem;align-items:start;padding:1.75rem 1.75rem 1.75rem 1.5rem;border:1px solid var(--obscuro);border-radius:var(--radius);background:var(--arena);box-shadow:-4px 4px 0 0 var(--obscuro);overflow:hidden;transition:transform .45s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease}
.cf-step.is-a{transform:rotate(-1.5deg)}
.cf-step.is-b{transform:rotate(1.5deg) translateX(2.5rem)}
.cf-step.is-c{transform:rotate(-1deg)}
.cf-step:hover{transform:rotate(0) translateY(-6px);box-shadow:-8px 8px 0 0 var(--obscuro)}
.cf-ic{position:relative;z-index:1;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid var(--obscuro);color:var(--arena);transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.cf-ic svg{width:1.4rem;height:1.4rem}
.is-a .cf-ic{background:var(--verde)}.is-b .cf-ic{background:var(--naranja)}.is-c .cf-ic{background:var(--verde-profundo)}
.cf-step:hover .cf-ic{transform:rotate(-12deg) scale(1.1)}
.cf-num{position:absolute;right:1rem;top:-.6rem;font-family:var(--font-heading,inherit);font-weight:700;font-size:5.5rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--obscuro);opacity:.18;pointer-events:none}
.cf-kicker{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
.cf-done{align-self:flex-start;margin-left:1.1rem}
.cf-done span{display:inline-block;padding:.6rem 1.1rem;border-radius:999px;background:var(--obscuro);color:var(--arena);font-weight:700;transform:rotate(-3deg);animation:cfBob 3s ease-in-out infinite}
@keyframes cfBob{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(2deg) translateY(-4px)}}
@media (prefers-reduced-motion: reduce){.cf-done span{animation:none}}
@media (max-width: 991px){.cf-wrap{grid-template-columns:1fr}.cf-intro{position:static}.cf-step.is-b{transform:rotate(1.5deg)}}
.ev-card{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;border:1px solid var(--obscuro);border-radius:1rem;background:var(--casi-verde);box-shadow:-4px 4px 0 0 var(--obscuro);transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease}
.ev-card:hover{transform:translateY(-6px);box-shadow:-8px 8px 0 0 var(--obscuro)}
.ev-ic{display:grid;place-items:center;width:4rem;height:4rem;border-radius:1rem;background:var(--arena);border:1px solid var(--obscuro);box-shadow:-3px 3px 0 0 var(--obscuro);color:var(--obscuro);transform:rotate(-4deg);transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.ev-ic svg{width:2.4rem;height:2.4rem;overflow:visible}
.ev-card:hover .ev-ic{transform:rotate(4deg) scale(1.08)}
.ev-flame{transform-box:fill-box;transform-origin:50% 100%;animation:evFlicker 1.4s ease-in-out infinite}
.ev-clasp{transform-box:fill-box;transform-origin:50% 0;transition:transform .35s ease}
.ev-card:hover .ev-clasp{transform:scaleY(.6)}
.ev-leaf{transform-box:fill-box;transform-origin:0 100%;transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.ev-card:hover .ev-leaf{transform:rotate(-14deg)}
@keyframes evFlicker{0%,100%{transform:scale(1) rotate(-3deg)}50%{transform:scale(.88,1.08) rotate(4deg)}}
@media (prefers-reduced-motion: reduce){.ev-flame{animation:none}}
.fl{display:block;margin-bottom:.5rem}
/* Formulario: el bloque de la izquierda acompaña al formulario (sticky) solo en desktop; de tablet (≤991px) hacia abajo, en columna y sin sticky */
.form-grid{max-width:80rem;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5rem;align-items:start}
.form-aside{position:sticky;top:9rem;display:flex;flex-direction:column;gap:1rem}
.form-aside .stiker{align-self:flex-start}
@media (max-width: 991px){.form-grid{grid-template-columns:1fr;gap:3rem}.form-aside{position:static}}
/* Contactos con los mismos iconos del footer (versión sobre fondo claro) */
.qc{display:inline-flex;align-items:center;gap:.65rem;color:var(--obscuro);text-decoration:none;width:fit-content;transition:color .2s ease,transform .25s ease}
.qc svg{flex:none;width:2.25rem;height:2.25rem;padding:.5rem;box-sizing:border-box;border-radius:50%;background:var(--casi-verde);border:1px solid var(--obscuro);transition:background-color .25s ease,transform .35s cubic-bezier(.34,1.56,.64,1)}
.qc:hover{color:var(--verde-profundo);transform:translateX(3px)}
.qc:hover svg{background:var(--naranjato);transform:rotate(-10deg)}
/* ===== Responsive: tablet ≤991px · móvil ≤600px ===== */
.cat-gal{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;scrollbar-width:thin}
.cat-gal img{scroll-snap-align:start}
@media (max-width: 991px){
  .cat-hero-card{position:relative!important;top:auto!important;left:auto!important;max-width:none!important;margin:-4rem 1rem 0}
  .cat-hero-img{aspect-ratio:4/3!important}
}
@media (max-width: 767px){
  .cat-ev{grid-template-columns:1fr!important}
}
@media (max-width: 600px){
  .cat-hero-card{margin:-2.5rem .5rem 0;padding:1.5rem!important}
  .cat-types{padding:1.25rem!important}
  .cat-gal{gap:1rem!important}
  .cat-gal img{flex-basis:16rem!important;width:16rem!important}
  .cat-row{grid-template-columns:1fr!important}
  .cat-form{padding:1.25rem!important}
  .cf-tag{right:.5rem}
  .cf-step{padding:1.25rem}
  .cf-steps::before{left:2.3rem}
  .form-grid{gap:2rem}
}
.cat-form{position:relative}
