/* ============================================================
   COMVE — Sistema visual dark-first.
   Fuente de verdad: Identidad de Marca 1.0 (Figma).
   Regla del manual: 1 color = 1 funcion. El color ordena, no decora.
   El blanco se reserva para informacion critica.
   ============================================================ */

:root{
  /* --- Paleta principal (dark-first) --- */
  --comve-base:#101534;        /* Azul petroleo oscuro - fondo base */
  --comve-noche:#1A214C;       /* Azul noche - contenedores, navbar */
  --comve-profundo:#232C63;    /* Azul profundo - cards, bloques activos */
  --comve-vibrante:#394897;    /* Azul vibrante - hover, isotipo */

  /* --- Estructurales --- */
  --comve-prof2:#171C3F;       /* fondo secundario profundo */
  --comve-gris-azul:#343852;   /* fondo informativo / bordes */
  --comve-resalte:#6A7CD7;     /* resalte oscuro funcional */
  --comve-resalte-suave:#C2CBFF;

  /* --- Contenido --- */
  --comve-blanco:#FFFFFF;      /* informacion critica */
  --comve-claro:#D9D9D9;       /* texto secundario */
  --comve-medio:#9C9C9C;       /* texto suave */
  --comve-oscuro:#333333;      /* deshabilitado */

  /* --- Accion (nunca dos acentos fuertes en la misma vista) --- */
  --comve-cta:#3C5AFF;         /* azul brillante - accion principal */
  --comve-cta-hover:#2945E8;
  --comve-premium:#5932B1;     /* purpura - premium / innovacion */
  --comve-exito:#8CC63F;       /* verde lima - estado positivo */
  --comve-alerta:#FF8C00;      /* naranja - urgencia controlada */

  /* --- Forma --- */
  --comve-r-sm:10px;
  --comve-r:14px;
  --comve-r-lg:20px;
  --comve-r-full:999px;
  --comve-sombra:0 1px 2px rgba(0,0,0,.30), 0 8px 24px rgba(0,0,0,.28);
  --comve-borde:1px solid var(--comve-gris-azul);
  --comve-foco:0 0 0 3px rgba(60,90,255,.45);

  /* --- Tipografia (escala modular 1.2, interlineado 130%) --- */
  --comve-fuente:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --comve-display:"Space Grotesk","Inter",-apple-system,BlinkMacSystemFont,sans-serif;

  /* --- Puente con Blocksy: rebranding nativo del tema --- */
  --theme-palette-color-1:#3C5AFF;
  --theme-palette-color-2:#6A7CD7;
  --theme-palette-color-3:#D9D9D9;
  --theme-palette-color-4:#FFFFFF;
  --theme-palette-color-5:#343852;
  --theme-palette-color-6:#1A214C;
  --theme-palette-color-7:#101534;
  --theme-palette-color-8:#232C63;
  --theme-text-color:#D9D9D9;
  --theme-headings-color:#FFFFFF;
  --theme-link-initial-color:#6A7CD7;
  --theme-link-hover-color:#C2CBFF;
  --theme-font-family:var(--comve-fuente);
  --theme-button-background-initial-color:#3C5AFF;
  --theme-button-background-hover-color:#2945E8;
  --theme-button-text-initial-color:#FFFFFF;
  --theme-button-text-hover-color:#FFFFFF;
  --theme-border-radius:var(--comve-r);
  --theme-form-text-initial-color:#FFFFFF;
  --theme-form-field-border-initial-color:#343852;
  --theme-form-field-border-focus-color:#3C5AFF;
}

/* ============================================================
   1. BASE
   ============================================================ */
