/* Ruta Caribe v2.2 — Paleta: Blanco, Verde Agua, Naranja */
:root{--rc-aqua:#00bfa6;--rc-aqua-dark:#009e8b;--rc-aqua-light:#4dd9c0;--rc-orange:#ff7043;--rc-orange-dark:#e64a19;--rc-orange-light:#ffab91;--rc-yellow:#ffca28;--rc-dark:#1a2332;--rc-dark-light:#243044;--rc-white:#fff;--rc-gray-50:#f7f9fc;--rc-gray-100:#eef2f7;--rc-gray-200:#dce3ed;--rc-gray-300:#b8c4d4;--rc-gray-400:#8896a8;--rc-gray-500:#5e6e82;--rc-gray-600:#3d4f63;--rc-gray-700:#2a3a4e;--rc-radius:12px;--rc-radius-sm:8px;--rc-radius-lg:20px;--rc-radius-full:999px;--rc-shadow:0 4px 20px rgba(0,0,0,.06);--rc-shadow-lg:0 16px 48px rgba(0,0,0,.1);--rc-transition:all .3s cubic-bezier(.4,0,.2,1)}

/* ===== TOTAL RESET ===== */
*,.rc *,.rc *::before,.rc *::after{box-sizing:border-box;margin:0;padding:0}
.rc,.rc *{text-decoration:none!important}
.rc{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--rc-dark);line-height:1.6;-webkit-font-smoothing:antialiased}

