/*=========================================================
  RECIEL · TIENDA B2B (Fase 1)
  ---------------------------------------------------------
  Buscador y tarjetas del catálogo, compra por tallas en la
  ficha, botón «Mi cotización» de la cabecera y la página
  del carrito (cotizacion.php).
  Colores del sitio: azul #0F2438, naranja #FF6A00.
=========================================================*/

:root{
    --td-azul:#0F2438;
    --td-naranja:#FF6A00;
    --td-gris:#5B6670;
    --td-borde:#dfe4e8;
    --td-fondo:#f4f6f8;
    --td-ok:#0d6d47;
    --td-ok-bg:#e3f3ec;
    --td-pedido:#8a5a00;
    --td-pedido-bg:#fff2d9;
}

/* --- Cabecera: botón de la cotización ------------------------ */

.rc-boton-cotizacion{ display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }

.rc-boton-cotizacion__n{
    display:inline-grid;
    place-items:center;
    min-width:22px;
    height:22px;
    padding:0 6px;
    border-radius:11px;
    background:#fff;
    color:var(--td-azul);
    font-size:13px;
    font-weight:800;
    line-height:1;
}

.admin-btn{ display:inline-flex; align-items:center; }

.rc-enlace-libro{ font-weight:700; }

/* --- Catálogo: buscador --------------------------------------- */

.tienda-buscador{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-end;
    gap:12px;
    margin:0 0 12px;
    padding:18px;
    background:var(--td-fondo);
    border:1px solid var(--td-borde);
}

.tienda-buscador__texto{
    position:relative;
    flex:1 1 320px;
}

.tienda-buscador__texto i{
    position:absolute;
    left:14px;
    top:50%;
    transform:translateY(-50%);
    color:var(--td-gris);
    pointer-events:none;
}

.tienda-buscador input[type=search],
.tienda-buscador select{
    width:100%;
    height:48px;
    padding:0 14px;
    background:#fff;
    border:1px solid #cfd7dd;
    color:var(--td-azul);
    font-size:15px;
}

.tienda-buscador input[type=search]{ padding-left:40px; }

.tienda-buscador__campo{
    display:flex;
    flex-direction:column;
    gap:4px;
    flex:0 1 170px;
    margin:0;
}

.tienda-buscador__campo span{
    font-size:12px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--td-gris);
}

.tienda-buscador .rts-btn{ height:48px; padding:0 26px; }

.tienda-resumen{
    margin:0 0 26px;
    color:var(--td-gris);
    font-size:15px;
}

.tienda-resumen a{ color:var(--td-azul); font-weight:700; text-decoration:underline; }

/* --- Catálogo: tarjeta ---------------------------------------- */

.tienda-card{
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid #e8ecef;
}

.tienda-card__precio{
    margin:0 0 6px;
    font-size:19px;
    font-weight:800;
    color:var(--td-azul);
}

.tienda-card__precio small{ font-size:12px; font-weight:500; color:var(--td-gris); }

.tienda-card__tallas{ margin:8px 0 0; font-size:13px; color:var(--td-gris); }

.tienda-disp{
    display:inline-block;
    padding:3px 9px;
    border-radius:20px;
    font-size:12.5px;
    font-weight:700;
    background:#eef1f4;
    color:var(--td-gris);
}

.tienda-disp--stock{ background:var(--td-ok-bg); color:var(--td-ok); }
.tienda-disp--pedido{ background:var(--td-pedido-bg); color:var(--td-pedido); }

.tienda-agregar{
    display:flex;
    gap:8px;
    margin-top:12px;
}

.tienda-agregar input[type=number]{
    width:76px;
    height:44px;
    padding:0 8px;
    border:1px solid #cfd7dd;
    text-align:center;
    font-weight:700;
    color:var(--td-azul);
}

.tienda-card__boton{
    flex:1;
    height:44px;
    padding:0 14px !important;
    font-size:14px !important;
    justify-content:center;
}

a.tienda-card__boton{ display:flex; align-items:center; margin-top:12px; }