html{-webkit-text-size-adjust:100%;}
body{
  background:var(--comve-base);
  color:var(--comve-claro);
  font-family:var(--comve-fuente);
  font-size:16px;
  line-height:1.4;
  letter-spacing:0;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5,h6,
.entry-title,.page-title,.woocommerce-loop-product__title,.product_title{
  font-family:var(--comve-fuente);
  color:var(--comve-blanco);
  font-weight:600;
  line-height:1.2;
  letter-spacing:0;
}
/* El manual reserva Space Grotesk para titulos estrategicos y prohibe mas de
   dos familias por pieza: Inter ordena, Space Grotesk acentua. */
.comve-hero h1,.comve-seccion-cab h2,.comve-cta-final h2,
.comve-marca-nombre,.comve-vacio-titulo{
  font-family:var(--comve-display);
  font-weight:700;
}
h1,.page-title,.entry-title{font-size:clamp(28px,4.5vw,44px);}
h2{font-size:clamp(23px,3vw,32px);}
h3{font-size:clamp(19px,2.2vw,24px);}
h4{font-size:18px;}
p{margin:0 0 1em;}
strong,b{color:var(--comve-blanco);font-weight:600;}
a{color:var(--comve-resalte);text-decoration-thickness:1px;text-underline-offset:2px;}
a:hover,a:focus{color:var(--comve-resalte-suave);}
:focus-visible{outline:none;box-shadow:var(--comve-foco);border-radius:var(--comve-r-sm);}
hr{border:0;border-top:var(--comve-borde);margin:32px 0;}
img{max-width:100%;height:auto;}
::selection{background:var(--comve-cta);color:#fff;}

/* ============================================================
   2. SUPERFICIES DEL TEMA
   ============================================================ */
#main-container,.site-main,#content,.ct-container,.ct-container-full,
.hentry,.entry-content,article.post,article.page{background:transparent;}
.ct-header,header#header{background:var(--comve-noche);border-bottom:var(--comve-borde);}
.ct-header [data-id="logo"] .site-title{font-family:var(--comve-display);color:var(--comve-blanco);}
.ct-header a,.ct-header .ct-menu-link{color:var(--comve-claro);}
.ct-header a:hover,.ct-header .ct-menu-link:hover{color:var(--comve-blanco);}
.ct-footer{background:var(--comve-prof2);border-top:var(--comve-borde);color:var(--comve-medio);}
.ct-footer a{color:var(--comve-claro);}
.ct-footer a:hover{color:var(--comve-blanco);}
.ct-drawer-canvas,#offcanvas,.ct-panel-content{background:var(--comve-noche);color:var(--comve-claro);}
.ct-sidebar,.widget-area{background:transparent;}

/* Menu: pildora activa de marca */
.ct-header .menu-item>a{border-radius:var(--comve-r-full);transition:color .15s,background .15s;}
.ct-header .current-menu-item>a,.ct-header .current_page_item>a{color:var(--comve-blanco);}

/* ============================================================
   3. BOTONES
   ============================================================ */
.comve-boton,
.wp-block-button__link,
.ct-button,
button.button,input.button,a.button,
.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,
.dokan-btn,.dokan-btn-theme,a.dokan-btn-theme,
.single_add_to_cart_button,.checkout-button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--comve-cta);color:#fff !important;
  font-family:var(--comve-fuente);font-weight:600;font-size:16px;line-height:1.2;
  padding:13px 24px;min-height:48px;
  border:0;border-radius:var(--comve-r-full);
  text-decoration:none;cursor:pointer;
  transition:background .15s ease,transform .08s ease;
}
.comve-boton:hover,.wp-block-button__link:hover,.ct-button:hover,
button.button:hover,a.button:hover,input.button:hover,
.woocommerce button.button:hover,.woocommerce a.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.dokan-btn-theme:hover,.single_add_to_cart_button:hover,.checkout-button:hover{
  background:var(--comve-cta-hover);color:#fff !important;
}
.comve-boton:active,.woocommerce a.button:active,button.button:active{transform:translateY(1px);}
.comve-boton--fantasma,.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent;color:var(--comve-blanco) !important;
  border:1px solid var(--comve-resalte);
}
.comve-boton--fantasma:hover,.wp-block-button.is-style-outline .wp-block-button__link:hover{
  background:rgba(106,124,215,.14);border-color:var(--comve-resalte-suave);color:#fff !important;
}
.comve-boton--bloque{width:100%;}

/* ============================================================
   4. FORMULARIOS
   ============================================================ */
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],
input[type=password],input[type=search],input[type=date],select,textarea,
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row select,.select2-container .select2-selection--single,
.dokan-form-control{
  width:100%;background:var(--comve-prof2);color:var(--comve-blanco);
  border:1px solid var(--comve-gris-azul);border-radius:var(--comve-r-sm);
  padding:12px 14px;min-height:48px;font-size:16px;font-family:var(--comve-fuente);
  transition:border-color .15s,box-shadow .15s;
}
input::placeholder,textarea::placeholder{color:var(--comve-medio);}
input:focus,select:focus,textarea:focus,.dokan-form-control:focus{
  border-color:var(--comve-cta);box-shadow:var(--comve-foco);outline:none;
}
label,.woocommerce form .form-row label{color:var(--comve-blanco);font-weight:600;font-size:15px;margin-bottom:6px;display:block;}
select{appearance:none;-webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--comve-medio) 50%),linear-gradient(135deg,var(--comve-medio) 50%,transparent 50%);
  background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:44px;}
