/* Módulos compartidos Home + Quiénes somos. Antes vivían inline en index.php. */
/* Titulares de sección */
body.home section h2:not(.btn), body.quienes-somos section h2:not(.btn) { font-family: "raleway-regular", sans-serif; font-size: clamp(30px, 3vw, 42px); line-height: 1.33; }
/* Tarjetas de servicio */
.home-manicura .servicesList, .home-pedicura .servicesList { margin-top: 25px; margin-bottom: 20px; }
.home-manicura .servicesList__item, .home-pedicura .servicesList__item { margin-bottom: 35px; }
/* Manicura: foto cuadrada sin redondeo + texto alineado a la izquierda (Figma) */
.home-manicura { border-top: 0; }
.home-manicura .servicesList__item .inner-item { padding: 0; }
.home-manicura .servicesList__item .thumb-wrapper { border-radius: 0; margin: 0 0 22px; }
.home-manicura .servicesList__item .content { width: 100%; }
.home-manicura .servicesList__item .text-wrapper { text-align: left; }
.home-manicura .servicesList__item .content .text-wrapper .title { text-align: left; margin-bottom: 14px; }
.home-manicura .servicesList__item .content .text-wrapper .title a { font-family: "raleway-medium", sans-serif; font-size: 22px; letter-spacing: 1px; color: #222; }
.home-manicura .servicesList__item .content .text-wrapper .text { text-align: left; font-size: 14px; line-height: 1.6; }
.home-manicura .servicesList__item .link-pink { margin-top: 15px; }
/* Enlace rosa con flecha (Figma: Raleway Regular 14, #f815c5, mayúsculas, subrayado) */
.link-pink, .block1 a.link-pink { color: #f815c5; text-transform: uppercase; font-family: "raleway-regular", sans-serif; font-size: 14px; font-weight: normal; letter-spacing: .3px; text-decoration: none; border-bottom: 1px solid #f815c5; padding-bottom: 3px; display: inline-block; }
.link-pink:after { content: ' \203A'; margin-left: 6px; }
.link-pink:hover, .block1 a.link-pink:hover { color: #c00f9b; border-color: #c00f9b; text-decoration: none; }
/* Acordeón HORIZONTAL de salones por ciudad: un único degradado (Figma) visible a través
   de los paneles, separados por una franja blanca; expande en hover */
.salones-acc { display: flex; height: 470px; background: linear-gradient(97deg, #ea2391 7%, #f65391 42%, #ffb054 96%); }
.salones-acc__panel { position: relative; flex: 1 1 0%; min-width: 60px; overflow: hidden; cursor: pointer; transition: flex-grow .5s ease; }
.salones-acc__panel + .salones-acc__panel { border-left: 8px solid #fff; }
.salones-acc__panel.is-open { flex-grow: 6; }
.salones-acc:hover .salones-acc__panel.is-open:not(:hover) { flex-grow: 1; }
.salones-acc__panel:hover { flex-grow: 6; }
.salones-acc__panel:focus-visible { outline: 2px solid #fff; outline-offset: -6px; }
.salones-acc__overlay { display: none; }
.salones-acc__label { position: absolute; left: 0; right: 0; top: 34px; z-index: 2; text-align: center; color: #fff; font-family: "raleway-medium", sans-serif; font-size: 20px; letter-spacing: 1px; text-transform: uppercase; transition: opacity .3s; }
.salones-acc__content { position: absolute; inset: 0; z-index: 2; padding: 34px 30px; color: #fff; overflow: auto; opacity: 0; transition: opacity .4s .1s; }
.salones-acc__panel:hover .salones-acc__content, .salones-acc__panel.is-open .salones-acc__content { opacity: 1; }
.salones-acc__panel:hover .salones-acc__label, .salones-acc__panel.is-open .salones-acc__label { opacity: 0; }
.salones-acc:hover .salones-acc__panel.is-open:not(:hover) .salones-acc__content { opacity: 0; }
.salones-acc:hover .salones-acc__panel.is-open:not(:hover) .salones-acc__label { opacity: 1; }
.salones-acc__city { color: #fff; margin: 0 0 26px; font-family: "raleway-medium", sans-serif; font-size: 22px; letter-spacing: 1px; text-transform: uppercase; }
.salones-acc__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 28px; }
.salon-mini__name { display: inline-block; color: #fff; font-family: "raleway-medium", sans-serif; font-size: 15px; text-transform: uppercase; text-decoration: none; margin-bottom: 6px; }
.salon-mini__name:after { content: ' \203A'; }
.salon-mini__name:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.salon-mini__row { position: relative; padding-left: 18px; font-size: 13px; color: #fff; margin-bottom: 2px; line-height: 1.45; }
.salon-mini__row:before { content: ''; position: absolute; left: 0; top: 3px; width: 11px; height: 12px; background: center / contain no-repeat; }
.salon-mini__row--dir:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M12 22s7-6.2 7-12a7 7 0 1 0-14 0c0 5.8 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.salon-mini__row--tel:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
@media (max-width: 768px) {
	.salones-acc { flex-direction: column; height: auto; background: linear-gradient(180deg, #ea2391 0%, #f65391 45%, #ffb054 100%); }
	.salones-acc__panel { flex: none; }
	.salones-acc__panel + .salones-acc__panel { border-left: 0; border-top: 8px solid #fff; }
	.salones-acc__content { position: relative; opacity: 1; }
	.salones-acc__label { display: none; }
	.salones-acc__grid { grid-template-columns: 1fr; }
}
/* Reseñas */
.home-reviews .nfr-reviews { max-width: 760px; margin: 0 auto; }
/* Pídenos cita: fondo blanco, título a la izquierda y formulario con etiquetas (como franquicia-unas.php) */
.home-cita { background: #fff; padding: 90px 0; border-top: 1px solid #d9d9d9; }
.home-cita__subt { font-size: 14px; color: #000; }
.nf-form label:not(.custom-control) { display: block; text-transform: uppercase; font-size: 13px; letter-spacing: .3px; color: #171717; margin-bottom: 6px; }
.nf-form .form-control { border: 1px solid #000; border-radius: 6px; height: 44px; font-size: 15px; box-shadow: none; background: #fff; }
.nf-form textarea.form-control { height: 155px; resize: vertical; }
.nf-form .form-control:focus { border-color: #f815c5; box-shadow: 0 0 0 3px rgba(248,21,197,.15); }
.nf-form .form-control::placeholder { color: #b3b3b3; }
.nf-form__legal { font-size: 11px; color: #6f6f6f; line-height: 1.5; }
.nf-form__submit { text-align: right; }
.nf-form__btn { background: #000; color: #fff; border: 0; font-family: "raleway-regular", sans-serif; font-size: 19px; padding: 9px 26px; cursor: pointer; transition: background .2s; }
.nf-form__btn:hover, .nf-form__btn:focus-visible { background: #f815c5; }
.nf-form__note { display: block; margin-top: 8px; font-size: 12px; color: #a4a4a4; }
@media (max-width: 991px) { .nf-form__submit { text-align: left; } }
/* Acordeón FAQ */
.custom-accordion .card { border: none; border-bottom: 1px solid #F520E0; border-radius: 0; }
.custom-accordion .card-header { background: transparent; padding: 15px 0; border: none; }
.custom-accordion .btn-link { color: #333; text-decoration: none; font-weight: 600; font-size: 1.1rem; padding: 15px 0; width: 100%; display: flex; justify-content: space-between; align-items: center; white-space: normal; text-align: left; }
.custom-accordion .btn-link:hover { color: #000; text-decoration: none; }
.custom-accordion .btn-link:after { content: '-'; font-size: 1.5rem; color: #ff75e3; margin-left: 15px; line-height: 1; }
.custom-accordion .btn-link.collapsed:after { content: '+'; }
.custom-accordion .btn-link:focus, .custom-accordion .btn-link:active { box-shadow: none; outline: none; }
.custom-accordion .collapse-content { height: 0; overflow: hidden; transition: height 0.35s ease-out; }
.custom-accordion .card-body { padding: 0 0 24px; }
.bg-gray-light { background-color: #f9f9f9; }
/* Bloque negro de franquicia */
.home-franquicia { padding: 90px 0; }
/* Dirección, teléfono y WhatsApp de cada salón enlazados */
.salon-mini__row a, .salon-mini__row a:not(.btn) { color: #fff; font: inherit; text-decoration: none; }
.salon-mini__row a + a { margin-left: 6px; }
.salon-mini__row a:hover, .salon-mini__row a:focus { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.salon-mini__row a:focus-visible, .salon-mini__name:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.salones-acc__panel:focus-within { flex-grow: 6; }
.salones-acc__panel:focus-within .salones-acc__content { opacity: 1; }
.salones-acc__panel:focus-within .salones-acc__label { opacity: 0; }
@media (hover: none) {
	.salon-mini__row a { text-decoration: underline; text-underline-offset: 3px; }
}
@media (max-width: 768px) {
	.salon-mini__row a { display: inline-block; padding: 5px 0; }
	.salon-mini__row:before { top: 8px; }
}
