/* Fix dimensioni icone (override bug media query 18px)
   Target: tutte le icone lingua (toggle + menu)
   Nota: forza 16x16 indipendentemente da regole responsive del tema
*/
@media screen {
  .language-flag-title .symbol,
  .dropdown-menu .language-flag,
  .j-dropdown .language-flag {
    min-height: 16px !important;
    height: 16px !important;
    width: 16px !important;
    box-sizing: border-box;
    padding: 0 !important;
    border: 0 !important;
    line-height: 0 !important;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}

/* BREADCRUMB livello z + offset
   Target: breadcrumb globale
   Effetto: lo porta sopra altri layer e lo sposta verticalmente
   ATTENZIONE: top:330px è un offset forte, da toccare solo se cambi l’hero
*/
.breadcrumb {
  z-index: 99;
  top: 330px;
}

/* LOGO — MOBILE ONLY (≤ 991px)  */
/* Obiettivo: 180 × 76 px (proporzionato) */

@media (max-width: 991px){

  /* Immagine logo: forza larghezza 180, altezza proporzionata max 76 */
  #logo a > img,
  .header .logo img,
  .mobile-header .logo img,
  .site-logo img {
    width: 180px !important;
    height: auto !important;     /* mantiene proporzioni */
    max-height: 76px !important; /* cappetta l'altezza a 76 */
  }
}

/* HEADER sopra a tutto
   Target: barre dell'header (desktop Journal3)
   Effetto: garantisce che il menu passi sopra slideshow/hero ecc.
*/
.desktop-header,
.desktop-header .menu-bar,
.desktop-header .mid-bar,
.header-classic .menu-bar {
  position: relative;
  z-index: 2;
}

/* Hero/testate sotto al menu
   Target: elementi grandi di pagina/hero
   Effetto: li tiene sotto il menu per evitare sovrapposizioni
*/
.page-title, .category-info, .slideshow, .title-wrapper {
  position: relative;
  z-index: 10003;
}

/* TOP BAR: allinea a SINISTRA il blocco .topbar-left
   Scopo: nelle configurazioni varie di Journal, assicura layout flex e spinge il modulo di sinistra completamente a sinistra
*/

/* 1) Rende flex i contenitori topbar (copertura vari layout Journal3) */
.header .top-bar,
.header .top-bar .navbar-nav,
.header .j-topbar,
.header .j-topbar .menu-bar {
  display: flex;
  align-items: center;
}

/* 2) Assicura che i moduli "Top Menu" siano flex (per allineamenti consistenti) */
.header .top-bar [class^="top-menu-"],
.header .top-bar [class*=" top-menu-"] {
  display: flex;
  align-items: center;
}

/* 3) Spinge il modulo .topbar-left tutto a sinistra
   Nota: usa margin-right:auto per separarlo dal resto
*/
.header .top-bar .topbar-left {
  margin-right: auto !important;
  margin-left: -5px;
}
/* TOP BAR: allinea blocco right al carrello (DESKTOP) */

  /* spingi tutto a destra */
  .desktop-header-active .header .top-bar.navbar-nav{
    justify-content: flex-end !important;
  }

  /* tieni language/currency + third-menu in riga a destra */
  .desktop-header-active .header .top-bar .language-currency,
  .desktop-header-active .header .top-bar .top-menu.third-menu{
    display: inline-flex !important;
    align-items: center;
    margin-right: -10px !important;
  }

  /* micro-nudge finale (se serve): valori piccoli e controllabili */
  .desktop-header-active .header .top-bar .language-currency,
  .desktop-header-active .header .top-bar .top-menu.third-menu{
    transform: translateX(56px); /* se vuoi spostare a destra: metti 6px / 10px */
  }

/* Forza l'hover color oro sul numero di telefono */
.top-menu-1160 .j-menu li.top-menu-item-1:hover>a:first-child .links-text {
    color: rgba(209, 180, 114, 1) !important;
}

/* LOGO dimensioni forzate
   Target: immagine logo nel link #logo
   Effetto: imposta dimensioni fisse (200x84) — occhio a retina/resize
*/
#logo a>img {
  width: 200px !important;
  height: 84px !important;
}

/* Altezza mid-bar e ordine
   Target: contenitori della mid-bar in header-classic quando attivo desktop-header
   Effetto: forza altezza 84px e mette il blocco in coda (order alto)
*/
.desktop-header-active .header-classic .mid-bar>div {
  height: 84px;
  order: 1004;
}

/* Dropdown lingue: layering e offset
   Target: contenitore dropdown Journal (.j-dropdown)
   Effetto: z-index molto alto per stare sopra carrello/slideshow; margin-top a 0 elimina gap
*/
.j-dropdown {
  margin-top: 0px;
  z-index: 1005;
}

/* Menu interno del dropdown
   Target: lista interna .j-menu
   Effetto: sposta leggermente a sinistra e aggiunge padding per clic più comodi
*/
.j-dropdown .j-menu {
  margin-left: -10px;
  padding: 15px;
}
.j-dropdown .j-menu>li {
    padding: 0;
}
.language img, .language-flag img {
    padding-right: 10px;
}

/* Abbassa il dropdown delle voci di menu */
.desktop-main-menu-wrapper .main-menu .menu-item.dropdown:not(.mega-menu):not(#search):not(.panel-active) .j-menu {
    margin-top: 20px;
  	box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
}

/* Personalizza il count-badge */
.desktop-cart-wrapper #cart-items {
    margin-top: 10px;
  	margin-right: 15px;
    display: inline-flex;
    z-index: 1;
}

/* Imposta il margine destro delle bandierine: margine destro ovunque (desktop + mobile + off-canvas) */
.header .language-currency .dropdown-menu .language-flag,
.mobile-header .language-currency .dropdown-menu .language-flag,
[class*="offcanvas"] .language-currency .dropdown-menu .language-flag,
.j-offcanvas .language-currency .dropdown-menu .language-flag,
.j-dropdown .j-menu .language-flag,
.dropdown-menu .language-flag {
  margin-right: 10px !important;
}

/* JOURNAL3 — MENU DUE BLOCCHI (DESKTOP)
   Core unico + variabili per lingua su :root */

/* CORE */
.desktop-header-active .desktop-main-menu-wrapper.menu-bar.has-menu-2{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  position:relative;
  z-index:2;

  /* legge i valori globali (con fallback) */
  padding-left:  var(--menu-padL,5px) !important;
  padding-right: var(--menu-padR,5px) !important;
}

/* sticky: stessi padding */
.desktop-header-active .sticky .desktop-main-menu-wrapper.menu-bar.has-menu-2{
  padding-left:  var(--menu-padL,5px) !important;
  padding-right: var(--menu-padR,5px) !important;
}

/* spacer centrale = larghezza badge */
.desktop-header-active .desktop-main-menu-wrapper.menu-bar.has-menu-2::before{
  content:"";
  flex:0 0 var(--menu-center-spacer,200px);
}

/* i due blocchi non invadono il centro */
.desktop-header-active .desktop-main-menu-wrapper.menu-bar.has-menu-2 > .main-menu-1,
.desktop-header-active .desktop-main-menu-wrapper.menu-bar.has-menu-2 > .main-menu-2{
  flex:1 1 0 !important;
  min-width:0 !important;
  max-width:calc(50% - var(--menu-center-spacer,200px)/2) !important;
}

/* liste interne */
.desktop-header-active .main-menu-1 .main-menu,
.desktop-header-active .main-menu-2 .main-menu{
  display:flex !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
}
.desktop-header-active .main-menu-1 .main-menu{ justify-content:flex-end !important;  margin-right:var(--menu-nudge-left,0px)  !important; }
.desktop-header-active .main-menu-2 .main-menu{ justify-content:flex-start !important; margin-left: var(--menu-nudge-right,0px) !important; }

/* link compatti (margini azzerati; lo spacing lo gestiamo sotto) */
.desktop-header-active .main-menu-1 .main-menu > li,
.desktop-header-active .main-menu-2 .main-menu > li{ margin:0 !important; }
.desktop-header-active .main-menu-1 .main-menu > li > a,
.desktop-header-active .main-menu-2 .main-menu > li > a{ white-space:nowrap; }


/* SPAZIATURA TRA LE VOCI (sinistra/destra separati) */
/* 1) Niente gap/margini sul contenitore: usiamo padding sugli item */
.desktop-header-active .desktop-main-menu-wrapper.menu-bar.has-menu-2 .main-menu{
  gap:0 !important;
  column-gap:0 !important;
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* 2) Applica padding laterale su OGNI voce (sinistra) */
.desktop-header-active .desktop-main-menu-wrapper.menu-bar.has-menu-2 > .main-menu-1 .main-menu > .main-menu-item{
  --_gap: var(--menu-gap-left, 4px);
  padding-left:  calc(var(--_gap)/2) !important;
  padding-right: calc(var(--_gap)/2) !important;
  margin:0 !important;
}

