/* =========================================================
   Recambios Benelli - estilo a medida (claro + verde)
   Se carga despues de theme.css para sobrescribir el classic.
   ========================================================= */
:root{
  --bnl-green:#43a047;
  --bnl-green-dark:#2e7d32;
  --bnl-green-soft:#e8f5e9;
  --bnl-ink:#1f2a28;
  --bnl-muted:#6b7280;
  --bnl-border:#e8ebe9;
  --bnl-bg:#f6f8f7;
  --bnl-radius:10px;
  --bnl-shadow:0 2px 14px rgba(20,40,30,.06);
}

/* ---------- Base ---------- */
body{
  color:var(--bnl-ink);
  background:#fff;
  font-family:-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--bnl-green-dark);}
a:hover{color:var(--bnl-green);}
.container{max-width:1200px;}
h1,h2,h3,.h1,.h2,.h3{color:var(--bnl-ink);font-weight:700;}

/* ---------- Botones ---------- */
.btn-primary,.btn-primary:focus,
button[type="submit"].btn-primary,
.product-add-to-cart .btn{
  background:var(--bnl-green);
  border-color:var(--bnl-green);
  border-radius:8px;
  font-weight:600;
  letter-spacing:.2px;
  transition:background .15s ease,transform .1s ease;
}
.btn-primary:hover,.product-add-to-cart .btn:hover{
  background:var(--bnl-green-dark);
  border-color:var(--bnl-green-dark);
  transform:translateY(-1px);
}
.btn-secondary,.btn-outline-secondary{border-radius:8px;}

/* ---------- Cabecera ---------- */
#header{
  background:#fff;
  box-shadow:var(--bnl-shadow);
  border-bottom:3px solid var(--bnl-green);
}
#header .header-top{padding:.75rem 0;}
#header a{color:var(--bnl-ink);}
#_desktop_logo img,.header__logo img,.logo img{max-height:56px;width:auto;}
#header .header-top .position-static{align-items:center;}

/* Barra de contacto superior */
#contact-link,.header-top__col,.js-header-top{color:var(--bnl-muted);font-size:.9rem;}
/* Telefono de cabecera siempre en una sola linea */
#_desktop_contact_link,#contact-link{white-space:nowrap;}
#contact-link{font-size:13.5px;line-height:1.3;}
#contact-link a{white-space:nowrap;}

/* ---------- Menu principal ---------- */
#_desktop_top_menu .top-menu a.dropdown-item,
#_desktop_top_menu .top-menu a{
  color:var(--bnl-ink);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.3px;
  font-size:.92rem;
}
#_desktop_top_menu .top-menu a:hover,
#_desktop_top_menu .top-menu .sub-menu a:hover{color:var(--bnl-green);}
.menu .top-menu .collapse{background:#fff;}
#_desktop_top_menu .top-menu li.lnk > a::after,
#_desktop_top_menu .top-menu > li > a{position:relative;}
#_desktop_top_menu .top-menu > li > a::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:3px;
  background:var(--bnl-green);transform:scaleX(0);transition:transform .18s ease;border-radius:3px;
}
#_desktop_top_menu .top-menu > li > a:hover::after{transform:scaleX(1);}

/* ---------- Buscador ---------- */
#search_widget form input[type=text],
.ps-search input{
  border:1px solid var(--bnl-border);
  border-radius:24px;
  padding-left:16px;
  background:var(--bnl-bg);
}
#search_widget form input[type=text]:focus{
  border-color:var(--bnl-green);
  background:#fff;
  box-shadow:0 0 0 3px var(--bnl-green-soft);
}
#search_widget form button,.ps-search button{color:var(--bnl-green-dark);}

/* ---------- Titulos de seccion en la portada ---------- */
.featured-products .h2,.products-section-title,
h2.products-section-title,.page-home h2{
  text-align:center;
  text-transform:uppercase;
  letter-spacing:1px;
  font-weight:800;
  margin:2.2rem 0 1.4rem;
  position:relative;
  color:var(--bnl-ink);
}
.products-section-title::after,.page-home h2::after{
  content:"";display:block;width:64px;height:4px;border-radius:4px;
  background:var(--bnl-green);margin:.7rem auto 0;
}