.select2-dropdown,.select2-container--default .select2-results__option{background:var(--comve-noche);color:var(--comve-claro);border-color:var(--comve-gris-azul);}
.select2-container--default .select2-results__option--highlighted{background:var(--comve-cta);color:#fff;}

/* ============================================================
   5. WOOCOMMERCE
   ============================================================ */
.woocommerce ul.products li.product,.wc-block-grid__product,
.woocommerce div.product .woocommerce-tabs,.woocommerce-checkout #order_review,
.woocommerce-cart .cart_totals,.woocommerce-account .woocommerce-MyAccount-content{
  background:var(--comve-profundo);border:var(--comve-borde);
  border-radius:var(--comve-r);padding:16px;box-shadow:var(--comve-sombra);
}
.woocommerce ul.products li.product{transition:transform .15s ease,border-color .15s ease;}
.woocommerce ul.products li.product:hover{transform:translateY(-2px);border-color:var(--comve-resalte);}
.woocommerce ul.products li.product a img{border-radius:var(--comve-r-sm);margin-bottom:12px;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--comve-fuente);font-size:16px;font-weight:600;color:var(--comve-blanco);line-height:1.35;}
.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price{
  color:var(--comve-blanco);font-family:var(--comve-display);font-weight:700;font-size:20px;}
.woocommerce div.product p.price{font-size:30px;}
.woocommerce ul.products li.product .price del,.woocommerce div.product p.price del{color:var(--comve-medio);font-weight:400;font-size:.7em;}
.woocommerce ul.products li.product .price ins{text-decoration:none;}
.woocommerce span.onsale{background:var(--comve-alerta);color:#141414;font-weight:700;border-radius:var(--comve-r-full);padding:4px 12px;min-height:0;line-height:1.6;font-size:13px;}
.woocommerce .star-rating span::before,.woocommerce .star-rating::before{color:var(--comve-alerta);}
.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:var(--comve-borde);padding:0;margin:0 0 16px;}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;margin:0 18px 0 0;padding:0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--comve-medio);font-weight:600;padding:10px 0;display:inline-block;border-bottom:2px solid transparent;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--comve-blanco);border-bottom-color:var(--comve-cta);}
.woocommerce table.shop_table,.woocommerce table.shop_attributes{
  background:var(--comve-profundo);border:var(--comve-borde);border-radius:var(--comve-r);border-collapse:separate;border-spacing:0;overflow:hidden;color:var(--comve-claro);}
.woocommerce table.shop_table th{background:var(--comve-noche);color:var(--comve-blanco);font-weight:600;}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-top:1px solid var(--comve-gris-azul);padding:14px;}
.woocommerce table.shop_table tfoot td,.woocommerce table.shop_table tfoot th{color:var(--comve-blanco);}
.woocommerce .quantity .qty{background:var(--comve-prof2);color:#fff;border:1px solid var(--comve-gris-azul);border-radius:var(--comve-r-sm);min-height:48px;}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments{
  background:var(--comve-noche);color:var(--comve-claro);border:var(--comve-borde);
  border-top:0;border-left:3px solid var(--comve-cta);border-radius:var(--comve-r-sm);padding:16px 20px;}
.woocommerce-message{border-left-color:var(--comve-exito);}
.woocommerce-error{border-left-color:var(--comve-alerta);}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none;}
.woocommerce-message a.button,.woocommerce-info a.button{margin-left:12px;}
.woocommerce .woocommerce-breadcrumb,.woocommerce-breadcrumb a{color:var(--comve-medio);font-size:14px;}
.woocommerce-checkout #payment{background:var(--comve-noche);border-radius:var(--comve-r);border:var(--comve-borde);}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:var(--comve-borde);}
.woocommerce-checkout #payment div.payment_box{background:var(--comve-prof2);color:var(--comve-claro);border-radius:var(--comve-r-sm);}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--comve-prof2);}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;}
.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0 0 6px;}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block;padding:12px 16px;border-radius:var(--comve-r-sm);color:var(--comve-claro);font-weight:500;}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--comve-noche);color:var(--comve-blanco);}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--comve-cta);color:#fff;}
.woocommerce-form-login,.woocommerce-form-register,.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{
  background:var(--comve-profundo);border:var(--comve-borde);border-radius:var(--comve-r);padding:24px;}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{width:100%;font-size:17px;}
.woocommerce .cart-collaterals h2,.woocommerce-checkout h3{font-size:20px;}

/* ============================================================
   6. DOKAN (tienda, listado y panel del vendedor)
   ============================================================ */
.dokan-store-wrap,.dokan-single-store,.dokan-dashboard-wrap,.dokan-dashboard-content,
.dokan-seller-listing li .dokan-single-seller,.seller-listing-content,
.dokan-store-sidebar,.dokan-widget-area,.dokan-panel,.dokan-panel-default{
  background:var(--comve-profundo);color:var(--comve-claro);
  border:var(--comve-borde);border-radius:var(--comve-r);}
