﻿@charset "UTF-8";

/**********************************************************************************************************************************************************************************/
/*********************************************************************************** CUSTOM ***************************************************************************************/
/**********************************************************************************************************************************************************************************/

/* font */
@import url('https://fonts.googleapis.com/css2?family=Rufina:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Urbanist:wght@100;200;300;400;500;600;700;800;900&display=swap');
/* variable */
:root {     
    --base-color: #F97316;
    --medium-gray:#817F7C;
    --very-light-gray:#fafafa;
  --alt-font: "Inter", sans-serif;
  --primary-font: "Inter", sans-serif;
}  

/* icon */
.icon-extra-medium {
    font-size: 22px;
}
.video-icon-large .video-icon {
    width: 70px;
    height: 70px;
    font-size: 18px;
}
.video-icon-large .video-icon .video-icon-sonar .video-icon-sonar-bfr {
    width: 120px;
    height: 120px;
}
.video-icon-large .video-icon .video-icon-sonar .video-icon-sonar-afr {
    width: 90px;
    height: 90px;
}
.medium-icon li, .small-icon li {
    margin: 0 3px;
}

/* list style 8 */
.list-style-8 {list-style: none; margin: 0; padding: 0;}
.list-style-8 li {position: relative; padding:15px 0; margin: 0 0 4px 0; border-bottom: 1px solid rgba(0, 0, 0, 0.1);}
.list-style-8 li span {margin-bottom: 2px}
.list-style-8 li p {margin-bottom: 0}
.list-style-8 li:last-child {border-bottom: none}
.list-style-8 li:before {content: "";}

