/* RESET */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* VARIABLES */
:root {
    --max-width: 500px;
    --text-width: 700px;
    --padding: 20px;
}

/* BASE */
body {
    font-family: 'Source Sans 3', sans-serif;
    line-height: 1.5;
}

/* TIPOGRAFÍA */
h1 {
    font-weight: 400;
    font-size: clamp(32px, 5vw, 60px);
    line-height: 1.1;
}

p {
    font-weight: 400;
    font-size: 18px;
    line-height: 1.6;
}

/* RESPONSIVE TIPOGRAFÍA */
@media (max-width: 768px) {
    p {
        font-size: 16px;
    }
}

/* HERO / IMÁGENES */
.hero img,
.image-block img {
    width: 100%;
    height: auto;
    display: block;
}

/* ===== IMÁGENES RESPONSIVAS (FIX DEFINITIVO) ===== */
/* FIX DEFINITIVO (NO FALLA) */
.image-block .image1 {
    display: block !important;
}

.image-block .image2 {
    display: none !important;
}

@media (max-width: 768px) {
    .image-block .image1 {
        display: none !important;
    }

    .image-block .image2 {
        display: block !important;
        width: 100%;
        height: 65vh;
        object-fit: cover;
    }
}

/* VIDEO */
.video video {
    width: 100%;
    height: auto;
    display: block;
}

/* TEXTO */
.text-section {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 60px var(--padding);
}

.text-container {
    max-width: var(--max-width);
    width: 100%;
    margin: 0 auto;
}

/* FIX TÍTULO */
.text-section h1 {
    text-align: center;
    margin-bottom: 15px;
    max-width: none;
}

/* FIX PÁRRAFOS */
.text-section p {
    max-width: var(--text-width);
    margin: 0 auto;
    text-align: left;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .text-section {
        padding: 40px 15px;
    }
}

/* SLIDER */
.slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    touch-action: pan-y;
}

.slider-track {
    position: relative;
}

.slide {
    width: 100%;
    display: none;
}

.slide.active {
    display: block;
}

/* BOTONES */
.slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.5);
    color: #fff;
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    font-size: 24px;
}

.slider-btn.prev { left: 10px; }
.slider-btn.next { right: 10px; }

/* OVERLAY */
.image-overlay {
    position: relative;
    width: 100%;
}

.image-overlay img {
    width: 100%;
    display: block;
}

.overlay-content {
    position: absolute;
    top: 25%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: var(--max-width);
    padding: 0 var(--padding);
    text-align: left;
    color: #ffffff;
}

.overlay-content h1 {
    margin-bottom: 10px;
}

.overlay-content p {
    text-align: left;
}

/* OVERLAY OSCURO */
.image-overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.3);
}

/* COLORES */
.bg-fab719 { background-color: #fab719; }
.bg-173a62 { background-color: #173a62; }
.bg-7a1f61 { background-color: #7a1f61; }
.bg-b8a377 { background-color: #b8a377; }
.bg-717070 { background-color: #717070; }
.bg-ffffff { background-color: #ffffff; }
.bg-71b058 { background-color: #71b058; }
.bg-e6b200 { background-color: #e6b200; }
.bg-c5cfaa { background-color: #c5cfaa; }
.bg-a4c444 { background-color: #a4c444; }
.bg-5b5a5a { background-color: #5b5a5a; }
.bg-8b8b8c { background-color: #8b8b8c; }
.bg-00a7e1 { background-color: #00a7e1; }
.bg-ff5c35 { background-color: #ff5c35; }
.bg-f6cdd7 { background-color: #f6cdd7; }
.bg-1d1e1b { background-color: #1d1e1b; }
.bg-b5dbd2 { background-color: #b5dbd2; }
.bg-7d928a { background-color: #7d928a; }
.bg-c48d75 { background-color: #c48d75; }
.bg-a37d3b { background-color: #a37d3b; }
.bg-dedede { background-color: #dedede; }
.bg-706f6f { background-color: #706f6f; }
.bg-a08c7d { background-color: #a08c7d; }
.bg-000000 { background-color: #000000; }
.bg-b7bf1c { background-color: #b7bf1c; }
.bg-f0c12f { background-color: #f0c12f; }
.bg-fad0ce { background-color: #fad0ce; }
.bg-ebe07a { background-color: #ebe07a; }
.bg-f6ac6c { background-color: #f6ac6c; }
.bg-bd7eb4 { background-color: #bd7eb4; }
.bg-a0c74e { background-color: #a0c74e; }
.bg-58b4c9 { background-color: #58b4c9; }
.bg-45a895 { background-color: #45a895; }
.bg-c2246b { background-color: #c2246b; }
.bg-e2c3c8 { background-color: #e2c3c8; }
.bg-cf3339 { background-color: #cf3339; }
.bg-8f4899 { background-color: #8f4899; }

.text-173a62 { color: #173a62; }
.text-ffffff { color: #ffffff; }
.text-3c3c3b { color: #3c3c3b; }
.text-1d1e1b { color: #1d1e1b; }
.text-010000 { color: #010000; }

footer {
  text-align: center;
}

footer span.copyright {
  font-size: 70%;
  line-height: 40px;
  text-transform: none;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

footer ul.quicklinks {
  font-size: 90%;
  line-height: 40px;
  margin-bottom: 0;
  text-transform: none;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

body {
    padding-top: 60px;
}

a {
  color: #231f20 !important;
}

/* CONTACTO */
.contact-list {
    list-style: none;
    padding: 0;
    margin-top: 30px;
}

.contact-list li {
    margin-bottom: 20px;
}

.contact-list a {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: inherit;
}

.contact-list img {
    width: 50px;
    height: auto;
}

.contact-list span {
    margin-left: 20px;
}