/* Ensigna Tours V8.8 · Refresh visual integral
   Objetivo: más atractivo, compacto y vendedor sin sacrificar legibilidad. */
:root{
  --e88-primary:#3011bc;
  --e88-primary-2:#5836e8;
  --e88-blue:#238ce3;
  --e88-orange:#fe7a15;
  --e88-green:#159957;
  --e88-ink:#172033;
  --e88-text:#607080;
  --e88-line:#dce4ef;
  --e88-soft:#f7f9fd;
  --e88-card:#ffffff;
  --e88-shadow:0 18px 50px rgba(31,43,86,.10);
  --e88-shadow-soft:0 10px 28px rgba(31,43,86,.075);
  --e88-radius:22px;
}

/* -------------------------------------------------------------------------- */
/* Base pública                                                               */
/* -------------------------------------------------------------------------- */
body[data-ensigna-user-type="public"],
body[data-ensigna-user-type="client"]{
  background:
    radial-gradient(circle at 8% 5%,rgba(48,17,188,.055),transparent 26rem),
    radial-gradient(circle at 92% 24%,rgba(35,140,227,.05),transparent 24rem),
    #f8f9fc;
}
body[data-ensigna-user-type="public"]::before,
body[data-ensigna-user-type="client"]::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.38;
  background-image:
    linear-gradient(rgba(48,17,188,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(48,17,188,.018) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:linear-gradient(to bottom,#000,transparent 72%);
}

/* Inicio: navegación y secciones */
body[data-ensigna-user-type="public"] .navbar{
  background:rgba(255,255,255,.90)!important;
  border-bottom:1px solid rgba(48,17,188,.09);
  box-shadow:0 10px 34px rgba(20,28,65,.055);
  backdrop-filter:blur(16px) saturate(140%);
}
body[data-ensigna-user-type="public"] .btn-primary,
body[data-ensigna-user-type="public"] .btn-outline-primary:hover{
  border-color:var(--e88-primary)!important;
  background:linear-gradient(135deg,var(--e88-primary),var(--e88-primary-2))!important;
  box-shadow:0 10px 22px rgba(48,17,188,.20);
}
body[data-ensigna-user-type="public"] .ensigna-quote-section,
body[data-ensigna-user-type="public"] .ensigna-finder-section,
body[data-ensigna-user-type="public"] .ensigna-trips-section,
body[data-ensigna-user-type="public"] .galeria-preview-section{
  position:relative;
  isolation:isolate;
}
body[data-ensigna-user-type="public"] .ensigna-trips-section{
  background:
    radial-gradient(circle at 88% 16%,rgba(254,122,21,.08),transparent 20rem),
    radial-gradient(circle at 12% 84%,rgba(48,17,188,.07),transparent 24rem),
    linear-gradient(180deg,#fff 0%,#f7f8fc 100%);
}
body[data-ensigna-user-type="public"] #carouselTestimonials .card{
  overflow:hidden;
  border:1px solid rgba(48,17,188,.10)!important;
  border-radius:24px!important;
  background:#fff;
  box-shadow:var(--e88-shadow-soft)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
body[data-ensigna-user-type="public"] #carouselTestimonials .card:hover{
  transform:translateY(-5px);
  border-color:rgba(48,17,188,.24)!important;
  box-shadow:0 22px 50px rgba(31,43,86,.14)!important;
}
body[data-ensigna-user-type="public"] #carouselTestimonials .card>img{
  border-radius:23px 23px 0 0;
}
body[data-ensigna-user-type="public"] #carouselTestimonials .card-body{
  position:relative;
  padding:20px!important;
}
body[data-ensigna-user-type="public"] #carouselTestimonials .card-body::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(48,17,188,.025),transparent 52%);
}
body[data-ensigna-user-type="public"] #carouselTestimonials .card-body>a[href^="#modal"] .btn{
  min-height:48px;
  border-radius:14px;
  font-weight:900;
  letter-spacing:.01em;
}
body[data-ensigna-user-type="public"] .galeria-preview-item,
body[data-ensigna-user-type="public"] .galeria-card{
  border:1px solid rgba(255,255,255,.85);
  box-shadow:0 18px 42px rgba(31,43,86,.13);
}