/* Kill every possible WP/Elementor/theme button style */
.rc button,.rc a,.rc input[type=submit],.rc button[type=submit],
.rc [class*=elementor],.rc [class*=wp-block-button],
.rc [class*=wp-element],.rc [role=button]{
  all:unset!important;box-sizing:border-box!important;cursor:pointer!important;
  font-family:'Inter',-apple-system,sans-serif!important;display:inline-flex!important;align-items:center!important;
}
.rc button::before,.rc button::after,.rc a::before,.rc a::after,
.rc [class*=elementor]::before,.rc [class*=elementor]::after{display:none!important;content:none!important}
.rc button svg,.rc a svg,.rc .rc-btn svg,.rc .rc-dash-add-btn svg,
.rc .rc-img-remove svg,.rc .rc-dash-opt-delete svg,.rc .rc-stepper-btn svg,
.rc .rc-cot-tab svg,.rc .rc-brand-upload svg,.rc .rc-img-upload svg{
  display:inline-block!important;flex-shrink:0!important;pointer-events:none!important;
  vertical-align:middle!important;
}
.rc .rc-brand-slot:not(.has-img) .rc-brand-upload{display:flex!important;align-items:center!important;gap:.5rem!important;color:var(--rc-gray-400)!important;font-size:.875rem!important;font-weight:500!important}
.rc .rc-brand-slot.has-img .rc-brand-upload{display:none!important}
.rc .rc-img-slot:not(.has-img) .rc-img-upload{display:flex!important;align-items:center!important;justify-content:center!important;position:absolute!important;inset:0!important;color:var(--rc-gray-400)!important}
.rc .rc-img-slot.has-img .rc-img-upload{display:none!important}
.rc .rc-brand-slot .rc-img-remove,.rc .rc-img-slot .rc-img-remove{
  all:unset!important;display:none!important;position:absolute!important;align-items:center!important;justify-content:center!important;
  background:rgba(0,0,0,.6)!important;color:#fff!important;border:none!important;border-radius:50%!important;
  cursor:pointer!important;z-index:5!important;padding:0!important;line-height:1!important;
}
.rc .rc-img-slot .rc-img-remove{top:3px!important;right:3px!important;width:20px!important;height:20px!important}
.rc .rc-brand-slot .rc-img-remove{top:6px!important;right:6px!important;width:24px!important;height:24px!important}
.rc .rc-brand-slot.has-img .rc-img-remove,.rc .rc-img-slot.has-img .rc-img-remove{display:flex!important}
.rc .rc-img-remove:hover{background:#dc2626!important}

/* Canvas overrides */
.rutacaribe-canvas .entry-header,.rutacaribe-canvas .page-header,.rutacaribe-canvas .entry-title,.rutacaribe-canvas .page-title,.rutacaribe-canvas .site-title,.rutacaribe-canvas h1.entry-title,.rutacaribe-canvas h1.page-title,.rutacaribe-canvas .wp-block-post-title,.rutacaribe-canvas header.entry-header{display:none!important}
.rutacaribe-canvas .site-content,.rutacaribe-canvas main,.rutacaribe-canvas .entry-content,.rutacaribe-canvas .content-area,.rutacaribe-canvas .wp-block-post-content{padding:0!important;margin:0!important;max-width:none!important}
.rutacaribe-dashboard-page .entry-header,.rutacaribe-dashboard-page .page-header,.rutacaribe-dashboard-page .entry-title,.rutacaribe-dashboard-page .page-title{display:none!important}

.rc-container{max-width:1200px;margin:0 auto;padding:0 1.5rem}
.rc input[type=number]{-moz-appearance:textfield}
.rc input[type=number]::-webkit-outer-spin-button,.rc input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* ===== BUTTONS ===== */
.rc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.75rem;border-radius:var(--rc-radius-full);font-weight:600;font-size:.9375rem;cursor:pointer;border:none;transition:var(--rc-transition);font-family:inherit;line-height:1.2;white-space:nowrap;letter-spacing:.01em}
.rc-btn-primary{background:linear-gradient(135deg,var(--rc-aqua),var(--rc-aqua-dark));color:var(--rc-white);box-shadow:0 4px 20px rgba(0,191,166,.35)}
.rc-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,191,166,.5);filter:brightness(1.08)}
.rc-btn-secondary{background:var(--rc-dark);color:var(--rc-white)}
.rc-btn-secondary:hover{background:var(--rc-dark-light);transform:translateY(-2px)}
.rc-btn-glass{background:rgba(255,255,255,.18);color:var(--rc-white);backdrop-filter:blur(10px);border:1.5px solid rgba(255,255,255,.3)}
.rc-btn-glass:hover{background:rgba(255,255,255,.3);transform:translateY(-2px)}
.rc-btn-whatsapp{background:#25d366;color:var(--rc-white)}
.rc-btn-whatsapp:hover{background:#20bd5a;transform:translateY(-2px);box-shadow:0 6px 24px rgba(37,211,102,.35)}
.rc-btn-block{width:100%}
.rc-btn-lg{padding:1rem 2.25rem;font-size:1rem}

/* ===== NAV ===== */
.rc-nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(26,35,50,.97);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.06)}
.rc-nav-inner{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:.75rem 1.5rem}
.rc-nav-logo{display:flex;align-items:center;gap:.5rem;color:var(--rc-white)}
.rc-nav-logo-img{height:36px;width:auto}
.rc-logo-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,var(--rc-aqua),var(--rc-aqua-dark));color:var(--rc-white);font-weight:800;font-size:.75rem;border-radius:var(--rc-radius-sm);letter-spacing:.05em}
.rc-logo-icon-sm{width:32px;height:32px;font-size:.65rem}
.rc-logo-text{font-weight:700;font-size:.65rem;letter-spacing:.15em;line-height:1.3;text-transform:uppercase}
.rc-nav-links{display:flex;gap:2rem}
.rc-nav-links a{color:rgba(255,255,255,.7);font-size:.875rem;font-weight:500;transition:color .2s}
.rc-nav-links a:hover{color:var(--rc-white)}
.rc-nav-actions{display:flex;gap:.75rem;align-items:center}
.rc-nav-btn{padding:.625rem 1.25rem;border-radius:var(--rc-radius-full);font-weight:600;font-size:.8125rem;transition:var(--rc-transition);border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}
.rc-nav-btn-outline{background:transparent;color:var(--rc-white);border:1.5px solid rgba(255,255,255,.35)}
.rc-nav-btn-outline:hover{border-color:var(--rc-white);background:rgba(255,255,255,.1)}
.rc-nav-btn-wa{background:var(--rc-aqua);color:var(--rc-white)}
.rc-nav-btn-wa:hover{background:var(--rc-aqua-dark)}
.rc-nav-mobile{display:none;background:none;border:none;cursor:pointer;padding:.5rem}
.rc-nav-mobile span{display:block;width:22px;height:2px;background:var(--rc-white);margin:5px 0;border-radius:2px}