.dokan-dashboard .dokan-dash-sidebar{background:var(--comve-noche);border-radius:var(--comve-r);}
.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li a{color:var(--comve-claro);}
.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li.active,
.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li:hover{background:var(--comve-cta);}
.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li.active a,
.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li:hover a{color:#fff;}
.dokan-store-info,.dokan-store-contact,.profile-info-box,.dokan-store-tabs{
  background:var(--comve-noche);border:var(--comve-borde);border-radius:var(--comve-r);color:var(--comve-claro);}
.dokan-store-tabs ul li a{color:var(--comve-claro);}
.dokan-store-tabs ul li.active a{color:var(--comve-blanco);border-bottom:2px solid var(--comve-cta);}
.dokan-panel-heading,.dokan-panel-default>.dokan-panel-heading{background:var(--comve-noche);color:var(--comve-blanco);border-bottom:var(--comve-borde);}
.dokan-seller-search-form,.dokan-store-products-filter-area,.seller-listing-content .dokan-store-list-filter-wrap{
  background:var(--comve-noche);border:var(--comve-borde);border-radius:var(--comve-r);color:var(--comve-claro);}
/* Dokan pinta el "no hay resultados" como error rojo. No es un error. */
.dokan-error,.dokan-info,.dokan-message{
  background:var(--comve-noche) !important;border:var(--comve-borde) !important;
  border-left:3px solid var(--comve-resalte) !important;border-radius:var(--comve-r-sm) !important;
  color:var(--comve-claro) !important;padding:20px !important;text-align:center;box-shadow:none !important;}
.dokan-message{border-left-color:var(--comve-exito) !important;}
.dokan-error:before,.dokan-error:after,.dokan-error>.dokan-close,.dokan-alert-close{display:none !important;}
.dokan-table,table.dokan-table{background:var(--comve-profundo);color:var(--comve-claro);border-color:var(--comve-gris-azul);}
.dokan-table thead th{background:var(--comve-noche);color:var(--comve-blanco);border-color:var(--comve-gris-azul);}
.dokan-table td,.dokan-table th{border-color:var(--comve-gris-azul);}
.dokan-dashboard-content .dokan-dashboard-header h1,.dokan-dashboard h1,.dokan-dashboard h2{color:var(--comve-blanco);}
.dokan-store-widget,.widget_dokan_category_menu{background:var(--comve-noche);border-radius:var(--comve-r);color:var(--comve-claro);}
.dokan-pagination-container .dokan-pagination li a,.woocommerce nav.woocommerce-pagination ul li a{
  background:var(--comve-noche);color:var(--comve-claro);border:var(--comve-borde);border-radius:var(--comve-r-sm);}
.dokan-pagination-container .dokan-pagination li.active a,.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--comve-cta);color:#fff;border-radius:var(--comve-r-sm);}
.woocommerce nav.woocommerce-pagination ul{border:0;}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0 4px;}

/* ============================================================
   7. MAPA
   ============================================================ */
.comve-mapa-wrap{margin:24px 0;}
.comve-mapa{width:100%;height:70vh;min-height:380px;border-radius:var(--comve-r);border:var(--comve-borde);overflow:hidden;box-shadow:var(--comve-sombra);}
.comve-mapa-estado{margin:0 0 12px;padding:14px 18px;border-radius:var(--comve-r-sm);
  border:var(--comve-borde);background:var(--comve-noche);color:var(--comve-claro);font-size:15px;line-height:1.45;}