/* text color */
.text-white-2, .btn.text-white-2 {color:#FFF}
.text-black, .btn.text-black {color:#000}
.text-extra-dark-gray, .btn.text-extra-dark-gray {color:#232323}
.text-dark-gray, .btn.text-dark-gray {color:#232323}
.text-extra-medium-gray, .btn.text-extra-medium-gray {color:#757575}
.text-medium-gray, .btn.text-medium-gray {color:#939393}
.text-extra-light-gray, .btn.text-extra-light-gray {color:#b7b7b7}
.text-light-gray, .btn.text-light-gray {color:#d6d5d5}
.text-very-light-gray, .btn.text-very-light-gray {color:#ededed}
.text-deep-pink, .btn.text-deep-pink {color:#ff214f}

.btn-success:hover, .btn-success:focus, .btn-success:active {
    background-color: var(--bs-btn-color);
    color: var(--bs-btn-bg);
    border-color: var(--bs-btn-bg);
}

.borderojo , .borderojo:focus{
    border: solid 1px red !important;
}

.realizaPago {
    cursor: pointer;
}

.alert {
    font-size: 12px;
}

.bandera {
    width: 20px;
}

@media(max-width:991px) {
    .bandera:after {
        content: "Inglés";
    }
}

.opacity-10 {
  opacity: 1!important;
}

/* =========================================================
   SIDEBAR - PRECIO HERO (alto impacto conversión)
   ========================================================= */

.gtc-sidebar-price-hero{
}

.gtc-sidebar-price-hero__top{
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.gtc-sidebar-price-hero__amount{
  font-size: 50px;
  font-weight: 750;
  letter-spacing: -3px;
  line-height: 1;
  color: rgba(17,24,39,0.96);
}

.gtc-sidebar-price-hero__sub{
  margin-top: 0px;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: rgba(17,24,39,0.42);
}







/* Responsive */
@media (max-width: 520px){
  .gtc-sidebar-price-hero__amount{ font-size: 58px; }
  .gtc-sidebar-price-hero__type{ font-size: 22px; top: -8px; }
  .gtc-sidebar-price-hero__slash{ top: -8px; }
  .gtc-sidebar-price-hero__sub{ font-size: 16px; letter-spacing: 2.2px; }
}

/**********************************************************************************************************************************************************************************/
/********************************************************************************** OVERRIDE **************************************************************************************/
/**********************************************************************************************************************************************************************************/

:root,
[data-bs-theme=light] {
  --bs-border-width: 1px;
}


.custom-75-45 {
    display: flex;
    flex-wrap: wrap;
}

.custom-75-45 .col-main {
    flex: 0 0 70%;   /* 7.5 / 12 */
    max-width: 70%;
    padding-right: 40px; /* ajusta entre 30-60px */
}

.custom-75-45 .col-sidebar {
    flex: 0 0 30%;   /* 4.5 / 12 */
    max-width: 30%;
}

/* Responsive */
@media (max-width: 1199px) {
    .custom-75-45 .col-main,
    .custom-75-45 .col-sidebar {
        flex: 0 0 100%;
        max-width: 100%;
    }
}


/* ====== MOSAICO FOTOS ====== */
.gtc-photo-mosaic{
    display: grid;
    grid-template-columns: 2fr 1fr;  /* izquierda grande / derecha estrecha */
    gap: 18px;
    margin-top: 22px;
}

.gtc-photo{
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 16px;
    background: #f3f3f3;
    line-height: 0;
}

.gtc-photo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    transition: transform .35s ease;
    display: block;
}

.gtc-photo:hover img{
    transform: scale(1.03);
}

/* Alturas / proporciones */
.gtc-photo--big{
    aspect-ratio: 4 / 3; /* ajusta a 16/10 si quieres más panorámico */
}

.gtc-photo-stack{
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 18px;
}

.gtc-photo--top,
.gtc-photo--bottom{
    aspect-ratio: 4 / 3;
}

/* ====== Overlay Rating ====== */
.gtc-rating-card{
    position: absolute;
    left: 18px;
    bottom: 18px;
    /* width: min(240px, 80%);
    padding: 14px 14px 12px;
    border-radius: 14px;
    background: rgba(255,255,255,.88);
    backdrop-filter: blur(10px);
    box-shadow: 0 18px 45px rgba(0,0,0,.18);
    color: #111; */
}

.gtc-rating-card__score{
    font-size: 44px;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 6px;
}

.gtc-rating-card__stars{
    font-size: 16px;
    letter-spacing: 2px;
    opacity: .9;
    margin-bottom: 8px;
}

.gtc-rating-card__meta{
    font-size: 14px;
    opacity: .75;
    margin-bottom: 8px;
}

.gtc-rating-card__link{
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    opacity: .85;
    text-decoration: underline;
}

/* ====== CTA Ver más fotos ====== */
.gtc-photos-cta{
    position: absolute;
    right: 14px;
    bottom: 14px;
    padding: 10px 14px;
    border-radius: 12px;
    background: rgba(0,0,0,.40);
    backdrop-filter: blur(10px);
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: .2px;
    display: inline-flex;
    gap: 10px;
    align-items: center;
}

.gtc-photos-cta__arrow{
    font-size: 20px;
    line-height: 1;
    transform: translateY(-1px);
}

/* ====== Responsive ====== */
@media (max-width: 1199px){
    .gtc-photo-mosaic{
        grid-template-columns: 1fr;
    }
    .gtc-photo-stack{
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }
    .gtc-photo--top,
    .gtc-photo--bottom{
        aspect-ratio: 4 / 3;
    }
}

@media (max-width: 767px){
    .gtc-photo-stack{
        grid-template-columns: 1fr;
    }
    .gtc-rating-card__score{
        font-size: 38px;
    }
}


.gtc-photo-mosaic {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-auto-rows: 1fr;
    gap: 18px;
}

/* Todas las fotos cuadradas */
.gtc-photo {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    background: #f3f3f3;
    aspect-ratio: 1 / 1;
}

/* La grande ocupa 2 filas */
.gtc-photo--big {
    grid-row: span 2;
}

/* Stack derecha ya no necesita grid interno */
.gtc-photo-stack {
    display: contents;
}

.gtc-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.gtc-photo:hover img {
    transform: scale(1.04);
}

.gtc-photo-mosaic{
    --gap: 18px;

    display: grid;
    gap: var(--gap);

    /* ✅ clave: compensamos el gap (gap/3 = 6px cuando gap=18px) */
    grid-template-columns: calc(66.666% - 6px) calc(33.333% - 12px);
}

/* 3 cuadrados perfectos */
.gtc-photo{
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 16px;
    background: #f3f3f3;
    aspect-ratio: 1 / 1;
}

.gtc-photo--big{
    grid-row: span 2;
}

/* si estabas usando stack wrapper, mantenlo como "contents" */
.gtc-photo-stack{
    display: contents;
}

.gtc-photo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}
.gtc-photo:hover img{
    transform: scale(1.03);
}


/* Importante: el padre (row / container) NO debe tener overflow hidden/auto */
.custom-75-45{
  align-items: flex-start; /* evita estiramientos raros */
}

/* Sticky */
.gtc-sidebar-sticky{
  position: sticky;
  top: 110px;         /* ajusta según tu header (ej: 90-140px) */
  z-index: 10;
}


/* Asegura comportamiento correcto del layout */
.custom-75-45{
  display: flex;
  align-items: flex-start;
}

/* Evita que el sidebar se estire raro en flex */
.custom-75-45 .col-sidebar{
  align-self: flex-start;
}

/* ✅ Sticky */
.custom-75-45 .col-sidebar .gtc-sidebar-sticky{
  position: sticky;
  top: 110px;      /* ajusta a tu header real */
  z-index: 50;
}

.custom-75-45 .col-sidebar{
  position: sticky;
  top: 20px;
  align-self: flex-start;
}

.gtc-value-block{
  margin-top: 60px;
  padding: 45px 40px;
  background: var(--very-light-gray);
  border-radius: 24px;
}

.gtc-value-block__header h2{
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 6px;
}

.gtc-value-block__header p{
  color: var(--medium-gray);
  margin-bottom: 30px;
}

.gtc-value-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px 40px;
}

.gtc-value-item{
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.gtc-value-icon{
  font-size: 22px;
  color: var(--base-color);
}

.gtc-value-item strong{
  display: block;
  font-weight: 600;
}

.gtc-value-item span{
  font-size: 14px;
  color: var(--medium-gray);
}

@media(max-width:991px){
  .gtc-value-grid{
    grid-template-columns: repeat(2,1fr);
  }
}

@media(max-width:600px){
  .gtc-value-grid{
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   VALUES / BENEFITS ICONS — estilo unificado con acordeón
   ========================================================= */

.gtc-value-item{
  display: flex;
  gap: 14px;
  align-items: center;
}

.gtc-value-icon-box{
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #f97316 !important;
    background: rgba(249,115,22,0.08) !important;
    border: none !important;
    border-radius: 10px !important;
    flex-shrink: 0;
    transition: all .2s ease;
}

.gtc-value-icon-box i{
  font-size: 16px;
  color: #f97316;
  line-height: 1;
}

.gtc-value-item:hover .gtc-value-icon-box{
  background: rgba(249,115,22,0.15) !important;
  transform: translateY(-1px);
}

/* Textos */
.gtc-value-item strong{
  display:block;
  font-weight:650;
  color: rgba(17,24,39,0.92);
  margin-top:-4px;
}

.gtc-value-item span{
  display:block;
  font-size:14px;
  color: rgba(17,24,39,0.55);
  margin-top:-8px;
}

/* Hover MUY sutil (opcional pero queda ðŸ”¥) */
.gtc-value-item:hover .gtc-value-icon-box{
  background: color-mix(in srgb, var(--base-color) 18%, white);
  border-color: color-mix(in srgb, var(--base-color) 34%, white);
  transform: translateY(-1px);
  transition: all .22s ease;
}

.gtc-value-block{
  margin-top: 70px;
  padding-top: 55px;
  border-top: 1px solid rgba(0,0,0,0.1);
}


/* ================================
   BULLETS PREMIUM – EXPERIENCIA
================================ */

.gtc-bullets{
  list-style: none;
  /* padding: 0; */
  margin: 28px 0 36px 0;
}

.gtc-bullets li{
  position: relative;
  padding-left: 28px;
  margin-bottom: 2px;  
}

/* Bullet personalizado */
.gtc-bullets li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--base-color);
}

.gtc-bullets li::before{ background:#F97316; }
.gtc-bullets strong{ color:#333; }
.experiencia strong{ color:#333; }
.gtc-meeting-item strong{ color:#333; }


/* ================================
   TAB TITLE (reutilizable en tabs)
================================ */
.gtc-tab-title{
  font-size: 34px;
  font-weight: 850;
  line-height: 1.15;
  letter-spacing: -0.5px;
  margin: 0 0 22px 0;
  color: #111;
}
.gtc-tab-title span{
  color: var(--base-color);
}

/* ================================
   INCLUYE GRID
================================ */
.gtc-includes-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 22px;
  margin-top: 16px;
}

.gtc-inc-item{
  padding: 16px 18px;
  border-radius: 16px;
  background-color: #fafafa;
  border: 1px solid rgba(17,24,39,0.08);
}

.gtc-inc-label{
  font-size: 12px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: rgba(17,24,39,0.55);
  /* margin-bottom: 6px; */
}

.gtc-inc-text{
  font-size: 15px;
  line-height: 1.35;
  color: rgba(17,24,39,0.86);
}

.gtc-inc-text strong{
  color: #333;
}

/* ================================
   NO INCLUIDO (caja neutra)
================================ */
.gtc-not-included{
  margin-top: 22px;
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(17,24,39,0.02);
  border: 1px solid rgba(17,24,39,0.08);
}

.gtc-not-included__title{
  font-weight: 750;
  margin-bottom: 4px;
  color: rgba(17,24,39,0.85);
}

.gtc-not-included__text{
  color: rgba(17,24,39,0.65);
  font-size: 14px;
}

@media(max-width: 767px){
  .gtc-includes-grid{ grid-template-columns: 1fr; }
  .gtc-tab-title{ font-size: 28px; }
}

.tab-content{
/* border-right: 1px solid var(--light-medium-gray);
border-left: 1px solid var(--light-medium-gray);
border-bottom: 1px solid var(--light-medium-gray);
border-top: none; */
}


.gtc-meeting-card{
  background:#fff;
  /* border-radius:18px; */
  border:1px solid rgba(17,24,39,0.08);
  box-shadow:0 18px 45px rgba(0,0,0,0.05);
  padding: 5%;
  overflow:hidden;
}

.gtc-meeting-head{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:24px;
}

.gtc-meeting-title{
  font-size:28px;
  font-weight:800;
  margin:0;
  color:#111827;
}

.gtc-meeting-icon{
  width:56px;
  height:56px;
  border-radius:16px;
  background:rgba(249,115,22,0.08);
  border:1px solid rgba(249,115,22,0.2);
  display:flex;
  align-items:center;
  justify-content:center;
}

.gtc-meeting-icon i{
  color:#F97316;
  font-size:22px;
}

/* 2 columnas */
.gtc-meeting-info{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  margin-bottom:30px;
}

.gtc-meeting-item p{
  margin-bottom:14px;
  color:rgba(17,24,39,0.75);
  /* font-size:15px; */
}

.gtc-meeting-link{
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:4px;
  color:#111827;
}

.gtc-meeting-link:hover{
  color:#F97316;
}

/* MAPA FULL WIDTH */
.gtc-meeting-map{
  width:100%;
  /* margin:0 -34px; rompe padding lateral */
}

.gtc-meeting-map iframe{
  width:100%;
  height:360px;
  border:0;
  display:block;
}

/* Footer */
.gtc-meeting-foot{
  padding:20px 34px 28px;
  font-size:14px;
  color:rgba(17,24,39,0.6);
  border-top:1px solid rgba(17,24,39,0.08);
}

/* Responsive */
@media(max-width:991px){
  .gtc-meeting-info{
    grid-template-columns:1fr;
    gap:25px;
  }
  .gtc-meeting-map iframe{
    height:320px;
    padding-bottom: 15px;
    width: 100%;
  }
}

/* ================================
   SOCIAL PROOF — RESEÑAS
   ================================ */
.gtc-reviews-section{
  margin-top: 10px;
  margin-bottom: 40px;
}

@media (max-width: 991px){
  .gtc-reviews-section{
    margin-bottom: 0;
  }
}

.gtc-reviews-card{
  background: #fff;
  border: 1px solid rgba(17,24,39,0.08);
  box-shadow: 0 18px 45px rgba(0,0,0,0.05);
  padding: 5%;
  overflow: hidden;
}

.gtc-reviews-hero{
  text-align: center;
  margin-bottom: 36px;
}

.gtc-reviews-score{
  font-size: 64px;
  font-weight: 800;
  color: #111827;
  line-height: 1;
  margin-bottom: 8px;
}

.gtc-reviews-stars{
  display: flex;
  justify-content: center;
  gap: 4px;
  margin-bottom: 8px;
}

.gtc-reviews-stars i{
  color: #f4b740;
  font-size: 22px;
}

.gtc-reviews-count{
  font-size: 15px;
  color: rgba(17,24,39,0.55);
}

.gtc-reviews-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-bottom: 36px;
}

.gtc-review-item{
  background: var(--very-light-gray);
  border-radius: 14px;
  padding: 24px;
}

.gtc-review-stars{
  display: flex;
  gap: 2px;
  margin-bottom: 12px;
}

.gtc-review-stars i{
  color: #f4b740;
  font-size: 14px;
}

.gtc-review-text{
  font-size: 15px;
  line-height: 1.55;
  color: rgba(17,24,39,0.75);
  margin-bottom: 14px;
  font-style: italic;
}

.gtc-review-author{
  display: flex;
  align-items: center;
  gap: 8px;
}

.gtc-review-author strong{
  font-size: 14px;
  font-weight: 600;
  color: #111827;
}

.gtc-review-author span{
  font-size: 13px;
  color: rgba(17,24,39,0.45);
}

.gtc-reviews-trust{
  display: flex;
  justify-content: center;
  gap: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(17,24,39,0.08);
}

.gtc-trust-badge{
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: rgba(17,24,39,0.35);
}

.gtc-trust-badge i{
  font-size: 16px;
}

/* Reviews responsive — tablet */
@media (max-width: 991px){
  .gtc-reviews-grid{
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .gtc-reviews-card{
    padding: 24px 16px;
  }
  .gtc-reviews-score{
    font-size: 52px;
  }
  .gtc-reviews-hero{
    margin-bottom: 24px;
  }
  .gtc-reviews-trust{
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
  }
}

/* Reviews responsive — móvil */
@media (max-width: 575px){
  .gtc-reviews-section .row.pt-50px{
    padding-top: 30px !important;
  }
  .gtc-reviews-section .text-center{
    text-align: left !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .gtc-reviews-section .row{
    margin-left: 0;
    margin-right: 0;
  }
  .gtc-reviews-section .col-lg-8,
  .gtc-reviews-section .col-md-8{
    max-width: 100%;
    flex: 0 0 100%;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .gtc-reviews-section h4{
    font-size: 22px;
    line-height: 1.2;
    margin-bottom: 16px !important;
  }
  .gtc-reviews-card{
    padding: 20px 0;
    border-radius: 0;
    border: none;
    box-shadow: none;
  }
  .gtc-reviews-hero{
    background: #000;
    border-radius: 14px;
    padding: 22px 16px 20px;
    margin-bottom: 18px;
  }
  .gtc-reviews-score{
    font-size: 42px;
    color: #fff;
    letter-spacing: -1.5px;
  }
  .gtc-reviews-stars{
    gap: 4px;
    margin-bottom: 8px;
  }
  .gtc-reviews-stars i{
    font-size: 18px;
    filter: drop-shadow(0 1px 3px rgba(244,183,64,0.4));
  }
  .gtc-reviews-count{
    font-size: 14px;
    color: rgba(255,255,255,0.7);
    font-weight: 500;
  }
  .gtc-review-item{
    padding: 18px 16px;
    border-radius: 12px;
  }
  .gtc-review-text{
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 10px;
  }
  .gtc-review-author strong{
    font-size: 13px;
  }
  .gtc-review-author span{
    font-size: 12px;
  }
  .gtc-reviews-trust{
    gap: 12px;
    padding-top: 16px;
  }
  .gtc-trust-badge{
    font-size: 12px;
  }
  .gtc-trust-badge i{
    font-size: 14px;
  }
}

.tab-pane{

    border: 1px solid rgba(17, 24, 39, 0.08);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.05);    

}


/* Compact price block */
.gtc-price-block{
  margin-bottom: 12px;
}

.gtc-price-amount{
  font-size: 44px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.6px;
  color: #111827;
}

.gtc-price-meta{
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.35;
  color: rgba(17,24,39,0.55);
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.gtc-price-sep{
  opacity: 0.5;
}

.gtc-demand{
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(249,115,22,0.22);
  background: rgba(249,115,22,0.08);
}

.gtc-demand-badge{
  font-size: 14px;
  line-height: 1;
}

.gtc-demand-text{
  font-size: 12.5px;
  line-height: 1.2;
  color: rgba(17,24,39,0.75);
}

.gtc-demand-text strong{
  color: rgba(17,24,39,0.92);
  font-weight: 750;
}

.gtc-demand-ico{
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #F97316;
  opacity: .9;
}

.gtc-demand-ico i{
  font-size: 16px;
  line-height: 1;
}

.gtc-demand-chip{
  display: inline-flex;
  align-items: center;
  margin-top: 12px;
  padding: 10px 10px;
  border-radius: 10px;              /* rectángulo suave, no “pill” */
  background: #F97316;              /* naranja base */
  color: #fff;
  line-height: 1.1;
}

.gtc-demand-chip__text{
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .2px;
  white-space: nowrap;              /* 1 línea sí o sí */
}

.gtc-demand-chip__text strong{
  font-weight: 800;
}

.gtc-demand-chip{
  display: inline-flex;
  align-items: center;
  margin-top: 12px;
  padding: 10px 10px;
  border-radius: 10px;              /* rectángulo suave, no “pill” */
  border: 1px solid #F97316;
  background: transparent;
  color: #F97316;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.2;
}

/* =========================================
   HERO MOSAICO – MÁS BAJO (para que asome "Incluye")
   ========================================= */

/* Altura objetivo del mosaico (ajusta fino si quieres) */

.gtc-photo-mosaic{
  --gap: 18px;
  --mosaic-h: clamp(300px, 42vh, 480px); /* ⬅️ antes era 34vh */ /* ⬆ +5% */
  height: var(--mosaic-h);
  gap: var(--gap);
  align-content: stretch;

  grid-template-columns: calc(66.666% - 6px) calc(33.333% - 12px);
  grid-auto-rows: calc((var(--mosaic-h) - var(--gap)) / 2);
}

/* Quitamos el cuadrado: ahora manda la altura del grid */
.gtc-photo{
  aspect-ratio: auto !important;
  height: 100%;
}

/* La grande ocupa 2 filas (ya lo tienes, lo reafirmamos) */
.gtc-photo--big{
  grid-row: span 2;
}

/* ================================
   LIGHTBOX — galería móvil premium
   ================================ */
.gtc-lightbox{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
}

.gtc-lightbox--open{
  display: flex;
  align-items: center;
  justify-content: center;
}

.gtc-lightbox-overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.gtc-lightbox-content{
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 100%;
  padding: 20px;
}

.gtc-lightbox-close{
  position: fixed;
  top: 16px;
  right: 20px;
  background: none;
  border: 1px solid rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.7);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  z-index: 2;
  transition: all .2s ease;
}

.gtc-lightbox-close:active{
  background: rgba(255,255,255,0.1);
  color: #fff;
  border-color: rgba(255,255,255,0.3);
}

.gtc-lightbox-img{
  max-width: 100%;
  max-height: 65vh;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.4);
}

.gtc-lightbox-caption{
  margin-top: 16px;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  letter-spacing: -0.3px;
  line-height: 1.3;
}

.gtc-lightbox-nav{
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 20px;
}

.gtc-lightbox-prev,
.gtc-lightbox-next{
  background: none;
  border: 1px solid rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.7);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transition: all .2s ease;
}

.gtc-lightbox-prev:active,
.gtc-lightbox-next:active{
  background: rgba(255,255,255,0.1);
  color: #fff;
  border-color: rgba(255,255,255,0.3);
}

.gtc-lightbox-counter{
  color: rgba(255,255,255,0.4);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1px;
}

/* Pantallas medianas: bajamos un poco más para garantizar “Incluye” */
@media (max-width: 1199px){
  .gtc-photo-mosaic{
    --mosaic-h: clamp(260px, 38vh, 420px); /* antes 36vh */
    height: var(--mosaic-h);
    grid-auto-rows: calc((var(--mosaic-h) - var(--gap)) / 2);
  }
}

/* Mobile: normalmente ya apilas el mosaico, lo hacemos más panorámico */
@media (max-width: 767px){
  .gtc-photo-mosaic{
    height: clamp(200px, 26vh, 280px);
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }

  .gtc-photo{
    height: auto;
    aspect-ratio: 16 / 9; /* ✅ se ve premium y no ocupa tanto */
  }

  .gtc-photo--big{
    grid-row: auto;
  }
}



/* =========================
   CHECKOUT FORM 2026
========================= */



.gtc-form-intro{
    font-size: 18px;
    line-height: 1.5;
    color: #6d737c;
    font-weight: 500;
    margin-bottom: 34px;
}

.gtc-checkout-form{
    width: 100%;
}

.gtc-form-row{
    margin-left: -12px;
    margin-right: -12px;
    margin-bottom: 6px;
}

.gtc-form-col{
    padding-left: 12px;
    padding-right: 12px;
    margin-bottom: 26px;
    text-align: left;
}

.gtc-label{
    display: block;
    margin: 0 0 12px 0;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 600;
    color: #1f2328;
    letter-spacing: -0.01em;
    text-align: left;
}

.gtc-label span{
    color: #8b9198;
    font-weight: 500;
}

.gtc-input{
    width: 100%;
    height: 56px;
    padding: 0 20px;
    border: 1px solid #dfe3e8;
    border-radius: 14px;
    background: #f9fafb;
    font-size: 14px;
    line-height: 1.2;
    color: #1f2328;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.02);
    transition: all .22s ease;
    text-align: left;
}

.gtc-input::placeholder{
    color: rgba(17,24,39,0.35);
}


.gtc-input:hover{
    border-color: #cfd5dc;
    background: #fff;
}

.gtc-input:focus{
    outline: none;
    border-color: var(--base-color);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(199, 141, 63, 0.10);
}

.gtc-select{
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    padding-right: 56px;
}

.gtc-select:invalid{
    color: rgba(17,24,39,0.35);
}

.gtc-select option{
    color: #1f2328;
    padding: 10px;
    font-size: 14px;
    background-image:
        linear-gradient(45deg, transparent 50%, #6f7680 50%),
        linear-gradient(135deg, #6f7680 50%, transparent 50%);
    background-position:
        calc(100% - 24px) calc(50% - 3px),
        calc(100% - 18px) calc(50% - 3px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.gtc-textarea{
    min-height: 150px;
    height: 150px;
    padding: 20px 22px;
    resize: vertical;
    line-height: 1.65;
    font-size: 15px;
}






.gtc-legal-box{
    margin-top: 8px;
}

.gtc-checkbox-wrap{
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 0;
    cursor: pointer;
    text-align: left;
}

.gtc-checkbox-wrap input[type="checkbox"]{
    width: 20px;
    height: 20px;
    margin-top: 2px;
    flex: 0 0 20px;
    accent-color: var(--base-color);
    cursor: pointer;
}

.gtc-checkbox-text{
    font-size: 15px;
    line-height: 1.6;    
}

.gtc-checkbox-text a{
    color: var(--base-color);
    font-weight: 600;
    text-decoration: none;
}

.gtc-checkbox-text a:hover{
    text-decoration: underline;
}



/* Responsive */
@media (max-width: 1399px){
    .col-main h3{
        font-size: 58px;
    }
}

@media (max-width: 1199px){
    .col-main{
        padding-right: 15px;
    }

    .col-main h3{
        font-size: 50px;
    }

    .gtc-input{
        height: 62px;
        font-size: 17px;
    }
}

@media (max-width: 991px){
    .col-main h3{
        font-size: 42px;
        line-height: 1.02;
    }

    .gtc-form-intro{
        font-size: 17px;
        margin-bottom: 26px;
    }

    .gtc-label{
        font-size: 16px;
    }

    .gtc-input{
        height: 58px;
        border-radius: 15px;
        font-size: 16px;
        padding: 0 18px;
    }

    .gtc-textarea{
        min-height: 130px;
        padding: 18px;
    }

    .gtc-legal-box{
        padding: 18px;
        border-radius: 15px;
    }

    .gtc-checkbox-text{
        font-size: 15px;
    }
}



/* =========================================================
   TICKET MEZQUITA - RESPONSIVE (mobile/tablet)
   Scoped only to this page via body.ticket-mezquita-page
   ========================================================= */

@media (max-width: 1199px){
  .ticket-mezquita-page .custom-75-45{
    gap: 26px;
  }

  .ticket-mezquita-page .custom-75-45 .col-main,
  .ticket-mezquita-page .custom-75-45 .col-sidebar{
    flex: 0 0 100%;
    max-width: 100%;
  }

  .ticket-mezquita-page .custom-75-45 .col-main{
    padding-left: 15px;
    padding-right: 15px;
  }

  .ticket-mezquita-page .gtc-sidebar-sticky,
  .ticket-mezquita-page .custom-75-45 .col-sidebar,
  .ticket-mezquita-page .custom-75-45 .col-sidebar .gtc-sidebar-sticky{
    position: static;
    top: auto;
  }

  .ticket-mezquita-page .gtc-value-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 16px;
  }
}

@media (max-width: 991px){
  .ticket-mezquita-page #down-section{
    padding-top: 76px !important;
    padding-bottom: 0;
  }

  .ticket-mezquita-page .container{
    padding-left: 16px;
    padding-right: 16px;
  }

  .ticket-mezquita-page .col-main h3,
  .ticket-mezquita-page .primary-font.text-dark-gray.fw-700{
    font-size: 44px;
    line-height: 1.08;
    letter-spacing: -0.02em;
  }

  .ticket-mezquita-page .tab-style-03 .nav-tabs{
    display: none !important;
  }

  .ticket-mezquita-page .tab-style-03 .tab-content{
    border: 0;
    box-shadow: none;
  }

  .ticket-mezquita-page .gtc-mobile-tab-btn{
    width: 100%;
    border: 0;
    border-top: 1px solid rgba(17,24,39,0.14);
    border-bottom: 1px solid rgba(17,24,39,0.14);
    padding: 16px 2px;
    background: #fff;
    color: #1f2937;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.25;
    text-align: left;
  }

  .ticket-mezquita-page .gtc-mobile-tab-btn i{
    flex-shrink: 0;
  }

  .ticket-mezquita-page .tab-style-03 .tab-pane{
    border: 0;
    box-shadow: none;
    padding: 18px 0 26px 0 !important;
  }

  .ticket-mezquita-page .tab-style-03 .tab-pane.gtc-mobile-pane-collapsed{
    display: none !important;
  }

  .ticket-mezquita-page .tab-style-03 .tab-pane h6{
    font-size: 20px;
    line-height: 1.28;
    margin-top: 10px;
    margin-bottom: 14px;
  }

  .ticket-mezquita-page .tab-style-03 .tab-pane .experiencia p,
  .ticket-mezquita-page .tab-style-03 .tab-pane .experiencia li{
    font-size: 15px;
    line-height: 1.55;
  }

  .ticket-mezquita-page .gtc-photo-mosaic{
    display: flex;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-y pinch-zoom;
    scrollbar-width: none;
    height: auto;
    grid-template-columns: none;
    grid-auto-rows: auto;
    margin-left: 0;
    margin-right: 0;
    padding-bottom: 4px;
  }

  .ticket-mezquita-page .gtc-photo-mosaic::-webkit-scrollbar{
    display: none;
  }

  .ticket-mezquita-page .gtc-photo,
  .ticket-mezquita-page .gtc-photo--big{
    flex: 0 0 86%;
    width: 86%;
    min-width: 86%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    border-radius: 14px;
    height: auto;
    aspect-ratio: 4 / 3 !important;
    grid-row: auto;
    user-select: none;
    -webkit-user-drag: none;
  }

  .ticket-mezquita-page .gtc-photos-cta{
    padding: 8px 10px;
    font-size: 12px;
  }

  .ticket-mezquita-page .gtc-value-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px 16px;
  }

  .ticket-mezquita-page .gtc-value-item{
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0;
  }

  .ticket-mezquita-page .gtc-value-item > div:last-child{
    min-width: 0;
  }

  .ticket-mezquita-page .gtc-value-icon-box{
    width: 36px !important;
    height: 36px !important;
    background: rgba(249,115,22,0.08) !important;
    border: none !important;
    border-radius: 10px !important;
    margin-bottom: 8px;
  }

  .ticket-mezquita-page .gtc-value-icon-box i{
    font-size: 16px !important;
    line-height: 1 !important;
  }

  .ticket-mezquita-page .gtc-value-item strong{
    font-size: 16px !important;
    font-weight: 700;
    line-height: 1.25;
    margin-top: 0;
    margin-bottom: 2px;
    white-space: normal;
  }

  .ticket-mezquita-page .gtc-value-item span{
    font-size: 13px;
    line-height: 1.3;
    margin-top: 0;
    white-space: normal;
    color: rgba(17,24,39,0.5);
  }

  .ticket-mezquita-page .gtc-meeting-card{
    padding: 16px;
    border-radius: 14px;
  }

  .ticket-mezquita-page .gtc-meeting-map{
    margin-left: -16px;
    margin-right: -16px;
    margin-bottom: 20px;
  }

  .ticket-mezquita-page .gtc-meeting-map iframe{
    height: 260px;
    margin-bottom: 15px;
    width: 100% !important;
  }
}

@media (max-width: 767px){
  .ticket-mezquita-page .col-main h3,
  .ticket-mezquita-page .primary-font.text-dark-gray.fw-700{
    font-size: 29px;
    line-height: 1.12;
  }

  .ticket-mezquita-page .fs-18{
    font-size: 16px !important;
    line-height: 1.4;
  }

  .ticket-mezquita-page .gtc-photo,
  .ticket-mezquita-page .gtc-photo--big{
    flex-basis: 90%;
    width: 90%;
    min-width: 90%;
  }

  .ticket-mezquita-page .gtc-value-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px 16px;
  }

  .ticket-mezquita-page .gtc-mobile-tab-btn{
    font-size: 15px;
    padding: 14px 0 14px 0;
    padding-right: 14px;
  }

  
  .ticket-mezquita-page .tab-style-03 .tab-pane h6{
    font-size: 17px;
    line-height: 1.3;
    margin-bottom: 12px;
  }

  .ticket-mezquita-page .tab-style-03 .tab-pane .experiencia p,
  .ticket-mezquita-page .tab-style-03 .tab-pane .experiencia li{
    font-size: 14px;
    line-height: 1.5;
  }

.ticket-mezquita-page .gtc-bullets li{
    margin-bottom: 8px;
    padding-left: 20px;
  }
}

.ticket-mezquita-page .gtc-mobile-xxs-only{
  display: none;
}

.ticket-mezquita-page .gtc-mobile-xxs-hide{
  display: block;
}

@media (max-width: 420px){
  .ticket-mezquita-page .gtc-value-grid{
    gap: 20px 12px;
  }

  .ticket-mezquita-page .gtc-value-item strong{
    font-size: 15px;
  }

  .ticket-mezquita-page .gtc-value-item span{
    font-size: 12px;
  }

  .ticket-mezquita-page .gtc-value-icon-box i{
    font-size: 16px !important;
  }
}

@media (max-width: 360px){
  .ticket-mezquita-page .gtc-value-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 8px;
  }

  .ticket-mezquita-page .gtc-value-item strong{
    font-size: 13px;
  }

  .ticket-mezquita-page .gtc-value-item span{
    font-size: 11px;
  }

  .ticket-mezquita-page .gtc-value-icon-box{
    width: 28px !important;
    height: 28px !important;
    border-radius: 10px !important;
  }

  .ticket-mezquita-page .gtc-value-icon-box i{
    font-size: 13px;
  }

  .ticket-mezquita-page .gtc-mobile-xxs-hide{
    display: none !important;
  }

  .ticket-mezquita-page .gtc-mobile-xxs-only{
    display: block !important;
  }
}

@media (max-width: 767px){
  .ticket-mezquita-page .row.justify-content-center.mb-2 > .col-lg-8.col-md-8.text-center,
  .ticket-mezquita-page .row.justify-content-center.mb-2.pt-50px > .col-lg-8.col-md-8.text-center{
    text-align: left !important;
  }
}

@media (max-width: 767px){
  .ticket-mezquita-page .row.justify-content-center.mb-2,
  .ticket-mezquita-page .row.justify-content-center.mb-2.pt-50px{
    justify-content: flex-start !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .ticket-mezquita-page .row.justify-content-center.mb-2 > .col-lg-8.col-md-8.text-center,
  .ticket-mezquita-page .row.justify-content-center.mb-2.pt-50px > .col-lg-8.col-md-8.text-center{
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: left !important;
  }
}

@media (max-width: 767px){
  /* Quita sangrado del contenedor interno de la sección de tabs/títulos */
  .ticket-mezquita-page .col-main > section.pt-0.pb-0 > .container{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .ticket-mezquita-page .col-main > section.pt-0.pb-0 > .container > .row{
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* =========================================================
   TICKET MEZQUITA - GUTTERS SIMETRICOS RESPONSIVE (CANONICO)
   ========================================================= */

@media (max-width: 991px){
  .ticket-mezquita-page{
    --gtc-gutter: 16px;
  }

  .ticket-mezquita-page .container,
  .ticket-mezquita-page .container-fluid{
    padding-left: var(--gtc-gutter) !important;
    padding-right: var(--gtc-gutter) !important;
  }

  .ticket-mezquita-page .col-main > section.pt-0.pb-0 > .container{
    padding-left: var(--gtc-gutter) !important;
    padding-right: var(--gtc-gutter) !important;
  }

  .ticket-mezquita-page .row.justify-content-center.mb-2,
  .ticket-mezquita-page .row.justify-content-center.mb-2.pt-50px{
    justify-content: flex-start !important;
  }

  .ticket-mezquita-page .row.justify-content-center.mb-2 > .col-lg-8.col-md-8.text-center,
  .ticket-mezquita-page .row.justify-content-center.mb-2.pt-50px > .col-lg-8.col-md-8.text-center{
    flex: 0 0 100% !important;
    max-width: 100% !important;
    text-align: left !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .ticket-mezquita-page .tab-style-03 .tab-content,
  .ticket-mezquita-page .tab-style-03 .tab-pane,
  .ticket-mezquita-page .tab-style-03 .gtc-mobile-tab-btn{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .ticket-mezquita-page .col-main > section.pt-0.pb-0 > .container > .row{
    margin-left: calc(var(--bs-gutter-x, 1.5rem) * -0.5) !important;
    margin-right: calc(var(--bs-gutter-x, 1.5rem) * -0.5) !important;
  }
}

@media (max-width: 575px){
  .ticket-mezquita-page{
    --gtc-gutter: 14px;
  }
}

@media (max-width: 991px){
  /* Fuerza simetría lateral real en el bloque de títulos + acordeones */
  .ticket-mezquita-page .col-main > section.pt-0.pb-0 > .container > .row{
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* =========================================================
   TICKET MEZQUITA - CANON GUTTER BOOTSTRAP MOBILE (15px)
   ========================================================= */
@media (max-width: 991px){
  .ticket-mezquita-page,
  .ticket-mezquita-page .container,
  .ticket-mezquita-page .container-fluid,
  .ticket-mezquita-page .row{
    --bs-gutter-x: 30px !important; /* 15px por lado */
  }

  .ticket-mezquita-page{
    --gtc-gutter: 15px !important;
  }

  .ticket-mezquita-page .row.justify-content-center.mb-2 > .col-lg-8.col-md-8.text-center,
  .ticket-mezquita-page .row.justify-content-center.mb-2.pt-50px > .col-lg-8.col-md-8.text-center{
    padding-left: calc(var(--bs-gutter-x) * .5) !important;
    padding-right: calc(var(--bs-gutter-x) * .5) !important;
  }
  .ticket-mezquita-page .gtc-reviews-section .row.justify-content-center.mb-2 > .col-lg-8.col-md-8.text-center,
  .ticket-mezquita-page .gtc-reviews-section .row.justify-content-center.mb-2.pt-50px > .col-lg-8.col-md-8.text-center{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media (max-width: 575px){
  .ticket-mezquita-page{
    --gtc-gutter: 15px !important;
  }
}




@media (max-width: 767px){
  .ticket-mezquita-page .gtc-mobile-align-intro > .container{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .ticket-mezquita-page .gtc-mobile-align-intro > .container > .row{
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .ticket-mezquita-page .gtc-mobile-align-intro .row.justify-content-center.mb-2 > .col-lg-8.col-md-8.text-center{
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: left !important;
  }
}

@media (min-width: 992px){
  .ticket-mezquita-page .col-sidebar .gtc-price-block{
    margin-bottom: -6px;
  }

  .ticket-mezquita-page .col-sidebar .gtc-sidebar-sticky #gtc-step-calendar,
  .ticket-mezquita-page .col-sidebar .gtc-sidebar-sticky #gtc-step-calendar.pt-2{
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .ticket-mezquita-page .col-sidebar .gtc-sidebar-sticky #gtc-accordion.panel-group{
    margin-top: 0;
  }
}



/* ================================================
   MOBILE CONVERSION BOOST — 2026
   ================================================ */

/* --- Urgency badge (solo móvil) --- */
.gtc-urgency-badge{
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 10px;
  background: rgba(249,115,22,0.08);
  border: none;
  margin-bottom: 20px;
  font-size: 13px;
  line-height: 1.35;
  color: #92400e;
}

.gtc-urgency-badge i{
  color: #f97316;
  font-size: 16px;
  flex-shrink: 0;
}

/* --- Value grid móvil: sin cambios, mantener original --- */

/* --- Accordion buttons: premium con iconos --- */
@media (max-width: 991px){
  .ticket-mezquita-page .gtc-mobile-tab-btn{
    border: none;
    border-bottom: 1px solid rgba(17,24,39,0.07);
    padding: 16px 0;
    font-size: 16px;
    font-weight: 700;
    color: #111827;
    transition: all .2s ease;
  }

  .ticket-mezquita-page .gtc-mobile-tab-btn:first-of-type{
    border-top: 1px solid rgba(17,24,39,0.07);
  }

  .ticket-mezquita-page .gtc-mobile-tab-btn .gtc-tab-btn-left{
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .ticket-mezquita-page .gtc-mobile-tab-btn .gtc-tab-btn-icon{
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(249,115,22,0.08);
    color: #f97316;
    font-size: 16px;
    flex-shrink: 0;
    transition: all .2s ease;
  }

  .ticket-mezquita-page .gtc-mobile-tab-btn[aria-expanded="true"] .gtc-tab-btn-icon{
    background: #f97316;
    color: #fff;
  }

  .ticket-mezquita-page .gtc-tab-btn-toggle{
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1px solid rgba(17,24,39,0.18);
    position: relative;
    flex-shrink: 0;
    transition: border-color .3s ease;
  }

  .ticket-mezquita-page .gtc-toggle-line{
    position: absolute;
    background: rgba(17,24,39,0.3);
    transition: all .3s ease;
  }

  .ticket-mezquita-page .gtc-toggle-h{
    width: 11px;
    height: 1px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .ticket-mezquita-page .gtc-toggle-v{
    width: 1px;
    height: 11px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .ticket-mezquita-page .gtc-mobile-tab-btn[aria-expanded="true"] .gtc-tab-btn-toggle{
    border-color: rgba(249,115,22,0.4);
  }

  .ticket-mezquita-page .gtc-mobile-tab-btn[aria-expanded="true"] .gtc-toggle-line{
    background: #f97316;
  }

  .ticket-mezquita-page .gtc-mobile-tab-btn[aria-expanded="true"] .gtc-toggle-v{
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0;
  }
}

/* --- Review items móvil: más impacto --- */
@media (max-width: 575px){
  .gtc-review-item{
    background: #f9fafb !important;
    border: 1px solid rgba(17,24,39,0.06);
    position: relative;
  }

  .gtc-review-item::before{
    content: "\201C";
    position: absolute;
    top: 12px;
    right: 16px;
    font-size: 36px;
    line-height: 1;
    color: rgba(249,115,22,0.12);
    font-family: Georgia, serif;
    font-weight: 700;
  }

  .gtc-review-text{
    font-style: normal !important;
    font-weight: 500;
  }

  /* Trust badges móvil: mantener original */
}

/* ================================================
   MOBILE SPACING SYSTEM — ritmo vertical unificado
   ================================================ */
@media (max-width: 767px){

  /* Label hero */
  .ticket-mezquita-page .col-main > span.text-base-color{
    margin-bottom: 10px !important;
  }

  /* Título hero */
  .ticket-mezquita-page .col-main > h3{
    margin-bottom: 12px !important;
  }

  /* Subtítulo hero */
  .ticket-mezquita-page .col-main > .fs-18{
    font-weight: 500;
    color: #374151;
    margin-bottom: 20px !important;
  }

  /* Todos los h4 en móvil a 29px */
  .ticket-mezquita-page h4{
    font-size: 29px !important;
    line-height: 1.12 !important;
    letter-spacing: -0.5px;
  }

  /* Título principal h3 */
  .ticket-mezquita-page .col-main > h3{
    margin-bottom: 10px !important;
  }

  /* Urgency badge */
  .gtc-urgency-badge{
    margin-bottom: 14px;
  }

  /* Sección "Todo incluido" header */
  .ticket-mezquita-page .gtc-mobile-align-intro h4{
    margin-bottom: 20px !important;
  }

  .ticket-mezquita-page .gtc-mobile-align-intro .row.justify-content-center.mb-2{
    margin-bottom: 0 !important;
  }

  /* Accordion: breathing uniforme */
  .ticket-mezquita-page .gtc-mobile-tab-btn{
    padding: 16px 0 !important;
  }

  .ticket-mezquita-page .tab-style-03 .tab-pane{
    padding: 16px 0 24px 0 !important;
  }

  .ticket-mezquita-page .tab-style-03 .tab-pane.gtc-mobile-pane-open{
    border-bottom: 1px solid rgba(17,24,39,0.1);
    margin-bottom: 0;
  }

  /* Reviews section: separación con accordion */
  .gtc-reviews-section .row.pt-50px{
    padding-top: 32px !important;
  }

  .gtc-reviews-section h4{
    margin-bottom: 20px !important;
  }

  /* Reviews card spacing */
  .gtc-reviews-hero{
    margin-bottom: 16px;
  }

  .gtc-reviews-grid{
    gap: 14px !important;
    margin-bottom: 20px !important;
  }

  /* Footer spacing */
  .ticket-mezquita-page .footer-demo{
    margin-top: 0;
    margin-bottom: 0 !important;
    padding-bottom: 120px !important;
  }

  .ticket-mezquita-page .footer-demo ul li a{
    font-size: 13px !important;
  }

/* Header language selector */
.gtc-lang-selector{
  position: relative;
  margin-right: 16px;
  display: flex;
  align-items: center;
  height: 100%;
}

@media (max-width: 767px){
  .gtc-lang-selector{
    margin-right: -13px;
    align-self: flex-end;
    margin-bottom: -14px;
  }
}

.gtc-lang-selector .gtc-lang-btn{
  background: none !important;
  border: none !important;
  color: rgba(255,255,255,0.6) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em;
  padding: 4px 0 !important;
  cursor: pointer;
  display: flex !important;
  align-items: center;
  gap: 3px;
  transition: color .2s ease;
}

.gtc-lang-selector .gtc-lang-btn:hover{
  color: #fff !important;
}

.gtc-lang-selector .gtc-lang-btn i{
  font-size: 8px !important;
  transition: transform .2s ease;
}

.gtc-lang-selector .gtc-lang-dropdown:not(.open){
  display: none !important;
}

.gtc-lang-selector .gtc-lang-dropdown{
  position: absolute;
  top: calc(100% + 8px);
  right: -8px;
  background: #111;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  overflow: hidden;
  z-index: 9999;
  white-space: nowrap;
  flex-direction: column;
}

.gtc-lang-selector .gtc-lang-dropdown.open{
  display: flex !important;
}

.gtc-lang-selector .gtc-lang-option + .gtc-lang-option{
  border-top: 1px solid rgba(255,255,255,0.1);
}

.gtc-lang-selector .gtc-lang-option{
  display: block !important;
  padding: 8px 14px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.5) !important;
  text-decoration: none !important;
  text-align: center;
  transition: color .15s ease;
}

.gtc-lang-selector .gtc-lang-option:hover{
  color: #fff !important;
  background: rgba(255,255,255,0.06);
}

/* Header nav centrado — solo desktop xl */
.gtc-header-nav{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 36px;
}

.gtc-header-nav a{
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.7) !important;
  text-decoration: none !important;
  transition: color .2s ease;
  white-space: nowrap;
}

.gtc-header-nav a:hover{
  color: #fff !important;
}

/* Header CTA button — estilos movidos al bloque @media 992px de abajo */

/* ================================
   RESUMEN COMPRA — mobile reorder
   ================================ */
@media (max-width: 991px){
  .gtc-checkout-layout{
    display: flex;
    flex-direction: column;
  }

  .gtc-checkout-summary-col{
    order: -1;
    margin-bottom: 24px;
  }

  .gtc-checkout-form-col{
    order: 1;
  }

  /* Ocultar botón y total del sidebar en móvil */
  .gtc-checkout-summary-col #gtc-boton,
  .gtc-checkout-summary-col #gtc-order-bar-anchor{
    display: none !important;
  }

  /* Form header móvil */
  .gtc-form-header{
    margin-bottom: 20px;
  }

  /* Inputs premium móvil */
  .gtc-checkout-form .gtc-input{
    height: 52px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    border: 1px solid rgba(17,24,39,0.1) !important;
    background: #f9fafb !important;
    padding: 0 16px !important;
    color: #111827 !important;
  }

  .gtc-checkout-form .gtc-select{
    color: rgba(17,24,39,0.4) !important;
  }

  .gtc-checkout-form .gtc-input::placeholder{
    color: rgba(17,24,39,0.35) !important;
  }

  .gtc-checkout-form .gtc-input:focus{
    background: #fff !important;
    border-color: #f97316 !important;
    box-shadow: 0 0 0 3px rgba(249,115,22,0.08) !important;
  }

  .gtc-checkout-form .gtc-textarea{
    min-height: 100px !important;
    height: 100px !important;
    padding: 14px 16px !important;
    border-radius: 12px !important;
  }

  .gtc-checkout-form .gtc-label{
    font-size: 13px !important;
    margin-bottom: 8px !important;
    font-weight: 600;
    color: #111827;
  }

  .gtc-checkout-form .gtc-form-col{
    margin-bottom: 16px !important;
  }

  /* Legal box móvil */
  .gtc-checkout-form .gtc-legal-box{
    margin-top: 0;
    margin-bottom: 0;
  }

  .gtc-checkout-form .gtc-checkbox-text{
    font-size: 13px !important;
    line-height: 1.45;
  }

  /* Botón pagar móvil */
  .gtc-mobile-pay-btn{
    width: 100%;
    border: none !important;
    border-radius: 12px !important;
    margin-top: 20px;
    padding: 16px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    background: #f97316 !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(249,115,22,0.35);
    transition: all .2s ease;
  }

  .gtc-mobile-pay-btn:active{
    transform: scale(0.98);
    box-shadow: 0 2px 8px rgba(249,115,22,0.25);
  }

  .gtc-mobile-pay-trust{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 14px;
    font-size: 12px;
    font-weight: 600;
    color: rgba(17,24,39,0.4);
  }

  .gtc-mobile-pay-trust i{
    color: #4ade80;
    font-size: 12px;
    margin-right: 2px;
  }

  .gtc-pay-trust-sep{
    color: rgba(17,24,39,0.2);
  }
}

/* ================================
   SUMMARY CARD — resumen compra
   ================================ */

/* Summary card — solo móvil */
.gtc-summary-card{
  background: #fff;
  border: 1px solid rgba(17,24,39,0.08);
  border-radius: 14px;
  padding: 20px 16px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
}

.gtc-summary-details{
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 20px;
}

.gtc-summary-row{
  display: flex;
  align-items: center;
  gap: 12px;
}

.gtc-summary-icon{
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(249,115,22,0.08);
  flex-shrink: 0;
}

.gtc-summary-icon i{
  font-size: 16px;
  color: #f97316;
}

.gtc-summary-row div strong{
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #111827;
}

.gtc-summary-pricing{
  border-top: 1px solid rgba(17,24,39,0.06);
  padding-top: 16px;
  margin-bottom: 12px;
}

.gtc-summary-price-row{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  font-size: 14px;
  color: rgba(17,24,39,0.7);
}

.gtc-summary-price-row strong{
  color: #111827;
  font-weight: 600;
}

.gtc-summary-total{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 0;
  border-top: 1px solid rgba(17,24,39,0.08);
  font-size: 16px;
  font-weight: 600;
  color: #111827;
}

.gtc-summary-total strong{
  font-size: 22px;
  font-weight: 800;
  color: #000;
}

.gtc-summary-includes-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid rgba(17,24,39,0.06);
}

.gtc-summary-include-item{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(17,24,39,0.6);
}

.gtc-summary-include-icon{
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #f3f4f6;
  flex-shrink: 0;
}

.gtc-summary-include-icon i{
  font-size: 13px;
  color: #4ade80;
}

/* Header logo */
@media (max-width: 767px){
  img.gtc-header-logo{
    height: 30px !important;
    max-width: none !important;
  }
}

  /* Header top bar visible en móvil */
  .ticket-mezquita-page header .header-top-bar{
    display: block !important;
    height: auto !important;
  }

  /* Footer título h3 a 29px */
  .ticket-mezquita-page .footer-demo h3{
    font-size: 29px !important;
  }

  /* Footer compactar verticalmente */
  .ticket-mezquita-page .footer-demo .row.mb-6{
    margin-bottom: 16px !important;
  }

  .ticket-mezquita-page .footer-demo ul{
    margin-bottom: 0;
  }

  .ticket-mezquita-page .footer-demo ul li{
    margin-bottom: 0;
    line-height: 28px;
  }

  .ticket-mezquita-page .footer-demo .col-6{
    margin-bottom: 0 !important;
  }

  .ticket-mezquita-page .footer-demo .divider-style-03{
    margin-top: 28px !important;
    margin-bottom: 12px !important;
    padding-bottom: 0 !important;
  }

  /* Pago seguro móvil — destacado */
  .gtc-secure-pay{
    margin-top: 16px;
    padding: 16px;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 12px;
    background: rgba(255,255,255,0.04);
  }

  .gtc-secure-pay__label{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 12px;
  }

  .gtc-secure-pay__label i{
    font-size: 18px;
    color: #4ade80;
  }

  .gtc-secure-pay__cards{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }

  .gtc-pay-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 11px;
    color: rgba(255,255,255,0.55);
    font-weight: 500;
    padding: 6px 0;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 6px;
    background: rgba(255,255,255,0.03);
  }

  .gtc-pay-icon i{
    font-size: 14px;
  }

  /* Espaciado reseñas → imágenes → footer */
  .gtc-visual-grid{
    margin-top: -84px;
  }

  .ticket-mezquita-page .gtc-reviews-section{
    margin-bottom: 0 !important;
  }

  .ticket-mezquita-page .gtc-reviews-card{
    padding-bottom: 0 !important;
    border: none !important;
    box-shadow: none !important;
  }

  .ticket-mezquita-page .gtc-reviews-trust{
    margin-bottom: 0;
    padding-bottom: 16px;
  }

  /* Grid visual 4 fotos antes del footer */
  .gtc-visual-grid{
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .gtc-visual-grid__row{
    display: flex;
    gap: 0;
  }

  .gtc-visual-grid__row img{
    flex: 1;
    width: 50%;
    height: 140px;
    object-fit: cover;
    display: block;
  }
}


/* ================================================
   PRODUCT CARDS — index page
   ================================================ */
.gtc-product-card{
  display: block;
  text-decoration: none;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  transition: transform .25s ease, box-shadow .25s ease;
  position: relative;
}

.gtc-product-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(0,0,0,0.14);
}

.gtc-product-card__img{
  position: relative;
  overflow: hidden;
}

/* Card slider — solo activo en móvil via JS */
.gtc-card-slider{
  position: relative;
}

.gtc-card-slider__track{
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.gtc-card-slider__track::-webkit-scrollbar{
  display: none;
}

.gtc-card-slider__track img{
  flex: 0 0 100%;
  width: 100%;
  scroll-snap-align: start;
}

.gtc-card-slider__dots{
  position: absolute;
  bottom: 12px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 6px;
  z-index: 2;
}

.gtc-card-slider__dot{
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,0.45);
  transition: all .2s ease;
}

.gtc-card-slider__dot.active{
  background: #fff;
  width: 18px;
  border-radius: 3px;
}

/* Desktop: sin slider, solo primera imagen */
@media (min-width: 768px){
  .gtc-card-slider__dots{
    display: none;
  }
  .gtc-card-slider__track{
    overflow: hidden;
  }
}

.gtc-product-card__img img{
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}

.gtc-product-card:hover .gtc-product-card__img img{
  transform: none;
}

.gtc-product-card__badge{
  position: absolute;
  top: 16px;
  left: 16px;
  background: rgba(255,255,255,0.95);
  color: #f97316;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 20px;
  line-height: 1;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.gtc-product-card__badge--dark{
  background: rgba(0,0,0,0.7);
  color: #fff;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.gtc-product-card__price{
  position: absolute;
  top: 14px;
  right: 14px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
}

.gtc-product-card__price-label{
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.8);
  line-height: 1;
  margin-bottom: 2px;
}

.gtc-product-card__price-amount{
  font-size: 28px;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}


.gtc-product-card__body{
  padding: 18px 20px 20px;
}

.gtc-product-card__title{
  font-size: 22px;
  font-weight: 700;
  color: #111827;
  line-height: 1.25;
  margin: 0 0 6px;
}

.gtc-product-card__desc{
  font-size: 13px;
  line-height: 1.45;
  color: rgba(17,24,39,0.55);
  margin: 0 0 12px;
}

.gtc-product-card__meta{
  display: flex;
  gap: 14px;
  margin-bottom: 14px;
}

.gtc-product-card__meta span{
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  color: rgba(17,24,39,0.5);
}

.gtc-product-card__meta i{
  font-size: 12px;
}

.gtc-product-card__rating{
  display: flex !important;
  align-items: center;
  gap: 3px !important;
  font-weight: 700 !important;
  color: #111827 !important;
}

.gtc-product-card__rating i{
  color: #f4b740 !important;
  font-size: 11px !important;
}

.gtc-product-card__meta .gtc-check{
  color: #4ade80;
}


.gtc-product-card__cta{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 13px 0;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #fff;
  background: #f97316;
  border-radius: 10px;
  margin-top: 4px;
  box-shadow: 0 4px 14px rgba(249,115,22,0.3);
  transition: all .2s ease;
}

.gtc-product-card:hover .gtc-product-card__cta{
  background: #ea580c;
  box-shadow: 0 6px 18px rgba(249,115,22,0.4);
}

.gtc-product-card__cta i{
  font-size: 13px;
  transition: transform .2s ease;
}

.gtc-product-card:hover .gtc-product-card__cta i{
  transform: translateX(4px);
}

/* ================================
   TRUST LOGOS — index
   ================================ */
.gtc-trust-logos-section{
  padding: 50px 0 60px;
  background: #f9fafb;
}

.gtc-trust-logos__label{
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(17,24,39,0.35);
  margin-bottom: 32px;
}

.gtc-trust-logos{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
}

.gtc-trust-logos img{
  height: 100px;
  flex: 1;
  object-fit: contain;
  opacity: 0.4;
  filter: grayscale(100%);
  transition: all .3s ease;
  padding: 0 28px;
  border-right: 1px solid rgba(17,24,39,0.08);
}

.gtc-trust-logos img:last-child{
  border-right: none;
}

.gtc-trust-logos img:hover{
  opacity: 0.7;
  filter: grayscale(0%);
}

@media (max-width: 767px){
  .gtc-trust-logos-section{
    padding: 16px 16px 20px;
    margin-top: -80px;
  }

  .gtc-trust-logos{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px 0;
    justify-items: center;
  }

  .gtc-trust-logos{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 0;
    justify-items: center;
    padding: 0;
  }

  .gtc-trust-logos img{
    height: 80px;
    width: auto;
    max-width: 100%;
    padding: 0;
    border-right: none;
    object-fit: contain;
  }
}

@media (max-width: 767px){
  .gtc-product-card__img img{
    height: 280px;
  }

  .gtc-product-card__price-amount{
    font-size: 24px;
  }

  .gtc-product-card__title{
    font-size: 22px;
  }

  .gtc-product-card__desc{
    font-size: 14px;
    margin-bottom: 10px;
  }

  .gtc-product-card__meta{
    gap: 8px;
    margin-bottom: 10px;
    flex-wrap: wrap;
  }

  .gtc-product-card__meta span{
    font-size: 11px;
  }

  .gtc-product-card__cta{
    font-size: 13px;
    padding: 10px 0;
  }

  .gtc-product-card__body{
    padding: 14px 16px 16px;
  }
}

/* Index hero responsive */
@media (max-width: 575px){
  .ticket-mezquita-page .top-space-margin{
    height: 65vh !important;
    min-height: 360px !important;
    max-height: 500px !important;
  }

  /* Hero espaciado compacto móvil */
  .ticket-mezquita-page .top-space-margin div[style*="margin-bottom:28px"]{
    margin-bottom: 14px !important;
  }
  .ticket-mezquita-page .top-space-margin div[style*="margin-bottom:36px"]{
    margin-bottom: 16px !important;
  }
  .ticket-mezquita-page .top-space-margin div[style*="margin-bottom:24px"]{
    margin-bottom: 10px !important;
  }
  .ticket-mezquita-page .top-space-margin div[style*="margin-bottom:44px"]{
    margin-bottom: 18px !important;
  }

  .ticket-mezquita-page .top-space-margin .btn-extra-large{
    padding: 10px 24px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 420px){
  .gtc-product-card__meta{
    gap: 6px !important;
  }

  .gtc-product-card__rating i{
    font-size: 9px !important;
  }

  .gtc-product-card__img img{
    height: 220px !important;
  }
}

@media (max-width: 767px){
  .index-page.ticket-mezquita-page .footer-demo{
    margin-top: 0;
    margin-bottom: 0 !important;
    padding-bottom: 30px !important;
  }
}

@media (max-width: 360px){
  .gtc-product-card__img img{
    height: 200px !important;
  }

  .gtc-product-card__title{
    font-size: 16px !important;
  }

  .gtc-product-card__desc{
    font-size: 11px !important;
  }

  .gtc-trust-logos img{
    height: 90px !important;
  }
}

/* Header language selector (desktop only) */
@media (min-width: 768px){
  .gtc-lang-selector{
    position: relative;
    margin-right: 16px;
    display: flex;
    align-items: center;
    height: 100%;
  }

  .gtc-lang-selector .gtc-lang-btn{
    background: none !important;
    border: none !important;
    color: rgba(255,255,255,0.6) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em;
    padding: 4px 0 !important;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    gap: 3px;
    transition: color .2s ease;
  }

  .gtc-lang-selector .gtc-lang-btn:hover{
    color: #fff !important;
  }

  .gtc-lang-selector .gtc-lang-btn i{
    font-size: 8px !important;
    transition: transform .2s ease;
  }

  .gtc-lang-selector .gtc-lang-dropdown:not(.open){
    display: none !important;
  }

  .gtc-lang-selector .gtc-lang-dropdown{
    position: absolute;
    top: calc(100% + 8px);
    right: -8px;
    background: #111;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 8px;
    overflow: hidden;
    z-index: 9999;
    white-space: nowrap;
    flex-direction: column;
  }

  .gtc-lang-selector .gtc-lang-dropdown.open{
    display: flex !important;
  }

  .gtc-lang-selector .gtc-lang-option + .gtc-lang-option{
    border-top: 1px solid rgba(255,255,255,0.1);
  }

  .gtc-lang-selector .gtc-lang-option{
    display: block !important;
    padding: 8px 14px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em;
    color: rgba(255,255,255,0.5) !important;
    text-decoration: none !important;
    text-align: center;
    transition: color .15s ease;
  }

  .gtc-lang-selector .gtc-lang-option:hover{
    color: #fff !important;
    background: rgba(255,255,255,0.06);
  }
}

/* Header CTA "Reservar ahora" - desktop only, index only */
@media (min-width: 992px){
  .index-page header a.gtc-header-cta,
  .index-page .header-top-bar a.gtc-header-cta,
  .index-page a.gtc-header-cta{
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px 14px !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.11em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    color: #fff !important;
    background: #f97316 !important;
    border: none !important;
    border-radius: 6px !important;
    box-shadow: 0 3px 12px rgba(249,115,22,0.34), 0 0 0 1px rgba(255,255,255,0.06) inset !important;
    transition: background-color .25s ease, box-shadow .25s ease, transform .25s ease !important;
  }

  .index-page a.gtc-header-cta i{
    font-size: 10px !important;
    transition: transform .25s ease !important;
  }

  .index-page header a.gtc-header-cta:hover,
  .index-page .header-top-bar a.gtc-header-cta:hover,
  .index-page a.gtc-header-cta:hover{
    background: #ea580c !important;
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(249,115,22,0.48), 0 0 0 1px rgba(255,255,255,0.08) inset !important;
  }

  .index-page a.gtc-header-cta:hover i{
    transform: translateX(3px);
  }

  /* Keep CTA out of ticket pages */
  .ticket-mezquita-page:not(.index-page) a.gtc-header-cta{
    display: none !important;
  }
}