/* 3) Applica padding laterale su OGNI voce (destra) */
.desktop-header-active .desktop-main-menu-wrapper.menu-bar.has-menu-2 > .main-menu-2 .main-menu > .main-menu-item{
  --_gap: var(--menu-gap-right, 4px);
  padding-left:  calc(var(--_gap)/2) !important;
  padding-right: calc(var(--_gap)/2) !important;
  margin:0 !important;
}

/* 4) Evita padding extra sui link interni */
.desktop-header-active .desktop-main-menu-wrapper.menu-bar.has-menu-2 .main-menu > .main-menu-item > a{
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Forza LO SPACING usando la VAR Journal --menu-item-gap
   Obiettivo: comandare la distanza tra le voci sfruttando la stessa variabile del tema.
   Nota: usiamo selettori più specifici + !important per vincere. */

/* BASE: azzera interferenze sui container (continui a usare la tua logica) */
.desktop-header-active .desktop-main-menu-wrapper.menu-bar.has-menu-2 .main-menu{
  gap: 0 !important;
  column-gap: 0 !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* LATO SINISTRO — imposta la var Journal sulla UL sinistra */
.desktop-header-active .desktop-main-menu-wrapper.menu-bar.has-menu-2 > .main-menu-1 .j-menu > li{
  --menu-item-gap: var(--menu-gap-left, 24px) !important;
}

/* LATO DESTRO — imposta la var Journal sulla UL destra */
.desktop-header-active .desktop-main-menu-wrapper.menu-bar.has-menu-2 > .main-menu-2 .j-menu > li{
  --menu-item-gap: var(--menu-gap-right, 24px) !important;
}

/* In caso Journal aggiunga padding sui link, neutralizzalo (lo gestisce la var sopra) */
.desktop-header-active .desktop-main-menu-wrapper.menu-bar.has-menu-2 .j-menu > li > a{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* MICRO-SPOSTAMENTO DEI DUE BLOCCHI MENU (SX / DX) */
/* Sposta l’intero blocco di sinistra */
.desktop-header-active .desktop-main-menu-wrapper.menu-bar.has-menu-2 > .main-menu-1{
  transform: translateX(var(--menu-nudge-left, 0px));
  will-change: transform;
}

/* Sposta l’intero blocco di destra */
.desktop-header-active .desktop-main-menu-wrapper.menu-bar.has-menu-2 > .main-menu-2{
  transform: translateX(var(--menu-nudge-right, 0px));
  will-change: transform;
}

/* VALORI PER LINGUA (modifica solo qui) */

/* IT */
:root:lang(it){
  --menu-center-spacer: 200px;
  --menu-gap-left: 48px;
  --menu-gap-right: 48px;
  --menu-padL: 86px;
  --menu-padR: 0;
  --menu-nudge-left: 0;
  --menu-nudge-right: 6px;
}

/* DE */
:root:lang(de){
  --menu-center-spacer: 200px;
  --menu-gap-left: 49px;
  --menu-gap-right: 49px;
  --menu-padL: 52px;
  --menu-padR: 0;
  --menu-nudge-left: 0;
  --menu-nudge-right: 22px;
}

/* EN */
:root:lang(en){
  --menu-center-spacer: 200px;
  --menu-gap-left: 48px;
  --menu-gap-right: 48px;
  --menu-padL: 80px;
  --menu-padR: 0;
  --menu-nudge-left: 0;
  --menu-nudge-right: 10px;
}

/* sposta a destra l'icona del carrello */
.desktop-cart-wrapper {
    margin-right: -50px;
}

/* Toglie il background dal contenitore del titolo pagina */
html:not(.popup) .site-wrapper>.page-title .page-title-text {
  background: none !important;
}

/* Definisce l'altezza del contenitore del titolo pagina */
.site-wrapper>.page-title { height: 301px; }
@media (max-width: 991px){
  .site-wrapper>.page-title { height: 318px; }
}

/* Definisce il colore generale del footer (altrimenti rimane la parte bianca a sx) */
footer>.grid-rows>div.grid-row-5:before {
    background-color: #26282D;
}

/* Definisce le impostazioni dei link sotto il copyright */
div.links-menu-205 .module-body, div.links-menu-205 .module-body>.menu-item:before {
    --item-gap: 0;
}
div.links-menu-205 .menu-item:before {
    width: auto;
    height: 12px;
    border-width: 0 0 0 1px;
    border-style: solid;
    border-color: #888888;
  	top: 6px;
  	margin: 0 15px;
}

/* Wrapper per centrare il bottone nel footer */
.bv-scroll-top-wrapper {
  text-align: center;
  margin: -30px 0 0;  /* distanza dalle colonne e dal copyright */
}

/* Cerchio con freccia */
.bv-scroll-top {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid #888888;
  background: #23262c;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.bv-scroll-top i {
  font-size: 30px;
  line-height: 1;
  color: #888888;
  transition: color 0.2s ease;
}

/* Effetto hover, simile ai bottoni "Contact us / Our shop" */
.bv-scroll-top:hover {
  background: #d4b46a;
  border-color: #d4b46a;
}

.bv-scroll-top:hover i {
  color: #1f2124; /* il grigio scuro del footer */
}

/* Spazio sotto "Operational headquarters" */
.footer-heading-line small,
.small {
  margin-bottom: 10px;
}

/* Evita l'andata a capo dei titoli del footer */
.footer-heading-line span {
  white-space: nowrap;
}

/* colore link utili footer */
.module-info_blocks a {
  color: #888888 !important;
  text-decoration: none;
}

/* Hover: leggermente più scuri */
.module-info_blocks a:hover {
  color: #777777 !important;   /* leggermente più scuro di #888888 */
}

/* Centra copyright e link footer in OC sotto i 900px */
@media (max-width: 900px) {

  .module-info_blocks-328 .module-item-1 .info-block .info-block-text {
    text-align: center !important;
    justify-content: center !important;
  }

div.links-menu-205 .module-body, div.links-menu-205 .module-body>.menu-item:before {
  text-align: center !important;
    margin: 0 8px !important;
    justify-content: center !important;
  }
}

/* 1) Filetto dorato sotto al titolo */
.main-products-style.product-grid .product-thumb .name {
    position: relative;
    padding-bottom: 20px; /* spazio extra per il filetto */
}

.main-products-style.product-grid .product-thumb .name::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 100px;
    height: 1px;
    background-color: #D1B472; /* gold */
}

/* 2) Sposta .stats-2 subito sotto al filetto, quindi sotto il nome */
.main-products-style.product-grid .product-thumb .stats {
    order: 3 !important;
    margin-top: 15px !important; /* distanza dal filetto */
}

/* 3) Ordine degli elementi nella card */
.main-products-style.product-grid .product-thumb .name { order: 1 !important; }
.main-products-style.product-grid .product-thumb .stats { order: 2 !important; }
.main-products-style.product-grid .product-thumb .price { order: 3 !important; }

/* 4) Stile della categoria */
.main-products-style.product-grid .product-thumb .stats .stats-2 {
    display: block;
    font-size: 13px;
    margin-top: 4px;
    color: #d29257; /* arancio PW */
}

/* BEATO VINI — BUY BUTTON (categorie + correlati) — SINGLE */

/* Layout prezzo + bottone (tutte le card che hanno .product-thumb) */
.product-thumb .price {
  display: flex;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px;
 	flex-direction: initial;
}

/* Wrapper prezzo (lo crea il JS) */
.product-thumb .price .bv-price-wrap {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}

/* Bottone */
.product-thumb .price a.bv-buy-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 14px;
  border-radius: 3px;
  text-decoration: none !important;
  white-space: nowrap;
  background: #D1B472;
  color: #fff !important;
  font-weight: 400;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: 12px;
  transition: filter .2s ease;
}

.product-thumb .price a.bv-buy-btn:hover {
  filter: brightness(0.95);
}

/* Prezzi su due righe (sconto) più ordinati */
.product-thumb .price .price-old,
.product-thumb .price .price-new,
.product-thumb .price .price-normal {
  line-height: 1.2;
}

/* Rimuove completamente la linea lunga originale */
.uk-divider-small {
  border: none !important;
  margin: 40px 0;
  padding: 0;
  height: 0;
}

/* Linea dorata personalizzata, allineata a sinistra */
.uk-divider-small::after {
  content: "";
  display: block;
  width: 100px;
  border-top: 1px solid #D1B472;
  margin: 0; /* allinea completamente a sinistra */
}

/* Controlla il link "← Torna alla selezione vini" */
.route-product-product:not(.popup) .product_blocks {
  border-top: none;
  padding-top: 10px;
}
.route-product-product h1 {
  margin-top: -30px;
}

/* FIX PREZZO SCONTATO */

/* Wrapper prezzi */
.product-grid .product-thumb .price .bv-price-wrap {
  display: inline-flex;
  align-items: baseline;
  line-height: 1.5;
}

/* Prezzo vecchio */
.product-grid .product-thumb .price .price-old {
  white-space: nowrap;
}

/* Carrello: spazio sopra tabella prodotti (colonna sinistra) */
.route-checkout-cart .cart-table,
.route-checkout-cart .table-responsive {
  margin-top: 2px;
  border-radius: 3px;
  margin-bottom: 10px;
}

/* centra bene le icone */
.route-checkout-cart
.cart-table
.btn-update i,
.route-checkout-cart
.cart-table
.btn-remove i {
  font-size: 14px;
  line-height: 1;
  color: #292929;
}

/* Alert "minimum quantity" – stile raffinato */
.route-product-product:not(.popup)
.product-info
.product-details
.minimum.alert.alert-info {
  margin-top: -28px;
  margin-left: -17px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 400;
  background: transparent;
  border: none;
  display: flex;
  align-items: center;
  font-style: italic;
}

/* Checkout Cart — riduci h2 solo nel blocco pannelli */
.route-checkout-cart #content .cart-panels .title,
.route-checkout-cart #cart-panels .title,
.route-checkout-cart h2.cart-panels .title {
    font-size: 20px !important;
    line-height: 1.3 !important;
}

.route-checkout-cart #content td .btn {
    width: 40px;
}