/* ===== HERO ===== */
.rc-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding-top:70px;background:linear-gradient(160deg,var(--rc-dark) 0%,#162a3e 40%,#0d4a5e 70%,#0a5c5a 100%);background-size:cover;background-position:center}
.rc-hero-content{position:relative;z-index:2;text-align:center;max-width:720px;padding:3rem 2rem}
.rc-hero-badge{display:inline-block;padding:.5rem 1.25rem;border-radius:var(--rc-radius-full);background:rgba(0,191,166,.15);border:1px solid rgba(0,191,166,.35);color:var(--rc-aqua-light);font-size:.8125rem;font-weight:600;margin-bottom:1.5rem}
.rc-hero-title{font-size:clamp(2.5rem,7vw,4.5rem);font-weight:800;color:var(--rc-white);line-height:1.1;margin-bottom:1rem;letter-spacing:-.03em}
.rc-hero-title em{font-style:normal;background:linear-gradient(135deg,var(--rc-aqua-light),var(--rc-yellow),var(--rc-orange));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.rc-hero-sub{font-size:1rem;color:var(--rc-gray-300);letter-spacing:.2em;font-weight:500;text-transform:uppercase;margin-bottom:.75rem}
.rc-hero-desc{font-size:1.0625rem;color:rgba(255,255,255,.65);margin-bottom:2rem;max-width:520px;margin-left:auto;margin-right:auto}
.rc-hero-ctas{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:3rem}
.rc-hero-stats{display:flex;gap:0;align-items:center;justify-content:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--rc-radius-lg);padding:1rem 2rem;backdrop-filter:blur(10px)}
.rc-stat{text-align:center;padding:0 1.5rem}
.rc-stat strong{display:block;font-size:1.5rem;font-weight:800;color:var(--rc-white)}
.rc-stat span{font-size:.75rem;color:var(--rc-gray-400);text-transform:uppercase;letter-spacing:.08em;font-weight:500}
.rc-stat-divider{width:1px;height:32px;background:rgba(255,255,255,.15)}

/* ===== SECTIONS ===== */
.rc-section-head{text-align:center;margin-bottom:3.5rem}
.rc-overline{display:block;font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--rc-aqua);margin-bottom:.75rem}
.rc-section-head h2{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;line-height:1.2;letter-spacing:-.02em}

/* ===== DESTINOS ===== */
.rc-destinos{padding:7rem 0;background:var(--rc-gray-50)}
.rc-dest-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.rc-dest-card{position:relative;border-radius:var(--rc-radius-lg);overflow:hidden;transition:var(--rc-transition);cursor:pointer}
.rc-dest-card:hover{transform:translateY(-6px);box-shadow:var(--rc-shadow-lg)}
.rc-dest-featured{grid-row:span 2}
.rc-dest-img{height:100%;min-height:280px;position:relative}
.rc-dest-featured .rc-dest-img{min-height:100%}
.rc-dest-img-cancun{background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.7)),linear-gradient(135deg,#0d9488,var(--rc-aqua))}
.rc-dest-img-playa{background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.7)),linear-gradient(135deg,var(--rc-aqua),var(--rc-aqua-light))}
.rc-dest-img-combo{background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.7)),linear-gradient(135deg,var(--rc-orange),var(--rc-yellow))}
.rc-dest-badge{position:absolute;top:1rem;left:1rem;padding:.375rem 1rem;background:rgba(255,255,255,.92);color:var(--rc-dark);font-size:.75rem;font-weight:700;border-radius:var(--rc-radius-full)}
.rc-dest-info{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;color:var(--rc-white)}
.rc-dest-info h3{font-size:1.375rem;font-weight:700;margin-bottom:.375rem}
.rc-dest-info p{font-size:.875rem;color:rgba(255,255,255,.85);margin-bottom:.75rem;line-height:1.5}
.rc-dest-link{display:inline-flex;align-items:center;gap:.375rem;color:var(--rc-white);font-weight:600;font-size:.875rem;transition:gap .2s}
.rc-dest-link:hover{gap:.625rem}