.comve-mapa-estado[hidden]{display:none;}
.comve-mapa-estado--vacio{border-left:3px solid var(--comve-alerta);}
.comve-mapa-estado--error{border-left:3px solid var(--comve-alerta);color:var(--comve-blanco);}
.comve-filtros{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px;}
.comve-filtros select{max-width:320px;}
.leaflet-container{background:var(--comve-prof2);font-family:var(--comve-fuente);}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--comve-noche);color:var(--comve-claro);box-shadow:var(--comve-sombra);}
.leaflet-popup-content-wrapper{border-radius:var(--comve-r-sm);border:var(--comve-borde);}
.leaflet-container a.leaflet-popup-close-button{color:var(--comve-medio);}
.leaflet-control-zoom a{background:var(--comve-noche);color:var(--comve-claro);border-color:var(--comve-gris-azul);}
.leaflet-control-zoom a:hover{background:var(--comve-profundo);color:#fff;}
.leaflet-control-attribution{background:rgba(16,21,52,.8);color:var(--comve-medio);}
.leaflet-control-attribution a{color:var(--comve-resalte);}
.comve-popup-titulo{font-weight:700;display:block;margin-bottom:2px;color:var(--comve-blanco);font-family:var(--comve-display);}
.comve-popup-localidad{color:var(--comve-medio);font-size:.9em;}
.comve-popup-link{display:inline-block;margin-top:8px;color:var(--comve-resalte);font-weight:600;}
@media (min-width:768px){.comve-mapa{height:560px;}}

/* ============================================================
   8. COMPONENTES COMVE
   ============================================================ */
.comve-panel{margin:24px 0;padding:24px;border:var(--comve-borde);border-radius:var(--comve-r);
  background:var(--comve-profundo);box-shadow:var(--comve-sombra);}
.comve-panel h3{margin:0 0 6px;font-size:20px;}
.comve-panel p{color:var(--comve-claro);margin:0 0 14px;}
.comve-panel--espera{border-left:3px solid var(--comve-alerta);}
.comve-form p{margin:0 0 16px;}
.comve-form input,.comve-form select,.comve-form textarea{max-width:460px;}
.comve-form textarea{min-height:96px;}
.comve-form button{border:0;cursor:pointer;}

.comve-vacio{max-width:620px;margin:32px auto;padding:36px 24px;text-align:center;
  border:var(--comve-borde);border-radius:var(--comve-r-lg);background:var(--comve-profundo);}
.comve-vacio-titulo{font-family:var(--comve-display);font-size:21px;font-weight:700;color:var(--comve-blanco);margin:0 0 8px;}
.comve-vacio p{color:var(--comve-claro);margin:0 0 18px;}

/* --- Marca en el header --- */
.comve-marca{display:inline-flex;align-items:center;gap:14px;text-decoration:none;color:var(--comve-blanco);}
.comve-marca svg{width:38px;height:auto;display:block;color:var(--comve-blanco);flex:0 0 auto;}
.comve-marca-nombre{font-family:var(--comve-display);font-weight:700;font-size:26px;letter-spacing:-.02em;color:var(--comve-blanco);line-height:1;}
.comve-marca:hover .comve-marca-nombre{color:var(--comve-resalte-suave);}

/* --- Pie legal --- */
.comve-pie{max-width:1200px;margin:0 auto;padding:26px 16px 36px;border-top:var(--comve-borde);
  display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;justify-content:center;text-align:center;}
.comve-pie-lista{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:center;}
.comve-pie-lista a{color:var(--comve-medio);font-size:14px;text-decoration:none;}
.comve-pie-lista a:hover,.comve-pie-lista a:focus{color:var(--comve-resalte-suave);text-decoration:underline;}
.comve-pie-lista--obligatoria a{color:var(--comve-claro);font-weight:600;}
.comve-pie-fiscal{width:100%;text-align:center;color:var(--comve-medio);font-size:13px;line-height:1.6;margin:4px 0 0;}

/* ============================================================
   9. LANDING
   ============================================================ */
.comve-hero{position:relative;padding:72px 0 64px;text-align:center;overflow:hidden;}
.comve-hero::before{content:"";position:absolute;inset:-40% 20% auto -20%;height:560px;z-index:0;
  background:radial-gradient(60% 60% at 30% 40%,rgba(57,72,151,.55),transparent 70%);filter:blur(10px);pointer-events:none;}
.comve-hero>*{position:relative;z-index:1;}
.comve-hero .comve-pill{margin-bottom:20px;}
.comve-hero h1{font-size:clamp(34px,6vw,60px);margin:0 0 18px;max-width:18ch;margin-inline:auto;}
.comve-hero-sub{font-size:clamp(17px,2.2vw,21px);color:var(--comve-claro);max-width:60ch;margin:0 auto 30px;line-height:1.5;}
.comve-acciones{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.comve-prueba{margin-top:26px;color:var(--comve-medio);font-size:14px;}

.comve-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--comve-r-full);
  background:rgba(60,90,255,.14);border:1px solid rgba(60,90,255,.4);color:var(--comve-resalte-suave);
  font-size:14px;font-weight:600;}
.comve-pill--promo,
.comve-seccion-cab p.comve-pill--promo,
.comve-panel p.comve-pill--promo{background:rgba(255,140,0,.13);border-color:rgba(255,140,0,.45);color:#FFC16B;}

.comve-seccion{padding:56px 0;}
.comve-seccion--alt{background:var(--comve-prof2);
  box-shadow:0 0 0 100vmax var(--comve-prof2);clip-path:inset(0 -100vmax);}
.comve-seccion-cab{text-align:center;max-width:62ch;margin:0 auto 36px;}
.comve-seccion-cab h2{margin:0 0 10px;}
.comve-seccion-cab p{color:var(--comve-claro);font-size:17px;margin:0;}

.comve-grid{display:grid;gap:16px;grid-template-columns:1fr;}
@media (min-width:640px){.comve-grid--2{grid-template-columns:repeat(2,1fr);}}
@media (min-width:860px){.comve-grid--3{grid-template-columns:repeat(3,1fr);}
  .comve-grid--4{grid-template-columns:repeat(4,1fr);}}

.comve-card{background:var(--comve-profundo);border:var(--comve-borde);border-radius:var(--comve-r);
  padding:24px;box-shadow:var(--comve-sombra);transition:border-color .15s,transform .15s;}
.comve-card:hover{border-color:var(--comve-resalte);transform:translateY(-2px);}
.comve-card h3{font-size:18px;margin:0 0 8px;font-family:var(--comve-fuente);font-weight:600;}
.comve-card p{color:var(--comve-claro);margin:0;font-size:15px;}
.comve-card-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:var(--comve-r-full);background:var(--comve-cta);color:#fff;
  font-family:var(--comve-display);font-weight:700;font-size:17px;margin-bottom:14px;}
