/* =========================================================================
   pRcant.NET Store — PrestaShop 9 theme (figlio di Hummingbird / Bootstrap 5)
   Design system di prcant.net (navy + arancio). Brandizza i componenti
   di Hummingbird e aggiunge i componenti custom (topbar, hero, cross, footer).
   ========================================================================= */

/* Base del tema genitore (Hummingbird) — caricata per prima, poi sovrascritta sotto.
   Il file vive sul server in themes/hummingbird/ (il genitore è sempre installato). */
@import url('/themes/hummingbird/assets/css/theme.css');

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Inter:wght@400;500;600;700&display=swap');

:root {
  /* --- Blu navy (brand) --- */
  --blue-900: #0a1628;
  --blue-800: #0d2040;
  --blue-700: #0f2d5a;
  --blue-600: #1a3a6b;
  --blue-500: #1e4d8c;
  --blue-400: #2563c4;
  --blue-300: #3b82f6;
  --blue-200: #93c5fd;
  --blue-100: #dbeafe;
  --blue-50:  #eff6ff;

  /* --- Accent arancio (CTA) --- */
  --accent:       #f97316;
  --accent-dark:  #ea6008;
  --accent-light: #fed7aa;

  /* --- WhatsApp --- */
  --green-wa:  #25d366;

  /* --- Grigi --- */
  --gray-900: #111827;
  --gray-800: #1f2937;
  --gray-700: #374151;
  --gray-600: #4b5563;
  --gray-500: #6b7280;
  --gray-400: #9ca3af;
  --gray-300: #d1d5db;
  --gray-200: #e5e7eb;
  --gray-100: #f3f4f6;
  --gray-50:  #f9fafb;

  --font-display: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif;
  --font-body:    'Inter', 'Segoe UI', system-ui, sans-serif;

  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;

  --shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);
  --shadow-md: 0 4px 16px rgba(10,22,40,.10);
  --shadow-lg: 0 10px 40px rgba(10,22,40,.15);

  --max-w: 1200px;

  /* Rimappa le variabili Bootstrap 5 di Hummingbird sul brand */
  --bs-primary: #1e4d8c;
  --bs-primary-rgb: 30,77,140;
  --bs-link-color: #2563c4;
  --bs-link-color-rgb: 37,99,196;
  --bs-link-hover-color: #0f2d5a;
  --bs-body-font-family: 'Inter','Segoe UI',system-ui,sans-serif;
  --bs-body-color: #1f2937;
  --bs-body-bg: #f9fafb;
}

/* ======================== Base ======================== */
body {
  font-family: var(--font-body);
  color: var(--gray-800);
  background: var(--gray-50);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--blue-900);
  letter-spacing: .2px;
  text-transform: uppercase;
}

a { color: var(--blue-400); }
a:hover, a:focus { color: var(--blue-600); }