/* ALERT: distanza dalla testata (solo alert "in cima" alla pagina) */

/* Alert dentro il contenuto pagina (carrello, account, liste, ecc.) */
.container > .alert {
  margin-top: 25px;
  margin-bottom: 0px;
  border-radius: 3px;
}

/* Riduce lo spazio tra gli alert SOLO nel carrello */
#checkout-cart .alert {
  margin-bottom: 10px;
}

#checkout-cart .alert + .alert {
  margin-top: 0;
}

/* Su mobile spesso serve un po' meno */
@media (max-width: 900px) {
  #content > .alert,
  #content .container > .alert {
    margin-top: 25px;
    margin-bottom: -40px;
  }
}

.route-checkout-checkout #content {
  max-width: 1300px;
  margin-top: 40px;
}

/* Checkout: sposta in basso TUTTO il blocco accordion */
.route-checkout-checkout #content .panel-group {
  margin-top: 40px;
}

/* BEATO VINI – Modal Shipping (#modal-shipping) */

#modal-shipping.modal { z-index: 1060 !important; } /* sopra */
.modal-backdrop { z-index: 1050 !important; }       /* sotto */

/* overlay più elegante */
.modal-backdrop.in { opacity: .55 !important; }

/* dimensioni + centratura */
#modal-shipping .modal-dialog{
  width: min(520px, calc(100% - 30px)) !important;
  margin: 60px auto !important;
}

/* box */
#modal-shipping .modal-content{
  border: 0 !important;
  border-radius: 3px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.25) !important;
  overflow: hidden !important;
}

/* header/body/footer più ordinati */
#modal-shipping .modal-header{
  padding: 18px 22px !important;
  border-bottom: 1px solid rgba(0,0,0,.08) !important;
}
#modal-shipping .modal-body{
  padding: 18px 22px 8px 22px !important;
}
#modal-shipping .modal-footer{
  padding: 14px 22px 18px 22px !important;
  border-top: 1px solid rgba(0,0,0,.08) !important;
  display: flex !important;
  gap: 10px !important;
  justify-content: flex-end !important;
}

/* righe metodi più “card” */
#modal-shipping .radio,
#modal-shipping .checkbox{
  padding: 12px 12px !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  border-radius: 3px !important;
  margin: 10px 0 !important;
}

/* bottoni */
#modal-shipping .modal-footer .btn{
  border-radius: 3px !important;
  padding: 10px 14px !important;
  font-weight: 400 !important;
}

/* mobile: bottoni full width */
@media (max-width: 900px){
  #modal-shipping .modal-dialog{ margin: 30px auto !important; }
  #modal-shipping .modal-footer{ flex-direction: column !important; }
  #modal-shipping .modal-footer .btn{ width: 100% !important; }
  .modal-footer .btn+.btn {
    margin-left: 0;
}
}

/* BEATO VINI – Forgot Password (route=account/forgotten)
   Card centrale + tipografia/allineamenti */

/* wrapper pagina: in OC spesso è #account-forgotten */
#account-forgotten{
  padding: 40px 0;
  max-width: 1300px;
}

/* card: prende qualunque .well o box dentro la pagina */
#account-forgotten .well,
#account-forgotten .content,
#account-forgotten form {
  background: #f5f4f3;
  border: 1px solid #cccccc;
  border-radius: 3px;
  box-shadow: 0 18px 55px rgba(0,0,0,.08);
}

/* padding interno (il form è quello che ci interessa) */
#account-forgotten form{
  padding: 26px;
  margin: 0 auto;
  max-width: 1300px;
}

/* testo descrittivo centrato */
#account-forgotten p{
  color: #888888;
  line-height: 1.55;
  text-align: left;
}

/* label + input */
#account-forgotten label{
  font-weight: 400;
  margin-bottom: 40px;
}

#account-forgotten .form-control{
  height: 40px;
  border-radius: 3px;
}
#account-forgotten .form-control::placeholder {
  font-size: 14px;
}

/* bottoni */
#account-forgotten .buttons{
  display: flex;
  gap: 12px;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
}

#account-forgotten .buttons .btn{
  border-radius: 3px;
  padding: 10px 16px;
  font-weight: 400;
}

/* titolo (legend) allineato a sinistra come le altre pagine */
#account-forgotten fieldset legend{
  text-align: left;
}

@media (max-width: 900px){
  #account-forgotten{ padding: 26px; }
  #account-forgotten form{ padding: 18px; }
  #account-forgotten .buttons{ flex-direction: column-reverse; }
  #account-forgotten .buttons .btn{ width: 100%; }
}

/* ALERT OpenCart standard – come carrello
   (account/forgotten) */

/* alert full width come checkout/cart */
#account-forgotten .alert {
  width: 100%;
  max-width: none;
  margin: 0 0 15px 0;
  padding: 12px 15px;
  border-radius: 3px;
  box-shadow: none;
}

/* BEATO VINI – Account Login (route=account/login)
   Coerenza con Forgotten: card, spazi, radius 3px */

#account-login{
  padding: 30px 0;
  margin-top: 20px;
  max-width: 1300px;
}

/* Griglia ordinata: flex ma senza “tagli” */
#account-login .row{
  display: flex;
  align-items: stretch;
}

.login-box > div {
    padding: 20px;
}

/* IMPORTANTISSIMO: le colonne dentro una row flex devono poter crescere */
#account-login .row > [class*="col-"]{
  flex: 1 1 0;
  min-width: 0;
}

/* Mobile: una colonna, full width */
@media (max-width: 900px){
  #account-login{ padding: 26px; }
  #account-login .row{
    flex-direction: column;
    gap: 12px;
  }
  #account-login .row > [class*="col-"]{
    width: 100% !important;
    flex: 0 0 100%;
    max-width: 100% !important;
  }
}

/* Le due colonne diventano “card” */
#account-login .well{
  background: #f5f4f3;
  border: 1px solid #cccccc;
  border-radius: 3px;
  box-shadow: 0 18px 55px rgba(0,0,0,.08);
  padding: 26px;
  overflow: visible;       /* non tagliare */
  box-sizing: border-box;  /* include padding nel calcolo */
}

/* Titoli delle card */
#account-login h2{
  font-size: 20px;
  font-weight: 400;
  margin: 0 0 16px 0;
}

/* Testi */
#account-login p{
  color: #888888;
  line-height: 1.55;
}

/* Form */
#account-login label{
  font-weight: 400;
}

#account-login .form-control{
  height: 40px;
  border-radius: 3px;
  box-sizing: border-box;
}

#account-login .form-control::placeholder {
  font-size: 14px;
}

/* Bottoni: NON devono uscire dal box */
#account-login .btn{
  max-width: 100%;
  white-space: normal;   /* se testo lungo va a capo */
}

/* BEATO VINI – Account Register (route=account/register)
   Coerente con Forgotten (card + fondo + radius 3px) */

#account-register{
  padding: 40px 0;
  margin-top: 20px;
	max-width: 1300px;
}