/* ---------- Tarjetas de producto ---------- */
.product-miniature .thumbnail-container,
.js-product-miniature .thumbnail-container,
.product-miniature{
  background:#fff;
  border:1px solid var(--bnl-border);
  border-radius:var(--bnl-radius);
  box-shadow:none;
  transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease;
  overflow:hidden;
}
.product-miniature:hover .thumbnail-container,
.product-miniature:hover{
  box-shadow:var(--bnl-shadow);
  transform:translateY(-3px);
  border-color:#d7e6da;
}
.product-miniature .product-title a{
  color:var(--bnl-ink);font-weight:600;
}
.product-miniature .product-title a:hover{color:var(--bnl-green);}
.product-miniature .price,.product-price .price{
  color:var(--bnl-green-dark);font-weight:800;
}
.product-miniature .product-description,.product-miniature .product-reference{color:var(--bnl-muted);}

/* ---------- Breadcrumb ---------- */
.breadcrumb{background:transparent;padding:.8rem 0;}
.breadcrumb a{color:var(--bnl-muted);}
.breadcrumb a:hover{color:var(--bnl-green);}
.breadcrumb li:last-child span{color:var(--bnl-ink);font-weight:600;}

/* ---------- Pie de pagina ---------- */
.page-footer,.footer-container{
  background:var(--bnl-bg);
  border-top:1px solid var(--bnl-border);
}
.footer-container{padding-top:2.2rem;}
.footer-container h3,.footer-container .h3{
  color:var(--bnl-ink);text-transform:uppercase;font-size:.95rem;letter-spacing:.5px;
}
.footer-container li a{color:var(--bnl-muted);}
.footer-container li a:hover{color:var(--bnl-green);padding-left:3px;transition:all .12s ease;}
.footer-container .links .h3::after,
.footer-container .block-contact .h3::after{
  content:"";display:block;width:34px;height:3px;background:var(--bnl-green);border-radius:3px;margin-top:.5rem;
}

/* Newsletter / boton suscribir */
.ps-emailsubscription .btn,.block_newsletter .btn{background:var(--bnl-green);border-color:var(--bnl-green);}

/* ---------- Despiece (modulo spareparts) ---------- */
.spareparts-table table,.spareparts table{width:100%;border-collapse:collapse;}
.spareparts-table thead th,.spareparts thead th{
  background:var(--bnl-green);color:#fff;font-weight:700;padding:.7rem .6rem;text-transform:uppercase;font-size:.85rem;
}
.spareparts-table tbody tr,.spareparts tbody tr{border-bottom:1px solid var(--bnl-border);}
.spareparts-table tbody tr:nth-child(even){background:var(--bnl-bg);}
.spareparts-table tbody tr:hover{background:var(--bnl-green-soft);}
.spareparts-table td,.spareparts td{padding:.6rem .6rem;vertical-align:middle;}
.spareparts .price,.spareparts-table .price{color:var(--bnl-green-dark);font-weight:700;}

/* ---------- Varios ---------- */
.card{border-radius:var(--bnl-radius);border-color:var(--bnl-border);}
.form-control:focus{border-color:var(--bnl-green);box-shadow:0 0 0 3px var(--bnl-green-soft);}
.alert-success{background:var(--bnl-green-soft);border-color:var(--bnl-green);color:var(--bnl-green-dark);}
.cart-preview .header{color:var(--bnl-green-dark);}
#header .cart-preview .shopping-cart{color:var(--bnl-green-dark);}