.comve-card-icono{display:block;flex:0 0 auto;width:40px;height:40px;margin-bottom:14px;color:var(--comve-resalte);}
.comve-card-icono svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}

.comve-cta-final{text-align:center;padding:56px 24px;border-radius:var(--comve-r-lg);
  background:linear-gradient(135deg,var(--comve-profundo),var(--comve-vibrante));
  border:1px solid rgba(106,124,215,.45);box-shadow:var(--comve-sombra);}
.comve-cta-final h2{margin:0 0 12px;}
.comve-cta-final p{color:#E7EAF6;max-width:56ch;margin:0 auto 24px;font-size:17px;}

.comve-faq{max-width:760px;margin:0 auto;}
.comve-faq details{background:var(--comve-profundo);border:var(--comve-borde);border-radius:var(--comve-r);
  padding:18px 20px;margin-bottom:12px;}
.comve-faq details[open]{border-color:var(--comve-resalte);}
.comve-faq summary{cursor:pointer;font-weight:600;color:var(--comve-blanco);font-size:16px;list-style:none;
  display:flex;justify-content:space-between;gap:16px;align-items:center;}
.comve-faq summary::-webkit-details-marker{display:none;}
.comve-faq summary::after{content:"+";font-size:22px;color:var(--comve-resalte);line-height:1;}
.comve-faq details[open] summary::after{content:"\2212";}
.comve-faq details p{margin:12px 0 0;color:var(--comve-claro);font-size:15px;}

/* ============================================================
   10. CATEGORIAS Y LISTADOS
   ============================================================ */
.comve-rubros{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.comve-rubro{display:inline-flex;align-items:center;padding:11px 18px;border-radius:var(--comve-r-full);
  background:var(--comve-noche);border:var(--comve-borde);color:var(--comve-claro);
  text-decoration:none;font-size:15px;font-weight:500;transition:all .15s;min-height:44px;}
.comve-rubro--todos{background:var(--comve-profundo);border-color:var(--comve-resalte);color:var(--comve-blanco);}
.comve-rubro:hover,.comve-rubro:focus{background:var(--comve-profundo);border-color:var(--comve-resalte);color:var(--comve-blanco);}
.wc-block-product-categories-list,.widget_product_categories ul{list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;gap:10px;}
.wc-block-product-categories-list li,.widget_product_categories ul li{margin:0;}
.wc-block-product-categories-list a,.widget_product_categories ul li a{
  display:inline-flex;align-items:center;padding:11px 18px;border-radius:var(--comve-r-full);
  background:var(--comve-noche);border:var(--comve-borde);color:var(--comve-claro);
  text-decoration:none;font-size:15px;font-weight:500;min-height:44px;transition:all .15s;}
.wc-block-product-categories-list a:hover,.widget_product_categories ul li a:hover{
  background:var(--comve-profundo);border-color:var(--comve-resalte);color:var(--comve-blanco);}

/* ============================================================
   11. AJUSTES FINOS Y ACCESIBILIDAD
   ============================================================ */
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.comve-solo-lectores{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
::-webkit-scrollbar{width:12px;height:12px;}
::-webkit-scrollbar-track{background:var(--comve-base);}
::-webkit-scrollbar-thumb{background:var(--comve-gris-azul);border-radius:var(--comve-r-full);border:3px solid var(--comve-base);}
::-webkit-scrollbar-thumb:hover{background:var(--comve-resalte);}
table{color:var(--comve-claro);}
blockquote{border-left:3px solid var(--comve-cta);padding-left:20px;color:var(--comve-claro);margin:24px 0;}
code,pre{background:var(--comve-prof2);color:var(--comve-resalte-suave);border-radius:6px;padding:2px 6px;}
.entry-content ul,.entry-content ol{color:var(--comve-claro);padding-left:22px;}
.entry-content li{margin-bottom:8px;}
.entry-content li::marker{color:var(--comve-resalte);}
.entry-content h2{margin-top:36px;}
.entry-content h3{margin-top:26px;}
.wp-block-separator{border-color:var(--comve-gris-azul);}
.ct-back-to-top{background:var(--comve-cta) !important;color:#fff !important;}

@media (max-width:640px){
  .comve-hero{padding:48px 0 44px;}
  .comve-seccion{padding:40px 0;}
  .comve-acciones .comve-boton{width:100%;}
  .comve-card{padding:20px;}
  .comve-panel{padding:20px;}
  .comve-pie{gap:8px 14px;padding:22px 16px 30px;}
  .comve-marca svg{width:32px;}
  .comve-marca-nombre{font-size:22px;}
  .comve-cta-final{padding:40px 20px;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;}
  .comve-card:hover,.woocommerce ul.products li.product:hover{transform:none;}
}

/* ============================================================
   12. PIE Y REDES  (Blocksy pinta el pie con sus propias
   variables: las reescribimos en vez de pelearlas con !important)
   ============================================================ */
.ct-footer{--theme-text-color:var(--comve-claro);--theme-link-initial-color:var(--comve-claro);
  --theme-link-hover-color:var(--comve-blanco);--theme-headings-color:var(--comve-blanco);
  color:var(--comve-claro);}
.ct-footer p,.ct-footer li,.ct-footer .widget,.ct-footer [data-column] p{color:var(--comve-claro);}
.ct-footer .widget-title,.ct-footer h1,.ct-footer h2,.ct-footer h3,.ct-footer h4{color:var(--comve-blanco);}
.ct-footer [data-id="copyright"],.ct-footer .ct-copyright{color:var(--comve-medio);font-size:14px;}

.ct-social-box{--theme-icon-color:var(--comve-claro);--theme-icon-hover-color:#FFFFFF;
  --theme-button-background-initial-color:var(--comve-profundo);
  --theme-button-background-hover-color:var(--comve-cta);}
.ct-social-box a{background:var(--comve-profundo);color:var(--comve-claro);
  border:var(--comve-borde);border-radius:var(--comve-r-full);transition:background .15s,color .15s,border-color .15s;}
.ct-social-box a:hover,.ct-social-box a:focus-visible{background:var(--comve-cta);color:#FFFFFF;border-color:var(--comve-cta);}
.ct-social-box a svg{fill:currentColor;}

/* Marca del pie: el manual reserva el blanco para lo critico,
   pero este texto es la promesa de marca y necesita leerse. */
.comve-pie{margin-top:26px;text-align:center;}
.comve-pie-lista{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;margin:0 0 10px;padding:0;}
.comve-pie-lista a{color:var(--comve-claro);font-size:14px;text-decoration:none;}
.comve-pie-lista a:hover{color:var(--comve-blanco);text-decoration:underline;}
.comve-pie-lista--obligatoria a{color:var(--comve-resalte-suave);font-weight:600;}
.comve-pie-fiscal{margin:12px 0 0;color:var(--comve-medio);font-size:13px;}

/* ============================================================
   13. LANDING: ajustes de integracion con la plantilla
   ============================================================ */
.comve-landing{margin-block:-20px;}
.comve-landing .comve-mapa-wrap{margin-top:0;}
.comve-landing section+section{margin-top:0;}
.comve-landing .comve-grid+.comve-grid{margin-top:16px;}
/* La portada es la landing: su H1 es el del hero, no el titulo de la pagina.
   Dos H1 compiten entre si y rompen la jerarquia visual y de SEO. */
.home .hero-section,.home .entry-header>.page-title{display:none;}
.comve-landing details+details{margin-top:10px;}

/* ============================================================
   14. DOKAN: LISTADO DE NEGOCIOS Y TIENDA DEL VENDEDOR
   Dokan pinta estas superficies con IDs, no con clases: para
   ganarle sin !important hay que apuntar al mismo ID.
   ============================================================ */
#dokan-store-listing-filter-wrap,
#dokan-store-listing-filter-form-wrap,
.dokan-store-listing-filter-wrap,
.dokan-store-list-filter-wrap{
  background:var(--comve-noche);color:var(--comve-claro);
  border:var(--comve-borde);border-radius:var(--comve-r);padding:12px 14px;
}
#dokan-store-listing-filter-wrap span,
#dokan-store-listing-filter-wrap label,
#dokan-store-listing-filter-wrap .store-count{color:var(--comve-claro);}
/* .dokan-icon-div no es un boton: son las tres barritas del icono del
   boton "Filtro". Van blancas sobre el azul del CTA. */
#dokan-store-listing-filter-wrap .right .item .dokan-icons .dokan-icon-div{
  background:#FFFFFF;border:0;border-radius:1px;padding:0;
}
/* Conmutador grilla/lista: son dashicons, se controlan por color. */
#dokan-store-listing-filter-wrap .toggle-view .dashicons{
  color:var(--comve-medio);cursor:pointer;padding:4px;border-radius:var(--comve-r-sm);
  transition:color .15s,background .15s;
}
#dokan-store-listing-filter-wrap .toggle-view .dashicons:hover{color:var(--comve-claro);}
#dokan-store-listing-filter-wrap .toggle-view .dashicons.active{
  color:var(--comve-blanco);background:var(--comve-profundo);
}
#dokan-store-listing-filter-wrap .sort-by label{color:var(--comve-claro);margin-right:8px;}
select#stores_orderby,select.stores_orderby,
#dokan-store-listing-filter-wrap .right .item select{
  background:var(--comve-prof2);color:var(--comve-blanco);
  border:1px solid var(--comve-gris-azul);border-radius:var(--comve-r-sm);
  padding:10px 12px;min-height:44px;
}
select#stores_orderby option,select.stores_orderby option{background:var(--comve-prof2);color:var(--comve-blanco);}
#dokan-store-listing-filter-form-wrap .store-search-input,
.store-search-input{background:var(--comve-prof2);color:var(--comve-blanco);border:1px solid var(--comve-gris-azul);}

.dokan-btn,.dokan-btn-theme,button.dokan-btn,button.dokan-btn-theme,
a.dokan-btn,a.dokan-btn-theme,#apply-filter-btn,#store-filter-btn{
  background:var(--comve-cta);color:#FFFFFF;border:0;border-radius:var(--comve-r-full);
  padding:11px 20px;min-height:44px;font-weight:600;font-family:var(--comve-fuente);
}
.dokan-btn:hover,.dokan-btn-theme:hover,#apply-filter-btn:hover{background:var(--comve-cta-hover);color:#FFFFFF;}
button#cancel-filter-btn,#cancel-filter-btn.dokan-btn{
  background:transparent;border:1px solid var(--comve-resalte);color:var(--comve-blanco);
}
button#cancel-filter-btn:hover{background:rgba(106,124,215,.14);color:#FFFFFF;}