/* card contenitore del form */
#account-register #content form{
  background: #f5f4f3;
  border: 1px solid #cccccc;
  border-radius: 3px;
  box-shadow: 0 18px 55px rgba(0,0,0,.08);
  padding: 26px;
  max-width: 1300px;
  margin: 0 auto;
  box-sizing: border-box;
}

/* testo introduttivo sopra il form (lasciamolo “normale”) */
#account-register #content > p{
  color: #888888;
  line-height: 1.55;
  max-width: 1300px;
  margin: 0 auto 14px auto;
  padding: 0 2px;
}

/* titoli sezioni (I tuoi dati, Password, Newsletter) */
#account-register #content h2,
#account-register #content legend{
  font-size: 20px;
  font-weight: 400;
  margin: 0 0 16px 0;
}

/* label + campi */
#account-register label{
  font-weight: 400;
}

#account-register .form-control{
  height: 40px;
  border-radius: 3px;
  box-sizing: border-box;
}

/* spazi tra i gruppi */
#account-register .form-group{
  margin-bottom: 14px;
}

/* checkbox privacy più allineata */
#account-register .checkbox{
  margin: 16px 0 10px 0;
}

/* bottone finale coerente */
#account-register .buttons .btn,
#account-register input[type="submit"].btn{
  border-radius: 3px;
  font-weight: 400;
  padding: 10px 16px;
}
/* mobile */
@media (max-width: 900px){
  #account-register{ padding: 26px; }
}

#account-register .form-control::placeholder {
  font-size: 14px;
}

.route-checkout-cart .cart-bottom .cart-total table td {
    color: #292929 !important;
}

.cart-content .cart-products tbody .td-image a {
    max-width: 50px;
}

.cart-content .cart-products tbody .td-total{
    min-width: 100px;
}

.route-checkout-cart #collapse-shipping #button-quote{
  display: block !important;
  width: fit-content !important;
  margin-left: auto !important;
  margin-top: 40px; /* se ti serve spazio sopra */
}

/* Carrello – Stima costi: full width SOLO mobile */
@media (max-width: 900px){
  /* bottone dentro Stima spedizione e tasse */
	.route-checkout-cart #collapse-shipping #button-quote {
    width: 100% !important;
    margin-top: 40px;
}
}

.route-checkout-cart .cart-panels .input-group .btn, .route-checkout-cart .cart-panels .input-group-btn .btn {
    border-radius: 3px !important;
}

/* Checkout step 1 – bottoni allineati a destra */
.route-checkout-checkout #collapse-checkout-option .buttons {
  display: flex;
  justify-content: flex-end;
}

/* neutralizziamo vecchi float */
.route-checkout-checkout #collapse-checkout-option .pull-right {
  float: none !important;
}

/* normalizzazione bottoni */
.route-checkout-checkout #collapse-checkout-option .buttons .btn {
  margin: 0;
}
@media (max-width: 900px){
  .route-checkout-checkout #collapse-checkout-option .buttons {
    justify-content: stretch;
  }
  .route-checkout-checkout #collapse-checkout-option .btn {
    width: 100%;
  }
}

a.forgot-password {
  margin-bottom: 0 !important;
  --element-margin-bottom: 0;
}
@media (max-width: 900px){
  a.forgot-password {
    margin-bottom: 20px !important;
    --element-margin-bottom: 20px;
  }
}

/* Checkout – Step 2: Dettagli fatturazione */
.route-checkout-checkout #collapse-payment-address .buttons {
  display: flex;
  justify-content: flex-end;
}

/* neutralizziamo i float legacy */
.route-checkout-checkout #collapse-payment-address .pull-right {
  float: none !important;
}

/* bottone pulito */
.route-checkout-checkout #collapse-payment-address .buttons .btn {
  margin: 0;
}

/* mobile: bottone full width */
@media (max-width: 900px){
  .route-checkout-checkout #collapse-payment-address .buttons {
    justify-content: stretch;
  }

  .route-checkout-checkout #collapse-payment-address .buttons .btn {
    width: 100%;
  }
}

/* Checkout – Step 3: Dettagli consegna (Shipping Address) */
.route-checkout-checkout #collapse-shipping-address .buttons {
  display: flex;
  justify-content: flex-end;
}

/* neutralizziamo float legacy */
.route-checkout-checkout #collapse-shipping-address .pull-right {
  float: none !important;
}

/* bottone pulito */
.route-checkout-checkout #collapse-shipping-address .buttons .btn {
  margin: 0;
}

/* mobile: bottone full width */
@media (max-width: 900px){
  .route-checkout-checkout #collapse-shipping-address .buttons {
    justify-content: stretch;
  }

  .route-checkout-checkout #collapse-shipping-address .buttons .btn {
    width: 100%;
  }
}
/* Checkout – Step 4: Metodo di consegna */
.route-checkout-checkout #collapse-shipping-method .buttons {
  display: flex;
  justify-content: flex-end;
}

/* neutralizziamo float legacy Journal */
.route-checkout-checkout #collapse-shipping-method .pull-right {
  float: none !important;
}

/* bottone pulito */
.route-checkout-checkout #collapse-shipping-method .buttons .btn {
  margin: 0;
}

/* mobile: bottone full width */
@media (max-width: 900px){
  .route-checkout-checkout #collapse-shipping-method .buttons {
    justify-content: stretch;
  }

  .route-checkout-checkout #collapse-shipping-method .buttons .btn {
    width: 100%;
  }
}

/* SOLO nella card login (Account Login) */
.route-account-login .login-box a.forgot-password{
  margin-bottom: 20px !important;
  --element-margin-bottom: 20px;
}

/* Account Success (route=account/success) */

#common-success{
  padding: 40px 0;
}

@media (max-width: 900px) {
    #common-success {
        padding: 26px !important;
      	margin-top: 40px;
    }
}

/* blocco contenuti come "card" */
#common-success #content{
  background: #f8f7f6;
  border: 1px solid #cccccc;
  border-radius: 3px;
  box-shadow: 0 18px 55px rgba(0,0,0,.08);
  padding: 26px;
}

/* testo */
#common-success #content p{
  color: #888888;
  line-height: 1.55;
}

/* bottone continua: allineato e coerente */
#common-success .buttons{
  margin-top: 18px;
  display: flex;
  justify-content: flex-end;
}

#common-success .buttons .btn{
  border-radius: 3px !important;
  padding: 10px 16px;
}

/* mobile */
@media (max-width: 900px){
  #common-success{ padding: 18px 0; }
  #common-success #content{ padding: 18px; }
  #common-success .buttons .btn{ width: 100%; }
}

/* Checkout – Step 5 (Metodo di pagamento)
   Privacy a sinistra + bottone a destra */

/* contenitore riga finale */
.route-checkout-checkout #collapse-payment-method .panel-body {
  display: flex;
  flex-direction: column;
}

/* wrapper che contiene checkbox + bottone */
.route-checkout-checkout #collapse-payment-method .panel-body > .buttons {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
}

/* blocco privacy (checkbox + testo) */
.route-checkout-checkout #collapse-payment-method .panel-body .checkbox {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 70%;
}
.route-checkout-checkout #collapse-payment-method .buttons>div {
   flex-grow: 1;
}

/* testo privacy */
.route-checkout-checkout #collapse-payment-method .checkbox label {
  margin: 0;
  line-height: 1.35;
  font-weight: 400;
}

/* bottone CONTINUA */
.route-checkout-checkout #collapse-payment-method .buttons .btn {
  margin: 0;
  white-space: nowrap;
}

/* neutralizziamo float legacy */
.route-checkout-checkout #collapse-payment-method .pull-right {
  float: none !important;
}


/* Mobile */
@media (max-width: 900px){
  .route-checkout-checkout #collapse-payment-method .panel-body > .buttons {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }

  .route-checkout-checkout #collapse-payment-method .panel-body .checkbox {
    max-width: 100%;
  }

  .route-checkout-checkout #collapse-payment-method .buttons .btn {
    width: 100%;
  }
}

/* Checkout – Step 6 (Confirm order): bottone a destra + full su mobile */
.route-checkout-checkout #collapse-checkout-confirm .buttons{
  display: flex;
  justify-content: flex-end;
}

/* neutralizziamo float Journal/OpenCart */
.route-checkout-checkout #collapse-checkout-confirm .pull-right{
  float: none !important;
}

/* pulizia margini */
.route-checkout-checkout #collapse-checkout-confirm .buttons .btn,
.route-checkout-checkout #collapse-checkout-confirm .buttons input.btn{
  margin: 0;
}