/* ===== PAQUETES ===== */
.rc-paquetes{padding:7rem 0;background:var(--rc-white)}
.rc-paq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;max-width:800px;margin:0 auto}
.rc-paq-card{background:var(--rc-white);border-radius:var(--rc-radius-lg);overflow:hidden;transition:var(--rc-transition);position:relative;border:1px solid var(--rc-gray-200)}
.rc-paq-card:hover{transform:translateY(-8px);box-shadow:var(--rc-shadow-lg);border-color:transparent}
.rc-paq-card-featured{transform:scale(1.03);box-shadow:0 12px 40px rgba(0,191,166,.15);border-color:var(--rc-aqua)}
.rc-paq-card-featured:hover{transform:scale(1.03) translateY(-8px)}
.rc-paq-ribbon{position:absolute;top:16px;right:-30px;background:var(--rc-orange);color:var(--rc-white);font-size:.7rem;font-weight:700;padding:.3rem 2.5rem;transform:rotate(45deg);z-index:2;letter-spacing:.05em;text-transform:uppercase}
.rc-paq-top{padding:2.5rem 2rem 2rem;color:var(--rc-white)}
.rc-paq-top-flex{background:linear-gradient(135deg,var(--rc-dark),var(--rc-dark-light))}
.rc-paq-top-confort,.rc-paq-top-lolo{background:linear-gradient(135deg,var(--rc-aqua-dark),var(--rc-aqua))}
.rc-paq-badge{display:inline-block;padding:.25rem .75rem;background:rgba(255,255,255,.2);border-radius:var(--rc-radius-full);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.75rem}
.rc-paq-top h3{font-size:1.625rem;font-weight:800;margin-bottom:.25rem}
.rc-paq-top p{opacity:.85}
.rc-paq-body{padding:2rem}
.rc-paq-features{list-style:none;margin:0 0 2rem}
.rc-paq-features li{padding:.5rem 0;font-size:.9375rem;color:var(--rc-gray-600);display:flex;align-items:center;gap:.5rem}
.rc-paq-features li svg{flex-shrink:0}

