
/* ==========================================================================
   Sección Opiniones / Testimonios
   ========================================================================== */

.testimonials-section {
    padding-top: 6rem; /* py-24 */
    padding-bottom: 6rem;
    padding-left: 1.5rem; /* px-6 */
    padding-right: 1.5rem;
    background-color: #ffffff;
}

.testimonials-container {
    max-width: 64rem; /* max-w-5xl */
    margin-left: auto;
    margin-right: auto;
}

/* Encabezado */
.testimonials-header {
    text-align: center;
    margin-bottom: 4rem; /* mb-16 */
}

.testimonials-subtitle {
    color: #0044a5;
    font-size: 0.75rem; /* text-xs */
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 500;
    display: block;
    margin-bottom: 0.5rem;
}

.testimonials-title {
    font-size: 1.875rem; /* text-3xl */
    color: #111827; /* asumiendo color de texto por defecto */
    margin: 0;
}

@media (min-width: 768px) {
    .testimonials-title {
        font-size: 2.25rem; /* md:text-4xl */
    }
}

.testimonials-divider {
    width: 3rem; /* w-12 */
    height: 1px;
    background-color: #0044a5;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1rem;
}

/* Sistema de Cuadrícula (Grid) */
.testimonials-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem; /* gap-8 */
}

@media (min-width: 768px) {
    .testimonials-grid {
        grid-template-columns: repeat(3, 1fr); /* md:grid-cols-3 */
    }
}

/* Tarjeta individual */
.testimonial-card {
    background-color: #ffffff;
    padding: 2rem; /* p-8 */
    border: 1px solid #f3f4f6; /* border-gray-100 */
    border-radius: 0.75rem; /* rounded-xl */
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); /* shadow-sm */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0; /* Reset para la etiqueta figure */
}

/* Cita (Quote) */
.testimonial-quote {
    color: #4b5563; /* text-gray-600 */
    font-weight: 300; /* font-light */
    font-size: 0.875rem; /* text-sm */
    font-style: italic;
    line-height: 1.625; /* leading-relaxed */
    margin: 0;
}

/* Autor */
.testimonial-author {
    margin-top: 1.5rem; /* mt-6 */
}

.testimonial-name {
    font-size: 0.875rem; /* text-sm */
    font-weight: 500;
    font-style: normal; /* not-italic */
    display: block;
    color: #111827;
}

.testimonial-detail {
    font-size: 10px; /* text-[10px] */
    text-transform: uppercase;
    color: #9ca3af; /* text-gray-400 */
    letter-spacing: 0.05em; /* tracking-wider */
    display: block;
    margin-top: 0.25rem;
}
/* ==========================================================================
   Puntos de Interés - Carrusel Optimizado
   ========================================================================== */

:root{
    --poi-primary:#0044a5;
    --poi-bg:#f3f4f6;
    --poi-card:#fff;
    --poi-text:#111827;
    --poi-text-light:#4b5563;
    --poi-text-muted:#9ca3af;
    --poi-border:#e5e7eb;
    --poi-gap:1.5rem;
    --poi-radius:1rem;
    --poi-shadow:0 2px 8px rgba(0,0,0,.06);
    --poi-shadow-hover:0 12px 28px rgba(0,0,0,.12);
}

.poi-section{background:var(--poi-bg);padding:5rem 0}
.poi-container{width:min(1280px,calc(100% - 2rem));margin:auto}
@media(min-width:640px){.poi-container{width:min(1280px,calc(100% - 3rem))}}

.poi-header{text-align:center;margin-bottom:4rem}
.poi-subtitle{display:block;margin-bottom:.5rem;color:var(--poi-primary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em}
.poi-title{margin:0;font-size:2rem;color:var(--poi-text)}
@media(min-width:768px){.poi-title{font-size:2.5rem}}
.poi-divider{width:60px;height:2px;background:var(--poi-primary);margin:1rem auto 0}

.poi-carousel-wrapper{position:relative;display:flex;align-items:center}
@media(min-width:768px){.poi-carousel-wrapper{padding-inline:4.5rem}}

.poi-btn{
position:absolute;top:50%;transform:translateY(-50%);
width:52px;height:52px;border:none;border-radius:50%;
background:#fff;color:var(--poi-primary);display:none;
align-items:center;justify-content:center;cursor:pointer;
box-shadow:var(--poi-shadow);
transition:transform .25s,box-shadow .25s,background-color .25s;
z-index:20}
@media(min-width:768px){.poi-btn{display:flex}}
.poi-btn-prev{left:0}.poi-btn-next{right:0}
.poi-btn:hover{transform:translateY(-50%) scale(1.05);box-shadow:var(--poi-shadow-hover)}
.poi-btn:active{transform:translateY(-50%) scale(.95)}
.poi-btn:focus-visible{outline:3px solid var(--poi-primary);outline-offset:4px}
.poi-icon{width:24px;height:24px}

.poi-carousel-track{
display:flex;align-items:stretch;gap:var(--poi-gap);
overflow-x:auto;overflow-y:hidden;padding:1rem;
scroll-snap-type:x mandatory;scroll-behavior:smooth;
scroll-padding-inline:1rem;
scrollbar-width:none;-ms-overflow-style:none}
.poi-carousel-track::-webkit-scrollbar{display:none}

.poi-card{
flex:0 0 88%;display:flex;flex-direction:column;
scroll-snap-align:center;background:var(--poi-card);
border:1px solid var(--poi-border);border-radius:var(--poi-radius);
overflow:hidden;box-shadow:var(--poi-shadow);
transition:transform .3s,box-shadow .3s}
@media(min-width:640px){.poi-card{flex:0 0 calc((100% - var(--poi-gap))/2)}}
@media(min-width:1024px){.poi-card{flex:0 0 calc((100% - (var(--poi-gap)*2))/3)}}
.poi-card:hover{transform:translateY(-6px);box-shadow:var(--poi-shadow-hover)}

.poi-card-line{height:.25rem;background:var(--poi-primary)}
.poi-card-body{flex:1;display:flex;flex-direction:column;padding:2rem;text-align:center}
.poi-card-content{flex:1;display:flex;flex-direction:column;align-items:center}
.poi-card-icon-wrapper{display:flex;justify-content:center;color:var(--poi-primary);margin-bottom:1rem}
.poi-pin-icon{width:2rem;height:2rem}
.poi-card-title{
margin:0 0 .75rem;font-size:1.3rem;font-weight:600;color:var(--poi-text);
display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.poi-card-distance{margin:0;color:var(--poi-text-light);line-height:1.7;font-weight:400}
.poi-dist-label{color:var(--poi-text-muted)}
.poi-dist-value{display:block;margin-top:.25rem;color:var(--poi-text);font-size:1.1rem;font-weight:700}

.poi-card-link{
margin:2rem auto 0;display:inline-flex;align-items:center;gap:.6rem;
padding:.75rem 1.5rem;border:1px solid var(--poi-border);
border-radius:999px;background:#fff;color:var(--poi-primary);
text-decoration:none;font-size:.75rem;font-weight:700;
text-transform:uppercase;letter-spacing:.05em;
transition:background-color .2s,transform .2s,box-shadow .2s}
.poi-card-link:hover{background:#f9fafb;box-shadow:var(--poi-shadow)}
.poi-card-link:active{transform:scale(.96)}
.poi-card-link:focus-visible{outline:3px solid var(--poi-primary);outline-offset:3px}
.poi-link-icon{width:1rem;height:1rem}

@media(max-width:767px){
.poi-card-body{padding:1.5rem}
.poi-title{font-size:1.8rem}
}