
:root{--navy:#07345b;--cyan:#00aec4;--teal:#08b6b8;--ink:#123d66;--muted:#53799a;--line:#e2edf2;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.5}
a{color:inherit;text-decoration:none}
.site-header{height:auto;min-height:68px;background:#fff;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:22px;padding:10px clamp(18px,3vw,48px);position:relative;z-index:2}
.social-menu{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;flex-shrink:0;white-space:nowrap}
.social-link{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s ease,opacity .2s ease}
.social-link svg{display:block;width:20px;height:20px;fill:currentColor}
.social-link:hover,.social-link:focus-visible{transform:translateY(-2px);opacity:.82}
.social-facebook{background:#1877f2;color:#fff}
.social-instagram{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);color:#fff}
.social-tripadvisor{background:#00af87;color:#052f2a}

.brand{display:flex;align-items:center;gap:10px;color:var(--navy);font-weight:800;font-size:clamp(20px,2.5vw,32px);white-space:nowrap}
.brand-mark{font-size:32px;color:var(--cyan)}
.brand small{display:block;font-size:11px;font-style:italic;text-align:center;font-weight:500}
.nav{display:flex;gap:clamp(12px,2.2vw,30px);align-items:center;font-size:13px}
.nav a:hover,.nav a:focus{color:var(--cyan)}
.hero{min-height:440px;position:relative;display:flex;align-items:center;background:#087ba5 url('../images/hero-havana.jpg') center 56%/cover no-repeat;color:#fff;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,43,68,1) 0%,rgba(0,43,68,1) 32%,rgba(0,43,68,.98) 40%,rgba(0,43,68,.78) 47%,rgba(0,43,68,.15) 61%,transparent 72%);pointer-events:none}
.hero-copy{position:relative;width:min(1160px,100%);margin:auto;padding:44px 24px 52px}
.eyebrow{font-size:clamp(13px,1.6vw,20px);margin:0;text-transform:uppercase;letter-spacing:.02em}
.hero h1{font-family:"Brush Script MT","Segoe Script",cursive;font-size:clamp(64px,10vw,126px);font-weight:500;line-height:.95;margin:0 0 6px}
.hero .tagline{font-family:"Brush Script MT","Segoe Script",cursive;font-size:clamp(25px,3vw,38px);margin:0 0 18px;transform:rotate(-3deg);transform-origin:left center}
.features{display:flex;gap:20px;flex-wrap:wrap;margin:20px 0}
.feature{font-size:13px;max-width:110px;border-left:2px solid rgba(255,255,255,.7);padding-left:10px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:30px;padding:12px 22px;font-weight:700;font-size:14px;border:1px solid #fff}
.btn-primary{background:var(--teal);border-color:var(--teal);color:#fff}
.btn-outline{color:#fff;background:rgba(0,0,0,.12)}
.section{padding:24px clamp(18px,3vw,40px)}
.section-heading{text-align:center;margin:0 auto 18px}
.section-heading .kicker{color:var(--cyan);font-size:14px;text-transform:uppercase;margin:0}
.section-heading h2{font-size:clamp(23px,2.4vw,30px);line-height:1.2;margin:2px 0;color:var(--navy)}
.services{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;max-width:1500px;margin:auto}
.service-card{border:1px solid var(--line);border-radius:9px;overflow:hidden;text-align:center;background:#fff;min-width:0;padding-bottom:16px}
.service-card img{display:block;width:100%;height:clamp(90px,9vw,125px);object-fit:cover;object-position:center}
.service-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#00abc1;color:white;font-size:24px;margin:-25px auto 5px;position:relative;border:2px solid #fff}
.service-card h3{font-size:15px;margin:3px 8px 5px;color:#0b3764}
.service-card p{font-size:12px;color:var(--muted);padding:0 12px;margin:0 0 10px}
.more{color:#00a9c4;font-weight:700;font-size:12px}
.fleet{display:grid;grid-template-columns: minmax(0,1fr) minmax(0,1.15fr);align-items:stretch;background:#f7fafc}
.fleet-image{display:block;width:100%;height:auto;min-height:0;object-fit:contain;object-position:center;align-self:center}
.fleet-content{padding:25px clamp(20px,3vw,38px);display:flex;flex-direction:column;justify-content:center}
.fleet-content .kicker{color:var(--cyan);font-size:13px;text-transform:uppercase;margin:0}
.fleet-content h2{margin:3px 0 8px;font-size:22px;color:var(--navy)}
.fleet-content p{font-size:13px;color:var(--muted);max-width:560px;margin:0 0 15px}
.vehicle-types{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--navy)}
.vehicle-types span{background:#fff;border:1px solid var(--line);padding:8px 10px;border-radius:22px}
.trustbar{display:flex;justify-content:space-around;gap:16px;flex-wrap:wrap;padding:16px 24px;background:#f8fbfc;color:var(--muted);font-size:12px}
.trustbar span{display:flex;align-items:center;gap:9px}
.trustbar b{font-size:20px;color:var(--cyan)}
.experience:after{content:'Más que un traslado, una experiencia';position:relative;z-index:1;max-width:100%;text-align:right}
.site-footer{background:#032f53;color:#fff;padding:18px clamp(18px,5vw,70px);display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:12px}
.footer-brand{font-size:22px;font-weight:800}.footer-brand small{display:block;font-size:10px;font-style:italic;font-weight:400}
.footer-links{display:flex;gap:16px;flex-wrap:wrap}
@media(max-width:1100px){.services{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.site-header{flex-wrap:wrap;justify-content:center}.brand{margin-right:auto}.social-menu{margin-left:auto;flex-direction:row}.nav{width:100%;justify-content:center;flex-wrap:wrap}}
@media(max-width:900px){.site-header{flex-wrap:wrap;justify-content:center}.brand{margin:0}.social-menu{margin:0;flex-direction:row}.nav{justify-content:center;flex-wrap:wrap}.hero{min-height:420px;background-position:58% center}.services{grid-template-columns:repeat(3,minmax(0,1fr))}.fleet{grid-template-columns:1fr}.fleet-image{height:auto;min-height:0;max-height:none;object-fit:contain}.site-footer{flex-direction:column;text-align:center}}
@media(max-width:600px){.site-header{gap:12px;padding:12px}.brand{font-size:23px}.social-menu{gap:8px}.social-link{width:30px;height:30px}.nav{gap:10px;font-size:12px}.hero{min-height:500px;background-position:61% center;align-items:flex-start}.hero-copy{padding:35px 20px}.hero:before{background:linear-gradient(90deg,rgba(0,45,75,.68),rgba(0,45,75,.18))}.features{gap:10px}.feature{max-width:calc(50% - 10px);font-size:12px}.section{padding:22px 14px}.services{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-card img{height:115px}.service-card h3{font-size:14px}.service-card p{font-size:11px;padding:0 8px}.footer-links{justify-content:center}}
@media(max-width:380px){.services{grid-template-columns:1fr}.service-card img{height:150px}.nav{gap:8px}}

/* Botón de contacto WhatsApp en el pie de página */
.footer-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#12b981;color:#fff!important;padding:11px 18px;border-radius:28px;font-weight:700;font-size:13px;white-space:nowrap;box-shadow:0 2px 7px rgba(0,0,0,.15);transition:background .2s ease,transform .2s ease}
.footer-whatsapp:hover,.footer-whatsapp:focus{background:#0da873;transform:translateY(-1px)}
.whatsapp-mark{display:inline-grid;place-items:center;width:22px;height:22px;border:2px solid #fff;border-radius:50%;font-size:13px;line-height:1}
@media(max-width:900px){.footer-whatsapp{margin-top:4px}}

/* Plantilla de páginas interiores: mantiene el estilo general del tema */
.page-content{max-width:1200px;margin:0 auto;min-height:48vh;padding:36px clamp(18px,3vw,40px)}
.page-title{color:var(--navy);font-size:clamp(28px,3vw,42px);line-height:1.2;margin:0 0 24px}
.page-body{max-width:100%;overflow-wrap:anywhere}
.page-body img{max-width:100%;height:auto}
.page-body h2,.page-body h3{color:var(--navy);line-height:1.25}
.page-body a{color:#008da5;text-decoration:underline}

/* CORRECCIÓN ENLACES DE SERVICIOS */
.services {
    position: relative;
    z-index: 1;
}

.service-card {
    position: relative;
}

.service-card .more {
    position: relative;
    z-index: 9999;
    display: inline-block;
    pointer-events: auto !important;
    cursor: pointer;
}


/* Enlaces de servicios: toda la tarjeta es clicable */
.service-card-link {
    display: block;
    position: relative;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    z-index: 10;
}
.service-card-link:hover {
    text-decoration: none;
}
.service-card-link .more {
    display: inline-block;
    position: relative;
    z-index: 11;
    pointer-events: none;
}

/* Enlaces de tarjetas: toda la tarjeta debe ser clicable */
.services .service-card-link {
    display: block !important;
    position: relative;
    z-index: 20;
    pointer-events: auto !important;
    cursor: pointer;
    color: inherit;
    text-decoration: none;
}
.services .service-card-link > * {
    pointer-events: none;
}

/* =========================================================
   TAXIS CUBA - Página principal: distribución y bordes redondeados
   Header y footer originales: sin cambios de markup.
   ========================================================= */
.tc-home{width:100%;overflow:hidden;background:#fff}
.tc-hero{position:relative;width:calc(100% - 24px);margin:12px auto 0;min-height:420px;border-radius:22px;overflow:hidden;background:#087ba5 url('../images/hero-havana.jpg') center 56%/cover no-repeat;color:#fff;display:flex;align-items:center}
.tc-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,43,68,.82) 0%,rgba(0,43,68,.60) 34%,rgba(0,43,68,.15) 65%,transparent 80%);pointer-events:none}
.tc-hero-copy{position:relative;z-index:1;width:min(1160px,100%);margin:auto;padding:48px 42px 52px}
.tc-eyebrow{font-size:18px;margin:0 0 2px;text-transform:uppercase}
.tc-hero h1{font-family:"Brush Script MT","Segoe Script",cursive;font-size:clamp(58px,7vw,105px);font-weight:500;line-height:.95;margin:0;color:#fff}
.tc-hero-text{font-size:18px;line-height:1.5;margin:18px 0 25px;max-width:590px;color:#fff}
.tc-hero-button{display:inline-flex;align-items:center;gap:10px;background:#08b6c8;color:#fff!important;padding:13px 25px;border-radius:30px;font-weight:700;font-size:16px;text-decoration:none!important}
.tc-fleet{width:calc(100% - 24px);margin:14px auto 0;display:grid;grid-template-columns:1fr 1fr;border-radius:18px;overflow:hidden;background:#f1f8fc}
.tc-fleet-image{display:block;width:100%;height:235px;object-fit:cover;object-position:center}
.tc-fleet-content{padding:28px 34px;display:flex;flex-direction:column;justify-content:center}
.tc-kicker{margin:0 0 5px;color:#00a9c1;font-size:13px;text-transform:uppercase}
.tc-fleet-content h2{margin:0 0 8px;color:#07345b;font-size:25px;line-height:1.2}
.tc-fleet-content p{margin:0 0 16px;color:#53799a;font-size:14px;line-height:1.5}
.tc-vehicle-types{display:flex;flex-wrap:wrap;gap:9px}
.tc-vehicle-types span{background:#fff;border:1px solid #dceaf0;border-radius:25px;padding:8px 12px;color:#07345b;font-size:12px;white-space:nowrap}
.tc-trust{width:calc(100% - 24px);margin:0 auto;padding:17px 20px;display:grid;grid-template-columns:repeat(4,1fr);background:#f5fafc;border-radius:0 0 18px 18px}
.tc-trust>div{display:flex;align-items:center;justify-content:center;gap:10px;padding:5px 14px;color:#39739a;font-size:12px;line-height:1.35;border-right:1px solid #d7e8ef}
.tc-trust>div:last-child{border-right:0}
.tc-trust b{font-size:23px;color:#00abc1;flex-shrink:0}
.tc-services{width:calc(100% - 24px);margin:14px auto 16px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.tc-service{display:block;position:relative;overflow:hidden;background:#fff;border:1px solid #dce9ef;border-radius:16px;text-align:center;text-decoration:none!important;color:#123d66!important;box-shadow:0 2px 7px rgba(0,60,100,.06);transition:transform .2s ease,box-shadow .2s ease;min-width:0}
.tc-service:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(0,60,100,.12)}
.tc-service img{display:block;width:100%;height:125px;object-fit:cover;object-position:center;border-radius:15px 15px 0 0}
.tc-service-icon{width:47px;height:47px;margin:-23px auto 4px;position:relative;z-index:2;display:grid;place-items:center;border-radius:50%;background:#08b6c8;border:2px solid #fff;color:#fff;font-size:21px}
.tc-service h3{margin:5px 5px 5px;color:#073f72;font-size:15px;line-height:1.25}
.tc-service p{margin:0;padding:0 9px;min-height:55px;color:#53799a;font-size:12px;line-height:1.4}
.tc-more{display:block;padding:9px 5px 15px;color:#00a9c1;font-size:12px;font-weight:700}
@media(max-width:1100px){.tc-services{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.tc-fleet{grid-template-columns:1fr}.tc-fleet-image{height:auto;max-height:320px}.tc-trust{grid-template-columns:repeat(2,1fr)}.tc-trust>div:nth-child(2){border-right:0}.tc-trust>div{border-bottom:1px solid #d7e8ef}.tc-trust>div:nth-child(3),.tc-trust>div:nth-child(4){border-bottom:0}}
@media(max-width:600px){.tc-hero{width:calc(100% - 16px);min-height:470px;border-radius:18px;background-position:65% center}.tc-hero-copy{padding:35px 22px}.tc-hero h1{font-size:58px}.tc-hero-text{font-size:15px}.tc-fleet,.tc-trust,.tc-services{width:calc(100% - 16px)}.tc-fleet-content{padding:24px 20px}.tc-trust{grid-template-columns:1fr;padding:10px 14px}.tc-trust>div,.tc-trust>div:nth-child(2),.tc-trust>div:nth-child(3){border-right:0;border-bottom:1px solid #d7e8ef!important;padding:11px}.tc-trust>div:last-child{border-bottom:0!important}.tc-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tc-service img{height:110px}.tc-service h3{font-size:14px}.tc-service p{font-size:11px;min-height:60px;padding:0 7px}}
@media(max-width:390px){.tc-services{grid-template-columns:1fr}.tc-service img{height:155px}}


/* CABECERA CORREGIDA: redes centradas en el eje de la página */
.site-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  column-gap: 18px;
}
.site-header > .brand {
  grid-column: 1;
  justify-self: start;
  min-width: 0;
  margin: 0;
}
.site-header > .social-menu {
  grid-column: 2;
  justify-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0;
  padding: 0;
}
.site-header > .nav {
  grid-column: 3;
  justify-self: end;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: clamp(10px, 1.5vw, 22px);
  margin: 0;
}
.site-header .social-link {
  flex: 0 0 32px;
}
@media (max-width: 900px) {
  .site-header {
    grid-template-columns: 1fr auto;
    row-gap: 12px;
  }
  .site-header > .brand {
    grid-column: 1;
    grid-row: 1;
  }
  .site-header > .social-menu {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }
  .site-header > .nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: center;
    width: 100%;
    justify-content: center;
  }
}
@media (max-width: 520px) {
  .site-header {
    grid-template-columns: 1fr;
    justify-items: center;
    row-gap: 10px;
    padding: 12px 10px;
  }
  .site-header > .brand,
  .site-header > .social-menu,
  .site-header > .nav {
    grid-column: 1;
    justify-self: center;
  }
  .site-header > .brand { grid-row: 1; }
  .site-header > .social-menu { grid-row: 2; }
  .site-header > .nav {
    grid-row: 3;
    width: 100%;
    gap: 8px 14px;
  }
}