/* ===== PLANES ===== */
.rc-planes{padding:7rem 0;background:var(--rc-gray-50)}
.rc-planes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}
.rc-plan-card{background:var(--rc-white);border-radius:var(--rc-radius-lg);overflow:hidden;border:1px solid var(--rc-gray-200);transition:var(--rc-transition);position:relative;display:flex;flex-direction:column}
.rc-plan-card:hover{transform:translateY(-6px);box-shadow:var(--rc-shadow-lg);border-color:transparent}
.rc-plan-featured{border-color:var(--rc-aqua);box-shadow:0 8px 32px rgba(0,191,166,.12)}
.rc-plan-ribbon{background:linear-gradient(135deg,var(--rc-aqua),var(--rc-aqua-dark));color:var(--rc-white);text-align:center;padding:.5rem;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.rc-plan-head{padding:2rem 1.5rem 1rem}
.rc-plan-head h3{font-size:1.25rem;font-weight:700;margin-bottom:.25rem}
.rc-plan-desc{font-size:.875rem;color:var(--rc-gray-500)}
.rc-plan-body{padding:0 1.5rem 2rem;margin-top:auto}
.rc-plan-price{margin-bottom:1.25rem}
.rc-plan-from{display:block;font-size:.75rem;color:var(--rc-gray-400);font-weight:500;text-transform:uppercase;letter-spacing:.05em}
.rc-plan-amount{font-size:2rem;font-weight:800;color:var(--rc-dark)}
.rc-plan-body .rc-btn{width:100%;justify-content:center}

/* ===== CTA ===== */
.rc-cta{padding:7rem 0;background:var(--rc-white)}
.rc-cta-card{background:linear-gradient(135deg,var(--rc-dark) 0%,#1e3a50 60%,#0d4a5e 100%);border-radius:var(--rc-radius-lg);padding:4rem;text-align:center;position:relative;overflow:hidden}
.rc-cta-card::before{content:'';position:absolute;top:-50%;right:-30%;width:60%;height:200%;background:radial-gradient(ellipse,rgba(0,191,166,.15),transparent 70%);pointer-events:none}
.rc-cta-card .rc-overline{color:var(--rc-aqua-light)}
.rc-cta-card h2{color:var(--rc-white);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;margin-bottom:1rem}
.rc-cta-card p{color:rgba(255,255,255,.65);margin-bottom:2rem;max-width:480px;margin-left:auto;margin-right:auto}
.rc-cta-btns{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}

/* ===== FOOTER ===== */
.rc-footer{background:var(--rc-dark);color:rgba(255,255,255,.8);padding:4rem 0 2rem}
.rc-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.rc-footer-brand{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem}
.rc-footer-brand .rc-logo-text{color:var(--rc-white)}
.rc-footer-logo{height:40px;width:auto}
.rc-footer-brand p{width:100%;font-size:.875rem;color:rgba(255,255,255,.5);margin-top:.5rem}
.rc-footer-links h4{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:1rem}
.rc-footer-links a{display:block;color:rgba(255,255,255,.65);font-size:.875rem;padding:.375rem 0;transition:color .2s}
.rc-footer-links a:hover{color:var(--rc-white)}
.rc-footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:1.5rem;text-align:center}
.rc-footer-bottom p{font-size:.8125rem;color:rgba(255,255,255,.35)}

/* ===== COTIZADOR ===== */
.rc-cot{background:var(--rc-gray-50);min-height:100vh}
.rc-cot-wrapper{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.rc-cot-sidebar{background:var(--rc-dark);color:var(--rc-white);padding:1.5rem;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.rc-cot-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem}
.rc-cot-logo{height:28px;width:auto}
.rc-cot-brand-text{font-weight:700;font-size:1rem}
.rc-cot-tabs{display:flex;flex-direction:column;gap:.5rem;flex:1}
.rc-cot-tab{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:var(--rc-radius);cursor:pointer;transition:var(--rc-transition);text-align:left;color:rgba(255,255,255,.6);font-family:inherit}
.rc-cot-tab:hover{background:rgba(255,255,255,.08)}
.rc-cot-tab.active{background:rgba(0,191,166,.12);border-color:var(--rc-aqua);color:var(--rc-white)}
.rc-cot-tab.active svg{color:var(--rc-aqua)}
.rc-cot-tab svg{flex-shrink:0;opacity:.5}
.rc-cot-tab.active svg{opacity:1}
.rc-cot-tab span{display:block;font-weight:600;font-size:.875rem}
.rc-cot-tab small{display:block;font-size:.7rem;opacity:.5;margin-top:.125rem}
.rc-cot-help{margin-top:auto;display:flex;gap:.75rem;padding:1rem;background:rgba(255,255,255,.04);border-radius:var(--rc-radius-sm);font-size:.8125rem}
.rc-cot-help svg{flex-shrink:0;color:var(--rc-aqua)}
.rc-cot-help strong{display:block}
.rc-cot-help a{color:var(--rc-aqua)}
.rc-cot-main{padding:2.5rem 3rem;max-width:760px}
.rc-cot-panel{display:none}
.rc-cot-panel.active{display:block}
.rc-cot-panel-head{margin-bottom:2rem}
.rc-cot-panel-head h2{font-size:1.75rem;font-weight:800;margin-bottom:.375rem}
.rc-cot-panel-head p{color:var(--rc-gray-500);font-size:.9375rem}
.rc-cot-step{display:flex;gap:1.25rem;margin-bottom:2rem}
.rc-cot-step-num{width:32px;height:32px;background:var(--rc-aqua);color:var(--rc-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;flex-shrink:0}
.rc-cot-step-content{flex:1;min-width:0}
.rc-cot-step-content h3{font-size:1rem;font-weight:700;margin-bottom:1rem;color:var(--rc-gray-600)}

/* Tipo */
.rc-tipo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.rc-tipo-card{cursor:pointer;position:relative}
.rc-tipo-card input{position:absolute;opacity:0;width:0;height:0}
.rc-tipo-inner{padding:1.25rem 1rem;border:2px solid var(--rc-gray-200);border-radius:var(--rc-radius);text-align:center;transition:var(--rc-transition);background:var(--rc-white)}
.rc-tipo-inner span{display:block;font-weight:600;font-size:.875rem;color:var(--rc-gray-600)}
.rc-tipo-inner small{display:block;font-size:.75rem;color:var(--rc-gray-400);margin-top:.25rem}
.rc-tipo-card:hover .rc-tipo-inner{border-color:var(--rc-aqua)}
.rc-tipo-card.selected .rc-tipo-inner,.rc-tipo-card input:checked~.rc-tipo-inner{border-color:var(--rc-aqua);background:rgba(0,191,166,.06);box-shadow:0 0 0 3px rgba(0,191,166,.12)}

/* Fields */
.rc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.5rem}
.rc-field{display:flex;flex-direction:column;gap:.5rem}
.rc-field-full{grid-column:1/-1}
.rc-field label{font-weight:600;font-size:.8125rem;color:var(--rc-gray-600);letter-spacing:.02em}
.rc-field label small{font-weight:400;color:var(--rc-gray-400)}
.rc-field input[type=text],.rc-field input[type=number],.rc-field textarea,.rc-field select{width:100%;padding:.75rem 1rem;border:1.5px solid var(--rc-gray-200);border-radius:var(--rc-radius-sm);font-size:.9375rem;font-family:inherit;background:var(--rc-white);transition:border-color .2s,box-shadow .2s;color:var(--rc-dark)}
.rc-field input:focus,.rc-field textarea:focus,.rc-field select:focus{outline:none;border-color:var(--rc-aqua);box-shadow:0 0 0 3px rgba(0,191,166,.1)}
.rc-field textarea{resize:vertical;min-height:60px}
.rc-select-wrap{position:relative}
.rc-select-wrap select{appearance:none;padding-right:2.5rem;cursor:pointer}
.rc-select-wrap::after{content:'';position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--rc-gray-400);pointer-events:none}
.rc-input-icon{position:relative;display:flex;align-items:center}
.rc-input-icon span{position:absolute;left:.75rem;font-weight:600;color:var(--rc-gray-400);font-size:.8125rem;pointer-events:none;z-index:1}
.rc-input-icon input{padding-left:1.75rem!important}
.rc-stepper{display:flex;align-items:center;border:1.5px solid var(--rc-gray-200);border-radius:var(--rc-radius-sm);overflow:hidden;background:var(--rc-white)}
.rc-stepper input{border:none;text-align:center;width:60px;padding:.75rem 0;font-size:1rem;font-weight:700;font-family:inherit}
.rc-stepper input:focus{outline:none}
.rc-stepper-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--rc-gray-50);border:none;cursor:pointer;font-size:1.25rem;font-weight:600;color:var(--rc-aqua);transition:background .2s;font-family:inherit}
.rc-stepper-btn:hover{background:rgba(0,191,166,.1)}
.rc-toggle{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.9375rem;font-weight:500;color:var(--rc-gray-600)}
.rc-toggle input{position:absolute;opacity:0;width:0;height:0}
.rc-toggle-track{position:relative;width:48px;height:26px;background:var(--rc-gray-300);border-radius:var(--rc-radius-full);transition:background .3s;flex-shrink:0}
.rc-toggle-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;background:var(--rc-white);border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:transform .3s}
.rc-toggle input:checked~.rc-toggle-track{background:var(--rc-aqua)}
.rc-toggle input:checked~.rc-toggle-track .rc-toggle-thumb{transform:translateX(22px)}
.rc-form-tipo{display:none}
.rc-form-tipo.active{display:block}

