/*
Theme Name: IRS Salamé Child
Template: storefront
Description: Theme hijo de Storefront para Instalación y Repuestos Salamé C.A. Tienda, ficha de producto, categorías, FAQ y contacto a medida.
Version: 1.0
Text Domain: irs-salame-child
*/

:root{
  --irs-navy: #0B2A4A;
  --irs-navy-dark: #071b30;
  --irs-teal: #17A596;
  --irs-teal-dark: #128a7e;
  --irs-green-bg: #DCFCE7;
  --irs-green-text: #16A34A;
  --irs-gray-bg: #F5F7FA;
  --irs-border: #E3E8EF;
  --irs-text: #1F2937;
  --irs-text-light: #6B7280;
  --irs-radius: 10px;
}

/* ---------- General ---------- */
body{ color: var(--irs-text); }
a{ text-decoration:none; }
.irs-container{ max-width:100%; margin:0; padding:0 32px; box-sizing:border-box; }

/* Storefront envuelve el contenido en .col-full con su propio ancho máximo
   (~1200px por defecto) y en #primary con un ancho basado en columnas.
   Lo forzamos a 100% en TODO el sitio (no solo la tienda), para que no
   quede un límite "escondido" por debajo en ninguna página. Las secciones
   de Elementor que quieras dejar "boxeadas" (ancho limitado) siguen
   funcionando normal, porque eso lo controla Elementor por su cuenta,
   independientemente de este contenedor exterior. */
.col-full{
  max-width:100% !important;
}
#primary{
  width:100% !important;
  float:none !important;
}

/* ---------- Header ---------- */
/* El fondo blanco se queda en la franja del logo para que se vea bien
   sin importar los colores del logo. El navy solo va en la barra de menú. */
