/* =============================================================================
   Gecotel — Tema AdminKit (rojo/ámbar estético)
   Basado en el lenguaje visual de AdminKit: Inter, fondo #f5f7fb,
   tarjetas blancas con sombra sutil, barra lateral slate, esquinas suaves.
   ============================================================================= */
:root{
    --gc-font: "Inter","Helvetica Neue",Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
    --gc-bg:#f5f7fb;
    --gc-text:#495057;
    --gc-muted:#6c757d;
    --gc-heading:#212529;
    --gc-card:#ffffff;
    --gc-border:#e9ecef;
    --gc-border-2:#dee2e6;
    --gc-radius:.25rem;
    --gc-radius-lg:.3rem;
    --gc-shadow:none;
    --gc-shadow-sm:none;
    /* Rojo teja + ámbar: presentes pero sobrios */
    --gc-primary:#c1241d;
    --gc-primary-dark:#9e1d17;
    --gc-primary-soft:rgba(193,36,29,.08);
    --gc-accent:#edc72d;
    --gc-accent-dark:#c9a616;
    --gc-accent-soft:#fdf6e3;
    --gc-success:#6b7178;
    --gc-sidebar:#222e3c;
}

/* ---- Contenedores / tipografía base (frontend) --------------------------- */
.gc-panel,
.gecotel-wrap,
.gecotel-container{
    font-family:var(--gc-font);
    color:var(--gc-text);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}
.gecotel-wrap{ background:var(--gc-bg); padding:28px 16px; }
.gecotel-container{
    background:var(--gc-card);
    border-radius:var(--gc-radius);
    box-shadow:var(--gc-shadow);
    border:0;
    max-width:520px;
    margin:0 auto;
    overflow:hidden;
}
.gecotel-container--wide{ max-width:820px; }
.gc-panel{ max-width:960px; margin:28px auto; }

/* ---- Cabeceras de tarjeta ------------------------------------------------ */
.gecotel-card-header{
    background:var(--gc-card) !important;
    color:var(--gc-heading) !important;
    border-bottom:1px solid var(--gc-border) !important;
    padding:1.1rem 1.25rem !important;
}
.gecotel-card-header h2{
    margin:0; font-size:1.05rem; font-weight:600; color:var(--gc-heading);
    letter-spacing:.2px;
}
.gecotel-card-header p{ margin:.35rem 0 0; color:var(--gc-muted); font-size:.85rem; }
/* Acento superior rojo fino, en lugar de degradado chillón */
.gecotel-card-header{ border-top:3px solid var(--gc-primary) !important; }
.gecotel-success-header{ border-top-color:var(--gc-success) !important; }
.gecotel-success-icon{
    display:inline-flex; align-items:center; justify-content:center;
    width:52px; height:52px; border-radius:50%;
    background:rgba(107,113,120,.12); color:var(--gc-success);
    font-size:26px; margin-bottom:8px;
}
.gecotel-card-body{ padding:1.25rem !important; }

/* ---- Formularios --------------------------------------------------------- */
.gecotel-label{ font-size:.8rem; font-weight:600; color:var(--gc-text); }
.gecotel-input,
.gecotel-code-input{
    border:1px solid var(--gc-border-2) !important;
    border-radius:var(--gc-radius) !important;
    background:#fff !important;
    color:var(--gc-text) !important;
    font-family:var(--gc-font);
    box-shadow:none !important;
    transition:border-color .15s ease, box-shadow .15s ease;
}
.gecotel-input:focus,
.gecotel-code-input:focus{
    border-color:var(--gc-primary) !important;
    box-shadow:0 0 0 .2rem var(--gc-primary-soft) !important;
    outline:0 !important;
}