/* mobile: bottone full width */
@media (max-width: 900px){
  .route-checkout-checkout #collapse-checkout-confirm .buttons{
    justify-content: stretch;
  }
  .route-checkout-checkout #collapse-checkout-confirm .buttons .btn,
  .route-checkout-checkout #collapse-checkout-confirm .buttons input.btn{
    width: 100%;
  }
}

.alert-danger {
    border-radius: 3px;
}

/* CART VUOTO (route=checkout/cart) */

/* messaggio "Il carrello è vuoto" */
.route-checkout-cart #content > p{
  color: #888;
  line-height: 1.55;
  margin-bottom: 18px;
}

/* crea un box tipo panel anche se qui non c'è un .panel */
.route-checkout-cart #content {
    background: #f8f7f6;
    border: 1px solid #ccc;
    border-radius: 3px;
    box-shadow: 0 18px 55px rgba(0, 0, 0, .08);
    padding: 26px 26px;
    margin-top: 40px;
}

/* bottone */
.route-checkout-cart #content .buttons{
  margin-top: 18px;
  display: flex;
  justify-content: flex-end; /* desktop: a destra */
}

/* neutralizza float legacy */
.route-checkout-cart #content .buttons .pull-right{
  float: none !important;
}

/* stile bottone coerente */
.route-checkout-cart #content .buttons .btn{
  border-radius: 3px !important;
  padding: 10px 16px;
  margin: 0;
}

/* MOBILE */
@media (max-width: 900px){
  .route-checkout-cart #content{
    max-width: 100%;
    padding: 26px;
  }

  .route-checkout-cart #content .buttons{
    justify-content: stretch;
  }

  .route-checkout-cart #content .buttons .btn{
    width: 100%;
  }
}

/* Allinea a sinistra i titoli nel checkout */
.quick-checkout-wrapper .left .section-login .title {
    text-align: left;
}

.quick-checkout-wrapper .right .shipping-payment .title {
    text-align: left;
}

.quick-checkout-wrapper .left .section-register .title {
    text-align: left;
}

.quick-checkout-wrapper .right .section-cvr .title {
    text-align: left;
}

.quick-checkout-wrapper .left .payment-address .title {
    text-align: left;
}

.quick-checkout-wrapper .right .confirm-section .title {
    text-align: left;
}

.quick-checkout-wrapper .right .cart-section .title {
    text-align: left;
}

/* Gestisce i pulsanti remove e update nel checkout e tutte le impostazioni della tabella riepilogo */
.route-checkout-checkout #content .cart-section .input-group-btn .btn {
    border-radius: 3px !important;
    --element-border-radius: 3px !important;
    min-width: 44px;
    min-height: 44px;
}

/* Checkout – nasconde il primo bottone azione vicino alla quantità (refresh) */
.route-checkout-checkout #content .cart-section .td-qty .input-group-btn .btn:first-child {
  display: none !important;
}

.input-group .stepper+.input-group-btn .btn {
    background-color: #f5f4f3 !important;
      --background-color: #f5f4f3 !important;
}

.input-group .stepper+.input-group-btn .btn .fa {
    font-size: 14px !important;
    color: #292929 !important;
}

.td-remove .fa:before, [data-original-title=Remove] .fa:before, .btn-danger .fa:before {
    content: '\e981' !important;
    font-family: icomoon !important;
}

.route-checkout-checkout #content .quick-checkout-wrapper .right .cart-section table thead td {
    color: #292929 !important;
    text-align: center;
}

.route-checkout-checkout #content .quick-checkout-wrapper .input-group .form-control text{
    background-color: #f5f4f3 !important;
    --background-color: #f5f4f3 !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: #e2dfdf !important;
}

.quick-checkout-wrapper .cart-section .td-qty .stepper {
    --stepper-height: 42px;
}

.route-checkout-checkout #content .quick-checkout-wrapper .input-group, .route-checkout-checkout #content .quick-checkout-wrapper .input-group-btn {
    --input-group-gap: 8px;
}

.route-checkout-checkout #content .quick-checkout-wrapper .right .cart-section .table-responsive {
    border-color: #dedddd;
  margin-bottom: 20px;
}

.section-body .route-checkout-checkout #content .quick-checkout-wrapper .right .cart-section .table-responsive {
    background: #cccccc;
  }

  /* Checkout – SOLO bottone finale (Confirm order) */
  .route-checkout-checkout #collapse-checkout-confirm .buttons {
    display: flex !important;
    justify-content: flex-end !important;
  }
  @media (max-width: 900px){
    .route-checkout-checkout #collapse-checkout-confirm .buttons {
      justify-content: stretch !important;
    }
    .route-checkout-checkout #collapse-checkout-confirm .buttons .btn,
    .route-checkout-checkout #collapse-checkout-confirm .buttons input.btn{
      width: 100% !important;
    }
  }


/* Aggiunge margine sotto la scritta GRUPPO CLIENTI */
#account-register label {
padding-top: 10px;
}

.quick-checkout-wrapper .form-group .control-label {
padding-top: 10px;
padding-bottom: 7px;
}

/* tira fuori l'alert nella pagina login/account che si nasconde dietro ai box */
.container > .alert {
margin-top: 25px;
margin-bottom: 30px;
border-radius: 3px;
}

/* Abbassa un pochino il check della privacy policy allinenandolo alla scritta */
.buttons .pull-right input {
margin-top: 10px;
}

/* Elimina il wrap della scritta */
div.top-bar .top-menu>.j-menu>.menu-item>a>.links-text {
    overflow: unset;
}

#account-register #content h2, #account-register #content legend {
  text-align: left;
}

/* AREA ACCOUNT – CARD UNICA PER LE 8 PAGINE DEL MIO ACCOUNT
   (ESCLUDE: login, register, forgotten, success)
   Pagine coperte:
   - Il mio account (account/account)
   - Informazioni account (account/edit)
   - Cambia password (account/password)
   - Rubrica indirizzi (account/address)
   - Wishlist (account/wishlist)
   - Storico ordini (account/order)
   - Resi (account/return)
   - Transazioni (account/transaction)
   - Pagamenti ricorrenti (account/recurring) */

/* wrapper comune: stessa “larghezza respiro” */
#account-account,
#account-edit,
#account-password,
#account-address,
#account-wishlist,
#account-order,
#account-return,
#account-transaction,
#account-recurring{
  padding: 40px 0;
  max-width: 1300px;
  margin: 0 auto;
}

/* CARD PRINCIPALE: applichiamo il look tipo forgotten al #content */
#account-account #content,
#account-edit #content,
#account-password #content,
#account-address #content,
#account-wishlist #content,
#account-order #content,
#account-return #content,
#account-transaction #content,
#account-recurring #content{
  background: #f5f4f3;
  border: 1px solid #cccccc;
  border-radius: 3px;
  box-shadow: 0 18px 55px rgba(0,0,0,.08);
  padding: 26px;
  margin: 0 auto;
  max-width: 1300px;
}

/* niente “card nella card”: well/content/form interni trasparenti */
#account-account #content .well,
#account-edit #content .well,
#account-password #content .well,
#account-address #content .well,
#account-wishlist #content .well,
#account-order #content .well,
#account-return #content .well,
#account-transaction #content .well,
#account-recurring #content .well,
#account-account #content .content,
#account-edit #content .content,
#account-password #content .content,
#account-address #content .content,
#account-wishlist #content .content,
#account-order #content .content,
#account-return #content .content,
#account-transaction #content .content,
#account-recurring #content .content,
#account-account #content form,
#account-edit #content form,
#account-password #content form,
#account-address #content form,
#account-wishlist #content form,
#account-order #content form,
#account-return #content form,
#account-transaction #content form,
#account-recurring #content form{
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* testo/legend/titoli allineati coerenti */
#account-account #content p,
#account-edit #content p,
#account-password #content p,
#account-address #content p,
#account-wishlist #content p,
#account-order #content p,
#account-return #content p,
#account-transaction #content p,
#account-recurring #content p{
  color: #888888;
  line-height: 1.55;
  text-align: left;
}

#account-account #content h2,
#account-edit #content h2,
#account-password #content h2,
#account-address #content h2,
#account-wishlist #content h2,
#account-order #content h2,
#account-return #content h2,
#account-transaction #content h2,
#account-recurring #content h2 {
  text-align: left;
  font-size: 13.125px;
  font-weight: 400;
  margin: 0 0 16px;
  color: rgba(209, 180, 114, 1);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  line-height: 1.65;
}

#account-account #content legend,
#account-edit #content legend,
#account-password #content legend,
#account-address #content legend,
#account-wishlist #content legend,
#account-order #content legend,
#account-return #content legend,
#account-transaction #content legend,
#account-recurring #content legend {
  text-align: left;
  font-size: 20px;
  font-weight: 400;
  margin: 0 0 16px;
  color: #292929;
  line-height: 1.65;
}