/* -------------------------------------------------------------------------- */
/* V8.8 · Modal comercial compacto y continuo                                */
/* -------------------------------------------------------------------------- */
.modal-personalizado.ensigna-modal-open{
  background:rgba(8,13,33,.76)!important;
  backdrop-filter:blur(8px);
  padding:clamp(10px,2vw,22px)!important;
}
.modal-personalizado.ensigna-modal-open .modal-contenido{
  display:block!important;
  width:min(1040px,100%)!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto!important;
  padding:16px 18px 24px!important;
  overflow:visible!important;
  border:1px solid rgba(255,255,255,.72);
  border-radius:24px!important;
  background:
    radial-gradient(circle at 98% 0,rgba(48,17,188,.045),transparent 18rem),
    #fff;
  box-shadow:0 28px 90px rgba(2,8,30,.34);
}
.modal-personalizado .modal-header{
  min-height:0!important;
  margin:0!important;
  padding:2px 2px 12px!important;
  border-bottom:1px solid #e8edf5!important;
}
.modal-personalizado .modal-header h5{
  margin:0!important;
  color:var(--e88-ink);
  font-size:1.22rem;
  font-weight:950!important;
  letter-spacing:.01em;
}
.modal-personalizado .modal-header a{
  display:grid!important;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:#f2f4f8;
  color:#1b2434!important;
  transition:.15s ease;
}
.modal-personalizado .modal-header a:hover{background:#ece8ff;text-decoration:none;transform:rotate(5deg)}
.modal-personalizado .modal-body{
  display:block!important;
  position:relative!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:14px 0 0!important;
}
.modal-personalizado .modal-body::after{content:"";display:block;clear:both}
.modal-personalizado .modal-body>*{min-height:0}
.modal-personalizado .ensigna-sales-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr)!important;
  gap:14px!important;
  align-items:start!important;
  min-height:0!important;
  margin:0 0 12px!important;
  padding:0!important;
}
.modal-personalizado .ensigna-sales-media{
  position:relative;
  min-width:0!important;
  width:100%;
  height:360px!important;
  min-height:0!important;
  max-height:360px!important;
  overflow:hidden!important;
  border:1px solid #e3e8f1;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 50% 50%,rgba(48,17,188,.065),transparent 62%),
    linear-gradient(135deg,#f4f6fa,#eef2f7)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.75),0 12px 26px rgba(28,40,72,.07);
}
.modal-personalizado .ensigna-sales-media .carousel,
.modal-personalizado .ensigna-sales-media .carousel-inner,
.modal-personalizado .ensigna-sales-media .carousel-item{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
.modal-personalizado .ensigna-sales-media .carousel-item img,
.modal-personalizado .ensigna-dynamic-trip-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0 auto!important;
  padding:8px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
}
.modal-personalizado .ensigna-sales-media .carousel-indicators{
  position:absolute!important;
  left:50%;
  bottom:8px;
  transform:translateX(-50%);
  z-index:4;
  display:flex;
  justify-content:center;
  gap:5px;
  width:auto;
  margin:0!important;
  padding:5px 7px;
  border-radius:999px;
  background:rgba(17,24,39,.36);
  backdrop-filter:blur(8px);
}
.modal-personalizado .ensigna-sales-media .carousel-indicators [data-bs-target]{
  width:8px;height:8px;border:0;border-radius:999px;background:#fff;opacity:.55;margin:0;
}
.modal-personalizado .ensigna-sales-media .carousel-indicators .active{opacity:1;width:22px}
.modal-personalizado .ensigna-sales-media .carousel-control-prev,
.modal-personalizado .ensigna-sales-media .carousel-control-next{
  width:46px!important;
  opacity:.86!important;
}
.modal-personalizado .ensigna-sales-media .carousel-control-prev-icon,
.modal-personalizado .ensigna-sales-media .carousel-control-next-icon{
  width:36px!important;height:36px!important;padding:0!important;border-radius:50%!important;background-color:rgba(23,32,51,.60)!important;background-size:17px!important;
}
.modal-personalizado .ensigna-sales-offer{
  min-height:360px!important;
  height:auto!important;
  gap:9px!important;
  padding:16px!important;
  border:1px solid rgba(48,17,188,.12)!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 100% 0,rgba(48,17,188,.06),transparent 12rem),
    linear-gradient(180deg,#fff,#fcfbff)!important;
  box-shadow:0 12px 30px rgba(31,43,86,.075)!important;
}
.modal-personalizado .ensigna-sales-date{font-size:.94rem!important;color:#475569!important}
.modal-personalizado .ensigna-sales-price-row{padding:1px 0 3px!important}
.modal-personalizado .ensigna-sales-price-row [data-sales-price]{font-size:2.05rem!important}
.modal-personalizado .ensigna-sales-deposit{font-size:.78rem!important}
.modal-personalizado .ensigna-sales-availability{min-height:31px!important;padding:6px 10px!important}
.modal-personalizado .ensigna-sales-pax-slot .form-select{min-height:43px!important;border-radius:12px!important}
.modal-personalizado .ensigna-sales-selection{min-height:18px!important;margin:-1px 0 0!important}
.modal-personalizado .ensigna-sales-reserve{min-height:50px!important;border-radius:13px!important;background:linear-gradient(135deg,var(--e88-primary),var(--e88-primary-2))!important;box-shadow:0 11px 24px rgba(48,17,188,.23)!important}
.modal-personalizado .ensigna-sales-help{font-size:.79rem!important;padding:1px 0!important}
.modal-personalizado .ensigna-sales-trust{gap:7px!important;padding-top:7px!important;font-size:.64rem!important}

/* El contenido posterior queda pegado al bloque comercial, sin huecos fantasma. */
.modal-personalizado .ensigna-public-route{
  display:flex!important;
  align-items:flex-start;
  gap:8px;
  min-height:0!important;
  margin:0 0 10px!important;
  padding:11px 13px!important;
  border:1px solid #e0e6f0!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#fafbfe,#f5f7fb)!important;
  box-shadow:none!important;
}
.modal-personalizado .ensigna-public-route strong{flex:0 0 auto;font-size:.82rem!important}
.modal-personalizado .ensigna-public-route span{font-size:.82rem!important;line-height:1.35}
.modal-personalizado .modal-body>ul.list-unstyled{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 12px!important;
  min-height:0!important;
  margin:0 0 10px!important;
  padding:12px!important;
  border:1px solid #e4e9f2!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.modal-personalizado .modal-body>ul.list-unstyled li{
  min-height:0!important;
  margin:0!important;
  padding:8px 9px!important;
  border-radius:10px;
  background:#f8f9fc;
  line-height:1.35;
}
.modal-personalizado .ensigna-public-summary{
  min-height:0!important;
  margin:0 0 10px!important;
  padding:11px 13px!important;
  border:1px solid #e4e9f2;
  border-radius:13px;
  background:#fbfcfe;
}
.modal-personalizado .ensigna-sales-legacy-footer{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important}
.modal-personalizado .ensigna-modal-fomo[hidden]{display:none!important;height:0!important;margin:0!important;padding:0!important}

/* -------------------------------------------------------------------------- */
/* Checkout y portal público V4/V7                                            */
/* -------------------------------------------------------------------------- */
body.v4-page{
  --v4-primary:var(--e88-primary);
  --v4-blue:var(--e88-blue);
  --v4-orange:var(--e88-orange);
  --v4-dark:var(--e88-ink);
  --v4-border:var(--e88-line);
  background:
    radial-gradient(circle at 5% 6%,rgba(48,17,188,.055),transparent 22rem),
    radial-gradient(circle at 98% 35%,rgba(35,140,227,.05),transparent 26rem),
    #f7f8fb!important;
}
body.v4-page .v4-header{
  background:rgba(255,255,255,.91)!important;
  border-bottom:1px solid rgba(48,17,188,.09)!important;
  box-shadow:0 8px 28px rgba(31,43,86,.055);
  backdrop-filter:blur(16px) saturate(140%);
}
body.v4-page .v4-hero{
  position:relative;
  overflow:hidden;
  padding:38px 0!important;
  background:
    radial-gradient(circle at 12% 20%,rgba(255,255,255,.18),transparent 15rem),
    radial-gradient(circle at 88% 80%,rgba(35,140,227,.35),transparent 18rem),
    linear-gradient(135deg,#18105f,var(--e88-primary) 52%,#206fc4)!important;
}
body.v4-page .v4-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;
  background-image:linear-gradient(45deg,rgba(255,255,255,.20) 1px,transparent 1px);background-size:20px 20px;
}
body.v4-page .v4-main{padding:24px 0 58px!important}
body.v4-page .v4-grid{gap:14px!important}
body.v4-page .v4-card{
  margin-bottom:14px!important;
  padding:20px!important;
  border:1px solid rgba(48,17,188,.09)!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#fff 0%,#fdfdff 100%)!important;
  box-shadow:var(--e88-shadow-soft)!important;
}
body.v4-page .v4-card h2{margin-top:0!important;margin-bottom:14px!important;font-size:1.22rem}
body.v4-page .v4-summary{gap:8px!important}
body.v4-page .v4-summary div,
body.v4-page .v4-detail{
  border:1px solid #e7ebf2;
  background:linear-gradient(145deg,#fafbfe,#f4f6fb)!important;
}
body.v4-page .v4-field input,
body.v4-page .v4-field select,
body.v4-page .v4-field textarea{
  border-color:#d9e0ea!important;
  box-shadow:inset 0 1px 1px rgba(31,43,86,.02);
}
body.v4-page .v4-field input:focus,
body.v4-page .v4-field select:focus,
body.v4-page .v4-field textarea:focus{
  outline:none;border-color:rgba(48,17,188,.55)!important;box-shadow:0 0 0 4px rgba(48,17,188,.09)!important;
}
body.v4-page .v4-payment-option,
body.v4-page .v4-method{
  border-radius:15px!important;
  box-shadow:0 6px 16px rgba(31,43,86,.045);
}
body.v4-page .v4-payment-option.active,
body.v4-page .v4-method.active{
  border-color:var(--e88-primary)!important;
  background:linear-gradient(145deg,#f7f5ff,#efecff)!important;
  box-shadow:0 0 0 3px rgba(48,17,188,.08),0 10px 24px rgba(48,17,188,.09)!important;
}
body.v4-page .v4-button.primary,
body.v4-page .v4-button.orange{
  color:#fff!important;
  box-shadow:0 10px 22px rgba(48,17,188,.15);
}
body.v4-page .v4-button.primary{background:linear-gradient(135deg,var(--e88-primary),var(--e88-primary-2))!important}
body.v4-page .v4-button.orange{background:linear-gradient(135deg,#f06a0d,var(--e88-orange))!important}
body.v4-page .v872-account-card{
  border-color:rgba(21,153,87,.20)!important;
  background:linear-gradient(135deg,#f7fff9,#fbf9ff)!important;
}

/* -------------------------------------------------------------------------- */
/* Administración                                                             */
/* -------------------------------------------------------------------------- */
body[data-ensigna-user-type="admin"]{
  --border:#dce4ef;
  --soft:#f5f7fb;
  background:
    radial-gradient(circle at 0 0,rgba(48,17,188,.055),transparent 24rem),
    radial-gradient(circle at 100% 24%,rgba(35,140,227,.05),transparent 24rem),
    #f5f7fb!important;
}
body[data-ensigna-user-type="admin"] .admin-header{
  background:rgba(255,255,255,.92)!important;
  border-bottom:1px solid rgba(48,17,188,.09)!important;
  box-shadow:0 8px 28px rgba(31,43,86,.055);
  backdrop-filter:blur(14px) saturate(140%);
}
body[data-ensigna-user-type="admin"] .admin-nav a,
body[data-ensigna-user-type="admin"] .admin-nav-more summary{transition:.15s ease}
body[data-ensigna-user-type="admin"] .admin-nav a:hover,
body[data-ensigna-user-type="admin"] .admin-nav-more summary:hover{
  background:#f1efff!important;color:var(--primary)!important;transform:translateY(-1px);
}
body[data-ensigna-user-type="admin"] .admin-card,
body[data-ensigna-user-type="admin"] .admin-metric,
body[data-ensigna-user-type="admin"] .admin-status-box,
body[data-ensigna-user-type="admin"] .admin-capacity-card,
body[data-ensigna-user-type="admin"] .unit-card{
  border-color:rgba(48,17,188,.09)!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#fff,#fdfdff)!important;
  box-shadow:0 12px 32px rgba(31,43,86,.07)!important;
}
body[data-ensigna-user-type="admin"] .admin-card{padding:20px!important}
body[data-ensigna-user-type="admin"] .admin-button{
  background:linear-gradient(135deg,var(--primary),#5836e8)!important;
  box-shadow:0 9px 20px rgba(48,17,188,.17);
}
body[data-ensigna-user-type="admin"] .admin-button-secondary{
  border:1px solid rgba(48,17,188,.10);background:#f0edff!important;
}
body[data-ensigna-user-type="admin"] .admin-tab{
  border:1px solid rgba(48,17,188,.08);box-shadow:0 4px 12px rgba(31,43,86,.035);
}
body[data-ensigna-user-type="admin"] .admin-tab.active{
  background:linear-gradient(135deg,var(--primary),#5836e8)!important;
}
body[data-ensigna-user-type="admin"] .admin-table-wrap{
  border:1px solid #e5eaf2;border-radius:15px;background:#fff;
}
body[data-ensigna-user-type="admin"] .admin-table th{background:#f8f9fc;color:#69788d}
body[data-ensigna-user-type="admin"] .admin-table tbody tr:hover{background:#faf9ff}
body[data-ensigna-user-type="admin"] .admin-field input,
body[data-ensigna-user-type="admin"] .admin-field select,
body[data-ensigna-user-type="admin"] .admin-field textarea{
  border-color:#d9e0ea!important;background:#fff!important;
}

/* Operación comparte el lenguaje visual sin alterar tamaños críticos de QR/mapa. */
body[data-ensigna-user-type="operacion"],
body[data-ensigna-user-type="coordinador"]{
  background:linear-gradient(180deg,#f6f8fc,#f2f5fa)!important;
}

/* -------------------------------------------------------------------------- */
/* Responsive                                                                 */
/* -------------------------------------------------------------------------- */
@media(max-width:767px){
  .modal-personalizado.ensigna-modal-open{
    padding:8px 8px calc(90px + env(safe-area-inset-bottom))!important;
  }
  .modal-personalizado.ensigna-modal-open .modal-contenido{
    width:100%!important;
    padding:10px 10px calc(62px + env(safe-area-inset-bottom))!important;
    border-radius:18px!important;
  }
  .modal-personalizado .modal-header{padding:1px 1px 9px!important}
  .modal-personalizado .modal-header h5{font-size:1.05rem!important}
  .modal-personalizado .modal-header a{width:32px;height:32px;font-size:1.3rem!important}
  .modal-personalizado .modal-body{padding-top:9px!important}
  .modal-personalizado .ensigna-sales-hero{
    grid-template-columns:1fr!important;
    gap:9px!important;
    margin-bottom:9px!important;
  }
  .modal-personalizado .ensigna-sales-offer{
    order:1;
    min-height:0!important;
    padding:11px!important;
    gap:7px!important;
    border-radius:14px!important;
  }
  .modal-personalizado .ensigna-sales-media{
    order:2;
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
    border-radius:14px!important;
  }
  .modal-personalizado .ensigna-sales-media .carousel-item img,
  .modal-personalizado .ensigna-dynamic-trip-image{padding:5px!important}
  .modal-personalizado .ensigna-sales-price-row [data-sales-price]{font-size:1.72rem!important}
  .modal-personalizado .ensigna-sales-deposit{font-size:.72rem!important}
  .modal-personalizado .ensigna-sales-deposit strong{font-size:.86rem!important}
  .modal-personalizado .ensigna-sales-reserve{min-height:47px!important}
  .modal-personalizado .ensigna-sales-trust{font-size:.59rem!important;padding-top:6px!important}
  .modal-personalizado .ensigna-public-route{
    display:block!important;
    margin:0 0 8px!important;
    padding:9px 10px!important;
  }
  .modal-personalizado .ensigna-public-route strong{display:block;margin-bottom:3px}
  .modal-personalizado .modal-body>ul.list-unstyled{
    grid-template-columns:1fr!important;
    gap:5px!important;
    margin:0 0 8px!important;
    padding:8px!important;
    font-size:.84rem!important;
  }
  .modal-personalizado .modal-body>ul.list-unstyled li{padding:7px 8px!important}
  .modal-personalizado .ensigna-public-summary{margin-bottom:8px!important;padding:9px 10px!important}
  .modal-personalizado .ensigna-sales-sticky{
    border-radius:14px 14px 0 0!important;
    box-shadow:0 -10px 28px rgba(15,23,42,.18)!important;
  }
  body.v4-page .v4-hero{padding:26px 0!important}
  body.v4-page .v4-main{padding:16px 0 44px!important}
  body.v4-page .v4-card{padding:15px!important;margin-bottom:10px!important;border-radius:16px!important}
  body.v4-page .v4-card h2{font-size:1.08rem!important;margin-bottom:11px!important}
}

@media(min-width:768px) and (max-width:1050px){
  .modal-personalizado .ensigna-sales-hero{grid-template-columns:minmax(0,1fr) 360px!important}
  .modal-personalizado .ensigna-sales-media{height:340px!important;max-height:340px!important}
  .modal-personalizado .ensigna-sales-offer{min-height:340px!important}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* Operación: misma identidad visual, manteniendo la prioridad funcional. */
body[data-ensigna-user-type="admin"] .op-header{
  background:rgba(255,255,255,.94)!important;
  border-bottom-color:rgba(48,17,188,.09)!important;
  box-shadow:0 8px 28px rgba(31,43,86,.06)!important;
  backdrop-filter:blur(14px) saturate(140%);
}
body[data-ensigna-user-type="admin"] .op-card,
body[data-ensigna-user-type="admin"] .op-trip,
body[data-ensigna-user-type="admin"] .op-metric,
body[data-ensigna-user-type="admin"] .op-route-point{
  border-color:rgba(48,17,188,.09)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fff,#fdfdff)!important;
  box-shadow:0 10px 28px rgba(31,43,86,.065)!important;
}
body[data-ensigna-user-type="admin"] .op-button:not(.green):not(.orange):not(.red):not(.secondary){
  background:linear-gradient(135deg,var(--e88-primary),var(--e88-primary-2))!important;
  box-shadow:0 8px 18px rgba(48,17,188,.16);
}
body[data-ensigna-user-type="admin"] .op-field input,
body[data-ensigna-user-type="admin"] .op-field select,
body[data-ensigna-user-type="admin"] .op-field textarea{
  border-color:#d8e0eb!important;border-radius:11px!important;
}

/* -------------------------------------------------------------------------- */
/* Reservaciones públicas                                                     */
/* -------------------------------------------------------------------------- */
body.reservation-page{
  background:
    radial-gradient(circle at 5% 4%,rgba(48,17,188,.055),transparent 23rem),
    radial-gradient(circle at 95% 28%,rgba(35,140,227,.05),transparent 26rem),
    #f7f9fd!important;
}
body.reservation-page .reservation-header{
  background:rgba(255,255,255,.92)!important;
  border-bottom-color:rgba(48,17,188,.09)!important;
  box-shadow:0 8px 28px rgba(31,43,86,.055);
}
body.reservation-page .reservation-hero{
  position:relative;
  overflow:hidden;
  padding:58px 0 68px!important;
  background:
    radial-gradient(circle at 10% 18%,rgba(255,255,255,.17),transparent 16rem),
    radial-gradient(circle at 88% 78%,rgba(35,140,227,.35),transparent 20rem),
    linear-gradient(135deg,#15105c,var(--e88-primary) 52%,#1d79cf)!important;
}
body.reservation-page .reservation-search-card,
body.reservation-page .reservation-state,
body.reservation-page .reservation-summary,
body.reservation-page .reservation-progress-card,
body.reservation-page .reservation-panel,
body.reservation-page .reservation-return-card{
  border-color:rgba(48,17,188,.10)!important;
  box-shadow:0 16px 42px rgba(31,43,86,.085)!important;
  background:linear-gradient(180deg,#fff,#fdfdff)!important;
}
body.reservation-page .reservation-search-card{border:1px solid rgba(255,255,255,.75);border-radius:24px!important;padding:28px!important}
body.reservation-page .reservation-panel{border-radius:20px!important;padding:22px!important}
body.reservation-page .reservation-money-grid div,
body.reservation-page .reservation-passenger,
body.reservation-page .reservation-empty{
  border:1px solid #e6ebf3;background:linear-gradient(145deg,#fafbfe,#f4f6fb)!important;
}
body.reservation-page .reservation-primary-action,
body.reservation-page .reservation-nav-button,
body.reservation-page .reservation-return-card a{
  box-shadow:0 8px 19px rgba(48,17,188,.15);
}

/* -------------------------------------------------------------------------- */
/* Portal de entrada / APP                                                    */
/* -------------------------------------------------------------------------- */
.app-entry-header{
  background:rgba(255,255,255,.93)!important;
  border-bottom-color:rgba(48,17,188,.09)!important;
  box-shadow:0 8px 28px rgba(31,43,86,.055);
  backdrop-filter:blur(14px) saturate(140%);
}
.app-entry-main{padding-top:38px!important}
.app-entry-card{
  position:relative;
  overflow:hidden;
  border-color:rgba(48,17,188,.10)!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#fff,#fdfdff)!important;
  box-shadow:0 16px 42px rgba(31,43,86,.09)!important;
}
.app-entry-card::after{
  content:"";position:absolute;right:-50px;bottom:-70px;width:180px;height:180px;border-radius:50%;background:rgba(48,17,188,.035);pointer-events:none;
}
.app-entry-card.staff::after{background:rgba(254,122,21,.045)}
.app-entry-button.primary{background:linear-gradient(135deg,var(--e88-primary),var(--e88-primary-2))!important;box-shadow:0 10px 22px rgba(48,17,188,.20)}
.app-entry-button.staff-button{background:linear-gradient(135deg,#ef690e,var(--e88-orange))!important;box-shadow:0 10px 22px rgba(254,122,21,.20)}
.app-entry-note{border-color:rgba(48,17,188,.10)!important;box-shadow:0 8px 22px rgba(31,43,86,.045)}

/* -------------------------------------------------------------------------- */
/* Landing de anuncios / generación de prospectos                            */
/* -------------------------------------------------------------------------- */
.lead-card{
  border-color:rgba(48,17,188,.10)!important;
  border-radius:22px!important;
  box-shadow:0 18px 46px rgba(31,28,75,.105)!important;
}
.lead-summary-body,
.lead-content{background:linear-gradient(180deg,#fff,#fdfdff)}
.lead-field input,.lead-field select{border-color:#d9e0ea!important}
.lead-button.whatsapp{box-shadow:0 11px 24px rgba(16,141,66,.20)!important}
.lead-button.web{background:linear-gradient(145deg,#fff,#faf9ff)!important;box-shadow:0 9px 20px rgba(48,17,188,.09)!important}
.lead-fact{border:1px solid #e7ebf2;background:linear-gradient(145deg,#fafbfe,#f5f7fb)!important}

/* -------------------------------------------------------------------------- */
/* Galería                                                                    */
/* -------------------------------------------------------------------------- */
.galeria-page-body{
  background:
    radial-gradient(circle at 5% 10%,rgba(48,17,188,.055),transparent 24rem),
    #f8f9fc!important;
}
.galeria-hero{position:relative;overflow:hidden}
.galeria-grid{gap:18px!important}
.galeria-card{
  border-radius:20px!important;
  border:1px solid rgba(48,17,188,.08)!important;
  box-shadow:0 16px 38px rgba(31,43,86,.11)!important;
}
.galeria-card img{transition:transform .35s ease,filter .35s ease}
.galeria-card:hover img{transform:scale(1.035);filter:saturate(1.04)}
.galeria-lightbox-content{border-radius:20px!important;box-shadow:0 30px 90px rgba(0,0,0,.38)!important}