/* Tarjeta de negocio en el listado */
.dokan-single-seller,.store-wrapper,.dokan-seller-wrap{
  background:var(--comve-profundo);border:var(--comve-borde);border-radius:var(--comve-r);
  overflow:hidden;color:var(--comve-claro);
}
.dokan-single-seller:hover,.store-wrapper:hover{border-color:var(--comve-resalte);}
.store-content,.store-data,.store-footer,.store-info{background:transparent;color:var(--comve-claro);}
.store-data h2,.store-data h2 a,.store-info h2 a,.store-data .store-name a{color:var(--comve-blanco);}
.store-footer,.store-footer-wrapper{border-top:var(--comve-borde);}
.store-address,.store-phone,.store-email{color:var(--comve-medio);}

/* Tienda del vendedor */
.dokan-store-sidebar,.dokan-single-store .profile-frame,
.dokan-store-tabs,.dokan-store-tabs ul,.dokan-store-info{
  background:var(--comve-noche);border:var(--comve-borde);border-radius:var(--comve-r);
  color:var(--comve-claro);
}
.dokan-store-tabs ul li a{color:var(--comve-claro);}
.dokan-store-tabs ul li.active a,.dokan-store-tabs ul li a:hover{color:var(--comve-blanco);}
.dokan-store-info li,.dokan-store-info li a{color:var(--comve-claro);}
.dokan-store-open-close .dokan-store-times-title{color:var(--comve-blanco);}