/* form controls */
#account-account #content .form-control,
#account-edit #content .form-control,
#account-password #content .form-control,
#account-address #content .form-control,
#account-wishlist #content .form-control,
#account-order #content .form-control,
#account-return #content .form-control,
#account-transaction #content .form-control,
#account-recurring #content .form-control{
  height: 40px;
  border-radius: 3px;
}

#account-account #content .form-control::placeholder,
#account-edit #content .form-control::placeholder,
#account-password #content .form-control::placeholder,
#account-address #content .form-control::placeholder,
#account-wishlist #content .form-control::placeholder,
#account-order #content .form-control::placeholder,
#account-return #content .form-control::placeholder,
#account-transaction #content .form-control::placeholder,
#account-recurring #content .form-control::placeholder{
  font-size: 14px;
}

/* bottoni coerenti (niente full width forzato) */
#account-account #content .btn,
#account-edit #content .btn,
#account-password #content .btn,
#account-address #content .btn,
#account-wishlist #content .btn,
#account-order #content .btn,
#account-return #content .btn,
#account-transaction #content .btn,
#account-recurring #content .btn{
  border-radius: 3px;
  padding: 10px 16px;
  font-weight: 400;
}

/* bottoni che Journal mette .btn-block → li stringiamo un po’ */
#account-account #content .btn.btn-block,
#account-edit #content .btn.btn-block,
#account-password #content .btn.btn-block,
#account-address #content .btn.btn-block,
#account-wishlist #content .btn.btn-block,
#account-order #content .btn.btn-block,
#account-return #content .btn.btn-block,
#account-transaction #content .btn.btn-block,
#account-recurring #content .btn.btn-block{
  width: auto;
  display: inline-block;
  min-width: 220px;
}

/* tabelle (wishlist, ordini, transazioni…) dentro card più pulite */
#account-wishlist #content table,
#account-order #content table,
#account-return #content table,
#account-transaction #content table{
  background: #f8f7f6;
  border-radius: 3px;
  overflow: hidden;
}

/* responsive */
@media (max-width: 900px){
  #account-account,
  #account-edit,
  #account-password,
  #account-address,
  #account-wishlist,
  #account-order,
  #account-return,
  #account-transaction,
  #account-recurring{
    padding: 26px;
  }

  #account-account #content,
  #account-edit #content,
  #account-password #content,
  #account-address #content,
  #account-wishlist #content,
  #account-order #content,
  #account-return #content,
  #account-transaction #content,
  #account-recurring #content{
    padding: 18px;
  }

  #account-account #content .btn.btn-block,
  #account-edit #content .btn.btn-block,
  #account-password #content .btn.btn-block,
  #account-address #content .btn.btn-block,
  #account-wishlist #content .btn.btn-block,
  #account-order #content .btn.btn-block,
  #account-return #content .btn.btn-block,
  #account-transaction #content .btn.btn-block,
  #account-recurring #content .btn.btn-block{
    width: 100%;
    min-width: 0;
  }
}

/* gestione popup in Whislist cliccando sull'icona Acquista */
/* SOLO nel prodotto dentro il popup (iframe) */
.is-popup-product .product-info{
  --sections-gap: 0;        /* o 8 / 12 se vuoi un filo di spazio */
}

/* niente spazio sotto il blocco azioni */
.is-popup-product .product-info .product-actions{
  margin-bottom: 0;
}

/* opzionale: stringi anche il messaggio "quantità minima ordinabile" */
.is-popup-product .product-info .minimum{
  margin-top: 8px;
  font-style: italic;
  font-size: 12px !important;
  margin-bottom: 0;
  margin-left: -4px !important;
  margin-top: 4px !important;
}

/* Rimuove l’icona carrello SOLO nel popup prodotto */
.is-popup-product .btn-cart:before,
.is-popup-product .fa-shopping-cart:before,
.is-popup-product div.cart-has-items .fa-shopping-cart:before {
    content: none !important;
}

/* ACCOUNT LOGIN – filetto sotto Nuovo Cliente / Già Cliente */
.route-account-login #account-login h2.title{
    font-size: 20px;              /* se vuoi mantenerlo a 20px */
    padding-bottom: 12px;
    margin-bottom: 18px;
    border-bottom: 1px solid #e1e0df;
}
/* FILETTO SOTTO I TITOLI ACCOUNT
   (login, register, edit, password, address, wishlist, ecc.) */

/* Titoli principali (h1, h2, legend) */
[class*="route-account-"] h1,
[class*="route-account-"] h2,
[class*="route-account-"] legend,
[class*="route-account-"] h3 {
    padding-bottom: 12px;
    margin-bottom: 18px;
    border-bottom: 1px solid #e1e0df !important;
  	width: 100%;
}

/* Rimuove filetto ai titoli dorati nella dashboard My Account */
.route-account-account #content h2.title:not(.panel-title) {
    border-bottom: none !important;
    padding-bottom: 0 !important;
  	margin-top: 20px;
}

/* Pulsanti Modifica & Cancella nella rubrica */

/* In alcuni temi l’icona è inserita come :before */
.route-account-address .btn:before {
    display: none !important;
    content: none !important;
}

/* Uniforma altezza */
#account-address .btn,
.route-account-address .btn {
    height: 40px !important;
    line-height: 40px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Evita shrink dell'etichetta */
#account-address .btn span,
.route-account-address .btn span {
    line-height: 40px !important;
}

/* Rubrica: allarga la colonna dell'indirizzo e restringi quella dei pulsanti */
.route-account-address table.table td:first-child,
.route-account-address table.table th:first-child {
    width: 80% !important;
}

.route-account-address table.table td.text-right,
.route-account-address table.table th.text-right {
    width: 20% !important;
}

@media (max-width: 900px) {
  /* colonna indirizzo più larga */
  .route-account-address table.table td:first-child,
  .route-account-address table.table th:first-child {
      width: 80% !important;
  }

  /* colonna pulsanti un filo più stretta */
  .route-account-address table.table td.text-right,
  .route-account-address table.table th.text-right {
      width: 20% !important;
  }

  /* indirizzo leggibile */
  .route-account-address table.table td:first-child {
      padding-right: 10px !important;
      line-height: 1.5;
  }

  /* cella dei pulsanti: allineata a destra e compatta */
  .route-account-address table.table td:last-child {
      display: table-cell !important;
      text-align: right !important;
      white-space: nowrap;
      vertical-align: top;
      padding-left: 14px;   /* un po’ meno aria a sinistra */

  }

  /* bottoni uno sotto l’altro, agganciati al bordo destro */
  .route-account-address table.table td:last-child a.btn {
      display: block;
      left: 0 !important;
  }
}

/* Wishlist – impaginazione bottoni mobile */
@media (max-width: 900px) {
  .route-account-wishlist .table-responsive table tr td:last-of-type {
    white-space: nowrap;
	}
}

/* RUBRICA + DELETE — stesso layout tabella + bottoni */

/* 1) Rimuovi icone auto-inserite */
.route-account-address .btn:before,
.route-account-address-delete .btn:before {
    display: none !important;
    content: none !important;
}

/* 2) Uniforma altezza dei pulsanti */
#account-address .btn,
.route-account-address .btn,
.route-account-address-delete .btn {
    height: 40px !important;
    line-height: 40px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* 3) Evita shrink del testo */
#account-address .btn span,
.route-account-address .btn span,
.route-account-address-delete .btn span {
    line-height: 40px !important;
}

/* 4) Desktop — larghezza colonne 80/20 */
.route-account-address table.table td:first-child,
.route-account-address table.table th:first-child,
.route-account-address-delete table.table td:first-child,
.route-account-address-delete table.table th:first-child {
    width: 80% !important;
}

.route-account-address table.table td:last-child,
.route-account-address table.table th:last-child,
.route-account-address-delete table.table td:last-child,
.route-account-address-delete table.table th:last-child {
    width: 20% !important;
    white-space: nowrap;
    text-align: right;
}

/* 5) Mobile — comportamento responsivo */
@media (max-width: 900px) {

  /* colonna indirizzo più larga */
  .route-account-address table.table td:first-child,
  .route-account-address table.table th:first-child,
  .route-account-address-delete table.table td:first-child,
  .route-account-address-delete table.table th:first-child {
      width: 80% !important;
      padding-right: 10px !important;
      line-height: 1.5;
  }

  /* colonna pulsanti più stretta + allineata */
  .route-account-address table.table td:last-child,
  .route-account-address-delete table.table td:last-child {
      width: 20% !important;
      display: table-cell !important;
      text-align: right !important;
      vertical-align: top;
      padding-left: 14px;
  }

  /* bottoni uno sotto l'altro attaccati al bordo destro */
  .route-account-address table.table td:last-child a.btn,
  .route-account-address-delete table.table td:last-child a.btn {
      display: block;
      margin-bottom: 10px;
      width: auto;
      left: 0 !important;
  }
}
/* ACCOUNT – DETTAGLIO ORDINE (account/order/info)
   Allinea al resto delle pagine account */

/* Wrapper pagina: lista + dettaglio */
#account-order,
#account-order-info {
  padding: 40px 0;
  max-width: 1300px;
  margin: 0 auto;
}

