/* Encabezados y tarjetas de FestejaMe. Nunito para toda la interfaz; logo Fredoka. */
.directory-main{padding:0 0 60px}.directory-hero{position:relative;isolation:isolate;background:var(--ink);color:var(--paper);padding:128px 0 64px;overflow:hidden}.directory-hero::before,.directory-hero::after{content:"";position:absolute;z-index:-1;pointer-events:none}.directory-hero::before{width:440px;height:400px;right:-225px;top:-175px;border-radius:45%;background:#5a348077;transform:rotate(20deg)}.directory-hero::after{width:240px;height:240px;left:-155px;bottom:-140px;border-radius:50%;background:#0f8b8d66}.directory-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:center}.directory-hero .directory-back{color:#e4d5ec;font-size:.75rem;margin-bottom:25px}.directory-hero .kicker{color:var(--yellow)}.directory-hero h1{font:900 clamp(2.3rem,4.3vw,4.1rem)/1.08 Nunito,system-ui,sans-serif;letter-spacing:-.045em;margin:20px 0}.directory-hero h1 span{color:var(--yellow)}.directory-hero p{color:#ded3e5;font-size:.96rem;line-height:1.65;max-width:620px;margin-bottom:0}.directory-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.directory-hero-actions .btn{background:var(--pink);color:var(--paper);font-size:.82rem;min-height:44px}.directory-hero-actions .btn-hero-secondary{background:#ffffff12;border:1px solid #ffffff3a;color:var(--paper)}.directory-hero-card{padding:28px;border:1px solid #ffffff28;border-radius:26px;background:#ffffff12;box-shadow:0 20px 50px #0002;min-width:0}.directory-hero-card .kicker{font-size:.64rem}.directory-hero-card h2{font:900 1.8rem/1.18 Nunito,sans-serif;letter-spacing:-.03em;margin:20px 0 12px}.directory-hero-card p{font-size:.85rem;line-height:1.6}.directory-hero-card>a{display:block;color:var(--yellow);font-size:.82rem;font-weight:900;margin-top:20px;text-decoration:none}.directory-hero-card>a span{float:right}.hero-ally-portraits{display:flex;margin-top:26px;padding-left:5px}.hero-ally-portraits img{width:86px;height:86px;object-fit:cover;border:4px solid #463355;border-radius:50%;margin-left:-5px;box-shadow:0 5px 15px #0003}.hero-ally-portraits img:first-child{object-position:center 25%}.service-hero-card{padding:0;overflow:hidden}.hero-service-photos{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:var(--yellow);height:180px}.hero-service-photos img{width:100%;height:100%;object-fit:cover;min-height:0}.hero-card-copy{padding:25px 28px 28px}.hero-card-copy h2{margin-top:13px;font-size:1.65rem}.directory-ribbon{background:var(--yellow);padding:21px 0}.directory-ribbon>.wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.directory-ribbon span{display:flex;align-items:center;gap:13px;font-size:.82rem;font-weight:900;line-height:1.35}.directory-ribbon b{display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;border-radius:50%;background:var(--ink);color:var(--paper);font-size:.72rem}.directory-section{padding-top:48px;scroll-margin-top:84px}.directory-section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:23px}.directory-section-heading h2{font:900 clamp(1.6rem,2.4vw,2.15rem)/1.2 Nunito,sans-serif;letter-spacing:-.035em;margin:12px 0 0}.directory-section-heading>a{color:var(--grape);font-size:.8rem;font-weight:900;white-space:nowrap;text-decoration:none}.general-grid{gap:20px}.general-card{border:1px solid #e4d8e8;box-shadow:0 6px 20px #1b103309}.general-photo{aspect-ratio:4/3;background:#f4eaf5;overflow:hidden}.general-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.general-card:hover .general-photo img{transform:scale(1.035)}.general-card[data-service=pinateria] .general-photo img{object-position:center 28%}.general-copy h2{font:900 1.2rem/1.22 Nunito,sans-serif;letter-spacing:-.02em;min-height:2.45em}.general-copy{gap:10px;padding:18px}.general-copy p{font-size:.83rem;line-height:1.55}.general-copy>strong{color:var(--grape);font-size:.96rem}.general-copy .btn{background:var(--ink);color:white}.general-solo{font-weight:800}.general-basket{background:#f1e8f6;border-color:#d8c7e2}.published-featured{position:relative;margin:42px 0 0;padding:52px 0;background:#f8e9c4;border-block:1px solid #ead49a;scroll-margin-top:70px}.featured-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:24px}.featured-heading .kicker{color:#7c4b0b}.featured-heading h2{font:900 clamp(1.9rem,3.2vw,2.7rem)/1.15 Nunito,sans-serif;letter-spacing:-.04em;margin:14px 0}.featured-heading h2 span{color:var(--pink-deep)}.featured-heading p{font-size:.88rem;line-height:1.6;color:#665469;max-width:620px;margin-bottom:0}.featured-heading>a{color:var(--ink);font-size:.82rem;font-weight:900;white-space:nowrap}.featured-filter-toggle{margin:22px 0 14px}.featured-filter-toggle button{background:transparent;border:0;color:var(--grape);font:900 .8rem Nunito,sans-serif;cursor:pointer;padding:9px 0;min-height:42px}.featured-filter-toggle span{margin-left:6px}.published-featured .catalogo-filters{background:#fff8ec;border-radius:18px;padding:18px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}.published-featured [hidden]{display:none!important}.published-featured .catalogo-filters label{display:grid;gap:6px}.published-featured .catalogo-filters input,.published-featured .catalogo-filters select{width:100%;min-width:0}#serviceStatus{font-size:.8rem;color:#665469;margin:12px 0}.featured-carousel{min-width:0}.featured-controls{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:0 0 13px}.featured-controls button{width:40px;height:40px;min-height:40px;background:var(--paper);border:1px solid #d4bd86;color:var(--ink);border-radius:50%;font:900 1rem Nunito,sans-serif;cursor:pointer}.featured-controls #featuredPause{width:auto;height:38px;border-radius:30px;padding:7px 16px;font-size:.73rem}.featured-controls span{font-size:.78rem;font-weight:900;min-width:45px;text-align:center}.featured-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:25px}.featured-track::-webkit-scrollbar{display:none}.featured-card{display:grid;grid-template-columns:.95fr 1.05fr;flex:0 0 100%;min-width:0;align-items:stretch;scroll-snap-align:start;border:1px solid #e0c78b;border-radius:25px;background:var(--paper);overflow:hidden}.featured-media{position:relative;min-width:0;min-height:390px;background:#ece1ef}.featured-media img{display:block;position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.featured-media>.featured-label{position:absolute;left:18px;top:18px;border-radius:25px;padding:7px 12px;background:var(--yellow);color:var(--ink);font-size:.66rem;font-weight:900;box-shadow:0 5px 15px #0002}.featured-photo-pending{height:100%;display:grid;place-items:center;font-size:1.3rem;padding:40px;text-align:center;color:var(--grape)}.featured-copy{padding:30px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.featured-copy .featured-category{color:var(--teal);font-size:.65rem;letter-spacing:.05em;font-weight:900;text-transform:uppercase}.featured-copy h3{font:900 1.9rem/1.15 Nunito,sans-serif;letter-spacing:-.03em;margin:0}.featured-provider{font-size:.82rem;font-weight:900;color:var(--grape);margin:0}.featured-description{font-size:.86rem;line-height:1.6;color:#665469;margin:0}.featured-zone{font-size:.75rem;color:#75677c;margin:0}.featured-price{display:block;color:var(--teal);font-size:1.5rem;font-weight:900;line-height:1.2;margin:6px 0}.featured-price small{font-size:.75rem;font-weight:700;color:#75677c}.featured-copy details{width:100%;border-top:1px solid #e7dce9;padding:9px 0;font-size:.8rem}.featured-copy summary{font-weight:900;cursor:pointer;color:var(--grape);padding:5px 0}.featured-copy details p{font-size:.8rem;line-height:1.6;white-space:pre-line;margin:10px 0}.featured-copy .btn{background:var(--ink);color:var(--paper);margin-top:auto;min-width:190px}.featured-copy .btn[aria-pressed=true]{background:var(--teal)}.featured-copy .featured-consult{font-size:.76rem;font-weight:900;color:var(--pink-deep)}.featured-basket{display:flex;align-items:center;gap:20px;justify-content:space-between;background:#fff8ec;padding:20px 23px;border:1px solid #dec88f;border-radius:18px;margin-top:20px}.featured-basket h3{font:900 1rem Nunito,sans-serif;margin:0 0 5px}.featured-basket p{font-size:.8rem;margin:0;color:#75677c}.featured-basket ul{list-style:none;padding:0;margin:12px 0 0;display:flex;gap:8px;flex-wrap:wrap}.featured-basket li{display:flex;gap:10px;align-items:center;border-radius:25px;background:#eee2f0;padding:6px 10px;font-size:.74rem}.featured-basket li button{background:none;border:0;color:var(--pink-deep);font:900 .72rem Nunito,sans-serif;cursor:pointer;padding:4px}.featured-basket>a{white-space:nowrap;background:var(--pink);color:white}.featured-note{font-size:.72rem;line-height:1.6;color:#796676;margin:16px 3px 0}#featuredEmpty{padding:30px;background:#fff8ec;border-radius:20px}#featuredEmpty h3{font:900 1.3rem Nunito,sans-serif}.directory-main :is(a,button,input,select,summary,[tabindex]):focus-visible{outline:3px solid var(--pink);outline-offset:3px}
@media(max-width:1000px){.directory-hero-grid{gap:28px;grid-template-columns:1.1fr .9fr}.directory-hero h1{font-size:3rem}.directory-hero-card{padding:23px}.service-hero-card{padding:0}.hero-ally-portraits img{width:75px;height:75px}.directory-hero-card h2{font-size:1.5rem}.featured-copy{padding:24px}}
@media(max-width:750px){.directory-hero{padding:109px 0 40px}.directory-hero-grid{grid-template-columns:1fr;gap:30px}.directory-hero h1{font-size:clamp(2.3rem,8vw,3.4rem);max-width:600px}.directory-hero-card{max-width:none}.hero-ally-portraits img{width:74px;height:74px}.directory-hero-card h2 br{display:none}.hero-service-photos{height:160px}.directory-ribbon>.wrap{gap:12px}.directory-ribbon span{font-size:.7rem;gap:8px}.directory-ribbon b{width:28px;height:28px;flex-basis:28px;font-size:.6rem}.directory-section-heading,.featured-heading{align-items:flex-start;flex-direction:column;gap:15px}.featured-heading h2{font-size:2rem}.featured-card{grid-template-columns:1fr}.featured-media{min-height:0;aspect-ratio:4/3}.featured-copy{padding:24px;gap:10px}.featured-copy h3{font-size:1.6rem}.featured-copy .btn{width:100%}.featured-basket{flex-direction:column;align-items:stretch}.featured-basket>a{white-space:normal}.published-featured .catalogo-filters{grid-template-columns:1fr}.published-featured{padding:38px 0}.general-copy h2{min-height:0}.directory-section{padding-top:35px}}
@media(max-width:420px){.directory-ribbon>.wrap{grid-template-columns:1fr;gap:11px}.directory-ribbon span{font-size:.77rem}.directory-ribbon{padding:18px 0}.directory-hero h1{font-size:2.35rem}.directory-hero p{font-size:.9rem}.directory-hero-actions{gap:10px}.directory-hero-actions .btn{flex:1;min-width:120px;padding:10px;font-size:.75rem}.directory-hero-card{padding:22px}.service-hero-card{padding:0}.hero-card-copy{padding:23px}.hero-service-photos{height:140px}.directory-section-heading h2{font-size:1.65rem}.featured-controls{justify-content:center;gap:7px}.featured-controls #featuredPause{padding:7px 10px;font-size:.7rem}.featured-copy{padding:21px}.featured-heading h2{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.general-photo img{transition:none}.general-card:hover .general-photo img{transform:none}}
@media(max-width:720px){.site-header .nav-links{display:flex}.site-header .nav-links>.mobile-cta{display:inline-flex}}

/* 1.112.5: alto común de los encabezados de sección */
@media(min-width:751px){.directory-hero{padding:150px 0 92px;min-height:772px;display:flex;flex-direction:column;justify-content:center}.fjm-nunito .directory-hero h1,.directory-hero h1{font-size:clamp(2.6rem,5.3vw,4.6rem)!important;line-height:1.12}}
@media(max-width:750px){.directory-hero{padding:120px 0 65px;min-height:0}.fjm-nunito .directory-hero h1,.directory-hero h1{font-size:clamp(2.2rem,9.5vw,2.6rem)!important;line-height:1.15}}
@media(min-width:1001px){.directory-hero-grid{grid-template-columns:1.32fr .68fr;gap:48px}}

/* 1.112.8: controles del carrusel de destacados con el estilo del carrusel de la portada */
.featured-carousel{display:flex;flex-direction:column}
.featured-carousel>.featured-controls{order:2;justify-content:center;gap:14px;margin:20px 0 0}
.featured-controls button#featuredPrev,.featured-controls button#featuredNext{width:46px;height:46px;border:1.5px solid var(--ink);background:transparent;font-size:1.15rem;transition:background .2s,color .2s}
.featured-controls button#featuredPrev:hover,.featured-controls button#featuredNext:hover{background:var(--ink);color:var(--paper)}
.featured-dots{display:flex;gap:8px;align-items:center}
.featured-controls .featured-dot{width:10px;height:10px;min-height:0;padding:0;border:0;border-radius:999px;background:#1b103340;cursor:pointer;transition:width .25s,background .25s}
.featured-controls .featured-dot[aria-current="true"]{width:28px;background:var(--pink)}
.featured-controls span#featuredPosition{min-width:62px;color:#1b1033b3}
.featured-controls #featuredPause{border-color:transparent;background:transparent;text-decoration:underline;color:#1b1033b3}
@media(max-width:620px){.featured-controls span#featuredPosition{display:none}.featured-controls button#featuredPrev,.featured-controls button#featuredNext{width:40px;height:40px}}