/* ======================== Bottoni (Bootstrap 5) ======================== */
.btn {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-radius: var(--radius-md);
  padding: .65rem 1.4rem;
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.btn-primary {
  --bs-btn-bg: var(--accent);
  --bs-btn-border-color: var(--accent);
  --bs-btn-hover-bg: var(--accent-dark);
  --bs-btn-hover-border-color: var(--accent-dark);
  --bs-btn-active-bg: var(--accent-dark);
  --bs-btn-active-border-color: var(--accent-dark);
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
  box-shadow: 0 6px 18px rgba(249,115,22,.32);
}
.btn-primary:hover, .btn-primary:focus { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(249,115,22,.42); }
.btn-secondary {
  --bs-btn-bg: var(--blue-500);
  --bs-btn-border-color: var(--blue-500);
  --bs-btn-hover-bg: var(--blue-700);
  --bs-btn-hover-border-color: var(--blue-700);
  --bs-btn-active-bg: var(--blue-700);
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}
.btn-secondary:hover, .btn-secondary:focus { transform: translateY(-2px); }
.btn-outline-primary {
  --bs-btn-color: var(--blue-500);
  --bs-btn-border-color: var(--blue-500);
  --bs-btn-hover-bg: var(--blue-500);
  --bs-btn-hover-border-color: var(--blue-500);
  --bs-btn-hover-color: #fff;
  border-width: 2px;
}
.btn-outline-light {
  border: 2px solid rgba(255,255,255,.6);
  color: #fff;
  background: transparent;
  border-radius: var(--radius-md);
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  padding: .65rem 1.4rem;
  transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}
.btn-outline-light:hover, .btn-outline-light:focus {
  background: rgba(255,255,255,.12);
  border-color: #fff;
  color: #fff;
  transform: translateY(-2px);
}

/* ======================== Topbar custom ======================== */
.prc-topbar {
  background: var(--blue-900);
  color: var(--blue-100);
  font-size: .82rem;
  font-weight: 500;
}
.prc-topbar a { color: var(--blue-100); text-decoration: none; }
.prc-topbar a:hover { color: #fff; }
.prc-topbar__inner {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: .45rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.prc-topbar__left, .prc-topbar__right { display: flex; align-items: center; gap: 1.2rem; flex-wrap: wrap; }
.prc-topbar__item, .prc-topbar__link { display: inline-flex; align-items: center; gap: .35rem; }
.prc-topbar__link { font-weight: 600; }
.prc-topbar .material-icons { font-size: 1rem; color: var(--blue-300); vertical-align: middle; }
.prc-topbar__badge {
  display: inline-flex; align-items: center; gap: .35rem;
  background: rgba(37,211,102,.15);
  color: #6ee7a8;
  padding: .2rem .6rem;
  border-radius: 999px;
  font-weight: 600;
}
.prc-topbar__badge .material-icons { color: #6ee7a8; }
@media (max-width: 767px){ .prc-topbar .prc-hide-sm { display:none; } }

/* ======================== Header Hummingbird ======================== */
.header-top { background: var(--blue-800); }
.header-top, .header-top a { color: var(--blue-100); }
.header-top a:hover { color: #fff; }
.header-bottom { background: #fff; box-shadow: var(--shadow-sm); padding: .4rem 0; }
.header-bottom__logo img { max-height: 54px; width: auto; }
header.prc-scrolled .header-bottom { box-shadow: var(--shadow-md); }

/* Mega-menu / voci menu principali */
.header-bottom .ps-menu a,
#_desktop_top_menu a[data-depth="0"] {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .3px;
  color: var(--blue-900);
}
#_desktop_top_menu a[data-depth="0"]:hover { color: var(--accent); }

/* Search + icone */
.header-block__icon, .header-block { color: var(--blue-900); }
.header-block__badge { background: var(--accent); color: #fff; }
.search-widget form { border-radius: 999px; overflow: hidden; }

/* ======================== Hero / banner ======================== */
.prc-hero {
  position: relative;
  background:
    radial-gradient(1200px 500px at 80% -10%, rgba(37,99,196,.45), transparent 60%),
    linear-gradient(135deg, var(--blue-900) 0%, var(--blue-700) 60%, var(--blue-500) 100%);
  color: #fff;
  padding: 4rem 1rem 4.5rem;
  overflow: hidden;
}
.prc-hero::after {
  content: ""; position: absolute; inset: auto 0 -1px 0; height: 60px;
  background: var(--gray-50);
  clip-path: polygon(0 100%, 100% 100%, 100% 0);
}
.prc-hero__inner { max-width: var(--max-w); margin: 0 auto; position: relative; z-index: 2; }
.prc-hero__eyebrow {
  display: inline-flex; align-items:center; gap:.5rem;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18);
  padding: .35rem .9rem; border-radius: 999px;
  font-weight: 600; font-size: .85rem; letter-spacing: .5px;
  text-transform: uppercase;
}
.prc-hero__eyebrow .material-icons { font-size: 1rem; }
.prc-hero h1 { color: #fff; font-size: clamp(2rem, 4.5vw, 3.1rem); line-height: 1.04; margin: 1rem 0 .8rem; }
.prc-hero h1 .accent { color: var(--accent); }
.prc-hero p.lead { font-family: var(--font-body); font-size: 1.12rem; color: var(--blue-100); max-width: 560px; margin-bottom: 1.5rem; }
.prc-hero__cta { display: flex; gap: .8rem; flex-wrap: wrap; }
.prc-hero__cta .material-icons { vertical-align: -5px; font-size: 1.2rem; }

/* ======================== Sezioni / card ======================== */
.prc-section { max-width: var(--max-w); margin: 0 auto; padding: 3rem 1rem; }
.prc-section--tight { padding-top: 2.4rem; padding-bottom: 1rem; }
.prc-section__head { text-align: center; margin-bottom: 2rem; }
.prc-section__head h2 { font-size: clamp(1.8rem, 3.5vw, 2.4rem); }
.prc-section__head p { color: var(--gray-600); max-width: 640px; margin: .6rem auto 0; }

.prc-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.4rem; }
.prc-cards--cats { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 991px){ .prc-cards { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 767px){ .prc-cards--cats { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 575px){ .prc-cards { grid-template-columns: 1fr; } }
.prc-card {
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg);
  padding: 1.6rem;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.prc-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--blue-200); }
.prc-card__icon {
  width: 56px; height: 56px;
  display: grid; place-items: center;
  border-radius: var(--radius-md);
  background: var(--blue-50);
  color: var(--blue-500);
  margin-bottom: 1rem;
}
.prc-card__icon .material-icons { font-size: 1.7rem; }
.prc-card h3 { font-size: 1.2rem; margin: 0 0 .4rem; }
.prc-card--cat {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  text-decoration: none; gap: .4rem;
}
.prc-card--cat h3 { margin: 0; font-size: 1.1rem; }
.prc-card--cat:hover h3 { color: var(--accent); }
.prc-card--cat .prc-card__icon { margin-bottom: .2rem; }

/* ======================== Prodotti (titoli sezioni home) ======================== */
.products-section-title, .featured-products .h2, h2.products-section-title {
  font-family: var(--font-display);
  text-transform: uppercase;
  color: var(--blue-900);
  text-align: center;
  position: relative;
  padding-bottom: .6rem;
  margin-bottom: 1.8rem;
}
.products-section-title::after {
  content:""; display:block; width:72px; height:4px;
  background: var(--accent); border-radius: 999px; margin: .7rem auto 0;
}
.product-price, .price { color: var(--blue-600); font-weight: 800; }
.product-flag { background: var(--accent); border-radius: var(--radius-sm); font-family: var(--font-display); text-transform: uppercase; }
.product-flag.discount, .product-flag.on-sale { background: var(--blue-500); }

/* ======================== Cross-promo band (continuità prcant.net) ======================== */
.prc-cross {
  background:
    radial-gradient(900px 400px at 15% 120%, rgba(37,99,196,.40), transparent 60%),
    linear-gradient(135deg, var(--blue-800) 0%, var(--blue-900) 100%);
  color: #fff;
  margin-top: 3rem;
}
.prc-cross__inner {
  max-width: var(--max-w); margin: 0 auto; padding: 3rem 1rem;
  display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap;
}
.prc-cross__text { flex: 1 1 340px; }
.prc-cross__eyebrow {
  display: inline-block; font-family: var(--font-display); text-transform: uppercase;
  letter-spacing: 1px; color: var(--accent); font-weight: 700; font-size: .9rem; margin-bottom: .4rem;
}
.prc-cross h2 { color: #fff; font-size: clamp(1.6rem, 3vw, 2.2rem); margin: 0 0 .6rem; }
.prc-cross p { color: var(--blue-100); margin: 0; max-width: 560px; }
.prc-cross__cta { display: flex; gap: .8rem; flex-wrap: wrap; }
.prc-cross__cta .material-icons { vertical-align: -5px; font-size: 1.2rem; }

/* ======================== Footer Hummingbird brandizzato ======================== */
.footer__main {
  background: var(--blue-900);
  color: var(--blue-100);
  border-top: 4px solid var(--accent);
  padding-top: 2.4rem;
}
.footer__main a, .footer__main .link-item a, .footer__main li a { color: var(--blue-200); text-decoration: none; }
.footer__main a:hover { color: #fff; }
.footer__main h3, .footer__main .h3, .footer__main .title, .footer__main .footer__title {
  color: #fff; font-family: var(--font-display); text-transform: uppercase;
}
.footer__main hr { border-color: rgba(255,255,255,.12); }

.prc-footer-brand { padding-bottom: 1.8rem; margin-bottom: 1.4rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.prc-footer-logo { font-family: var(--font-display); font-weight: 900; font-size: 1.7rem; color: #fff; text-transform: none; margin-bottom: .6rem; }
.prc-footer-about p { color: var(--blue-200); font-size: .92rem; margin-bottom: 1rem; }
.prc-footer-cross {
  display: inline-flex; align-items: center; gap: .5rem;
  background: rgba(249,115,22,.12); border: 1px solid rgba(249,115,22,.35);
  color: #fed7aa; padding: .6rem .9rem; border-radius: var(--radius-md); font-size: .9rem; text-decoration: none;
}
.prc-footer-cross:hover { background: rgba(249,115,22,.22); color: #fff; }
.prc-footer-cross .material-icons { font-size: 1.1rem; }
.prc-footer-social { margin-top: 1rem; display: flex; gap: .6rem; }
.prc-footer-social a {
  width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%;
  background: rgba(255,255,255,.08); color: #fff; font-family: var(--font-display); font-weight: 800;
  transition: background-color .15s ease, transform .15s ease;
}
.prc-footer-social a:hover { background: var(--accent); transform: translateY(-2px); }
.prc-footer-contacts h3, .prc-footer-hours h3 { font-size: 1.15rem; margin-bottom: .9rem; }
.prc-footer-contacts ul, .prc-footer-hours ul { list-style: none; padding: 0; margin: 0; }
.prc-footer-contacts li { display: flex; align-items: center; gap: .6rem; color: var(--blue-200); margin-bottom: .6rem; font-size: .92rem; }
.prc-footer-contacts li .material-icons { font-size: 1.05rem; color: var(--blue-300); flex: none; }
.prc-footer-hours li { display: flex; justify-content: space-between; gap: 1rem; color: var(--blue-200); margin-bottom: .5rem; font-size: .92rem; border-bottom: 1px solid rgba(255,255,255,.07); padding-bottom: .5rem; }
.prc-footer-hours li span { color: #fff; font-weight: 600; }
@media (max-width: 767px){ .prc-footer-brand > div { margin-bottom: 1.6rem; } .prc-cross__inner { padding: 2.2rem 1rem; } }

/* ======================== WhatsApp floating button ======================== */
.prc-whatsapp {
  position: fixed; right: 20px; bottom: 20px;
  width: 58px; height: 58px; border-radius: 50%;
  background: var(--green-wa); color: #fff;
  display: grid; place-items: center;
  box-shadow: 0 8px 24px rgba(37,211,102,.45);
  z-index: 1000; transition: transform .15s ease; text-decoration: none;
}
.prc-whatsapp .material-icons { font-size: 1.9rem; }
.prc-whatsapp:hover { transform: scale(1.08); color:#fff; }
.prc-whatsapp::before {
  content:""; position:absolute; inset:0; border-radius:50%;
  border: 2px solid var(--green-wa); animation: prc-pulse 2s infinite;
}
@keyframes prc-pulse { 0% { transform: scale(1); opacity:.7; } 100% { transform: scale(1.6); opacity:0; } }

/* ======================== Utility ======================== */
.prc-text-accent { color: var(--accent) !important; }
.page-content--home { overflow-x: hidden; }


/* === prc home polish (2026-06-18) === */
.prc-section__foot{text-align:center;margin-top:1.6rem}
.prc-cards--cats{margin-top:.25rem}
.prc-card--cat{transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.prc-card--cat:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(10,22,40,.13);border-color:#f97316}
.prc-card__icon{transition:background .18s ease, color .18s ease}
.prc-card--cat:hover .prc-card__icon{background:#f97316;color:#fff}
.prc-section__head h2{position:relative;display:inline-block}
.prc-section__head h2:after{content:"";display:block;width:54px;height:4px;border-radius:3px;background:#f97316;margin:.55rem auto 0}

/* === prc brands + product cards (2026-06-18b) === */
.prc-brands{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 2.4rem;padding:.4rem 0}
.prc-brand{display:inline-flex;align-items:center;justify-content:center;height:56px;padding:.35rem .5rem}
.prc-brand img{max-height:40px;max-width:128px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.58;transition:filter .22s ease,opacity .22s ease,transform .22s ease}
.prc-brand:hover img{filter:grayscale(0);opacity:1;transform:scale(1.07)}
.js-product-miniature{transition:transform .18s ease, box-shadow .18s ease}
.js-product-miniature:hover{transform:translateY(-4px)}
.product-miniature .thumbnail-container,.product-miniature .product-thumbnail{border-radius:12px}
.product-flag.new,.product-flags .product-flag{background:#f97316;color:#fff;font-weight:700;letter-spacing:.2px;border:0}
.product-price-and-shipping .price,.product-miniature .price{color:#0a1628;font-weight:800}

/* ===================== MENU pRcant — restyle (2026-06-24) ===================== */
/* Desktop ≥1200px: barra categorie su riga PROPRIA, tutta larghezza, centrata */
@media (min-width:1200px){
  .header-bottom__row{ flex-wrap:wrap; }
  .ps-mainmenu.ps-mainmenu--desktop{ order:20; flex:0 0 100%; max-width:100%; }
  .ps-mainmenu__desktop{ width:100%; margin-top:.4rem; border-top:1px solid var(--gray-200); }
  .ps-mainmenu__tree{ display:flex; flex-wrap:nowrap; justify-content:center; align-items:center; gap:0 .4rem; }
  .ps-mainmenu__tree-item{ white-space:nowrap; }
}
/* Voci menu: navy uppercase, hover arancio + sottolineatura animata */
.ps-mainmenu__tree-link{
  font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.3px;
  color:var(--blue-900)!important; position:relative; padding:.72rem .8rem;
}
.ps-mainmenu__tree-item:hover .ps-mainmenu__tree-link, .ps-mainmenu__tree-link:hover{ color:var(--accent)!important; }
.ps-mainmenu__tree-link::after{
  content:""; position:absolute; left:.8rem; right:.8rem; bottom:.42rem; height:2px;
  background:var(--accent); border-radius:2px; transform:scaleX(0); transform-origin:center; transition:transform .2s ease;
}
.ps-mainmenu__tree-item:hover .ps-mainmenu__tree-link::after{ transform:scaleX(1); }
.ps-mainmenu__tree-dropdown-toggle{ color:var(--gray-400); padding-left:.1rem; }
/* Mega-menu: card con bordo accent + ombra; meno "mare di bianco" */
.ps-mainmenu .submenu, .js-sub-menu.submenu{
  border-top:3px solid var(--accent); box-shadow:var(--shadow-lg);
  border-radius:0 0 var(--radius-md) var(--radius-md); padding:1.3rem 1.6rem 1.5rem!important;
}
.submenu__row{ max-width:var(--max-w); margin:0 auto; }
.submenu__left{ border-right:1px solid var(--gray-200); }
.submenu .menu__link, .submenu a{ color:var(--blue-800)!important; font-weight:600; border-radius:var(--radius-sm); }
.submenu .menu__link:hover, .submenu a:hover{ color:var(--accent)!important; background:var(--blue-50); }
.submenu__title a, .submenu__title{ font-family:var(--font-display); text-transform:uppercase; color:var(--blue-900)!important; }
/* Le sottocategorie di 2° livello a colonne così riempiono il pannello */
.submenu__left-item .menu__list, .submenu__right-items{ column-gap:1.5rem; }
.submenu__right .submenu__right-items{ display:flex; flex-wrap:wrap; gap:.2rem 2rem; }

/* === MENU fix mega-menu (2026-06-24b): sottocategorie a GRIGLIA ordinata === */
.ps-mainmenu .submenu .submenu__row{ display:block!important; }
.ps-mainmenu .submenu .submenu__right{ display:none!important; }      /* via il pannello "figli" disordinato */
.ps-mainmenu .submenu .submenu__left{
  flex:0 0 100%!important; max-width:100%!important; width:100%!important; border:0!important; padding:0!important;
  display:grid!important; grid-template-columns:repeat(auto-fill, minmax(235px, 1fr)); gap:.15rem 1.2rem;
}
.ps-mainmenu .submenu .submenu__left-item{ margin:0!important; padding:0!important; }
.ps-mainmenu .submenu .menu__toggle-child{ display:none!important; }  /* via le frecce > */
.ps-mainmenu .submenu .submenu__left-item .menu__title{ margin:0!important; }
.ps-mainmenu .submenu .submenu__left-item a,
.ps-mainmenu .submenu .submenu__left-item .menu__title a,
.ps-mainmenu .submenu .submenu__left-item .menu__title{
  display:block!important; padding:.5rem .7rem!important; border-radius:var(--radius-sm);
  font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.2px;
  color:var(--blue-900)!important; font-size:.92rem; line-height:1.2;
}
.ps-mainmenu .submenu .submenu__left-item a:hover,
.ps-mainmenu .submenu .submenu__left-item .menu__title:hover{ background:var(--blue-50); color:var(--accent)!important; }

/* === FILTRI MOBILE — usa l'offcanvas NATIVO del tema (#offcanvas-faceted, che sta dentro #left-column).
   Il vecchio offcanvas custom rendeva #left-column position:fixed off-screen e cosi' spingeva fuori
   schermo anche l'offcanvas nativo (= pulsante non faceva nulla). Rimosso. Su mobile nascondiamo solo
   l'albero categorie (gia' nell'hamburger) e il vecchio pulsante custom. === */
.prc-filtri-btn, .prc-filtri-backdrop, .prc-filtri-close{ display:none!important; }
@media (max-width:767px){
  #left-column .ps-categorytree, #left-column .category-tree{ display:none!important; }
  #left-column{ padding:0!important; margin:0!important; }
  .center-column{ width:100%!important; flex:0 0 100%!important; max-width:100%!important; }
}