/* Card principale: lista + dettaglio */
#account-order #content,
#account-order-info #content {
  background: #f5f4f3;
  border: 1px solid #cccccc;
  border-radius: 3px;
  box-shadow: 0 18px 55px rgba(0,0,0,.08);
  padding: 26px;
  margin: 0 auto;
  max-width: 1300px;
  box-sizing: border-box;
}

/* Titoli + filetto (lista e dettaglio) */
.route-account-order #content h1,
.route-account-order #content h2,
.route-account-order #content legend,
.route-account-order-info #content h1,
.route-account-order-info #content h2,
.route-account-order-info #content legend {
  text-align: left;
  padding-bottom: 12px;
  margin-bottom: 18px;
  border-bottom: 1px solid #e1e0df;
  width: 100%;
}

/* h2 dorati tipo “Dettagli Ordine” */
.route-account-order-info #content h2 {
  font-family: 'Mulish';
  font-size: 13.125px;
  font-weight: 400;
  color: rgba(209, 180, 114, 1);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  line-height: 1.65;
  padding-top: 40px;
}

/* Legend / titoli sezione normali (se presenti) */
.route-account-order-info #content legend {
  font-size: 20px;
  font-weight: 400;
  color: #292929;
  line-height: 1.65;
}

/* Testi */
.route-account-order-info #content p {
  color: #888888;
  line-height: 1.55;
  text-align: left;
}

/* Bottoni CONTINUA/co. allineati a destra */
.route-account-order-info #content .buttons {
  margin-top: 18px;
  display: flex;
  justify-content: flex-end;
}
.route-account-order-info #content .buttons .pull-right {
  float: none !important;
}

/* ============ TABELLE DETTAGLIO ORDINE ============ */

/* Tutte le tabelle dentro il dettaglio: sfondo + bordo completo */
.route-account-order-info #content .table {
  background: #f8f7f6;
  border-radius: 3px;
  border: 1px solid #e1e0df;
  border-collapse: separate;
  overflow: hidden;
}

/* “Storico degli ordini” sopra l’ultima tabella */
.route-account-order-info #content h3 {
  margin-top: 26px;
  padding-bottom: 8px;
}

/* RESPONSIVE */

@media (max-width: 900px) {

  #account-order,
  #account-order-info {
    padding: 26px;
  }

  #account-order #content,
  #account-order-info #content {
    padding: 18px;
  }

  /* CONTINUA full width su mobile */
  .route-account-order-info #content .buttons {
    justify-content: stretch;
  }

  .route-account-order-info #content .buttons .btn {
    width: 100%;
  }
}
/* DETTAGLIO ORDINE – bottoni quadrati Riordina/Elimina */
.route-account-order-info table.table td .btn,
.route-account-order-info table.table td a.btn {
    background: #f5f4f3 !important;
    border: 1px solid #cccccc !important;
    color: #292929 !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    box-shadow: none !important;
    transition: border-color .2s ease, color .2s ease;
}

/* Icone sempre scure */
.route-account-order-info table.table td .btn i,
.route-account-order-info table.table td a.btn i {
    color: #292929 !important;
}

/* Hover: solo bordo scuro, niente riempimento */
.route-account-order-info table.table td .btn:hover,
.route-account-order-info table.table td a.btn:hover {
    border-color: #292929 !important;
    background: #f5f4f3 !important;
    color: #292929 !important;
}

/* Icona non deve cambiare colore al clic */
.route-account-order-info table.table td .btn:active i,
.route-account-order-info table.table td a.btn:active i {
    color: #292929 !important;
}

/* Evita lo "sfarfallio" bianco in pressione */
.route-account-order-info table.table td .btn:active,
.route-account-order-info table.table td a.btn:active {
    border-color: #292929 !important;
}

/* Mobile: affiancati ma con aria */
@media (max-width: 900px) {
    .route-account-order-info table.table td:last-child .btn {
        margin-bottom: 8px;
        margin-left: 8px;
    }
}

/* Nasconde il count-badge nei link Mio Account del footer */
.count-zero {
    display: none !important;
}

[class*="route-account-"] h3 {
    padding-bottom: 0;
    border-bottom: none !important;
    width: 100%;
}

/* Quando resta una sola cassetta visibile, elimina il "gap" a sinistra */

/* Override SOLO per la cassetta (input-option240) */
.push-option > #input-option240{
  gap: 0 !important;
  row-gap: 0 !important;
  column-gap: 0 !important;
}

/* Imposta la traduzione per il quantitativo minimo di 6 bottiglie o multipli */
#note-qty-75cl.note-qty-75cl{
  margin-top: 6px;
  font-size: 11px;
  line-height: 1.25;
  opacity: .75;
}

/* se vuoi ancora più “leggero” */
#note-qty-75cl.note-qty-75cl em{
  font-style: normal;
  opacity: .9;
}

/* BEATO VINI - Option buttons grid uniforme per tutti i prodotti */

.route-product-product .product-option-radio.push-option > div[id^="input-option"],
.product-product .product-option-radio.push-option > div[id^="input-option"] {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 6px !important;
  align-items: stretch !important;
}

.route-product-product .product-option-radio.push-option .radio,
.product-product .product-option-radio.push-option .radio {
  margin: 0 !important;
  width: 100% !important;
}

.route-product-product .product-option-radio.push-option .radio > label,
.product-product .product-option-radio.push-option .radio > label {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
}

.route-product-product .product-option-radio.push-option .radio > label .option-value,
.product-product .product-option-radio.push-option .radio > label .option-value {
  width: 100% !important;
  min-height: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: normal !important;
  line-height: 1.5 !important;
  padding: 8px 10px !important;
  box-sizing: border-box !important;
}

@media (max-width: 767px) {
  .route-product-product .product-option-radio.push-option > div[id^="input-option"],
  .product-product .product-option-radio.push-option > div[id^="input-option"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* padding-bottom per labe formato + annata */
.product-options .control-label {
  padding-bottom: 10px;
}

/* FOOTER – allineamento SOLO MOBILE */
@media (max-width: 767px) {

  .links-menu-205 .module-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 6px;
  }

  .links-menu-205 .menu-item {
    margin: 0 !important;
  }

}

/* BEATO - Shipping notice (Checkout + Popup) */

.beato-shipping-notice { margin-top: 12px; }

.beato-shipping-notice .alert {
  background: #fbfaf8 !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  border-left: 4px solid rgba(0,0,0,.35) !important;
  border-radius: 6px !important;
  padding: 14px 16px !important;
  margin: 10px 0 0 0 !important;
}

.beato-shipping-notice .alert strong {
  font-size: 15px !important;
  margin-bottom: 6px !important;
}

.beato-shipping-notice .alert div { color: rgba(0,0,0,.72); }

.beato-shipping-notice a {
  color: rgba(0,0,0,.9);
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 600;
}

/* Box "Spedizione su richiesta" (checkout) */

.route-checkout-checkout .beato-shipping-notice {
  max-width: 90%;
}

@media (max-width: 768px){
  .route-checkout-checkout .beato-shipping-notice{
    max-width: 100% !important;
    margin-left: 0 !important;
  }
}

.route-checkout-checkout .beato-shipping-notice .alert{
  margin-top: 12px !important;
  padding: 14px 16px !important;
  border-radius: 6px;
  line-height: 1.5;
}

.route-checkout-checkout .beato-shipping-notice .alert strong{
  font-size: 15px !important;
  display: block;
  margin-bottom: 6px;
}

.route-checkout-checkout .beato-shipping-notice .alert,
.route-checkout-checkout .beato-shipping-notice .alert div{
  font-size: 13.5px !important;
}

/* Pagina legale (CDV) */
.legal-page {
  padding-top: 140px;
  padding-bottom: 70px;
  max-width: 1200px;
  margin: 0 auto;
  line-height: 1.75;
}

.legal-page h2 {
  margin-bottom: 10px;
  text-transform: uppercase;
}

.legal-page h5 {
  font-size: 19px;
  margin-top: 40px;
  margin-bottom: 20px;
}

.legal-page p {
  margin: 0 0 12px 0;
}

.legal-page hr {
  margin: 20px 0 20px 0;
  color: #cccccc !important;
}

/* JOURNAL / OPENCART - MODAL PRIVACY & CGV */

/* 1. Larghezza popup desktop */
@media (min-width: 992px) {
  .modal-dialog {
    max-width: 900px;
    width: 100%;
  }
}

/* 2. Mobile: usa tutta la larghezza */
@media (max-width: 991px) {
  .modal-dialog {
    margin: 10px;
    max-width: calc(100% - 20px);
  }
}

/* 3. Riduce padding generale del contenuto */
.modal-body {
  padding: 10px 30px;
}

/* 4. Riduce padding sopra e sotto (override del tuo CSS pagina standard) */
.modal-body .legal-page,
.modal-body .information-page,
.modal-body .container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* 5. Nasconde il titolo interno (H1/H2) SOLO nel popup */
.modal-body h1:first-child,
.modal-body h2:first-child {
  display: none;
}

/* 6. Migliora leggibilità testo lungo */
.modal-body {
  line-height: 1.6;
  font-size: 15px;
}

/* 7. Header popup più compatto */
.modal-header {
  padding: 15px 25px;
}

/* 8. Scroll interno più elegante */
.modal-body {
  max-height: calc(100vh - 180px);
  overflow-y: auto;
}

/* 9. Nasconde solo l'HR immediatamente dopo il titolo iniziale */
.modal-body h1 + hr,
.modal-body h2 + hr {
  display: none;
}

/* MODAL HEADER – titolo elegante e centrato verticalmente */

/* Header del popup */
.modal h4, .h4 {
    font-family: 'Playfair Display';
    font-weight: 400;
    font-size: 24px;
    margin-bottom: 0;
}

/* RETURN (RMA) - bottone calendario accanto a Data dell'Ordine */
#input-date-ordered + .input-group-btn .btn {
  height: 40px;
  width: 40px;
  padding: 0 12px;
  border-radius: 3px;
  border: 1px solid #cccccc;
  background: #f5f4f3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* icona */
#input-date-ordered + .input-group-btn .btn i.fa {
  font-size: 14px;
  color: #292929;
}