/* ---- Botones ------------------------------------------------------------- */
.gecotel-btn,.gc-btn,.gct-btn{
    font-family:var(--gc-font);
    border-radius:var(--gc-radius);
    font-weight:600;
    font-size:.85rem;
    box-shadow:none !important;
    transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.gecotel-btn--primary,.gc-btn,.gct-btn{
    background:var(--gc-primary) !important; border:1px solid var(--gc-primary) !important; color:#fff !important;
}
.gecotel-btn--primary:hover,.gc-btn:hover,.gct-btn:hover{
    background:var(--gc-primary-dark) !important; border-color:var(--gc-primary-dark) !important;
}
.gecotel-btn--success{ background:var(--gc-primary) !important; border:1px solid var(--gc-primary) !important; color:#fff !important; }
.gecotel-btn--success:hover{ background:var(--gc-primary-dark) !important; }
.gecotel-btn--outline,.gct-btn--ghost{
    background:#fff !important; color:var(--gc-primary) !important;
    border:1px solid var(--gc-border-2) !important;
}
.gecotel-btn--outline:hover,.gct-btn--ghost:hover{
    background:var(--gc-primary-soft) !important; color:var(--gc-primary-dark) !important;
    border-color:var(--gc-primary) !important;
}

/* ---- Caja del código de cliente (ámbar sobrio) --------------------------- */
.gecotel-client-code-box{
    background:var(--gc-accent-soft) !important;
    border:1px solid #f0e2b8 !important;
    border-left:3px solid var(--gc-accent) !important;
    border-radius:var(--gc-radius) !important;
    color:var(--gc-heading) !important;
    box-shadow:none !important;
}
.gecotel-client-code-label{ color:var(--gc-muted) !important; font-size:.8rem; }
.gecotel-client-code-value{
    color:var(--gc-primary-dark) !important; font-weight:700; letter-spacing:1px;
}

/* ---- Cajas de dirección / info / pedidos --------------------------------- */
.gecotel-address-box,
.gecotel-info-box,
.gecotel-orders-box{
    background:#fff !important;
    border:1px solid var(--gc-border) !important;
    border-radius:var(--gc-radius) !important;
    box-shadow:none !important;
}
.gecotel-info-box{ border-left:3px solid var(--gc-accent) !important; background:var(--gc-accent-soft) !important; }
.gecotel-address-box-title,
.gecotel-orders-box h4{ color:var(--gc-heading) !important; font-weight:600; }

/* ---- Tabla de pedidos ---------------------------------------------------- */
.gecotel-orders-table th{
    color:var(--gc-muted); border-bottom:1px solid var(--gc-border);
    text-transform:uppercase; letter-spacing:.4px; font-size:.72rem;
}
.gecotel-orders-table td{ border-bottom:1px solid var(--gc-border); color:var(--gc-text); }
.gecotel-order-status{
    background:var(--gc-accent-soft); color:var(--gc-accent-dark);
    border:1px solid #f0e2b8; border-radius:999px; font-size:.72rem; font-weight:600;
}

/* =============================================================================
   PANEL DEL CLIENTE — ancho completo, dos columnas (aside + contenido)
   Paleta minimalista: gris muy suave, rojo solo como acento puntual.
   ============================================================================= */
:root{
    --gc-line:#edeef0;        /* borde gris muy suave */
    --gc-soft:#f7f8f9;        /* fondo gris suave */
    --gc-ink:#2b2f36;         /* texto principal */
    --gc-ink-soft:#6b7178;    /* texto secundario */
}
.gc-app{
    display:flex; align-items:flex-start; gap:0;
    width:100%; max-width:100%;
    font-family:var(--gc-font); color:var(--gc-ink);
    background:#fff; border:1px solid var(--gc-line); border-radius:var(--gc-radius);
    overflow:hidden;
    -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}

/* Columna izquierda: opciones */
.gc-aside{
    flex:0 0 248px; width:248px; align-self:stretch;
    background:var(--gc-soft); border-right:1px solid var(--gc-line);
    padding:20px 0;
}
.gc-aside-head{
    display:flex; align-items:center; gap:12px; padding:0 20px 18px;
    border-bottom:1px solid var(--gc-line); margin-bottom:12px;
}
.gc-avatar{ border-radius:50%; object-fit:cover; }
.gc-aside-user{ display:flex; flex-direction:column; min-width:0; }
.gc-aside-name{ font-weight:600; font-size:.9rem; color:var(--gc-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gc-aside-code{ font-size:.75rem; color:var(--gc-ink-soft); letter-spacing:.3px; }

.gc-menu{ display:flex; flex-direction:column; }
.gc-menu-item{
    appearance:none; background:transparent; border:0; cursor:pointer; text-align:left;
    font-family:var(--gc-font); font-size:.9rem; font-weight:500; color:var(--gc-ink-soft);
    padding:.7rem 20px; border-left:2px solid transparent; text-decoration:none;
    transition:color .12s ease, background .12s ease;
}
.gc-menu-item:hover{ color:var(--gc-ink); background:rgba(0,0,0,.02); }
.gc-menu-item.is-active{
    color:var(--gc-primary); background:#fff;
    border-left-color:var(--gc-primary); font-weight:600;
}
.gc-menu-logout{ margin-top:10px; border-top:1px solid var(--gc-line); padding-top:1rem; color:var(--gc-ink-soft); }

/* Columna derecha: contenido */
.gc-main{ flex:1 1 auto; min-width:0; padding:26px 28px; }
.gc-view{ display:none; }
.gc-view.is-active{ display:block; }
.gc-view-title{ margin:0 0 18px; font-size:1.15rem; font-weight:600; color:var(--gc-ink); }

.gc-card{
    background:#fff; border:1px solid var(--gc-line); border-radius:var(--gc-radius);
    padding:20px; box-shadow:none;
}

/* Lista de datos (Mis datos) */
.gc-data{ margin:0; }
.gc-data-row{ display:flex; padding:12px 0; border-bottom:1px solid var(--gc-line); }
.gc-data-row:last-child{ border-bottom:0; }
.gc-data-row dt{ flex:0 0 190px; color:var(--gc-ink-soft); font-size:.85rem; }
.gc-data-row dd{ margin:0; color:var(--gc-ink); font-size:.9rem; }
.gc-empty{ color:#aab0b6; }

/* Tablas dentro del panel */
.gc-table{ width:100%; border-collapse:collapse; }
.gc-table th{
    text-align:left; font-size:.72rem; text-transform:uppercase; letter-spacing:.4px;
    color:var(--gc-ink-soft); padding:10px; border-bottom:1px solid var(--gc-line);
}
.gc-table td{ padding:12px 10px; border-bottom:1px solid var(--gc-line); font-size:.88rem; color:var(--gc-ink); }
.gc-table tr:last-child td{ border-bottom:0; }

/* Formulario de Ajustes */
.gc-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.gc-form-row{ display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
.gc-form-row label{ font-size:.8rem; font-weight:600; color:var(--gc-ink-soft); }
.gc-form input[type="text"],
.gc-form input[type="password"]{
    width:100%; padding:.6rem .7rem; font-size:.9rem; font-family:var(--gc-font);
    color:var(--gc-ink); background:#fff;
    border:1px solid var(--gc-border-2); border-radius:var(--gc-radius); box-shadow:none;
    transition:border-color .12s ease, box-shadow .12s ease;
}
.gc-form input:focus{
    outline:0; border-color:var(--gc-primary);
    box-shadow:0 0 0 3px rgba(193,36,29,.10);
}
.gc-avatar-edit{ display:flex; align-items:center; gap:14px; }
.gc-sep{ border:0; border-top:1px solid var(--gc-line); margin:8px 0 20px; }
.gc-form-actions{ margin-top:8px; }

.gc-btn{
    display:inline-block; background:var(--gc-primary); color:#fff !important;
    border:1px solid var(--gc-primary); border-radius:var(--gc-radius);
    padding:.6rem 1.1rem; font-size:.9rem; font-weight:600; cursor:pointer;
    text-decoration:none; box-shadow:none;
}
.gc-btn:hover{ background:var(--gc-primary-dark); border-color:var(--gc-primary-dark); }

/* Avisos */
.gc-notice{ padding:12px 14px; border-radius:var(--gc-radius); margin-bottom:18px; font-size:.88rem; border:1px solid; }
.gc-notice--ok{ background:#f4f8f5; border-color:#e4e7ea; color:#4b5563; }
.gc-notice--err{ background:#fbf3f3; border-color:#f0dada; color:var(--gc-primary-dark); }

.gc-guest{
    max-width:420px; margin:40px auto; text-align:center; padding:40px 24px;
    background:#fff; border:1px solid var(--gc-line); border-radius:var(--gc-radius);
    font-family:var(--gc-font); color:var(--gc-ink);
}

/* --- Limpieza dentro del panel: quitar cabeceras rojas de los shortcodes --- */
/* Shortcodes limpios: sin encabezados en ninguna parte */
.gecotel-card-header,
.gd-header{ display:none !important; }
/* La cabecera del cotizador (.gc-header) se oculta SOLO dentro del panel;
   en su página individual se muestra con el diseño hero. */
.gc-main .gc-header{ display:none !important; }
.gc-main .gecotel-success-header{ display:none !important; }
.gc-main .gecotel-container{ max-width:none; border:0; box-shadow:none; }
.gc-main .gecotel-card-body{ padding:0 !important; }

/* Los iconos (Font Awesome) sí deben verse; el dashboard los carga por CDN. */

/* Responsive: apilar en móvil */
@media (max-width:768px){
    .gc-app{ flex-direction:column; }
    .gc-aside{ flex-basis:auto; width:100%; border-right:0; border-bottom:1px solid var(--gc-line); }
    .gc-menu{ flex-flow:row wrap; }
    .gc-menu-item{ border-left:0; border-bottom:2px solid transparent; }
    .gc-menu-item.is-active{ border-left:0; border-bottom-color:var(--gc-primary); }
    .gc-form-grid{ grid-template-columns:1fr; }
    .gc-data-row{ flex-direction:column; gap:2px; }
    .gc-data-row dt{ flex-basis:auto; }
}

/* =============================================================================
   ADMIN — tarjetas/tablas del plugin con lenguaje AdminKit (sin sombras duras)
   ============================================================================= */
.gct-wrap .gct-page-title,
.gct-page-title{ color:var(--gc-heading); font-weight:600; }
.gct-card,.gct-stat{
    background:#fff; border:1px solid var(--gc-border); border-radius:var(--gc-radius);
    box-shadow:var(--gc-shadow) !important;
}
.gct-card h2{ color:var(--gc-heading); font-weight:600; font-size:1.05rem; }
.gct-stat{ border-top:3px solid var(--gc-accent); }
.gct-stat.gct-accent{ border-top-color:var(--gc-primary); }
.gct-stat.gct-ok{ border-top-color:var(--gc-success); }
.gct-stat.gct-info{ border-top-color:var(--gc-primary); }
.gct-stat-value{ color:var(--gc-heading); font-weight:700; }
.gct-stat-label{ color:var(--gc-muted); }
.gct-muted{ color:var(--gc-muted); }

/* ---- Icono de notificaciones en la barra superior ------------------------ */
#wp-admin-bar-gecotel-notifications .ab-icon.dashicons-bell{ color:var(--gc-accent); }
#wp-admin-bar-gecotel-notifications .gc-badge{
    display:inline-block; min-width:16px; height:16px; line-height:16px;
    padding:0 5px; margin-left:3px; border-radius:9px;
    background:var(--gc-primary); color:#fff; font-size:11px; font-weight:700; text-align:center;
}

/* =============================================================================
   Unificación tipográfica del módulo sistema (paquetes / tracking / calculadora)
   Aplica la fuente Inter y suaviza sombras/esquinas heredadas, sin tocar la
   maquetación ni los colores semánticos de estado.
   ============================================================================= */
.gecotel-dashboard,
.gecotel-tracking-public,
.gecotel-calc,
.tracking-container,
.tracking-form-box,
.tracking-results,
.tracking-history,
.gd-section,
.results-grid,
.info-card{
    font-family:var(--gc-font) !important;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    color:var(--gc-text);
}
/* Sombras más suaves y esquinas coherentes en tarjetas del sistema */
.gecotel-dashboard .info-card,
.gecotel-calc,
.tracking-form-box,
.tracking-results,
.gd-section,
.stripe-modal-content,
.tracking-modal-content{
    box-shadow:var(--gc-shadow) !important;
    border-radius:var(--gc-radius-lg) !important;
}
/* Botones del sistema con el mismo lenguaje que el resto */
.btn-gecotel,.form-button,.view-details-btn,.btn-solicitar,.btn-consolidar,
.btn-pagar,.btn-stripe,.btn-stripe-submit{
    font-family:var(--gc-font);
    border-radius:var(--gc-radius) !important;
    box-shadow:none !important;
}

/* =============================================================================
   AJUSTES v2 — sin sombras, responsive (hamburguesa), lista de paquetes móvil,
   almacenes/oficinas y un toque de amarillo.
   ============================================================================= */
:root{ --gc-amber:#edc72d; --gc-amber-soft:#fdf6e3; }

/* Quitar TODAS las sombras del plugin */
.gc-app, .gc-app *, .gecotel-container, [class*="gecotel-"], [class*="gct-"], [class*="gc-"]{
    box-shadow:none !important;
}

/* Mostrar/ocultar según dispositivo */
.gc-only-mobile{ display:none; }
.gc-only-desktop{ display:block; }

/* Hamburguesa (oculta en escritorio) */
.gc-burger{
    display:none; position:absolute; top:14px; right:14px; z-index:5;
    width:42px; height:42px; border:1px solid var(--gc-line); border-radius:var(--gc-radius);
    background:#fff; cursor:pointer; padding:10px;
}
.gc-burger span{ display:block; height:2px; background:var(--gc-ink); margin:3px 0; border-radius:2px; }

/* Texto introductorio y listados de direcciones */
.gc-lead{ color:var(--gc-ink-soft); font-size:.92rem; margin:0 0 16px; line-height:1.5; }
.gc-entries{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; }
.gc-entry{ border:1px solid var(--gc-line); border-left:3px solid var(--gc-amber); border-radius:var(--gc-radius); padding:14px 16px; }
.gc-entry-name{ font-weight:600; color:var(--gc-ink); margin-bottom:4px; }
.gc-entry-addr{ color:var(--gc-ink); font-size:.9rem; }
.gc-entry-extra{ color:var(--gc-ink-soft); font-size:.85rem; margin-top:4px; }

/* Lista de paquetes (móvil): foto, código, estado, detalles, checkbox */
.gc-pkg-list{ display:flex; flex-direction:column; gap:10px; }
.gc-pkg{
    display:flex; align-items:center; gap:12px;
    border:1px solid var(--gc-line); border-radius:var(--gc-radius); padding:10px 12px; background:#fff;
}
.gc-pkg-check{ width:20px; height:20px; flex:0 0 auto; accent-color:var(--gc-amber); }
.gc-pkg-thumb{ width:52px; height:52px; flex:0 0 auto; border-radius:var(--gc-radius); overflow:hidden; background:var(--gc-soft); display:flex; align-items:center; justify-content:center; }
.gc-pkg-thumb img{ width:100%; height:100%; object-fit:cover; }
.gc-pkg-noimg{ width:22px; height:22px; border:2px solid #cfd4d9; border-radius:4px; }
.gc-pkg-info{ display:flex; flex-direction:column; gap:2px; flex:1 1 auto; min-width:0; }
.gc-pkg-code{ font-weight:600; color:var(--gc-ink); font-size:.9rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gc-pkg-status{ font-size:.72rem; color:var(--gc-ink-soft); }
.gc-pkg-kilo{ font-size:.78rem; color:var(--gc-ink-soft); }
.gc-pkg-details{
    flex:0 0 auto; background:#fff; color:var(--gc-primary); border:1px solid var(--gc-border-2);
    border-radius:var(--gc-radius); padding:.4rem .7rem; font-size:.82rem; font-weight:600; cursor:pointer;
}
.gc-pkg-details:hover{ background:var(--gc-primary-soft); border-color:var(--gc-primary); }
.gc-pkg-calc{
    position:sticky; bottom:0; margin-top:14px; padding:12px 14px;
    background:var(--gc-amber-soft); border:1px solid #f0e2b8; border-radius:var(--gc-radius);
}
.gc-pkg-calc-row{ display:flex; flex-wrap:wrap; gap:16px; font-size:.85rem; color:var(--gc-ink); }
.gc-pkg-calc-row strong{ color:var(--gc-primary-dark); }

/* --------- RESPONSIVE: tablet y móvil --------- */
@media (max-width:1024px){
    .gc-aside{ flex-basis:210px; width:210px; }
    .gc-main{ padding:22px; }
}
@media (max-width:768px){
    .gc-app{ position:relative; display:block; }
    .gc-burger{ display:block; }
    /* Menú lateral como panel desplegable (hamburguesa) */
    .gc-aside{
        display:none; width:100%; border-right:0; border-bottom:1px solid var(--gc-line);
    }
    .gc-app.gc-open .gc-aside{ display:block; }
    .gc-menu{ flex-direction:column; }
    .gc-menu-item{ border-left:0; border-bottom:1px solid var(--gc-line); padding:.85rem 18px; }
    .gc-menu-item.is-active{ border-left:0; background:var(--gc-primary-soft); }
    .gc-main{ padding:56px 16px 22px; }   /* deja hueco para el botón hamburguesa */
    .gc-view-title{ font-size:1.05rem; }
    /* Alternancia escritorio/móvil */
    .gc-only-desktop{ display:none; }
    .gc-only-mobile{ display:block; }
    /* Datos en una columna */
    .gc-data-row{ flex-direction:column; gap:2px; }
    .gc-data-row dt{ flex-basis:auto; }
    .gc-form-grid{ grid-template-columns:1fr; }
    .gc-entries{ grid-template-columns:1fr; }
}

/* ---- Enlaces del menú (Tienda, Precios, Ayuda, Acerca) ------------------- */
.gc-menu-link{ color:var(--gc-ink-soft); }
.gc-menu-link:hover{ color:var(--gc-primary); background:rgba(0,0,0,.02); }

/* ---- Carrito (WooCommerce) ----------------------------------------------- */
.gc-cart-table .gc-cart-prod{ display:flex; align-items:center; gap:10px; }
.gc-cart-thumb img{ width:40px; height:40px; object-fit:cover; border-radius:var(--gc-radius); }
.gc-cart-total{
    display:flex; justify-content:space-between; align-items:center;
    padding:14px 4px 6px; border-top:1px solid var(--gc-line); margin-top:6px;
    font-size:1rem;
}
.gc-cart-total strong{ color:var(--gc-primary-dark); font-size:1.1rem; }
.gc-cart-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.gc-btn--ghost{
    background:#fff !important; color:var(--gc-primary) !important;
    border:1px solid var(--gc-border-2) !important;
}
.gc-btn--ghost:hover{ background:var(--gc-primary-soft) !important; border-color:var(--gc-primary) !important; }

/* =============================================================================
   RASTREO — variante HERO ([gecotel_tracking_hero]) y pulido de la general
   ============================================================================= */
.gc-track-hero{
    max-width:720px; margin:0 auto; text-align:center;
    font-family:var(--gc-font); color:#fff;
}
.gc-track-hero-title{
    margin:0 0 6px; font-size:1.9rem; font-weight:700; color:inherit; line-height:1.2;
}
.gc-track-hero-sub{
    margin:0 0 20px; font-size:1rem; opacity:.9; color:inherit;
}
.gc-track-hero-form{
    display:flex; gap:10px; align-items:stretch;
    background:#fff; padding:8px; border-radius:12px; border:1px solid var(--gc-line);
}
.gc-track-hero-input{
    flex:1 1 auto; min-width:0; width:100%;
    border:0; outline:0; background:transparent;
    padding:0 16px; height:56px; font-size:1.05rem; color:#1f2430;
    font-family:var(--gc-font);
}
.gc-track-hero-input::placeholder{ color:#9aa1a9; }
.gc-track-hero-btn{
    flex:0 0 auto; border:0; cursor:pointer;
    background:var(--gc-primary); color:#fff;
    font-size:1rem; font-weight:700; font-family:var(--gc-font);
    padding:0 34px; height:56px; border-radius:8px;
    transition:background .15s ease;
}
.gc-track-hero-btn:hover{ background:var(--gc-primary-dark); }
.gc-track-hero-btn:active{ transform:translateY(1px); }

@media (max-width:560px){
    .gc-track-hero-title{ font-size:1.5rem; }
    .gc-track-hero-form{ flex-direction:column; padding:10px; }
    .gc-track-hero-input{ height:52px; text-align:center; }
    .gc-track-hero-btn{ height:52px; padding:0; width:100%; }
}

/* Pulido de la variante GENERAL ([tracking_package]) */
.gecotel-tracking-public .input-with-button{ display:flex; gap:10px; }
.gecotel-tracking-public .form-input{
    flex:1 1 auto; height:52px; padding:0 16px; font-size:1rem;
    border:1px solid var(--gc-border-2); border-radius:8px; font-family:var(--gc-font);
}
.gecotel-tracking-public .form-input:focus{
    outline:0; border-color:var(--gc-primary); box-shadow:0 0 0 3px rgba(193,36,29,.10);
}
.gecotel-tracking-public .form-button{
    height:52px; padding:0 30px; border:0; cursor:pointer;
    background:var(--gc-primary) !important; color:#fff !important;
    font-weight:700; border-radius:8px; font-family:var(--gc-font);
}
.gecotel-tracking-public .form-button:hover{ background:var(--gc-primary-dark) !important; }

/* =============================================================================
   AJUSTES v3 — registro 2 columnas, transportistas y rastreo profesionales
   ============================================================================= */

/* ---- Registro: dos columnas + contenedor sin fondo ---------------------- */
.gecotel-container:has(#gecotelRegisterForm){
    background:transparent !important; border:0 !important; box-shadow:none !important;
    max-width:820px;
}
#gecotelRegisterForm{
    display:grid; grid-template-columns:1fr 1fr; gap:14px 20px;
}
#gecotelRegisterForm .gecotel-form-group{ margin:0; }
/* Campos que ocupan toda la fila */
#gecotelRegisterForm .gecotel-form-group:has(.gecotel-form-row),
#gecotelRegisterForm .gecotel-checkbox-wrap,
#gecotelRegisterForm .gecotel-checkbox-label,
#gecotelRegisterForm .gecotel-actions,
#gecotelRegisterForm .gecotel-form-footer,
#gecotelRegisterForm .gecotel-info-box,
#gecotelRegisterForm .gecotel-address-box,
#gecotelRegisterForm .gecotel-field-error{ grid-column:1 / -1; }
@media (max-width:640px){
    #gecotelRegisterForm{ grid-template-columns:1fr; }
}

/* ---- Rastreo: resultados profesionales, fuente menor, sin fondo verde --- */
.gecotel-tracking-public .tracking-results{
    background:transparent !important; box-shadow:none !important;
    font-size:.9rem; color:var(--gc-text);
}
.gecotel-tracking-public .results-header{
    background:#f7f8f9 !important; border:1px solid #edeef0 !important;
    border-radius:10px; padding:14px 16px !important; color:#1f2430 !important;
}
.gecotel-tracking-public .results-code{
    font-size:1.05rem !important; font-weight:700; color:var(--gc-primary-dark) !important;
    letter-spacing:.4px;
}
.gecotel-tracking-public .results-grid,
.gecotel-tracking-public .info-card{
    background:#fff !important; border:1px solid #edeef0 !important; border-radius:10px;
    font-size:.88rem;
}
.gecotel-tracking-public .info-card *{ font-size:inherit; }
.gecotel-tracking-public .status-bubble,
.gecotel-tracking-public .status-display{
    background:#f2f3f5 !important; color:#4b5563 !important; border:0 !important;
}
.gecotel-tracking-public .no-results{
    background:#fff !important; border:1px solid #edeef0 !important; border-radius:10px;
    color:var(--gc-ink-soft) !important; font-size:.95rem;
}
.gecotel-tracking-public h3{ font-size:1rem !important; }
.gecotel-tracking-public .timeline-content,
.gecotel-tracking-public .tracking-history{ font-size:.85rem; }

/* ---- Login ([gecotel_login]) --------------------------------------------- */
.gc-login-container{ max-width:420px; background:#fff; }
.gc-login-title{ margin:0 0 18px; font-size:1.4rem; font-weight:700; color:var(--gc-ink, #2b2f36); text-align:center; }
.gc-login-form .gecotel-form-group{ margin-bottom:14px; }
.gc-login-remember{ display:flex; align-items:center; gap:8px; font-size:.85rem; color:var(--gc-ink-soft, #6b7178); margin:6px 0 16px; }
.gc-login-btn{ width:100%; text-align:center; padding:.7rem 1rem; }
.gc-login-google{
    display:block; text-align:center; margin-top:12px; padding:.65rem 1rem;
    border:1px solid var(--gc-border-2, #ced4da); border-radius:var(--gc-radius,4px);
    color:#1f2430 !important; text-decoration:none; font-weight:600; background:#fff;
}
.gc-login-google:hover{ background:#f7f8f9; }
.gc-login-alt{ text-align:center; margin-top:16px; font-size:.85rem; }
.gc-login-alt a{ color:var(--gc-primary,#c1241d); text-decoration:none; }

/* Botón Google: distintivo "G" */
.gc-login-google{ display:flex; align-items:center; justify-content:center; gap:8px; }
.gc-google-g{
    display:inline-flex; align-items:center; justify-content:center;
    width:20px; height:20px; border-radius:50%; background:#fff;
    color:#4285F4; font-weight:800; font-family:Arial, sans-serif; font-size:14px;
    border:1px solid #e6e6e6;
}

/* =============================================================================
   DISEÑO "Estima tu Envío" — Cotizador y Tracking en páginas individuales
   Paleta: amarillo #edc72d, rojo #c1241d, oscuro #1e1e2a, gris #f5f6fa.
   ============================================================================= */
.gecotel-calc, .gecotel-tracking-public{
    --geco-yellow:#edc72d; --geco-red:#c1241d; --geco-dark:#1e1e2a;
    --geco-text:#4a4a5a; --geco-line:#eaebf0; --geco-soft:#f8f9fa;
    font-family:"Inter",var(--gc-font);
    color:var(--geco-text);
    max-width:1000px; margin:0 auto; padding:10px 16px 40px;
    -webkit-font-smoothing:antialiased;
}

/* Cabecera tipo "hero"/título centrado con degradado oscuro→rojo */
.gecotel-calc .gc-header,
.gecotel-tracking-public .tracking-form-box > h3{
    text-align:center; margin:6px 0 26px; padding:0;
    background:transparent !important; border:0 !important; color:var(--geco-dark) !important;
}
.gecotel-calc .gc-header h1,
.gecotel-calc .gc-header h2,
.gecotel-tracking-public .tracking-form-box > h3{
    font-size:2rem; font-weight:800; line-height:1.2; margin:0;
    background:linear-gradient(135deg,var(--geco-dark) 0%,var(--geco-red) 100%);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.gecotel-calc .gc-header p{ color:#5a5a6a; margin-top:.4rem; font-size:1rem; }

/* Tarjeta del formulario */
.gecotel-calc .gc-form,
.gecotel-tracking-public .tracking-form-box{
    background:#fff; border:1px solid var(--geco-line); border-radius:20px;
    padding:2.4rem; box-shadow:0 4px 24px rgba(0,0,0,.06) !important;
}
@media (max-width:576px){
    .gecotel-calc .gc-form,
    .gecotel-tracking-public .tracking-form-box{ padding:1.3rem; border-radius:16px; }
    .gecotel-calc .gc-header h1,.gecotel-calc .gc-header h2,
    .gecotel-tracking-public .tracking-form-box > h3{ font-size:1.6rem; }
}

/* Etiquetas */
.gecotel-calc .gc-field label,
.gecotel-calc label,
.gecotel-tracking-public .form-label{
    font-weight:600; color:var(--geco-dark); font-size:.9rem; margin-bottom:.4rem; display:block;
}

/* Campos (inputs / selects) */
.gecotel-calc .gc-input,
.gecotel-calc .gc-select,
.gecotel-calc input[type="text"],
.gecotel-calc input[type="number"],
.gecotel-calc select,
.gecotel-tracking-public .form-input{
    width:100%; border:1px solid var(--geco-line) !important; border-radius:12px !important;
    padding:11px 16px !important; font-size:.95rem; color:var(--geco-dark) !important;
    background:var(--geco-soft) !important; box-shadow:none !important;
    transition:border-color .2s ease, background .2s ease; font-family:"Inter",var(--gc-font);
    height:auto !important;
}
.gecotel-calc .gc-input:focus,
.gecotel-calc .gc-select:focus,
.gecotel-calc input:focus,
.gecotel-calc select:focus,
.gecotel-tracking-public .form-input:focus{
    border-color:var(--geco-yellow) !important;
    box-shadow:0 0 0 3px rgba(237,199,45,.15) !important;
    background:#fff !important; outline:0 !important;
}

/* Botón principal: oscuro que pasa a rojo (cotizador) */
.gecotel-calc .gc-btn-submit{
    background:var(--geco-dark) !important; color:#fff !important; border:0 !important;
    padding:13px 40px !important; border-radius:50px !important; font-weight:600; font-size:1rem;
    width:100%; transition:all .2s ease; cursor:pointer;
}
.gecotel-calc .gc-btn-submit:hover{
    background:var(--geco-red) !important;
    transform:translateY(-2px); box-shadow:0 8px 24px rgba(193,36,29,.25) !important;
}
/* Botón de rastreo: rojo relleno, texto blanco */
.gecotel-tracking-public .form-button{
    background:var(--geco-red) !important; color:#fff !important; border:0 !important;
    padding:0 32px !important; height:52px; border-radius:50px !important; font-weight:700;
}
.gecotel-tracking-public .form-button:hover{ background:#9e1d17 !important; }

/* Botones secundarios (seleccionar transportista, etc.) */
.gecotel-calc .gc-btn-select{
    background:var(--geco-yellow) !important; color:var(--geco-dark) !important; border:0 !important;
    border-radius:50px !important; font-weight:600; padding:9px 22px !important;
}
.gecotel-calc .gc-btn-select:hover{ background:#c9a616 !important; }

/* Píldora de total / etiquetas de peso */
.gecotel-calc .gc-total-pill{
    background:var(--geco-yellow) !important; color:var(--geco-dark) !important;
    border-radius:50px; font-weight:700;
}

/* Resultados: contenedor gris redondeado */
.gecotel-calc .gc-results,
.gecotel-tracking-public .tracking-results{
    margin-top:2rem; padding:2rem; background:var(--geco-soft) !important;
    border:1px solid var(--geco-line) !important; border-radius:20px; box-shadow:none !important;
}
.gecotel-calc .gc-results-title,
.gecotel-tracking-public .results-header{
    text-align:center; color:var(--geco-dark) !important; background:transparent !important; border:0 !important;
}

/* Precio grande en rojo (cotizador) y código de rastreo destacado */
.gecotel-calc .gc-price-amount{
    font-size:3rem !important; font-weight:800 !important; color:var(--geco-red) !important;
    text-align:center; line-height:1;
}
.gecotel-calc .gc-price-label{ text-align:center; color:var(--geco-text); font-weight:400; }
.gecotel-tracking-public .results-code{
    font-size:1.6rem !important; font-weight:800 !important; color:var(--geco-red) !important;
    text-align:center; letter-spacing:.5px;
}

/* Tarjetas de detalle (info-card / meta-item) tipo grid */
.gecotel-tracking-public .results-grid,
.gecotel-calc .gc-route-grid{
    display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1rem; margin-top:1.5rem;
}
.gecotel-tracking-public .info-card,
.gecotel-calc .gc-meta-item{
    background:#fff !important; padding:1.1rem 1.2rem !important; border-radius:12px !important;
    border:1px solid var(--geco-line) !important; font-size:.9rem;
}
.gecotel-tracking-public .info-card h4{ color:var(--geco-dark) !important; font-size:.95rem; margin:0 0 8px; }

/* Estado (bubble) en amarillo/oscuro, nada de verde */
.gecotel-tracking-public .status-bubble,
.gecotel-tracking-public .status-display{
    background:var(--geco-yellow) !important; color:var(--geco-dark) !important; border:0 !important;
    border-radius:50px !important; font-weight:700;
}

/* Historial */
.gecotel-tracking-public .tracking-history{ margin-top:1.5rem; }
.gecotel-tracking-public .no-results{
    background:#fff !important; border:1px solid var(--geco-line) !important; border-radius:16px;
    color:var(--geco-text) !important; text-align:center;
}

/* ---- Lista de paquetes móvil: selección + modal de detalles -------------- */
.gc-pkg{ cursor:pointer; }
.gc-pkg.is-selected{ border-color:var(--gc-primary); background:var(--gc-primary-soft); }
.gc-pkg-noimg .fas{ color:#c9ced4; font-size:20px; }
.gc-pkg-modal{
    position:fixed; inset:0; background:rgba(20,22,26,.55); z-index:99999;
    display:none; align-items:center; justify-content:center; padding:16px;
}
.gc-pkg-modal.is-open{ display:flex; }
.gc-pkg-modal-box{
    background:#fff; border-radius:14px; width:100%; max-width:560px;
    max-height:85vh; overflow:auto; position:relative; padding:22px;
    font-family:var(--gc-font);
}
.gc-pkg-modal-close{
    position:absolute; top:10px; right:14px; border:0; background:transparent;
    font-size:26px; line-height:1; cursor:pointer; color:#8a9099;
}
.gc-pkg-modal-body{ font-size:.9rem; color:var(--gc-ink); }
.gc-pkg-modal-body img{ max-width:100%; height:auto; border-radius:8px; }

/* =============================================================================
   Paquetes dentro del panel: la columna es estrecha, así que forzamos que la
   comparación de transportistas y el total se apilen (no se rompan).
   ============================================================================= */
.gc-main .gd-carriers-options{ grid-template-columns:1fr !important; }
.gc-main .gd-carrier-option{ flex-wrap:wrap; align-items:flex-start; }
.gc-main .gd-carrier-logo-box{ flex:0 0 auto; }
.gc-main .gd-carrier-meta-box{ flex:1 1 60%; min-width:0; }
.gc-main .gd-carrier-total{
    border-left:0 !important; padding-left:0 !important; min-width:0 !important;
    width:100%; align-items:flex-start !important; text-align:left !important;
    margin-top:10px; padding-top:10px; border-top:1px solid #eef0f3;
}
.gc-main .gd-result-total{ flex-direction:column !important; text-align:center; gap:6px; }
.gc-main .gd-result-total strong{ word-break:break-word; }
/* Evitar desbordes horizontales del dashboard dentro del panel */
.gc-main .gd-dashboard,
.gc-main [class^="gd-"],
.gc-main [class^="tracking-"]{ max-width:100%; }
.gc-main .gd-dims-grid{ grid-template-columns:repeat(2,1fr) !important; }