/* Hero buscador de despieces (portada) */
.bnl-hero{
  background:linear-gradient(120deg,var(--bnl-green-soft) 0%,#fff 70%);
  border:1px solid var(--bnl-border);
  border-radius:16px;
  padding:2.6rem 2rem;
  margin:1.4rem 0 .5rem;
  text-align:center;
}
.bnl-hero h1{font-size:2rem;margin-bottom:.4rem;}
.bnl-hero p{color:var(--bnl-muted);font-size:1.1rem;margin-bottom:1.6rem;}
.bnl-hero .bnl-brands{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.bnl-hero .bnl-brands a{
  display:inline-block;background:var(--bnl-green);color:#fff;font-weight:700;
  text-transform:uppercase;letter-spacing:.5px;padding:.9rem 2.2rem;border-radius:10px;
  text-decoration:none;transition:background .15s ease,transform .1s ease;
}
.bnl-hero .bnl-brands a:hover{background:var(--bnl-green-dark);transform:translateY(-2px);color:#fff;}
@media (max-width:767px){.bnl-hero{padding:1.8rem 1rem;}.bnl-hero h1{font-size:1.5rem;}}

/* ---------- Semaforo de stock (Benelli Espana) ---------- */
.bnl-stock{
  display:inline-flex;align-items:center;gap:.42rem;
  font-size:.82rem;font-weight:700;margin:.3rem 0;white-space:nowrap;line-height:1;
}
.bnl-stock .bnl-dot{
  width:11px;height:11px;border-radius:50%;display:inline-block;flex:0 0 auto;
  box-shadow:0 0 0 2px rgba(0,0,0,.06);
}
.bnl-stock-verde{color:#2e7d32;}
.bnl-stock-verde .bnl-dot{background:#2ecc40;}
.bnl-stock-naranja{color:#b3690a;}
.bnl-stock-naranja .bnl-dot{background:#ff9f1a;}
.bnl-stock-rojo{color:#c0392b;}
.bnl-stock-rojo .bnl-dot{background:#ff3b30;}
.bnl-stock-consultar{color:#7a8088;font-weight:600;}
.bnl-stock-consultar .bnl-dot{background:#c7ccd1;}
.bnl-nd{font-weight:700;color:#7a8088;letter-spacing:.5px;}
/* Plano del despiece: centrado y grande, sin tanto margen */
#spareparts-category-scene{text-align:center;margin:.5rem 0 1.2rem;}
#spareparts-category-scene img{width:100% !important;max-width:1000px !important;height:auto !important;margin:0 auto;}
/* Semaforo en ficha de producto */
.bnl-stock-product{
  margin:.9rem 0;padding:.6rem .9rem;border:1px solid var(--bnl-border);
  border-radius:10px;background:var(--bnl-bg);font-size:.95rem;
}
.bnl-stock-product .bnl-stock{margin:0;font-size:.95rem;}
.bnl-stock-product small{display:block;color:var(--bnl-muted);font-weight:400;margin-top:.25rem;}
.bnl-stock-product .bnl-stock-more{display:inline-block;margin-top:.4rem;font-size:.82rem;font-weight:600;color:var(--bnl-green-dark);}
.bnl-stock-product .bnl-stock-more:hover{color:var(--bnl-green);text-decoration:underline;}
/* Leyenda de disponibilidad sobre el despiece */
.bnl-legend{
  display:flex;align-items:center;flex-wrap:wrap;gap:.45rem 1.1rem;
  background:var(--bnl-bg);border:1px solid var(--bnl-border);border-radius:10px;
  padding:.7rem 1rem;margin:0 0 1.1rem;font-size:.85rem;
}
.bnl-legend-title{font-weight:700;color:var(--bnl-ink);}
.bnl-legend .bnl-stock{margin:0;}
.bnl-legend-more{margin-left:auto;font-weight:600;color:var(--bnl-green-dark);white-space:nowrap;}
.bnl-legend-more:hover{color:var(--bnl-green);text-decoration:underline;}
@media (max-width:767px){.bnl-legend-more{margin-left:0;}}

/* ---------- Banner de plazos de entrega (portada) ---------- */
.bnl-delivery{
  background:#fff;border:1px solid var(--bnl-border);border-radius:16px;
  padding:1.9rem 1.6rem;margin:1.4rem 0 .5rem;box-shadow:var(--bnl-shadow);
}
.bnl-delivery-title{text-align:center;font-size:1.5rem;margin:0 0 .45rem;}
.bnl-delivery-intro{text-align:center;color:var(--bnl-muted);max-width:780px;margin:0 auto 1.5rem;}
.bnl-delivery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.bnl-delivery-card{background:var(--bnl-bg);border:1px solid var(--bnl-border);border-radius:12px;padding:1rem 1.1rem;}
.bnl-delivery-card .bnl-stock{font-size:.95rem;margin:0 0 .45rem;}
.bnl-delivery-card p{font-size:.85rem;color:var(--bnl-ink);margin:0;line-height:1.5;}
.bnl-delivery-note{text-align:center;font-size:.85rem;color:var(--bnl-muted);margin:1.4rem auto 0;max-width:880px;line-height:1.6;}
.bnl-delivery-note a{font-weight:600;color:var(--bnl-green-dark);}
.bnl-delivery-note a:hover{color:var(--bnl-green);text-decoration:underline;}
@media (max-width:860px){.bnl-delivery-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.bnl-delivery-grid{grid-template-columns:1fr;}}

/* Cabecera en una sola fila: carrito a la derecha del menu (no a dos alturas) */
@media (min-width:768px){
  #header .header-top-right{display:flex;align-items:center;flex-wrap:nowrap;gap:14px;}
  #header .header-top-right #_desktop_top_menu{order:1;}
  #header .header-top-right #_desktop_cart{order:2;width:auto;flex:0 0 auto;}
  #header .header-top-right #search_widget{order:3;margin-left:auto;flex:0 1 auto;max-width:300px;}
}

/* Buscador: que el texto no se pise con la lupa */
#search_widget form{position:relative;}
#search_widget form .material-icons.search{left:12px;right:auto;pointer-events:none;}
#search_widget form input[type=text]{padding-left:40px;}