/* ============================================================
   15. PANEL DEL VENDEDOR (Dokan, interfaz React)
   Dokan publica su paleta en variables CSS: las remapeamos a COMVE
   en vez de reescribir cada clase de Tailwind. El lienzo del panel
   queda claro a proposito: es una herramienta de trabajo con tablas
   y graficos, no una vidriera. La marca entra por la barra lateral
   y por el color de accion.
   ============================================================ */
.dokan-layout,.pui-root,.dokan-frontend-layout{
  --color-primary:#3C5AFF;
  --color-primary-hover:#2945E8;
  --color-primary-dark:#232C63;
  --color-dokan-primary:#3C5AFF;
  --primary:#3C5AFF;
  --wp-components-color-accent:#3C5AFF;
  --wp-components-color-accent-darker-20:#2945E8;
  --color-dokan-btn-secondary-text:#3C5AFF;
  --color-dokan-btn-secondary-border:#3C5AFF;
  --color-dokan-btn-secondary-text-hover:#2945E8;
  --color-dokan-btn-secondary-border-hover:#2945E8;
  --color-dokan-btn-secondary-hover:#E7EBFF;
  --colors-primary-50:#EEF1FF;
  --colors-primary-100:#DCE2FF;
  --colors-primary-200:#C2CBFF;
  --colors-primary-300:#9DACF2;
  --colors-primary-400:#6A7CD7;
  --colors-primary-500:#3C5AFF;
  --colors-primary-600:#2945E8;
  --colors-primary-700:#394897;
  --colors-primary-800:#232C63;
  --colors-primary-900:#1A214C;
}
.dokan-layout .dokan-frontend-sidebar,
.dokan-layout .dokan-frontend-sidebar.bg-primary-500,
.dokan-frontend-sidebar{background-color:var(--comve-noche);}
.dokan-frontend-sidebar .dokan-vendor-sidebar-scroll a:hover,
.dokan-frontend-sidebar a.active,
.dokan-frontend-sidebar li.active>a{background-color:var(--comve-profundo);color:#FFFFFF;}

/* Salidas del 404: quedan debajo del buscador del tema. */
.comve-acciones--404{margin-top:22px;}