/* Result */
.rc-cot-result{background:var(--rc-white);border-radius:var(--rc-radius-lg);padding:2rem;border:1px solid var(--rc-gray-200);margin-top:2rem;animation:rc-fade .4s ease}
@keyframes rc-fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.rc-cot-result-head{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--rc-gray-100)}
.rc-cot-result-head h3{font-size:1rem;font-weight:700;margin-bottom:.125rem}
.rc-cot-result-head p{font-size:.875rem;color:var(--rc-gray-500)}
.rc-cot-result-head strong{color:var(--rc-aqua);font-size:1.25rem}
.rc-cot-result-actions{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}
.rc-cotizacion-premium{border-radius:var(--rc-radius);overflow:hidden;border:1px solid var(--rc-gray-200)}
.rc-cotizacion-premium .rc-cot-header{background:linear-gradient(135deg,var(--rc-dark),var(--rc-dark-light));color:var(--rc-white);padding:1.5rem 2rem;text-align:center}
.rc-cotizacion-premium .rc-cot-header h3{font-size:1.25rem;font-weight:700;margin-bottom:.25rem}
.rc-cotizacion-premium .rc-cot-header p{opacity:.7;font-size:.875rem}
.rc-cotizacion-premium .rc-cot-body{padding:1.5rem 2rem}
.rc-cotizacion-premium .rc-cot-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--rc-gray-100);font-size:.9375rem}
.rc-cotizacion-premium .rc-cot-total{font-size:1.25rem;font-weight:700;color:var(--rc-aqua);border-top:2px solid var(--rc-aqua);margin-top:.5rem;padding-top:1rem;border-bottom:none}
.rc-cotizacion-premium .rc-cot-imgs{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:1.5rem}
.rc-cotizacion-premium .rc-cot-imgs img{width:100%;height:80px;object-fit:cover;border-radius:var(--rc-radius-sm)}