.tienda-agregar.is-enviando button{ opacity:.6; pointer-events:none; }

/* --- Ficha: caja de compra ------------------------------------ */

.tienda-compra{
    margin:0 0 26px;
    padding:20px;
    background:var(--td-fondo);
    border:1px solid var(--td-borde);
}

.tienda-compra__cabecera{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:14px;
}

.tienda-compra__precio{ margin:0; font-size:26px; font-weight:800; color:var(--td-azul); }
.tienda-compra__precio small{ display:block; font-size:13px; font-weight:500; color:var(--td-gris); }

.tienda-agregar--ficha{ flex-direction:column; align-items:stretch; }
.tienda-agregar--ficha .rts-btn{ justify-content:center; }

.tienda-tallas{ width:100%; border-collapse:collapse; background:#fff; font-size:15px; }
.tienda-tallas th,
.tienda-tallas td{ padding:8px 10px; border-bottom:1px solid #e8ecef; text-align:left; }
.tienda-tallas thead th{ font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--td-gris); background:#fafbfc; }
.tienda-tallas tbody th{ font-weight:800; color:var(--td-azul); }
.tienda-tallas input[type=number]{ width:84px; }

.tienda-compra__ayuda{ margin:4px 0 0; font-size:14px; color:var(--td-gris); }

.tienda-compra__cantidad{ display:flex; align-items:center; gap:12px; font-weight:700; color:var(--td-azul); margin:0; }

/* Aviso flotante al agregar sin salir de la página. */
.tienda-toast{
    position:fixed;
    left:50%;
    bottom:24px;
    z-index:99999;
    transform:translate(-50%, 20px);
    display:flex;
    align-items:center;
    gap:14px;
    max-width:calc(100% - 32px);
    padding:14px 18px;
    background:var(--td-azul);
    color:#fff;
    font-size:15px;
    box-shadow:0 12px 30px rgba(0,0,0,.25);
    opacity:0;
    transition:opacity .2s ease, transform .2s ease;
}

.tienda-toast.is-visible{ opacity:1; transform:translate(-50%, 0); }
.tienda-toast--error{ background:#9b1c1c; }
.tienda-toast a{ color:#fff; font-weight:800; text-decoration:underline; white-space:nowrap; }

/* Pie mínimo de la ficha (no tiene el pie grande del sitio). */
.tienda-pie-legal{ padding:22px 0; background:#0b1a29; font-size:14px; }
.tienda-pie-legal .container{ display:flex; flex-wrap:wrap; gap:8px 22px; justify-content:center; }
.tienda-pie-legal a{ color:rgba(255,255,255,.8); }

@media print{
    .tienda-compra form, .tienda-pie-legal{ display:none !important; }
}

/* --- Página «Mi cotización» ----------------------------------- */

.cot{ padding:36px 0 70px; background:#f4f6f9; min-height:70vh; }

.cot__titulo{ margin:0 0 6px; font:800 32px/1.2 var(--pg-titulo, sans-serif); color:var(--td-azul); }
.cot__intro{ margin:0 0 22px; max-width:760px; color:#5a6980; }

.cot__rejilla{ display:grid; grid-template-columns:minmax(0, 1fr) 380px; gap:24px; align-items:start; }

.cot-bloque{
    margin-bottom:24px;
    padding:22px;
    background:#fff;
    border:1px solid #e4eaf1;
    border-radius:12px;
}

.cot-bloque h2{ display:flex; align-items:center; gap:10px; margin:0 0 14px; font:700 20px/1.3 var(--pg-titulo, sans-serif); color:var(--td-azul); }

.cot-bloque__n{ display:inline-grid; place-items:center; min-width:26px; height:26px; padding:0 7px; border-radius:13px; background:var(--td-azul); color:#fff; font-size:13px; }

.cot-bloque--datos{ position:sticky; top:16px; }

.cot-aviso{ margin:0 0 16px; padding:12px 14px; border-radius:8px; background:var(--td-ok-bg); color:var(--td-ok); font-weight:600; }
.cot-aviso--error{ background:#fdecec; color:#9b1c1c; font-weight:500; }
.cot-aviso p{ margin:0 0 4px; font-weight:700; }
.cot-aviso ul{ margin:0; padding-left:18px; }

.cot-ayuda{ margin:0 0 12px; font-size:14px; color:#5a6980; }

.cot-vacia{ padding:24px; text-align:center; background:#f8fafc; border:1px dashed #cfd8e3; border-radius:10px; }
.cot-vacia p{ margin:0 0 12px; }
.cot-vacia__nota{ font-size:14px; color:#5a6980; }

.cot-tabla-marco{ overflow-x:auto; }
.cot-tabla{ width:100%; border-collapse:collapse; font-size:15px; }
.cot-tabla th{ padding:8px; font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:#5a6980; text-align:left; border-bottom:2px solid #e4eaf1; }
.cot-tabla td{ padding:10px 8px; border-bottom:1px solid #eef2f6; vertical-align:middle; }
.cot-num{ text-align:right !important; white-space:nowrap; }

.cot-prod{ display:flex; align-items:center; gap:12px; min-width:220px; }
.cot-prod img{ width:52px; height:52px; object-fit:contain; background:#fff; border:1px solid #eef2f6; border-radius:6px; flex:none; }
.cot-prod a{ display:block; font-weight:700; color:var(--td-azul); text-decoration:none; }
.cot-prod a:hover{ text-decoration:underline; }
.cot-prod small{ color:#5a6980; }

.cot-tabla select,
.cot-tabla input[type=number]{ height:40px; padding:0 8px; border:1px solid #cfd8e3; border-radius:6px; font-size:15px; background:#fff; }
.cot-tabla input[type=number]{ width:90px; }

.cot-cotizar{ color:#5a6980; font-style:italic; }

.cot-quitar{ width:34px; height:34px; border:0; border-radius:50%; background:#f1f4f7; color:#5a6980; font-size:20px; line-height:1; cursor:pointer; }
.cot-quitar:hover{ background:#fdecec; color:#9b1c1c; }

.cot-lineas__pie{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; margin-top:16px; }

.cot-enlace{ border:0; background:none; padding:0; color:#9b1c1c; font-size:14px; text-decoration:underline; cursor:pointer; }

.cot-total{ margin-left:auto; text-align:right; color:#5a6980; }
.cot-total strong{ display:inline-block; margin:0 4px; font-size:22px; color:var(--td-azul); }

#pedido-rapido textarea{
    width:100%;
    margin-bottom:12px;
    padding:12px;
    border:1px solid #cfd8e3;
    border-radius:8px;
    font:14px/1.5 ui-monospace, "Cascadia Mono", Consolas, monospace;
    tab-size:12;
}

.cot-form label{ display:block; margin:0 0 12px; font-size:14px; font-weight:600; color:var(--td-azul); }
.cot-form input[type=text],
.cot-form input[type=email],
.cot-form input[type=tel],
.cot-form textarea{
    display:block;
    width:100%;
    margin-top:5px;
    padding:11px 12px;
    border:1px solid #cfd8e3;
    border-radius:8px;
    font:inherit;
    font-weight:400;
    color:#1d2736;
    background:#fff;
}

.cot-form__fila{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }

.cot-form__check{ display:flex !important; gap:10px; align-items:flex-start; font-weight:400 !important; }
.cot-form__check input{ margin-top:4px; flex:none; }
.cot-form__check a{ color:var(--td-azul); }

.cot-form__enviar{ width:100%; margin:4px 0 10px; }

@media (max-width: 991px){
    .cot__rejilla{ grid-template-columns:1fr; }
    .cot-bloque--datos{ position:static; }
}

@media (max-width: 640px){
    .cot-bloque{ padding:16px; }
    .cot-tabla thead{ display:none; }
    .cot-tabla, .cot-tabla tbody, .cot-tabla tr, .cot-tabla td{ display:block; width:100%; }
    .cot-tabla tr{ position:relative; padding:12px 0; border-bottom:1px solid #e4eaf1; }
    .cot-tabla td{ display:flex; justify-content:space-between; align-items:center; padding:4px 0; border:0; }
    .cot-tabla td[data-etiqueta]::before{ content:attr(data-etiqueta); font-size:12px; font-weight:700; text-transform:uppercase; color:#5a6980; }
    .cot-tabla td[data-etiqueta="Producto"]::before{ content:none; }
    .cot-tabla td:last-child{ position:absolute; top:10px; right:0; width:auto; }
    .cot-prod{ min-width:0; padding-right:40px; }
    .cot-total{ margin-left:0; text-align:left; }
    .tienda-buscador__campo{ flex:1 1 40%; }
    .tienda-buscador .rts-btn{ width:100%; }
}

/* --- Cotización enviada al cliente (cotizacion-ver.php) ------- */

.cot-doc{
    max-width:960px;
    margin:0 auto;
    padding:34px;
    background:#fff;
    border:1px solid #e4eaf1;
    border-radius:12px;
}

.cot-doc__cabecera{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; padding-bottom:20px; border-bottom:3px solid var(--td-azul); }
.cot-doc__cabecera p{ margin:6px 0 0; font-size:14px; color:#5a6980; }
.cot-doc__cabecera img{ height:29px; width:auto; }

.cot-doc__numero{ text-align:right; }
.cot-doc__numero h1{ margin:0 0 6px; font:700 16px/1.2 var(--pg-titulo, sans-serif); color:#5a6980; text-transform:uppercase; letter-spacing:.06em; }
.cot-doc__numero h1 span{ font-size:26px; color:var(--td-azul); letter-spacing:0; }
.cot-doc__vencida{ color:#9b1c1c !important; font-weight:700; }
.cot-doc__sello{ display:inline-block; padding:4px 10px; border:2px solid var(--td-ok); border-radius:6px; color:var(--td-ok) !important; font-weight:800; }

.cot-doc__cliente{ margin:20px 0; }
.cot-doc__cliente h2,
.cot-doc__condiciones h2{ margin:0 0 6px; font:700 13px/1.3 var(--pg-titulo, sans-serif); text-transform:uppercase; letter-spacing:.06em; color:#5a6980; }
.cot-doc__cliente p{ margin:0; }

.cot-tabla--doc th{ background:#f4f6f9; }

.cot-doc__totales{ display:grid; grid-template-columns:auto 150px; justify-content:end; gap:6px 24px; margin:18px 0 6px; }
.cot-doc__totales dt{ text-align:right; color:#5a6980; }
.cot-doc__totales dd{ margin:0; text-align:right; font-variant-numeric:tabular-nums; }
.cot-doc__total{ font-size:20px; font-weight:800; color:var(--td-azul) !important; }

.cot-doc__nota{ margin:0; text-align:right; font-size:13px; color:#5a6980; }

.cot-doc__condiciones{ margin-top:24px; padding-top:16px; border-top:1px solid #e4eaf1; }
.cot-doc__condiciones p{ margin:0; }

.cot-doc__acciones{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; max-width:960px; margin:22px auto 8px; }
.cot-doc__acciones form{ margin:0; }
.cot-doc__ayuda{ max-width:640px; margin:0 auto; text-align:center; }

@media (max-width: 640px){
    .cot-doc{ padding:18px; }
    .cot-doc__numero{ text-align:left; }
    .cot-tabla--doc td[data-etiqueta="Descripción"]::before{ content:none; }
}

@media print{
    .pg-top, .pg-pie, .cot-doc__acciones, .cot-doc__ayuda, .cot-aviso{ display:none !important; }
    .cot{ padding:0; background:#fff; }
    .cot-doc{ border:0; padding:0; max-width:none; }
    .cot-tabla thead{ display:table-header-group !important; }
    .cot-tabla, .cot-tabla tbody{ display:table !important; width:100%; }
    .cot-tabla tbody{ display:table-row-group !important; }
    .cot-tabla tr{ display:table-row !important; }
    .cot-tabla td{ display:table-cell !important; }
    .cot-tabla td::before{ content:none !important; }
}

/* --- Libro de Reclamaciones ------------------------------------ */

.pg-legal--ancho{ max-width:860px; }

.lr-proveedor{ padding:12px 14px; background:#f4f6f9; border-radius:8px; font-size:15px; }

.lr-form fieldset{ margin:0 0 20px; padding:18px 18px 6px; border:1px solid #e4eaf1; border-radius:10px; }
.lr-form legend{ padding:0 6px; font:700 16px/1.3 var(--pg-titulo, sans-serif); color:var(--td-azul); }
.lr-form select{ display:block; width:100%; margin-top:5px; padding:11px 12px; border:1px solid #cfd8e3; border-radius:8px; font:inherit; font-weight:400; background:#fff; }
.lr-opciones{ display:flex; flex-direction:column; gap:4px; margin-bottom:10px; }
.lr-opciones .cot-form__check{ margin-bottom:6px; }
.lr-notas{ margin:18px 0 0; padding-left:18px; font-size:13.5px; color:#5a6980; }
.lr-notas li{ margin-bottom:6px; }

.pg-faq details{ margin:0 0 10px; padding:14px 16px; border:1px solid #e4eaf1; border-radius:10px; background:#fff; }
.pg-faq summary{ font-weight:700; color:var(--td-azul); cursor:pointer; }
.pg-faq details p{ margin:10px 0 0; }

/* --- Fase 2: registro de empresas y aviso del portal --------- */

.cot-portal{ margin:-8px 0 22px; padding:12px 14px; max-width:760px; background:#eef3f8; border-radius:8px; font-size:14.5px; color:#2b3a4f; }
.cot-portal a{ color:var(--td-azul); font-weight:700; }
.registro-form{ max-width:860px; }
.registro-form small{ font-weight:400; color:#5a6980; }

@media (max-width: 560px){
    .cot-form__fila{ grid-template-columns:1fr; gap:0; }
}

/* --- Ficha del producto al estilo EFC ------------------------- */

.producto-principales{
    margin:0 0 22px;
    padding:18px 20px;
    background:#efefef;
}

.producto-principales h2{ margin:0 0 10px; font-size:19px; font-weight:600; color:var(--td-azul); }
.producto-principales ul{ margin:0; padding-left:20px; }
.producto-principales li{ margin:0 0 4px; font-size:15px; line-height:1.45; color:#1d2736; }

.producto-especificaciones{ margin:6px 0 0; padding-top:18px; border-top:1px solid #e1e5e8; }
.producto-especificaciones h2{ margin:0 0 10px; font-size:14px; letter-spacing:.06em; text-transform:uppercase; color:var(--td-gris); }
.producto-especificaciones dl{ display:grid; grid-template-columns:110px 1fr; gap:6px 12px; margin:0 0 14px; font-size:15px; }
.producto-especificaciones dt{ font-weight:700; color:var(--td-azul); }
.producto-especificaciones dd{ margin:0; color:#3b4a5c; }

.producto-ficha{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:12px 18px;
    border:1px solid var(--td-azul);
    color:var(--td-azul);
    font-weight:700;
    text-decoration:none;
}

.producto-ficha:hover{ background:var(--td-azul); color:#fff; }

@media print{
    .tienda-compra, .producto-ficha{ display:none !important; }
}

/* --- Producto a medida en la cotización ------------------------ */

.cot-prod__medida{
    display:grid;
    place-items:center;
    flex:none;
    width:52px;
    height:52px;
    border-radius:6px;
    background:#fff4ea;
    color:var(--td-naranja);
    font-size:22px;
}

.cot-prod strong{ display:block; color:var(--td-azul); }
.cot-medida .pg-btn{ margin-top:4px; }

/* --- Condiciones de venta y firma de la cotización ------------- */

.cot-doc__venta{ margin-top:24px; padding-top:16px; border-top:1px solid #e4eaf1; font-size:14px; color:#1d2736; }
.cot-doc__venta h2{ margin:0 0 8px; font:700 15px/1.3 var(--pg-titulo, sans-serif); color:var(--td-azul); }
.cot-doc__venta ol{ margin:0; padding-left:22px; line-height:1.6; }
.cot-doc__venta ol ol{ margin:2px 0 0; }
.cot-doc__titular{ margin:6px 0 0 22px; }
.cot-doc__firma{ margin:26px 0 0; line-height:1.5; }

@media print{
    .cot-doc__venta{ break-inside:avoid; }
}

/* --- Imagen de referencia y campos numéricos del formulario ---- */

.cot-form input[type=number]{
    display:block;
    width:100%;
    margin-top:5px;
    padding:11px 12px;
    border:1px solid #cfd8e3;
    border-radius:8px;
    font:inherit;
    font-weight:400;
    color:#1d2736;
    background:#fff;
}

.cot-archivo input[type=file]{
    display:block;
    width:100%;
    margin-top:6px;
    padding:10px;
    border:1px dashed #cfd8e3;
    border-radius:8px;
    background:#f8fafc;
    font:inherit;
    font-weight:400;
    cursor:pointer;
}

.cot-archivo small{ font-weight:400; color:#5a6980; }
.cot-archivo__ayuda{ display:block; margin-top:6px; font-size:13px; font-weight:400; color:#5a6980; }
.cot-archivo__vista{ display:block; margin-top:8px; max-width:180px; max-height:130px; object-fit:contain; border:1px solid #e4eaf1; border-radius:8px; }

.cot-prod a img{ width:52px; height:52px; object-fit:cover; border-radius:6px; border:1px solid #f0d9bd; }

/* --- Menú lateral (≡) de la cabecera pública ------------------- */

.rc-menu-boton{
    display:inline-grid;
    place-items:center;
    width:48px;
    height:48px;
    border:0;
    border-radius:6px;
    background:#f2f2f2;
    cursor:pointer;
}

.rc-menu-boton:hover{ background:#e6e8ea; }

/* De 1200 px para arriba la plantilla ya muestra su barra de navegación
   (.nav-area se oculta en max-width:1199px), así que el ≡ sobra: el menú
   lateral es solo para celulares y tabletas. */
@media only screen and (min-width: 1200px){
    .rc-menu-boton{ display:none; }
}

.rc-menu-fondo{
    position:fixed;
    inset:0;
    z-index:100000;
    background:rgba(8,18,30,.45);
    opacity:0;
    transition:opacity .2s ease;
}

.rc-menu-fondo.abierto{ opacity:1; }

.rc-menu{
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    z-index:100001;
    width:min(340px, 88vw);
    padding:20px 24px 28px;
    overflow-y:auto;
    background:#fff;
    box-shadow:-12px 0 30px rgba(0,0,0,.18);
    transform:translateX(100%);
    transition:transform .2s ease;
}

.rc-menu.abierto{ transform:translateX(0); }

.rc-menu__cabecera{ display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.rc-menu__cabecera img{ height:24px; width:auto; }

.rc-menu__cerrar{
    width:40px; height:40px; border:0; border-radius:50%;
    background:#f2f4f6; color:var(--td-azul); font-size:24px; line-height:1; cursor:pointer;
}

.rc-menu__lista{ list-style:none; margin:0 0 14px; padding:0; }
.rc-menu__lista li{ border-bottom:1px solid #eef1f4; }

.rc-menu__lista a{
    display:block;
    padding:13px 4px;
    color:var(--td-azul);
    font-size:17px;
    font-weight:700;
    text-decoration:none;
}

.rc-menu__lista a:hover{ color:var(--td-naranja); }

.rc-menu__lista--secundaria a{ font-size:15px; font-weight:600; color:#3b4a5c; }

.rc-menu__pie{ margin:18px 0 0; font-size:14px; }
.rc-menu__pie a{ color:var(--td-gris); }