/* hover */
#input-date-ordered + .input-group-btn .btn:hover {
  border: 1px solid #292929;
}

#account-return #content .btn-info {
  height: 40px;
  width: 40px;
  padding: 0 12px;
  border-radius: 3px;
  border: 1px solid #cccccc;
  background: #f5f4f3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* icona */
#account-return #content .btn-info i.fa {
  font-size: 14px;
  color: #292929;
}

/* hover */
#account-return #content .btn-info:hover {
  border: 1px solid #292929;
  background: #f5f4f3 !important;
}

/* ACCOUNT RETURN (RMA) – checkbox + testo + link + bottone
   FIX senza JS (testo "Ho letto e accetto" è un text-node) */

/* ✅ Override locale: non tocca le altre pagine */
#account-return .buttons.dual-agree .pull-right input[name="agree"]{
  margin-top: 0 !important;            /* annulla il 10px SOLO qui */
}

.buttons input+.btn, .buttons .pull-right>span+.btn {
	margin-top: 0;
}

/* ACCOUNT RETURN – bordo prima tabella "Dettagli della richiesta" */
#account-return #content > table.table-bordered {
    border: 1px solid #cccccc;
    margin-bottom: 30px;
}

div.third-menu .menu-item.dropdown:not(.mega-menu):not(#search) .j-dropdown .j-menu {
    background-color: #f5f4f3;
    --background-color: #f5f4f3;
    margin-top: 10px;
    padding-top: 2px;
    padding-bottom: 2px;
}

.product-option-radio .option-price {
    display: none !important;
}

.bv-price-details {
    margin-top: 30px;
  	margin-bottom: -10px;
    padding: 14px 16px;
    background: #f5f4f3;
    border-left: 3px solid #d1b472;
    font-size: 12px;
    line-height: 1.8;
    color: #1d2021;
}

.top-menu-1112 .j-menu li.top-menu-item-7>a:first-child {
    padding-left: 0; */
    --element-padding-left: 0;
}
/* =========================================
   CASSETTE LEGNO - QUANTITY SELECTOR
========================================= */

.bv-case-qty {
  margin-top: 10px;
}

.bv-case-row {
  display: grid;
  grid-template-columns: 80px auto;
  align-items: center;
  column-gap: 16px;
  max-width: 230px;
}

.bv-case-label {
  font-size: 13px;
  color: #444;
  line-height: 1.3;
  white-space: nowrap;
  text-align: left;
}

.bv-case-controls {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  height: 34px;
  border: 1px solid #ddd;
  border-radius: 3px;
  --element-border-radius: 3px;
  background: #fff;
}

.bv-case-minus,
.bv-case-plus {
  width: 34px;
  height: 32px;
  border: 0;
  background: #efeeeb;
  color: #666;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: background 0.2s ease;
}

.bv-case-minus:hover,
.bv-case-plus:hover {
  background: #eee;
}

.bv-case-input,
.bv-case-controls .bv-case-input {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;

  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;

  height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;

  border: 0 !important;
  border-left: 1px solid #ddd !important;
  border-right: 1px solid #ddd !important;

  background: #fff !important;
  color: #333 !important;

  text-align: center !important;
  font-size: 13px !important;
  line-height: 32px !important;
  border-radius: 3px;
  --element-border-radius: 3px;
  box-sizing: border-box !important;
}

@media (max-width: 480px) {

  .bv-case-row {
    grid-template-columns: 70px auto;
    column-gap: 12px;
    max-width: 100%;
  }

}

/* Allineamento riga opzione cassette */

.product-option-checkbox .bv-case-qty {
  margin-top: 0;
}

.product-option-checkbox label:has(.bv-case-qty) {
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
}

.product-option-checkbox label:has(.bv-case-qty) .bv-case-row {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  max-width: none;
}

.product-option-checkbox label:has(.bv-case-qty) .bv-case-label {
  min-width: 45px;
}

.product-option-checkbox label:has(.bv-case-qty) .bv-case-controls {
  margin-left: 0;
}

.bv-case-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 70px;
  min-height: 34px;
  padding: 0 36px;
  border: 1px solid #cccccc;
  border-radius: 3px;
  background: #f5f4f3;
  color: #262626;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
  text-align: center;
  box-sizing: border-box;
}

.bv-accessory-product-name {
  display: inline-block;
  color: #262626;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

#bv-minqty-note,
#bv-case-note {
  margin-top: 8px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  opacity: .75 !important;
  white-space: pre-line !important;
}

#bv-case-note {
  margin-top: 4px !important;
}

/* Mobile – allarga box dettaglio prezzi formato */
@media (max-width: 767px) {
  .bv-price-details br {
  content: "";
  display: block;
  margin-bottom: 14px;
  }
}

/* Mini-cart mobile: mostra immagine cassette anche senza link */
.cart-content .cart-products tbody .td-image img,
.mobile-cart-content-wrapper .cart-products tbody .td-image img {
  display: block !important;
  width: 50px !important;
  max-width: 50px !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Checkout – Captcha compatto */
.route-checkout-checkout .confirm-section .form-group:has(input[name="captcha"]) {
  margin-top: 12px !important;
  padding: 14px 16px !important;
  background: #f8f7f6 !important;
  border: 1px solid #e1e0df !important;
  border-radius: 3px !important;

  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 8px 12px !important;
  align-items: center !important;
}

.route-checkout-checkout .confirm-section .form-group:has(input[name="captcha"]) legend,
.route-checkout-checkout .confirm-section .form-group:has(input[name="captcha"]) h3 {
  grid-column: 1 / -1 !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
}

.route-checkout-checkout .confirm-section .form-group:has(input[name="captcha"]) label {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  color: #666 !important;
  font-weight: 400 !important;
}

.route-checkout-checkout .confirm-section input[name="captcha"] {
  height: 40px !important;
  border-radius: 3px !important;
}

.route-checkout-checkout .confirm-section img[src*="captcha"] {
  height: 40px !important;
  width: auto !important;
  border: 1px solid #cccccc !important;
  border-radius: 3px !important;
  background: #fff !important;
}

@media (max-width: 767px) {
  .route-checkout-checkout .confirm-section .form-group:has(input[name="captcha"]) {
    grid-template-columns: 1fr !important;
  }

  .route-checkout-checkout .confirm-section img[src*="captcha"] {
    max-width: 160px !important;
  }
}

/* Titolo Captcha uguale a Confirm Your Order */
.route-checkout-checkout #content .quick-checkout-wrapper .captcha fieldset > legend {
    display: none !important;
}

.route-checkout-checkout .captcha .required .control-label:after {
    display: none !important;
    content: '' !important;
}