/* ===== DASHBOARD ===== */
.rc-dash{max-width:1200px;margin:0 auto;padding:2rem;background:var(--rc-gray-50);min-height:100vh}
.rc-dash-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding:1.25rem 1.5rem;background:var(--rc-dark);border-radius:var(--rc-radius-lg);color:var(--rc-white)}
.rc-dash-top-left{display:flex;align-items:center;gap:1rem}
.rc-dash-top h1{font-size:1.125rem;font-weight:700;margin:0}
.rc-dash-top p{font-size:.75rem;opacity:.5;margin:0}
.rc-dash-msg{border-radius:var(--rc-radius-sm);padding:1rem;margin-bottom:1rem;display:none;font-weight:500;font-size:.9375rem}
.rc-dash-msg.ok{display:block;background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}
.rc-dash-msg.err{display:block;background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.rc-dash-grid{display:flex;flex-direction:column;gap:1.5rem}
.rc-dash-card{background:var(--rc-white);border-radius:var(--rc-radius-lg);overflow:hidden;border:1px solid var(--rc-gray-200);box-shadow:var(--rc-shadow)}
.rc-dash-card-head{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-bottom:1px solid var(--rc-gray-100);background:var(--rc-gray-50)}
.rc-dash-card-head h2{font-size:.9375rem;font-weight:700;flex:1;margin:0}
.rc-dash-add-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.4rem .875rem;background:var(--rc-aqua);color:var(--rc-white);border:none;border-radius:var(--rc-radius-full);font-size:.8125rem;font-weight:600;cursor:pointer;transition:var(--rc-transition);font-family:inherit}
.rc-dash-add-btn:hover{background:var(--rc-aqua-dark)}
.rc-dash-card-body{padding:1.5rem}
.rc-dash-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}

/* Brand slots (logo/portada) */
.rc-brand-slot{position:relative;border:2px dashed var(--rc-gray-200);border-radius:var(--rc-radius);min-height:100px;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:var(--rc-transition);background:var(--rc-gray-50)}
.rc-brand-slot:hover{border-color:var(--rc-aqua)}
.rc-brand-slot.has-img{border-style:solid}
.rc-brand-slot img{max-width:100%;max-height:120px;object-fit:contain;display:block}
.rc-brand-wide{min-height:140px}
.rc-brand-wide img{width:100%;max-height:180px;object-fit:cover}
.rc-brand-upload{font-size:.875rem;color:var(--rc-gray-400);font-weight:500}

/* Accordion */
.rc-acc-item{border:1px solid var(--rc-gray-200);border-radius:var(--rc-radius);margin-bottom:.75rem;overflow:hidden}
.rc-acc-item:last-child{margin-bottom:0}
.rc-acc-item.open{border-color:var(--rc-aqua);box-shadow:0 0 0 2px rgba(0,191,166,.08)}
.rc-acc-head{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;cursor:pointer;transition:background .2s;gap:1rem}
.rc-acc-head:hover{background:var(--rc-gray-50)}
.rc-acc-head-left{display:flex;align-items:center;gap:.5rem;min-width:0}
.rc-acc-head-left svg{transition:transform .25s;color:var(--rc-gray-400);flex-shrink:0}
.rc-acc-item.open .rc-acc-head-left svg{transform:rotate(180deg);color:var(--rc-aqua)}
.rc-acc-title{font-weight:600;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-acc-price{font-weight:700;font-size:.8125rem;color:var(--rc-aqua);white-space:nowrap}
.rc-acc-body{display:none;border-top:1px solid var(--rc-gray-100)}
.rc-acc-item.open .rc-acc-body{display:block}
.rc-dash-opt{padding:1.25rem}
.rc-dash-opt-fields{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}
.rc-field-grow{flex:1;min-width:180px}
.rc-field-sm{width:100px}
.rc-field-toggle{display:flex;align-items:flex-end}
.rc-img-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem}
.rc-img-slot{position:relative;aspect-ratio:1;border:2px dashed var(--rc-gray-200);border-radius:var(--rc-radius-sm);overflow:hidden;cursor:pointer;transition:var(--rc-transition);background:var(--rc-gray-50)}
.rc-img-slot:hover{border-color:var(--rc-aqua)}
.rc-img-slot.has-img{border-style:solid}
.rc-img-slot img{width:100%;height:100%;object-fit:cover;display:block}
.rc-dash-opt-delete{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:none;border:1px solid #fecaca;color:#dc2626;border-radius:var(--rc-radius-full);font-size:.8125rem;font-weight:500;cursor:pointer;transition:var(--rc-transition);font-family:inherit;margin-top:1rem}
.rc-dash-opt-delete:hover{background:#fee2e2}

/* Dashboard subsection */
.rc-dash-subsection-label{display:block;font-weight:700;font-size:.8125rem;color:var(--rc-gray-600);letter-spacing:.02em;margin-bottom:.75rem}
.rc-dash-subsection-label small{font-weight:400;color:var(--rc-gray-400)}
.rc-dash-card-head h2 svg{vertical-align:middle;margin-right:.25rem;color:var(--rc-aqua)}
.rc-field label svg{vertical-align:middle;margin-right:.25rem;color:var(--rc-aqua);flex-shrink:0}
.rc-field-hint{display:block;font-size:.75rem;color:var(--rc-gray-400);margin-top:.375rem}
.rc-check-label{display:flex!important;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--rc-gray-600);padding:.75rem 1rem;border:1.5px solid var(--rc-gray-200);border-radius:8px;transition:var(--rc-transition)}
.rc-check-label:hover{border-color:var(--rc-aqua)}
.rc-check-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--rc-aqua);cursor:pointer;flex-shrink:0}
.rc-check-label span{display:flex;align-items:center;gap:.375rem}
.rc-check-label span svg{color:var(--rc-aqua)}

