/*
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:1200px; margin:0 auto; padding:0 20px; }

/* ---------- 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 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:8px 10px; border-radius:6px; color: var(--irs-text); font-size:14px;
}
.irs-cat-list li a:hover, .irs-cat-list li.current-cat a{
  background: var(--irs-gray-bg); color: var(--irs-teal);
}
.irs-cat-list li.current-cat a{ background: var(--irs-navy); color:#fff !important; }
.irs-cat-count{ color: var(--irs-text-light); font-size:12px; }

/* Subcategorías anidadas (siempre visibles) */
.irs-cat-parent{ padding:0; }
.irs-subcat-list{ list-style:none; margin:2px 0 6px 14px; padding-left:10px; border-left:1px solid var(--irs-border); }
.irs-subcat-list li a{ padding:6px 10px; font-size:13px; }
.irs-subcat-list li a .irs-cat-count{ font-size:11px; }

.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:0; background:#fff; border:1px solid var(--irs-border); border-radius: var(--irs-radius); overflow:hidden; }
.woocommerce-MyAccount-navigation li{ border-bottom:1px solid var(--irs-border); }
.woocommerce-MyAccount-navigation li:last-child{ border-bottom:none; }
.woocommerce-MyAccount-navigation li a{ display:block; padding:12px 16px; color: var(--irs-text); font-size:14px; }
.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:600; }
.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; }

.woocommerce form.login, .woocommerce form.register{
  background:#fff; border:1px solid var(--irs-border); border-radius: var(--irs-radius); padding:24px; max-width:420px;
}
.woocommerce form.login .form-row label, .woocommerce form.register .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; }

/* ---------- Responsive (extendido) ---------- */
@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; }
}
