/* Modelo 12 · Catering & Events — clases .ct */
.pmc-m-catering-events { --ct-c: var(--pmc-primary, #1f3d36); --ct-gold: var(--pmc-secondary, #b08d57); --ct-ink: #1d2422; --ct-muted: #5e6764; --ct-paper: #faf8f3; --ct-line: #e5dfd2; background: var(--ct-paper); color: var(--ct-ink); font-family: var(--pmc-font); }
.ct { max-width: 44rem; margin: 0 auto; padding-bottom: 1.5rem; }
.ct-head { text-align: center; padding: 2.5rem 1.5rem 2.25rem; background: var(--pmc-primary-strong, var(--ct-c)); color: var(--pmc-on-strong, #fff); }
.ct-logo { width: 5.5rem; height: 5.5rem; margin: 0 auto 1rem; border-radius: 50%; overflow: hidden; background: #fff; }
.ct-logo-img { width: 100%; height: 100%; object-fit: contain; }
.ct-mono { width: 4.75rem; height: 4.75rem; margin: 0 auto 1.1rem; display: grid; place-items: center; border: 1px solid var(--ct-gold); outline: 1px solid var(--ct-gold); outline-offset: 4px; border-radius: 50%; font: 400 1.5rem var(--pmc-display); color: inherit; letter-spacing: .08em; }
.ct-name { margin: 0; font: 400 clamp(2rem, 8.5vw, 2.8rem)/1.1 var(--pmc-display); letter-spacing: .02em; overflow-wrap: break-word; hyphens: auto; }
.ct-tagline { margin: .7rem auto 0; max-width: 26rem; color: inherit; font-size: 1.05rem; line-height: 1.5; }
.ct-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 3rem; padding: .6rem 1.5rem; border-radius: 2px; border: 1px solid var(--ct-line); background: #fff; color: var(--ct-ink); font-weight: 700; font-size: .95rem; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; cursor: pointer; }
.ct-btn[hidden] { display: none; }
.ct-btn-main { margin-top: 1.5rem; background: var(--ct-gold); border-color: var(--ct-gold); color: var(--pmc-on-secondary, #1d1a12); }
.ct-btn:focus-visible, .ct-ask:focus-visible, .ct-contact a:focus-visible, .ct-links a:focus-visible, .ct-gallery a:focus-visible { outline: 3px solid var(--ct-gold); outline-offset: 2px; }
.ct-types { background: var(--pmc-primary-strong, var(--ct-c)); color: var(--pmc-on-strong, #fff); border-top: 1px solid color-mix(in srgb, currentColor 15%, transparent); padding: .9rem 1rem; }
.ct-types ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem .9rem; }
.ct-types ul { gap: .4rem; }
.ct-types li { padding: .25rem .8rem; border: 1px solid color-mix(in srgb, var(--ct-gold) 70%, transparent); border-radius: 999px; color: inherit; font: 400 .95rem var(--pmc-display); letter-spacing: .04em; }
.ct-section { padding: 2.5rem 1.5rem 0; }
.ct-h2 { margin: 0 0 1.25rem; text-align: center; font: 400 1.75rem/1.15 var(--pmc-display); color: var(--ct-ink); }
.ct-h2::after { content: ''; display: block; width: 2.5rem; height: 1px; margin: .7rem auto 0; background: var(--ct-gold); }
.ct-gallery { list-style: none; margin: 0 -1.5rem; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 3px; }
.ct-gallery li:first-child { grid-column: 1 / -1; }
.ct-gallery a { display: block; aspect-ratio: 1; overflow: hidden; }
.ct-gallery li:first-child a { aspect-ratio: 3 / 2; }
.ct-gallery img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ct-text { text-align: center; }
.ct-text p { margin: 0 0 .8rem; line-height: 1.75; color: var(--ct-muted); font-size: 1.05rem; }
.ct-packs { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.ct-packs > li { padding: 1.5rem 1.25rem; text-align: center; background: #fff; border: 1px solid var(--ct-line); border-top: 3px solid var(--ct-gold); }
.ct-packs h3 { margin: 0; font: 400 1.4rem var(--pmc-display); }
.ct-price { margin: .35rem 0 0; font: 400 1.9rem var(--pmc-display); color: var(--pmc-primary-ink, var(--ct-c)); }
.ct-incl { list-style: none; margin: 1rem 0 0; padding: 0; color: var(--ct-muted); }
.ct-incl li { padding: .45rem 0; border-top: 1px solid var(--ct-line); }
.ct-ask { display: inline-flex; align-items: center; min-height: 2.75rem; margin-top: 1rem; padding: 0 1.1rem; border: 1px solid var(--ct-c); color: var(--pmc-primary-ink, var(--ct-c)); font-weight: 700; font-size: .85rem; letter-spacing: .05em; text-transform: uppercase; text-decoration: none; }
.ct-menu { margin: 2.5rem 1.5rem 0; padding: 2rem 1.25rem; background: #fff; border: 1px solid var(--ct-line); outline: 1px solid var(--ct-line); outline-offset: -8px; text-align: center; }
.ct-course + .ct-course { margin-top: 1.5rem; }
.ct-course h3 { margin: 0 0 .5rem; font-size: .8rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--pmc-secondary-ink, #6a5534); }
.ct-course ul { list-style: none; margin: 0; padding: 0; }
.ct-course li { padding: .3rem 0; font: 400 1.15rem var(--pmc-display); }
.ct-course small { display: block; font: 400 .88rem var(--pmc-font); color: var(--ct-muted); }
.ct-course em { display: block; font: 700 .9rem var(--pmc-font); font-style: normal; color: var(--ct-muted); }
.ct-note { margin: 1.5rem 0 0; font-size: .85rem; color: var(--ct-muted); font-style: italic; }
.ct-quote { text-align: center; }
.ct-quote > p { margin: 0 auto; max-width: 26rem; color: var(--ct-muted); }
.ct-zones { display: flex; justify-content: center; gap: .4rem; align-items: flex-start; margin-top: .75rem !important; font-weight: 600; color: var(--ct-ink) !important; }
.ct-zones .pmc-icon { flex: none; width: 18px; height: 18px; margin-top: .1rem; color: var(--ct-gold); }
.ct-quote .ct-btn-main { background: var(--ct-c); border-color: var(--ct-c); color: var(--pmc-on-primary); }
.ct-contact { list-style: none; margin: 1.5rem 0 0; padding: 0; text-align: left; border-top: 1px solid var(--ct-line); }
.ct-contact a { display: flex; gap: .6rem; align-items: center; padding: .8rem .25rem; border-bottom: 1px solid var(--ct-line); color: var(--ct-ink); text-decoration: none; word-break: break-word; }
.ct-contact .pmc-icon { flex: none; color: var(--ct-gold); }
.ct-hours { width: 100%; border-collapse: collapse; margin-top: 1rem; text-align: left; }
.ct-hours th, .ct-hours td { padding: .4rem .25rem; text-align: left; font-weight: 400; }
.ct-hours td { text-align: right; }
.ct-hours-note { color: var(--ct-muted); font-size: .9rem; }
.ct-row { display: flex; flex-wrap: wrap; gap: .5rem; }
.ct-row .ct-btn { flex: 1 1 10rem; }
.ct-links { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
.ct-links a { display: inline-flex; gap: .4rem; align-items: center; min-height: 2.5rem; padding: .3rem .9rem; border: 1px solid var(--ct-line); background: #fff; color: var(--ct-ink); text-decoration: none; }
.ct-links .pmc-icon { width: 16px; height: 16px; color: var(--ct-gold); }
.ct-foot { text-align: center; margin-top: 2rem; font-size: .8rem; }
.ct-foot a { color: var(--ct-muted); }
@media (min-width: 40rem) { .ct { padding-top: 1.25rem; } .ct-section { padding-left: 0; padding-right: 0; } .ct-gallery { margin: 0; grid-template-columns: repeat(3, 1fr); } .ct-packs { grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); } .ct-menu { margin-left: 0; margin-right: 0; } }