/* Equipaje info (cotizador - display only) */
.rc-equipaje-info{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1rem;background:rgba(0,191,166,.04);border:1.5px solid rgba(0,191,166,.15);border-radius:var(--rc-radius-sm)}
.rc-equipaje-info-title{display:flex;align-items:center;gap:.375rem;font-weight:600;font-size:.8125rem;color:var(--rc-aqua)}
.rc-equipaje-info-title svg{flex-shrink:0}
.rc-equipaje-tag{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:var(--rc-white);border:1px solid rgba(0,191,166,.2);border-radius:999px;font-size:.75rem;font-weight:500;color:var(--rc-gray-600)}
.rc-equipaje-tag svg{flex-shrink:0;color:var(--rc-aqua);width:14px;height:14px}
/* Cotizador quote sections */
.rc-cot-section{margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--rc-gray-100)}
.rc-cot-section-dest{font-weight:700;font-size:.8125rem;color:var(--rc-aqua);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}
.rc-cot-desc{font-size:.8125rem;color:var(--rc-gray-500);padding:.375rem 0;line-height:1.5}
.rc-cot-equip-tags{display:flex;flex-wrap:wrap;gap:.375rem}
.rc-cot-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;background:rgba(0,191,166,.04);border:1px solid rgba(0,191,166,.2);border-radius:999px;font-size:.75rem;font-weight:500;color:var(--rc-gray-600)}
.rc-cot-tag svg{flex-shrink:0}
.rc-cotizacion-premium .rc-cot-imgs img{cursor:pointer;transition:transform .2s,box-shadow .2s}
.rc-cotizacion-premium .rc-cot-imgs img:hover{transform:scale(1.05);box-shadow:0 4px 16px rgba(0,0,0,.15)}
/* Lightbox */
.rc-lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.85);z-index:99999;display:flex;align-items:center;justify-content:center;cursor:pointer;animation:rc-fade .2s ease}
.rc-lightbox img{max-width:90%;max-height:90%;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
/* Confort dest sections */
.rc-confort-cancun,.rc-confort-playa{grid-column:1/-1}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .rc-cot-wrapper{grid-template-columns:1fr}
  .rc-cot-sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;padding:1rem;gap:1rem}
  .rc-cot-brand{margin-bottom:0}
  .rc-cot-tabs{flex-direction:row;flex:none;width:100%}
  .rc-cot-help{display:none}
  .rc-cot-main{padding:2rem 1.5rem}
}
@media(max-width:768px){
  .rc-nav-links,.rc-nav-actions{display:none}
  .rc-nav-mobile{display:block}
  .rc-nav.open .rc-nav-links,.rc-nav.open .rc-nav-actions{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--rc-dark);padding:1.5rem;gap:1rem;border-top:1px solid rgba(255,255,255,.06)}
  .rc-hero-title{font-size:2.25rem}
  .rc-hero-stats{flex-direction:column;gap:1rem;padding:1.25rem}
  .rc-stat-divider{width:40px;height:1px}
  .rc-dest-grid{grid-template-columns:1fr}
  .rc-dest-featured{grid-row:auto}
  .rc-dest-img{min-height:220px!important}
  .rc-paq-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto}
  .rc-paq-card-featured{transform:none}
  .rc-footer-grid{grid-template-columns:1fr;gap:2rem}
  .rc-cta-card{padding:2.5rem 1.5rem}
  .rc-tipo-grid{grid-template-columns:1fr}
  .rc-form-grid{grid-template-columns:1fr}
  .rc-cot-result-actions{flex-direction:column}
  .rc-dash-top{flex-direction:column;gap:1rem;text-align:center}
  .rc-dash-row{grid-template-columns:1fr}
  .rc-dash-opt-fields{flex-direction:column}
  .rc-field-sm{width:100%}
}