.site-header{ background:#fff !important; border-bottom:1px solid var(--irs-border); }
.site-header .site-branding{ padding:14px 0; }
.main-navigation{ background: var(--irs-navy) !important; }
.main-navigation ul.menu{ padding-left:24px !important; padding-right:24px !important; box-sizing:border-box; }
.main-navigation ul li a{ color:#fff !important; }
.main-navigation ul li a:hover{ color: var(--irs-teal) !important; }
.irs-btn-contact{
  background: var(--irs-teal);
  color:#fff !important;
  padding:8px 18px;
  border-radius: 6px;
  font-weight:600;
}
.irs-btn-contact:hover{ background: var(--irs-teal-dark); }

/* ---------- Barra de búsqueda ---------- */
.irs-search-bar{
  background: var(--irs-navy-dark);
  padding:14px 0;
}
.irs-search-bar form{ display:flex; max-width:700px; margin:0 auto; }
.irs-search-wrap{ position:relative; flex:1; }
.irs-search-bar input[type="search"]{
  width:100%; border:none; border-radius:6px 0 0 6px; padding:10px 14px; font-size:14px;
}
.irs-search-bar button{
  background:#fff; border:none; border-radius:0 6px 6px 0; padding:0 18px; cursor:pointer;
}
.irs-search-dropdown{
  display:none; position:absolute; top:100%; left:0; right:0; margin-top:4px;
  background:#fff; border:1px solid var(--irs-border); border-radius:8px;
  max-height:360px; overflow-y:auto; z-index:60; box-shadow:0 10px 24px rgba(0,0,0,.15); text-align:left;
}
.irs-search-dropdown.active{ display:block; }
.irs-search-item{
  display:flex; gap:10px; align-items:center; padding:9px 12px;
  border-bottom:1px solid var(--irs-border); color: var(--irs-text) !important;
}
.irs-search-item:last-child{ border-bottom:none; }
.irs-search-item:hover{ background: var(--irs-gray-bg); }
.irs-search-item img{ width:38px; height:38px; object-fit:contain; background: var(--irs-gray-bg); border-radius:6px; flex-shrink:0; }
.irs-search-item-name{ font-size:13px; font-weight:600; color: var(--irs-navy); line-height:1.3; }
.irs-search-item-meta{ font-size:11px; color: var(--irs-text-light); margin-top:2px; }
.irs-search-empty{ padding:14px; font-size:13px; color: var(--irs-text-light); text-align:center; }

/* ---------- Layout tienda: sidebar categorías + grid ---------- */
.irs-shop-layout{
  display:flex; gap:28px; align-items:flex-start;
  padding:30px 0 60px;
}
.irs-shop-sidebar{
  width:250px; flex-shrink:0;
  background:#fff; border:1px solid var(--irs-border); border-radius: var(--irs-radius);
  padding:18px;
}
.irs-shop-sidebar h3{
  font-size:15px; text-transform:uppercase; letter-spacing:.03em;
  margin:0 0 10px; color: var(--irs-navy);
}
.irs-cat-list{ list-style:none; margin:0; padding:0; }
.irs-cat-list li a{
  display:flex; justify-content:space-between; align-items:center;
  padding:11px 14px; border-radius:8px; color: var(--irs-text); font-size:14px;
}
.irs-cat-list li a:hover{ background: var(--irs-gray-bg); color: var(--irs-teal); }
.irs-cat-list li{ margin-bottom:2px; }
.irs-cat-count{ color: var(--irs-text-light); font-size:12px; }
.irs-cat-arrow{ color: var(--irs-text-light); font-weight:700; margin-left:4px; }

/* Migas de pan para volver a niveles superiores */
.irs-cat-breadcrumb{ list-style:none; margin:0 0 10px; padding:0; }
.irs-cat-breadcrumb li a{
  display:block; font-size:14.5px; color: var(--irs-teal-dark); padding:5px 2px; font-weight:700;
}
.irs-cat-breadcrumb li a:hover{ text-decoration:underline; }

/* Categoría actual (dónde estás parado) */
.irs-cat-current{
  font-size:15px; font-weight:700; color:#fff; background: var(--irs-navy);
  padding:11px 14px; border-radius:8px; margin-bottom:10px; display:flex; justify-content:space-between; align-items:center;
}
.irs-cat-current .irs-cat-count{ font-weight:500; font-size:12px; opacity:.85; color:#fff; }

/* Subcategorías: previsualizables con botón de flecha, sin salir de la página */
.irs-cat-parent{ padding:0; }
.irs-cat-row{ display:flex; align-items:center; }
.irs-cat-row a{ flex:1; }
.irs-cat-toggle{
  background:none; border:none; cursor:pointer; padding:6px 10px; font-size:17px;
  color: var(--irs-text-light); transition: transform .2s ease; line-height:1;
}
.irs-cat-toggle:hover{ color: var(--irs-navy); }
.irs-cat-parent.expanded > .irs-cat-row .irs-cat-toggle{ transform: rotate(90deg); }
.irs-subcat-list{
  list-style:none; margin:0 0 0 14px; padding-left:10px; border-left:1px solid var(--irs-border);
  max-height:0; overflow:hidden; transition:max-height .25s ease;
}
.irs-cat-parent.expanded > .irs-subcat-list{ max-height:2000px; margin:2px 0 6px 14px; }
.irs-subcat-list li a{ padding:6px 10px; font-size:13px; }
.irs-subcat-list li a .irs-cat-count{ font-size:11px; }

/* Productos desplegados por SKU dentro de una categoría "hoja" */
.irs-cat-product a{
  display:flex !important; flex-direction:column; align-items:flex-start !important;
  gap:1px; padding:7px 10px !important;
}
.irs-cat-product-sku{ font-size:12.5px; font-weight:700; color: var(--irs-navy); }
.irs-cat-product-name{
  font-size:11.5px; color: var(--irs-text-light); white-space:nowrap; overflow:hidden;
  text-overflow:ellipsis; max-width:100%;
}
.irs-cat-see-all a{ font-size:12px !important; color: var(--irs-teal-dark) !important; font-weight:600; justify-content:flex-start !important; }

.irs-shop-main{ flex:1; min-width:0; }
.irs-shop-toolbar{
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:18px; flex-wrap:wrap; gap:10px;
}
.irs-shop-toolbar .irs-count{ color: var(--irs-text-light); font-size:14px; }
.irs-sort select{
  border:1px solid var(--irs-border); border-radius:6px; padding:8px 10px; font-size:14px;
}

/* ---------- Grid de productos ---------- */
.irs-product-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;
}
.irs-product-card{
  background:#fff; border:1px solid var(--irs-border); border-radius: var(--irs-radius);
  padding:16px; display:flex; flex-direction:column; transition:box-shadow .15s;
}
.irs-product-card:hover{ box-shadow:0 6px 18px rgba(11,42,74,.08); }
.irs-product-card .irs-thumb{
  background: var(--irs-gray-bg); border-radius:8px; aspect-ratio:1/1;
  display:flex; align-items:center; justify-content:center; overflow:hidden; margin-bottom:12px;
}
.irs-product-card .irs-thumb img{ width:100%; height:100%; object-fit:contain; }
.irs-badge-brand{
  display:inline-block; font-size:11px; font-weight:600; color: var(--irs-teal-dark);
  background:#E6F7F5; padding:2px 8px; border-radius:20px; margin-bottom:6px; width:fit-content;
}
.irs-sku{ font-size:12px; color: var(--irs-text-light); margin-bottom:2px; }
.irs-product-title{ font-size:15px; font-weight:600; color: var(--irs-navy); margin:0 0 8px; line-height:1.3; }
.irs-badge-stock{
  display:inline-flex; align-items:center; gap:4px; font-size:12px; font-weight:600;
  color: var(--irs-green-text); background: var(--irs-green-bg); padding:2px 8px; border-radius:20px;
  width:fit-content; margin-bottom:8px;
}
.irs-price{ font-size:18px; font-weight:700; color: var(--irs-navy); margin:4px 0 12px; }
.irs-price .irs-currency{ font-size:12px; font-weight:500; color: var(--irs-text-light); }
.irs-card-actions{ display:flex; gap:8px; margin-top:auto; align-items:center; }
.irs-card-actions .added_to_cart{ display:none; } /* usamos notificación propia del carrito, no el link duplicado */
.irs-card-actions a.button{
  flex:1; background: var(--irs-navy) !important; color:#fff !important; border:none; border-radius:6px;
  padding:10px 12px !important; font-weight:600; font-size:14px; cursor:pointer; text-align:center;
}
.irs-card-actions a.button:hover{ background: var(--irs-navy-dark) !important; }
.irs-btn-view{
  width:42px; border:1px solid var(--irs-border); border-radius:6px; background:#fff;
  display:flex; align-items:center; justify-content:center; color: var(--irs-navy);
}
.irs-btn-view:hover{ border-color: var(--irs-navy); }

/* ---------- Categorías scroll horizontal (home, según boceto) ---------- */
.irs-cat-scroll-wrap{ padding:40px 0; background: var(--irs-gray-bg); }
.irs-cat-scroll-title{ font-size:22px; font-weight:700; color: var(--irs-navy); margin-bottom:16px; }
.irs-cat-scroll{
  display:flex; gap:14px; overflow-x:auto; padding-bottom:10px; scroll-behavior:smooth;
}
.irs-cat-chip{
  flex:0 0 auto; background:#fff; border:1px solid var(--irs-border); border-radius:30px;
  padding:10px 18px; font-size:14px; font-weight:600; color: var(--irs-navy); white-space:nowrap;
}
.irs-cat-chip:hover{ background: var(--irs-navy); color:#fff !important; border-color: var(--irs-navy); }

/* ---------- Ficha de producto individual ---------- */
.irs-single-product{ padding:40px 0 60px; }
.irs-breadcrumbs{ font-size:13px; color: var(--irs-text-light); margin-bottom:20px; }
.irs-single-grid{ display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start; }
.irs-gallery-main{
  background: var(--irs-gray-bg); border-radius: var(--irs-radius); aspect-ratio:1/1;
  display:flex; align-items:center; justify-content:center; margin-bottom:12px; overflow:hidden;
}
.irs-gallery-main img{ max-width:70%; max-height:70%; object-fit:contain; }
.irs-gallery-thumbs{ display:flex; gap:10px; }
.irs-gallery-thumbs button{
  flex:1; border:1px solid var(--irs-border); background:#fff; border-radius:8px; padding:10px; cursor:pointer; font-size:13px;
}
.irs-gallery-thumbs button.active{ border-color: var(--irs-teal); color: var(--irs-teal-dark); font-weight:600; }

.irs-single-badges{ display:flex; gap:8px; margin-bottom:10px; flex-wrap:wrap; }
.irs-badge{ font-size:12px; font-weight:600; padding:3px 10px; border-radius:20px; }
.irs-badge-siemens{ background:#E6F0FF; color:#2563EB; }
.irs-badge-avail{ background: var(--irs-green-bg); color: var(--irs-green-text); }
.irs-badge-cat{ background:#F1F0FF; color:#6D28D9; }
.irs-single-title{ font-size:26px; font-weight:700; color: var(--irs-navy); margin:6px 0 4px; }
.irs-single-sku{ font-size:13px; color: var(--irs-text-light); margin-bottom:14px; }
.irs-single-desc{ font-size:15px; color: var(--irs-text); line-height:1.6; margin-bottom:18px; }
.irs-single-price{ font-size:30px; font-weight:800; color: var(--irs-navy); }
.irs-single-price-sub{ font-size:13px; color: var(--irs-text-light); margin-bottom:20px; }

.irs-qty-row{ display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.irs-qty-row .quantity{ display:flex; align-items:center; border:1px solid var(--irs-border); border-radius:6px; }
.irs-single-add{
  flex:1; background: var(--irs-navy); color:#fff; border:none; border-radius:8px;
  padding:14px 18px; font-weight:700; font-size:15px; cursor:pointer;
}
.irs-single-add:hover{ background: var(--irs-navy-dark); }

.irs-wa-btn{
  display:block; text-align:center; background: var(--irs-teal); color:#fff !important;
  border-radius:8px; padding:13px 16px; font-weight:700; margin-top:10px;
}
.irs-wa-btn:hover{ background: var(--irs-teal-dark); }
.irs-official-link{ display:block; text-align:center; margin-top:10px; font-size:13px; color: var(--irs-navy); text-decoration:underline; }

.irs-specs-box{
  margin-top:26px; background:#fff; border:1px solid var(--irs-border); border-radius: var(--irs-radius); padding:20px;
}
.irs-specs-box h3{ font-size:16px; color: var(--irs-navy); margin:0 0 12px; }
.irs-specs-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; }
.irs-specs-grid li{ list-style:none; font-size:14px; display:flex; gap:8px; }
.irs-specs-grid li::before{ content:"•"; color: var(--irs-teal); font-weight:700; }

.irs-ficha-table{ width:100%; border-collapse:collapse; margin-top:18px; }
.irs-ficha-table td{ padding:9px 4px; border-bottom:1px solid var(--irs-border); font-size:14px; }
.irs-ficha-table td:first-child{ color: var(--irs-text-light); width:45%; }
.irs-ficha-table td:last-child{ font-weight:600; color: var(--irs-navy); }

/* ---------- FAQ ---------- */
.irs-faq-section{ padding:50px 0; }
.irs-faq-item{ border-bottom:1px solid var(--irs-border); }
.irs-faq-question{
  width:100%; text-align:left; background:none; border:none; padding:18px 0;
  font-size:16px; font-weight:600; color: var(--irs-navy); display:flex; justify-content:space-between;
  align-items:center; cursor:pointer;
}
.irs-faq-icon{ transition: transform .2s; }
.irs-faq-item.active .irs-faq-icon{ transform: rotate(45deg); }
.irs-faq-answer{ max-height:0; overflow:hidden; transition:max-height .25s ease; font-size:14.5px; color: var(--irs-text-light); line-height:1.6; }
.irs-faq-answer-inner{ padding-bottom:18px; }

/* ---------- Contacto ---------- */
.irs-contact-section{ background: var(--irs-gray-bg); padding:50px 0; }
.irs-contact-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:40px; }
.irs-contact-form input, .irs-contact-form textarea{
  width:100%; padding:12px 14px; border:1px solid var(--irs-border); border-radius:8px;
  margin-bottom:14px; font-size:14px; font-family:inherit;
}
.irs-contact-form button{
  background: var(--irs-navy); color:#fff; border:none; border-radius:8px; padding:13px 24px;
  font-weight:700; cursor:pointer;
}
.irs-contact-form button:hover{ background: var(--irs-navy-dark); }
.irs-social-links{ display:flex; gap:12px; margin-top:16px; }
.irs-social-links a{
  width:42px; height:42px; border-radius:50%; background: var(--irs-navy); color:#fff !important;
  display:flex; align-items:center; justify-content:center; font-size:18px;
}
.irs-form-msg{ padding:12px 14px; border-radius:8px; margin-bottom:14px; font-size:14px; }
.irs-form-msg.ok{ background: var(--irs-green-bg); color: var(--irs-green-text); }
.irs-form-msg.err{ background:#FEE2E2; color:#DC2626; }

/* ---------- Carrito, Checkout y Mi Cuenta (páginas nativas de WooCommerce, con estilo IRS) ---------- */
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table{
  border:1px solid var(--irs-border); border-radius: var(--irs-radius); border-collapse:separate; overflow:hidden;
}
.woocommerce-cart table.shop_table thead th,
.woocommerce-checkout table.shop_table thead th{
  background: var(--irs-navy); color:#fff; padding:12px 14px; font-weight:600; font-size:13px;
}
.woocommerce-cart table.shop_table td{ padding:14px; border-bottom:1px solid var(--irs-border); font-size:14px; vertical-align:middle; }
.woocommerce-cart .product-thumbnail img{ border-radius:8px; max-width:64px; background: var(--irs-gray-bg); }
.woocommerce-cart .product-remove a{ color:#DC2626 !important; font-weight:700; }
.woocommerce-cart td.actions .button,
.woocommerce-checkout #place_order,
.woocommerce-cart .checkout-button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
  background: var(--irs-navy) !important; color:#fff !important; border-radius:8px !important;
  padding:12px 20px !important; font-weight:700 !important; border:none !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce-checkout #place_order:hover{ background: var(--irs-navy-dark) !important; }
.woocommerce-cart td.actions .coupon .input-text{
  border:1px solid var(--irs-border); border-radius:8px; padding:10px 12px;
}
.cart-collaterals .cart_totals{
  background:#fff; border:1px solid var(--irs-border); border-radius: var(--irs-radius); padding:20px;
}
.cart_totals h2{ color: var(--irs-navy); font-size:17px; }
.cart_totals .order-total .amount{ color: var(--irs-navy); font-weight:700; font-size:18px; }

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review{
  background:#fff; border:1px solid var(--irs-border); border-radius: var(--irs-radius); padding:20px; margin-bottom:20px;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout textarea{
  border:1px solid var(--irs-border) !important; border-radius:8px !important; padding:11px 12px !important;
}
.woocommerce-checkout #order_review table.shop_table{ border:none; }
#payment{ background: var(--irs-gray-bg); border-radius: var(--irs-radius); padding:16px; margin-top:14px; }
#payment .payment_methods li{ border-bottom:1px solid var(--irs-border); padding:10px 0; }

.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:10px; background:#fff; border:1px solid var(--irs-border); border-radius: var(--irs-radius); overflow:hidden; }
.woocommerce-MyAccount-navigation li{ border-bottom:none; margin-bottom:6px; }
.woocommerce-MyAccount-navigation li:last-child{ margin-bottom:0; }
.woocommerce-MyAccount-navigation li a{
  display:flex !important; flex-direction:row !important; justify-content:flex-start !important;
  align-items:center !important; text-align:left !important; float:none !important;
  gap:14px; padding:15px 18px; border-radius:8px;
  color: var(--irs-text); font-size:15.5px; font-weight:500; transition:background .15s, color .15s;
}
.woocommerce-MyAccount-navigation li a::before{
  display:inline-block !important; float:none !important; order:0;
  font-size:19px; line-height:1; flex-shrink:0; width:24px; text-align:center;
}
.woocommerce-MyAccount-navigation-link--dashboard a::before{ content:"🏠"; }
.woocommerce-MyAccount-navigation-link--orders a::before{ content:"📦"; }
.woocommerce-MyAccount-navigation-link--downloads a::before{ content:"⬇️"; }
.woocommerce-MyAccount-navigation-link--edit-address a::before{ content:"📍"; }
.woocommerce-MyAccount-navigation-link--payment-methods a::before{ content:"💳"; }
.woocommerce-MyAccount-navigation-link--edit-account a::before{ content:"👤"; }
.woocommerce-MyAccount-navigation-link--customer-logout a::before{ content:"🚪"; }
.woocommerce-MyAccount-navigation li a:hover{ background: var(--irs-gray-bg); color: var(--irs-teal-dark); }
.woocommerce-MyAccount-navigation li.is-active a{ background: var(--irs-navy); color:#fff; font-weight:700; box-shadow:0 3px 8px rgba(11,42,74,.25); }
.woocommerce-MyAccount-navigation-link--customer-logout a{ color:#DC2626; }
.woocommerce-MyAccount-navigation-link--customer-logout a:hover{ background:#FEE2E2; color:#DC2626; }
.woocommerce-MyAccount-content{ background:#fff; border:1px solid var(--irs-border); border-radius: var(--irs-radius); padding:24px; }
.woocommerce-MyAccount-content table.shop_table{ border:1px solid var(--irs-border); border-radius: var(--irs-radius); overflow:hidden; }

.irs-discount-banner{
  background: var(--irs-green-bg); color: var(--irs-green-text); border-radius:8px;
  padding:12px 16px; margin-bottom:20px; font-size:14px;
}

/* Saludo de bienvenida en Mi Cuenta */
.irs-account-welcome{ margin-bottom:18px; }
.irs-account-welcome h2{ font-size:20px; color: var(--irs-navy); margin:0 0 4px; }
.irs-account-welcome p{ color: var(--irs-text-light); font-size:14px; margin:0; }

/* Accesos directos (Pedidos, Direcciones, Datos, Tienda) */
.irs-account-quicklinks{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; margin:20px 0 24px;
}
.irs-quicklink{
  background:#fff; border:1px solid var(--irs-border); border-radius: var(--irs-radius);
  padding:18px 14px; text-align:center; color: var(--irs-navy) !important; font-weight:600; font-size:13px;
  display:flex; flex-direction:column; align-items:center; gap:8px; transition:box-shadow .15s, border-color .15s;
}
.irs-quicklink:hover{ box-shadow:0 6px 16px rgba(11,42,74,.1); border-color: var(--irs-teal); }
.irs-quicklink-icon{ font-size:24px; }
@media (max-width:640px){ .irs-account-quicklinks{ grid-template-columns:repeat(2, 1fr); } }

/* Estados de pedido con color (Completado, Procesando, Pendiente, Cancelado...) */
.order-status,
.woocommerce-orders-table__cell-order-status mark{
  display:inline-block; padding:4px 12px; border-radius:20px; font-size:12px; font-weight:600;
  background: var(--irs-gray-bg); color: var(--irs-text); background-image:none !important;
}
.status-completed{ background: var(--irs-green-bg) !important; color: var(--irs-green-text) !important; }
.status-processing{ background:#E0F2FE !important; color:#0369A1 !important; }
.status-pending, .status-on-hold{ background:#FEF3C7 !important; color:#B45309 !important; }
.status-cancelled, .status-failed{ background:#FEE2E2 !important; color:#DC2626 !important; }
.status-refunded{ background:#F3F4F6 !important; color:#6B7280 !important; }

.woocommerce form.login, .woocommerce form.register, .woocommerce-EditAccountForm{
  background:#fff; border:1px solid var(--irs-border); border-radius: var(--irs-radius); padding:24px; max-width:480px;
}
.woocommerce form.login .form-row label, .woocommerce form.register .form-row label,
.woocommerce-EditAccountForm .form-row label{ font-size:13px; color: var(--irs-text-light); }
.u-columns.woocommerce-columns{ display:flex; gap:24px; flex-wrap:wrap; }
.u-columns.woocommerce-columns .col-1, .u-columns.woocommerce-columns .col-2{ flex:1; min-width:280px; }

/* Si la página fue tocada alguna vez por Elementor, evita que su ancho
   "boxed" por defecto (~1140px) comprima el layout de la tienda por dentro. */
body.woocommerce .elementor-section-boxed > .elementor-container,
body.woocommerce-page .elementor-section-boxed > .elementor-container{
  max-width:100% !important;
}

/* ---------- Hero / Banner principal (home) ---------- */
.irs-hero{
  background: linear-gradient(135deg, var(--irs-navy) 0%, var(--irs-navy-dark) 100%);
  padding:60px 0;
}
.irs-hero-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center; }
.irs-hero-eyebrow{
  display:inline-block; background:rgba(255,255,255,.12); color: var(--irs-teal);
  font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  padding:5px 12px; border-radius:20px; margin-bottom:14px;
}
.irs-hero-text h1{ color:#fff; font-size:36px; line-height:1.2; margin:0 0 14px; font-weight:800; }
.irs-hero-text p{ color:#C9D6E3; font-size:16px; line-height:1.6; margin:0 0 24px; max-width:520px; }
.irs-hero-cta{
  display:inline-block; background: var(--irs-teal); color:#fff !important; font-weight:700;
  padding:14px 28px; border-radius:8px; font-size:15px;
}
.irs-hero-cta:hover{ background: var(--irs-teal-dark); }

.irs-hero-badge{ margin-top:32px; }
.irs-hero-badge img{ max-height:70px; width:auto; }
.irs-hero-badge-placeholder{
  display:inline-flex; flex-direction:column; gap:2px; background:rgba(255,255,255,.08);
  border:1px dashed rgba(255,255,255,.35); border-radius:8px; padding:10px 18px;
}
.irs-hero-badge-placeholder strong{ color:#fff; font-size:14px; }
.irs-hero-badge-placeholder span{ color:#9FB3C8; font-size:12px; }

.irs-hero-card{
  background:#fff; border-radius:14px; padding:26px 22px;
  display:flex; align-items:center; justify-content:center; gap:20px;
  box-shadow:0 16px 36px rgba(0,0,0,.28);
}
.irs-hero-card-logo{ max-width:170px; max-height:90px; width:auto; height:auto; object-fit:contain; }
.irs-hero-card-divider{ width:1px; align-self:stretch; min-height:70px; background: var(--irs-border); }
.irs-hero-card-badge{ max-width:190px; max-height:90px; width:auto; height:auto; object-fit:contain; }

@media (max-width: 900px){
  .irs-hero-grid{ grid-template-columns:1fr; }
  .irs-hero-card{ order:-1; }
  .irs-hero-text h1{ font-size:28px; }
}

@media (min-width: 1400px){
  .irs-product-grid{ grid-template-columns:repeat(4, 1fr); }
}
@media (min-width: 1900px){
  .irs-product-grid{ grid-template-columns:repeat(5, 1fr); }
}

@media (max-width: 900px){
  .irs-shop-layout{ flex-direction:column; }
  .irs-shop-sidebar{ width:100%; }
  .irs-product-grid{ grid-template-columns:repeat(2, 1fr); }
  .irs-single-grid{ grid-template-columns:1fr; }
  .irs-contact-grid{ grid-template-columns:1fr; }
}
@media (max-width: 560px){
  .irs-product-grid{ grid-template-columns:1fr 1fr; }
  .irs-specs-grid{ grid-template-columns:1fr; }
}

/* ---------- Checkout por bloques (Elementor/ShopEngine): opciones de envío y pago ---------- */
.wc-block-components-radio-control__option{
  border:1.5px solid var(--irs-border) !important; border-radius:10px !important;
  margin-bottom:10px !important; transition:border-color .15s, background .15s;
  background:#fff !important;
}
.wc-block-components-radio-control__option:hover{ border-color: var(--irs-teal) !important; }
.wc-block-components-radio-control__option--checked{
  border-color: var(--irs-navy) !important; background: var(--irs-gray-bg) !important;
  box-shadow:0 0 0 1px var(--irs-navy) !important;
}
.wc-block-components-radio-control__input{ accent-color: var(--irs-navy) !important; }
.wc-block-components-radio-control__option--checked .wc-block-components-radio-control__label{
  color: var(--irs-navy) !important; font-weight:700 !important;
}
.wc-block-components-radio-control__label-group .wc-block-components-radio-control__secondary-label{
  color: var(--irs-navy) !important; font-weight:700 !important;
}
.wc-block-components-radio-control__description{ color: var(--irs-text-light) !important; font-size:13px !important; }

.wc-block-components-payment-method-label{ color: var(--irs-navy) !important; font-weight:600 !important; }
.wc-block-components-payment-method-content{
  background:transparent !important; border:none !important; border-radius:0 !important;
  padding:0 12px 12px !important; margin-top:0 !important;
}

/* Los métodos de PAGO usan un contenedor "acordeón" (fila + descripción
   juntas) distinto al de las opciones de envío. El borde real tiene que
   vivir en ESTE contenedor exterior, no en la fila interna, para que la
   línea quede completa cuando se despliega la descripción. */
.wc-block-components-radio-control-accordion-option{
  border:1.5px solid var(--irs-border) !important; border-radius:10px !important;
  margin-bottom:10px !important; overflow:hidden !important; background:#fff !important;
  transition:border-color .15s;
}
.wc-block-components-radio-control-accordion-option:hover{ border-color: var(--irs-teal) !important; }
.wc-block-components-radio-control-accordion-option:has(.wc-block-components-radio-control__option--checked){
  border-color: var(--irs-navy) !important;
}
.wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option{
  border:none !important; border-radius:0 !important; margin-bottom:0 !important; box-shadow:none !important; background:transparent !important;
}
.wc-block-components-title{ color: var(--irs-navy) !important; }

.wc-block-components-checkout-step__title{ color: var(--irs-navy) !important; font-weight:700 !important; }
.wc-block-components-button, .wp-block-woocommerce-checkout-actions-block .wc-block-components-button{
  background: var(--irs-navy) !important; border-radius:8px !important; font-weight:700 !important;
}
.wc-block-components-button:hover{ background: var(--irs-navy-dark) !important; }

/* ---------- Resumen/Detalle del pedido en el checkout por bloques ---------- */
.wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-checkout-totals-block{
  background: var(--irs-gray-bg) !important; border-radius: var(--irs-radius) !important;
  padding:18px !important; border:1px solid var(--irs-border) !important;
}
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper{ background:transparent !important; }
.wc-block-components-order-summary-item__quantity{
  background: var(--irs-navy) !important; color:#fff !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  color: var(--irs-navy) !important; font-weight:800 !important; font-size:16px !important;
}
.wc-block-components-panel__button{ color: var(--irs-navy) !important; font-weight:700 !important; }

/* Aviso de "precios sin impuestos" y línea de descuento por método de pago, en el checkout */
.irs-tax-note-block{ color: var(--irs-navy) !important; font-size:15px !important; font-weight:700 !important; font-style:normal; padding:12px 0 0; border-top:1px solid var(--irs-border); margin-top:8px; line-height:1.4; }
.wc-block-components-totals-item.fee .wc-block-components-totals-item__value,
.wc-block-components-totals-item.fee .wc-block-components-totals-item__label{
  color: var(--irs-green-text) !important; font-weight:700 !important;
}

/* Aumentar tamaño general de letra en todo el recuadro de "Resumen del pedido" */
.wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-checkout-totals-block{
  font-size:16px !important;
}
.wc-block-checkout__sidebar .wc-block-components-totals-item__label,
.wc-block-checkout__sidebar .wc-block-components-totals-item__value,
.wc-block-checkout__sidebar .wc-block-components-totals-item__description,
.wc-block-checkout__sidebar .wc-block-components-product-name,
.wc-block-checkout__sidebar .wc-block-components-product-metadata,
.wc-block-checkout__sidebar .wc-block-components-product-price,
.wc-block-checkout__sidebar .wc-block-components-order-summary-item{
  font-size:16px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  font-size:19px !important;
}

/* Título "Resumen del pedido" con el mismo estilo que los demás títulos del checkout */
.wc-block-checkout__sidebar h2,
.wc-block-checkout__sidebar .wc-block-components-title,
.wc-block-components-checkout-order-summary__title{
  color: var(--irs-navy) !important; font-weight:700 !important;
}

/* ---------- Header nuevo: panel de logo + panel de foto + nav ---------- */
.irs-site-header{ background:#fff; }

/* ---------- Quitar espacios en blanco sobrantes ---------- */
/* Storefront le pone al header un relleno arriba/abajo y un margen debajo
   (~2.6em); eso dejaba una franja blanca encima del logo y de la foto. */
.site-header,
.irs-site-header{
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}
/* Migas de pan (Inicio > Tienda): pegadas al menú y a lo que sigue debajo,
   sin el margen grande que traía Storefront. */
.storefront-breadcrumb{
  margin:0 !important;
  padding:0 !important;
}
.storefront-breadcrumb .col-full{ padding-top:0 !important; padding-bottom:0 !important; }
.woocommerce-breadcrumb{
  margin:0 !important;
  padding:10px 0 !important;
}
.site-content{ padding-top:0 !important; margin-top:0 !important; }
/* La barra azul de búsqueda va justo debajo de las migas de pan. */
.irs-search-bar{ margin-top:0 !important; }

.irs-header-split{ display:grid; grid-template-columns:1fr 1fr; }
.irs-header-logo-panel{ background:#fff; display:flex; align-items:center; justify-content:center; padding:8px 22px; }
.irs-header-logo-img{ max-height:185px; width:auto; max-width:94%; }
.irs-header-photo-panel{
  background-color: var(--irs-navy); background-size:contain; background-repeat:no-repeat; background-position:center;
  min-height:220px;
}
.irs-header-nav-row{
  background: var(--irs-navy-dark); padding:16px 24px; display:flex; align-items:center;
  justify-content:space-between; flex-wrap:wrap; gap:14px;
}
.irs-header-menu{ display:flex; gap:34px; list-style:none; margin:0; padding:0; flex-wrap:wrap; flex:1; }
.irs-header-menu li a{ color:#fff; font-size:16px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.irs-header-menu li a:hover{ color: var(--irs-teal); }
.irs-header-icons{ display:flex; align-items:center; gap:22px; }
.irs-header-icon{ color:#fff; display:flex; align-items:center; }
.irs-header-icon svg{ width:24px; height:24px; }
.irs-header-icon:hover{ color: var(--irs-teal); }
.irs-header-icons .site-header-cart{ display:flex; align-items:center; }
.irs-header-icons .site-header-cart > ul{ list-style:none; margin:0; padding:0; display:flex; }
.irs-header-icons .site-header-cart .cart-contents{ color:#fff !important; display:flex; align-items:center; gap:8px; font-size:16px; font-weight:700; }
.irs-header-icons .site-header-cart .cart-contents svg{ width:26px; height:26px; }
.irs-header-icons .site-header-cart .cart-contents:hover{ color: var(--irs-teal) !important; }
.irs-header-icons .site-header-cart .widget_shopping_cart_content{
  position:absolute; right:0; width:300px; background:#fff; color: var(--irs-text);
  border-radius:8px; box-shadow:0 10px 24px rgba(0,0,0,.15); z-index:60;
}
.irs-header-icons .site-header-cart .widget_shopping_cart_content ul.cart_list{
  list-style:none; display:block; margin:0; padding:10px;
}
.irs-header-icons .site-header-cart .widget_shopping_cart_content ul.cart_list li{
  display:flex; align-items:center; gap:8px; padding:8px 0; border-bottom:1px solid var(--irs-border); font-size:13px;
}
.irs-header-tagline{
  background: var(--irs-navy-dark); color:#7FA0C0; font-size:11px; letter-spacing:.05em;
  text-transform:uppercase; padding:0 24px 12px; font-weight:600;
}

@media (max-width: 782px){
  .irs-header-split{ grid-template-columns:1fr; }
  .irs-header-logo-panel{ padding:10px 16px; }
  .irs-header-logo-img{ max-height:140px; }
  .irs-header-photo-panel{ min-height:110px; }
  .irs-header-nav-row{ flex-direction:column; align-items:flex-start; }
  .irs-header-menu{ gap:14px; }
}


/* ---------- Etiqueta "En oferta especial" sobre la imagen ---------- */
.irs-product-card .irs-thumb{ position:relative; }
.irs-offer-flag{
  position:absolute; top:10px; left:10px; z-index:3;
  background:#D93025; color:#fff; font-size:12px; font-weight:800; letter-spacing:.3px;
  text-transform:uppercase; padding:5px 12px; border-radius:20px;
  box-shadow:0 2px 6px rgba(0,0,0,.2); pointer-events:none;
}
.irs-gallery-main{ position:relative; }
.irs-gallery-main .irs-offer-flag{ font-size:13px; padding:6px 14px; top:14px; left:14px; }

/* ---------- Mensaje bajo el buscador ---------- */
.irs-search-help{
  max-width:700px; margin:10px auto 0; text-align:center;
  font-size:13.5px; color:#fff; opacity:.95;
}
.irs-search-help a{ color:#7FE3D6 !important; font-weight:700; text-decoration:underline; }
.irs-search-empty a{ color: var(--irs-teal-dark); font-weight:700; text-decoration:underline; }
.irs-wa-inline{ display:inline-block; padding:12px 22px; }

/* ---------- Galería de la ficha: imagen más pequeña ---------- */
.irs-gallery{ max-width:420px; }
.irs-gallery-main img{ max-width:80%; max-height:80%; }
@media (max-width:768px){ .irs-gallery{ max-width:100%; } }


/* ---------- Opciones de envío: sin la etiqueta "GRATIS" (evita malas interpretaciones) ---------- */
.wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__secondary-label,
.wc-block-components-shipping-rates-control .wc-block-formatted-money-amount.wc-block-components-shipping-rates-control__package-item-price{
  display:none !important;
}

/* Registro: casilla de Términos y Condiciones */
.irs-terms-row label { display:flex; align-items:flex-start; gap:8px; font-weight:400; }
.irs-terms-row input[type="checkbox"] { margin-top:4px; flex:0 0 auto; }

/* Checkout: términos ya aceptados */
.irs-terms-accepted { background:#eef7ee; border:1px solid #b9dcb9; color:#2d5a2d; padding:10px 14px; border-radius:6px; font-size:.95em; margin:12px 0; }
.irs-terms-accepted a { color:inherit; text-decoration:underline; }
