/* Royal Office Premium 3.0 — Header */
#header { position:relative; z-index:100; background:#fff; box-shadow:none; }
.royal-header { background:#fff; }
.royal-header__utility { background:var(--ro-navy-2); color:#d9e7f7; font-size:11px; }
.royal-header__utility .container { display:flex; align-items:center; justify-content:space-between; min-height:32px; }
.royal-header__utility-left,.royal-header__utility-right { display:flex; align-items:center; gap:20px; }
.royal-header__utility-item { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.royal-header__utility-item i { color:#6fbcff; font-size:10px; }

.royal-header__main { background:var(--ro-accent); color:#fff; }
.royal-header__main-row { min-height:76px; display:grid; grid-template-columns:210px minmax(280px,1fr) auto; align-items:center; gap:26px; }
.royal-header__logo { display:inline-flex; align-items:center; max-width:190px; }
.royal-header__logo img { display:block; width:100%; max-height:46px; object-fit:contain; object-position:left center; }

.royal-header__search { min-width:0; }
.royal-header__search .search-widget { float:none; width:100%; max-width:none; }
.royal-header__search .search-widget form { position:relative; margin:0; }
.royal-header__search .search-widget input[type=text],
.royal-header__search .search-widget input[type=search] {
  width:100%; height:46px; min-height:46px; padding:0 50px 0 17px; border:1px solid rgba(255,255,255,.45); border-radius:11px; background:#fff; color:#1c2b42; font-size:13px; box-shadow:0 8px 24px rgba(2,73,134,.12);
}
.royal-header__search .search-widget input::placeholder { color:#a0aaba; }
.royal-header__search .search-widget button,
.royal-header__search .search-widget .search { position:absolute; right:5px; top:5px; width:36px; height:36px; border:0; border-radius:9px; background:#eff7ff; color:var(--ro-accent); display:grid; place-items:center; padding:0; }
.royal-header__search .search-widget .search i { font-size:15px; }

.royal-header__actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; }
.royal-header__action-shell { display:flex; align-items:center; }
.royal-header__actions #_desktop_user_info,
.royal-header__actions #_desktop_cart { margin:0; }
.royal-header__actions .user-info,
.royal-header__actions .blockcart { margin:0; padding:0; }
.royal-header__actions .user-info > a,
.royal-header__actions .blockcart .header > a,
.royal-header__actions .blockcart .header {
  min-height:44px; padding:0 14px; display:flex; align-items:center; gap:9px; border-radius:10px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22); color:#fff; font-size:12px; font-weight:800; text-transform:none; white-space:nowrap;
}
.royal-header__actions .user-info > a:hover,
.royal-header__actions .blockcart .header:hover { background:#fff; color:var(--ro-accent); }
.royal-header__actions .logout { display:none !important; }
.royal-header__actions .user-info i,
.royal-header__actions .blockcart i { color:inherit; font-size:15px; }
.royal-header__actions .cart-products-count { margin-left:2px; display:inline-grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:10px; background:#fff; color:var(--ro-accent); font-size:10px; }
.royal-header__actions .blockcart .header:hover .cart-products-count { background:var(--ro-accent-soft); }

.royal-header__nav { background:var(--ro-navy); box-shadow:0 1px 0 rgba(0,0,0,.03); }
.royal-header__nav-row { display:flex; align-items:center; min-height:48px; }
.royal-header__menu { flex:1 1 auto; min-width:0; }
.royal-header__menu .menu { margin:0; }
.royal-header__menu .top-menu { display:flex; align-items:center; margin:0; padding:0; gap:2px; }
.royal-header__menu .top-menu > li { position:relative; }
.royal-header__menu .top-menu > li > a { display:flex; align-items:center; min-height:48px; padding:0 14px; color:#e8f2fc; font-size:12px; font-weight:700; text-transform:none; letter-spacing:0; }
.royal-header__menu .top-menu > li > a:hover,
.royal-header__menu .top-menu > li.current > a { color:#fff; background:rgba(255,255,255,.08); }
.royal-header__menu .top-menu > li > a::after { display:none; }
.royal-header__menu .sub-menu { top:calc(100% + 0px) !important; left:0 !important; min-width:250px; width:auto; padding:10px; border:1px solid var(--ro-line); border-top:2px solid var(--ro-accent); border-radius:0 0 12px 12px; box-shadow:var(--ro-shadow); background:#fff; }
.royal-header__menu .sub-menu ul { min-width:220px; }
.royal-header__menu .sub-menu li { width:100%; }
.royal-header__menu .sub-menu a { display:flex; padding:10px 12px; border-radius:8px; color:#4a5a70; font-size:12px; font-weight:600; }
.royal-header__menu .sub-menu a:hover { background:var(--ro-accent-soft); color:var(--ro-accent); }

.royal-header__nav-extra { display:flex; align-items:center; gap:8px; margin-left:15px; }
.royal-header__nav-extra a { display:inline-flex; align-items:center; gap:7px; color:#fff; font-size:11px; font-weight:700; opacity:.88; }
.royal-header__nav-extra a:hover { opacity:1; color:#fff; }
.royal-header__nav-extra i { color:#68bcff; }

.royal-header__mobile { display:none; }
.royal-header__mobile-menu { display:none; background:#fff; border-bottom:1px solid var(--ro-line); box-shadow:var(--ro-shadow-sm); padding:8px 15px 18px; }

@media (max-width: 991.98px) {
  .royal-header__utility-right { display:none; }
  .royal-header__main-row { grid-template-columns:170px 1fr auto; gap:15px; }
  .royal-header__nav-extra { display:none; }
}

@media (max-width: 767.98px) {
  .royal-header__utility { display:none; }
  .royal-header__main-row { min-height:64px; display:flex; gap:12px; }
  .royal-header__logo { width:155px; max-width:42vw; }
  .royal-header__search,.royal-header__actions { display:none; }
  .royal-header__mobile { display:flex; margin-left:auto; align-items:center; gap:4px; }
  .royal-header__mobile-btn { width:39px; height:39px; border:0; border-radius:10px; background:rgba(255,255,255,.15); color:#fff; display:grid; place-items:center; position:relative; }
  .royal-header__mobile-btn i { font-size:16px; }
  .royal-header__mobile-btn .ro-mobile-cart-count { position:absolute; right:-3px; top:-4px; min-width:17px; height:17px; padding:0 4px; border-radius:9px; background:#fff; color:var(--ro-accent); display:grid; place-items:center; font-size:9px; font-weight:800; }
  .royal-header__nav { display:none; }
  .royal-header__mobile-search { padding:9px 15px 10px; background:var(--ro-accent); }
  .royal-header__mobile-search .search-widget { width:100%; }
  .royal-header__mobile-search input { width:100%; }
  .royal-header__mobile-menu.is-open { display:block !important; }
  .royal-header__mobile-menu .top-menu { display:block; }
  .royal-header__mobile-menu .top-menu a { display:flex; align-items:center; justify-content:space-between; padding:12px 5px; border-bottom:1px solid #edf1f5; color:var(--ro-text); font-size:13px; font-weight:700; }
  .royal-header__mobile-menu .sub-menu { padding-left:12px; }
}
.ro-mobile-search-form { position:relative; margin:0; }
.ro-mobile-search-form input { width:100%; height:42px; min-height:42px; padding:0 44px 0 14px; border:0; border-radius:10px; background:#fff; color:var(--ro-text); font-size:12px; }
.ro-mobile-search-form button { position:absolute; right:4px; top:4px; width:34px; height:34px; border:0; border-radius:8px; background:var(--ro-accent-soft); color:var(--ro-accent); }
.ro-menu-chevron { margin-left:7px; font-size:8px; opacity:.65; }
/* autocomplete search */
.ui-autocomplete { z-index:9999 !important; max-width:520px; margin-top:7px; padding:7px !important; border:1px solid var(--ro-line) !important; border-radius:12px !important; background:#fff !important; box-shadow:var(--ro-shadow) !important; }
.ui-autocomplete .ui-menu-item { border-radius:8px; overflow:hidden; }
.ui-autocomplete .ui-menu-item a,.ui-autocomplete .ui-menu-item-wrapper { display:block; padding:9px 10px !important; color:#52637a !important; font-size:11px !important; border:0 !important; }
.ui-autocomplete .ui-state-active { background:var(--ro-accent-soft) !important; color:var(--ro-accent) !important; border:0 !important; }

/* =========================================================
   Royal Office Premium 3.0.1 — Header refinements
   ========================================================= */
/* Top-level menu: always white on navy */
#royal-header .royal-header__nav .royal-header__menu .top-menu[data-depth="0"] > li > a,
#royal-header .royal-header__nav .royal-header__menu .top-menu[data-depth="0"] > li > a span,
#royal-header .royal-header__nav .royal-header__menu .top-menu[data-depth="0"] > li > a i {
  color: #fff !important;
}

#royal-header .royal-header__nav .royal-header__menu .top-menu[data-depth="0"] > li > a {
  padding-right: 11px;
  padding-left: 11px;
  font-size: 10.5px;
  font-weight: 750;
  white-space: nowrap;
}

#royal-header .royal-header__nav .royal-header__menu .top-menu[data-depth="0"] > li > a:hover,
#royal-header .royal-header__nav .royal-header__menu .top-menu[data-depth="0"] > li.current > a {
  color: #fff !important;
  background: rgba(255,255,255,.10) !important;
}

/* Desktop submenu: compact vertical dropdown, never a horizontal mega-strip */
#royal-header .royal-header__menu .top-menu > li > .sub-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  width: 286px !important;
  min-width: 286px !important;
  max-width: 286px !important;
  margin: 0 !important;
  padding: 8px !important;
  overflow: visible !important;
  border: 1px solid var(--ro-line) !important;
  border-top: 2px solid var(--ro-accent) !important;
  border-radius: 0 0 14px 14px !important;
  background: #fff !important;
  box-shadow: 0 18px 42px rgba(13,42,73,.14) !important;
}

#royal-header .royal-header__menu .sub-menu .top-menu,
#royal-header .royal-header__menu .sub-menu ul[data-depth="1"],
#royal-header .royal-header__menu .sub-menu ul[data-depth="2"],
#royal-header .royal-header__menu .sub-menu ul[data-depth="3"] {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#royal-header .royal-header__menu .sub-menu ul[data-depth="1"] > li,
#royal-header .royal-header__menu .sub-menu ul[data-depth="2"] > li,
#royal-header .royal-header__menu .sub-menu ul[data-depth="3"] > li {
  float: none !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#royal-header .royal-header__menu .sub-menu a,
#royal-header .royal-header__menu .sub-menu a[data-depth="1"],
#royal-header .royal-header__menu .sub-menu a[data-depth="2"],
#royal-header .royal-header__menu .sub-menu a[data-depth="3"] {
  display: flex !important;
  align-items: center;
  width: 100%;
  min-height: 38px;
  margin: 0 !important;
  padding: 9px 11px !important;
  border: 0;
  border-radius: 8px;
  color: #46566d !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  line-height: 1.3;
  text-transform: none !important;
  white-space: normal;
}

#royal-header .royal-header__menu .sub-menu a:hover {
  color: var(--ro-accent) !important;
  background: var(--ro-accent-soft) !important;
}

#royal-header .royal-header__menu .sub-menu ul[data-depth="2"] a {
  padding-left: 22px !important;
  color: #66768b !important;
  font-size: 10.5px !important;
}

/* Shopping cart: one clean button, no double shell */
#royal-header .royal-header__actions .blockcart,
#royal-header .royal-header__actions .blockcart .header {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#royal-header .royal-header__actions .blockcart .header > a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  padding: 0 14px !important;
  border: 1px solid rgba(255,255,255,.30) !important;
  border-radius: 11px !important;
  color: #fff !important;
  background: rgba(255,255,255,.13) !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1;
  text-decoration: none !important;
}

#royal-header .royal-header__actions .blockcart .header > a i,
#royal-header .royal-header__actions .blockcart .header > a > span:not(.cart-products-count) {
  color: #fff !important;
}

#royal-header .royal-header__actions .blockcart .header > a:hover {
  color: var(--ro-accent) !important;
  background: #fff !important;
  border-color: #fff !important;
}

#royal-header .royal-header__actions .blockcart .header > a:hover i,
#royal-header .royal-header__actions .blockcart .header > a:hover > span:not(.cart-products-count) {
  color: var(--ro-accent) !important;
}

#royal-header .royal-header__actions .blockcart .cart-products-count {
  display: inline-grid !important;
  place-items: center;
  min-width: 21px;
  height: 21px;
  margin-left: 1px;
  padding: 0 5px;
  border-radius: 999px;
  color: var(--ro-accent) !important;
  background: #fff !important;
  font-size: 10px !important;
  font-weight: 850;
}

#royal-header .royal-header__actions .blockcart .header > a:hover .cart-products-count {
  color: #fff !important;
  background: var(--ro-accent) !important;
}

@media (max-width: 1399.98px) {
  .royal-header__nav-extra { display: none; }
}


/* ============================================================
   ROYAL OFFICE 3.0.3 — DESKTOP MENU: TRUE VERTICAL DROPDOWNS
   Explicitly neutralises Classic/ps_mainmenu mega-menu rules.
   ============================================================ */
@media (min-width: 768px) {
  #royal-header #_desktop_top_menu.menu {
    position: static !important;
  }

  #royal-header #_desktop_top_menu > .top-menu[data-depth="0"] > li {
    position: relative !important;
  }

  #royal-header #_desktop_top_menu > .top-menu[data-depth="0"] > li > .ro-dropdown-menu,
  #royal-header #_desktop_top_menu > .top-menu[data-depth="0"] > li > .sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    width: 300px !important;
    min-width: 300px !important;
    max-width: 300px !important;
    height: auto !important;
    max-height: min(70vh, 620px) !important;
    margin: 0 !important;
    padding: 8px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    white-space: normal !important;
    transform: none !important;
    border: 1px solid #e5edf5 !important;
    border-top: 2px solid #078CFF !important;
    border-radius: 0 0 14px 14px !important;
    background: #fff !important;
    box-shadow: 0 18px 42px rgba(13,42,73,.16) !important;
    z-index: 10050 !important;
  }

  #royal-header #_desktop_top_menu .ro-dropdown-menu > .ro-submenu-list,
  #royal-header #_desktop_top_menu .sub-menu > .top-menu[data-depth="1"] {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 2px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  #royal-header #_desktop_top_menu .ro-dropdown-menu > .ro-submenu-list > li,
  #royal-header #_desktop_top_menu .sub-menu > .top-menu[data-depth="1"] > li {
    display: block !important;
    float: none !important;
    clear: both !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #royal-header #_desktop_top_menu .ro-dropdown-menu a[data-depth="1"],
  #royal-header #_desktop_top_menu .sub-menu a[data-depth="1"] {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 39px !important;
    margin: 0 !important;
    padding: 9px 11px !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    color: #26364b !important;
    background: transparent !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    text-transform: none !important;
    white-space: normal !important;
  }

  #royal-header #_desktop_top_menu .ro-dropdown-menu a[data-depth="1"]:hover,
  #royal-header #_desktop_top_menu .sub-menu a[data-depth="1"]:hover {
    color: #078CFF !important;
    background: rgba(7,140,255,.08) !important;
    text-decoration: none !important;
  }

  /* Any third level stays vertical under its parent instead of creating columns. */
  #royal-header #_desktop_top_menu .ro-nested-submenu,
  #royal-header #_desktop_top_menu .sub-menu .collapse {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 0 2px 10px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  #royal-header #_desktop_top_menu .ro-nested-submenu > .top-menu,
  #royal-header #_desktop_top_menu .sub-menu ul[data-depth="2"],
  #royal-header #_desktop_top_menu .sub-menu ul[data-depth="3"] {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #royal-header #_desktop_top_menu .sub-menu ul[data-depth="2"] > li,
  #royal-header #_desktop_top_menu .sub-menu ul[data-depth="3"] > li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* Royal Office v13 — menu principale curato come riferimento */
#royal-header .ro-menu-source { display:none !important; }
#royal-header .ro-curated-menu { display:flex !important; align-items:center; gap:0; }
#royal-header .ro-curated-item { position:relative !important; }
#royal-header .ro-curated-item > a { white-space:nowrap; }
#royal-header .ro-curated-dropdown { display:none !important; }
#royal-header .ro-curated-item:hover > .ro-curated-dropdown,
#royal-header .ro-curated-item:focus-within > .ro-curated-dropdown { display:block !important; }

/* Royal Office 3.0.9 - menu server-side gestito da royalofficefix */
#royal-header .ro-fixed-menu { display:flex !important; align-items:center; gap:0; }
#royal-header .ro-fixed-menu > .ro-curated-item { position:relative !important; }
#royal-header .ro-fixed-menu > .ro-curated-item > a { white-space:nowrap; }
#royal-header .ro-fixed-menu > .ro-curated-item > .ro-curated-dropdown { display:none !important; }
#royal-header .ro-fixed-menu > .ro-curated-item:hover > .ro-curated-dropdown,
#royal-header .ro-fixed-menu > .ro-curated-item:focus-within > .ro-curated-dropdown { display:block !important; }
@media (max-width:767.98px){
  #royal-header .ro-fixed-menu-mobile .ro-fixed-menu { display:block !important; }
  #royal-header .ro-fixed-menu-mobile .ro-curated-dropdown { position:static !important; width:100% !important; box-shadow:none !important; border:0 !important; padding:0 0 0 14px !important; }
  #royal-header .ro-fixed-menu-mobile .ro-curated-item:hover > .ro-curated-dropdown { display:block !important; }
}

/* =========================================================
   Royal Office 3.0.10 — dropdown Carta / Toner robusti
   ========================================================= */
@media (min-width: 768px) {
  #royal-header,
  #royal-header .royal-header__nav,
  #royal-header .royal-header__nav-row,
  #royal-header .royal-header__menu,
  #royal-header .royal-header__menu .menu,
  #royal-header .royal-header__menu .ro-fixed-menu {
    overflow: visible !important;
  }

  #royal-header .royal-header__nav {
    position: relative;
    z-index: 2000;
  }

  #royal-header .ro-fixed-menu > .ro-curated-item {
    position: relative !important;
  }

  #royal-header .ro-fixed-menu > .ro-curated-item > .ro-curated-dropdown {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    width: 300px !important;
    min-width: 300px !important;
    max-width: 300px !important;
    margin: 0 !important;
    padding: 8px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    max-height: min(70vh, 620px) !important;
    border: 1px solid #e5edf5 !important;
    border-top: 2px solid #078CFF !important;
    border-radius: 0 0 14px 14px !important;
    background: #fff !important;
    box-shadow: 0 18px 42px rgba(13,42,73,.16) !important;
    z-index: 99999 !important;
  }

  #royal-header .ro-fixed-menu > .ro-curated-item:hover > .ro-curated-dropdown,
  #royal-header .ro-fixed-menu > .ro-curated-item:focus-within > .ro-curated-dropdown,
  #royal-header .ro-fixed-menu > .ro-curated-item.is-open > .ro-curated-dropdown {
    display: block !important;
  }

  #royal-header .ro-fixed-menu > .ro-curated-item > .ro-curated-dropdown .ro-submenu-list {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 2px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #royal-header .ro-fixed-menu > .ro-curated-item > .ro-curated-dropdown .ro-submenu-list > li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

@media (max-width: 767.98px) {
  #royal-header .ro-fixed-menu-mobile .ro-curated-item > .ro-curated-dropdown {
    display: none !important;
  }
  #royal-header .ro-fixed-menu-mobile .ro-curated-item.is-open > .ro-curated-dropdown {
    display: block !important;
  }
}

/* =========================================================
   Royal Office 3.0.11 — fix definitivo visibilita dropdown
   Neutralizza visibility/opacity ereditati dal tema Classic.
   ========================================================= */
@media (min-width: 768px) {
  #royal-header .ro-fixed-menu > .ro-curated-item > .ro-curated-dropdown {
    display: block !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(4px) !important;
    transition: opacity .16s ease, transform .16s ease, visibility 0s linear .16s !important;
  }

  #royal-header .ro-fixed-menu > .ro-curated-item:hover > .ro-curated-dropdown,
  #royal-header .ro-fixed-menu > .ro-curated-item:focus-within > .ro-curated-dropdown,
  #royal-header .ro-fixed-menu > .ro-curated-item.is-open > .ro-curated-dropdown {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
    transition-delay: 0s !important;
  }
}

@media (max-width: 767.98px) {
  #royal-header .ro-fixed-menu-mobile .ro-curated-item > .ro-curated-dropdown {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  #royal-header .ro-fixed-menu-mobile .ro-curated-item.is-open > .ro-curated-dropdown {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}

/* ============================================================
   Royal Office 3.0.12 — header allineato a royaloffice.lenus.site
   Desktop reference: utility + branding/search/actions + navy nav
   ============================================================ */
@media (min-width: 768px) {
  #header { overflow: visible !important; }
  #royal-header.royal-header--reference { position: relative; z-index: 10000; overflow: visible !important; background:#078cff; }
  #royal-header.royal-header--reference .royal-reference-container { width:100% !important; max-width:1240px !important; margin-left:auto !important; margin-right:auto !important; padding-left:18px !important; padding-right:18px !important; }

  #royal-header.royal-header--reference .royal-header__utility {
    height:34px; min-height:34px; background:#078cff !important; color:#fff !important; border-bottom:1px solid rgba(255,255,255,.12); font-size:12px !important;
  }
  #royal-header.royal-header--reference .royal-header__utility .container { min-height:34px !important; height:34px; }
  #royal-header.royal-header--reference .royal-reference-contacts,
  #royal-header.royal-header--reference .royal-reference-links { display:flex; align-items:center; gap:18px; height:100%; }
  #royal-header.royal-header--reference .royal-reference-contacts a,
  #royal-header.royal-header--reference .royal-reference-links a { color:#fff !important; font-size:12px !important; font-weight:700; line-height:1; white-space:nowrap; text-decoration:none !important; }
  #royal-header.royal-header--reference .royal-reference-contacts i { margin-right:5px; color:#fff !important; font-size:11px; }
  #royal-header.royal-header--reference .royal-reference-links a + a { border-left:1px solid rgba(255,255,255,.25); padding-left:18px; }

  #royal-header.royal-header--reference .royal-header__main { background:#078cff !important; color:#fff; }
  #royal-header.royal-header--reference .royal-header__main-row {
    min-height:108px !important; height:108px; display:grid !important; grid-template-columns:330px minmax(380px, 1fr) auto !important; align-items:center !important; gap:28px !important;
  }
  #royal-header.royal-header--reference .royal-header__logo--text {
    display:inline-flex !important; align-items:center; width:auto !important; max-width:none !important; color:#fff !important; font-family:Arial, Helvetica, sans-serif; font-size:43px !important; font-weight:700 !important; line-height:1 !important; letter-spacing:.1px !important; text-decoration:none !important; text-shadow:-1px -1px 0 #15202e,1px -1px 0 #15202e,-1px 1px 0 #15202e,1px 1px 0 #15202e,0 2px 1px rgba(0,0,0,.12);
  }
  #royal-header.royal-header--reference .royal-header__search { width:100%; min-width:0; }
  #royal-header.royal-header--reference .royal-reference-search { position:relative; width:100%; margin:0; }
  #royal-header.royal-header--reference .royal-reference-search input[type=text] {
    width:100% !important; height:45px !important; min-height:45px !important; margin:0 !important; padding:0 54px 0 16px !important; border:0 !important; border-radius:3px !important; outline:0 !important; background:rgba(255,255,255,.22) !important; color:#fff !important; box-shadow:none !important; font-size:13px !important; font-weight:500;
  }
  #royal-header.royal-header--reference .royal-reference-search input::placeholder { color:rgba(255,255,255,.92) !important; opacity:1; }
  #royal-header.royal-header--reference .royal-reference-search button {
    position:absolute; right:0; top:0; width:52px; height:45px; border:0 !important; border-radius:0 3px 3px 0 !important; background:transparent !important; color:#fff !important; display:grid; place-items:center; padding:0 !important; box-shadow:none !important;
  }
  #royal-header.royal-header--reference .royal-reference-search button i { font-size:17px; }

  #royal-header.royal-header--reference .royal-reference-actions { display:flex !important; align-items:center; justify-content:flex-end; gap:16px !important; white-space:nowrap; }
  #royal-header.royal-header--reference .royal-reference-actions > a { min-height:46px; height:46px; padding:0 25px; display:inline-flex; align-items:center; justify-content:center; border-radius:2px !important; font-size:12px !important; font-weight:800 !important; line-height:1; text-transform:uppercase; text-decoration:none !important; box-shadow:none !important; }
  #royal-header.royal-header--reference .ro-ref-register { min-width:116px; color:#fff !important; background:#26bfd2 !important; border:1px solid #26bfd2 !important; }
  #royal-header.royal-header--reference .ro-ref-login { min-width:98px; color:#fff !important; background:transparent !important; border:1px solid rgba(255,255,255,.8) !important; }
  #royal-header.royal-header--reference .ro-ref-account { color:#fff !important; background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.65) !important; text-transform:none !important; }
  #royal-header.royal-header--reference .ro-ref-account i { margin-right:8px; }
  #royal-header.royal-header--reference .ro-ref-wishlist { min-width:auto !important; width:46px !important; padding:0 !important; border:0 !important; background:transparent !important; gap:4px; color:#fff !important; }
  #royal-header.royal-header--reference .ro-ref-wishlist i { font-size:19px; }
  #royal-header.royal-header--reference .ro-ref-wishlist span { font-size:11px; font-weight:700; }

  #royal-header.royal-header--reference .royal-header__nav {
    position:relative; z-index:10020; height:51px; min-height:51px; background:#04508b !important; box-shadow:none !important; overflow:visible !important;
  }
  #royal-header.royal-header--reference .royal-header__nav-row { min-height:51px !important; height:51px; padding-top:0 !important; padding-bottom:0 !important; overflow:visible !important; }
  #royal-header.royal-header--reference .royal-header__menu { overflow:visible !important; }
  #royal-header.royal-header--reference .ro-fixed-menu { min-height:51px; height:51px; display:flex !important; align-items:stretch !important; }
  #royal-header.royal-header--reference .ro-fixed-menu > .ro-curated-item { display:flex; align-items:stretch; border-right:1px solid rgba(255,255,255,.12); }
  #royal-header.royal-header--reference .ro-fixed-menu > .ro-curated-item:first-child { border-left:0; }
  #royal-header.royal-header--reference .ro-fixed-menu > .ro-curated-item > a {
    min-height:51px !important; height:51px; padding:0 18px !important; display:flex !important; align-items:center !important; color:#fff !important; background:transparent !important; font-size:12px !important; font-weight:800 !important; text-transform:uppercase !important; letter-spacing:0 !important;
  }
  #royal-header.royal-header--reference .ro-fixed-menu > .ro-curated-item:first-child > a { color:#ff7a19 !important; }
  #royal-header.royal-header--reference .ro-fixed-menu > .ro-curated-item > a:hover,
  #royal-header.royal-header--reference .ro-fixed-menu > .ro-curated-item.is-open > a { background:rgba(255,255,255,.07) !important; color:#fff !important; }
  #royal-header.royal-header--reference .ro-fixed-menu > .ro-curated-item:first-child > a:hover { color:#ff7a19 !important; }

  /* sticky behaviour shown on the reference site: only the navy nav remains */
  body.ro-header-scrolled #royal-header.royal-header--reference .royal-header__utility,
  body.ro-header-scrolled #royal-header.royal-header--reference .royal-header__main { display:none !important; }
  body.ro-header-scrolled #royal-header.royal-header--reference .royal-header__nav { position:fixed !important; top:0; left:0; right:0; width:100%; z-index:10050; }
  body.ro-header-scrolled { padding-top:51px; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  #royal-header.royal-header--reference .royal-header__main-row { grid-template-columns:250px minmax(280px,1fr) auto !important; gap:18px !important; }
  #royal-header.royal-header--reference .royal-header__logo--text { font-size:34px !important; }
  #royal-header.royal-header--reference .royal-reference-actions > a { padding:0 15px; }
  #royal-header.royal-header--reference .ro-fixed-menu > .ro-curated-item > a { padding:0 11px !important; font-size:10.5px !important; }
}

/* ============================================================
   Royal Office 3.0.13 — dimensioni header 1:1 con royaloffice.lenus.site
   Tarato sul riferimento desktop 1650px: contenitore, tipografia,
   ricerca, azioni e navigazione con le stesse proporzioni visive.
   ============================================================ */
@media (min-width: 1200px) {
  #royal-header.royal-header--reference .royal-reference-container {
    width: 100% !important;
    max-width: 1450px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  /* fascia recapiti / link */
  #royal-header.royal-header--reference .royal-header__utility,
  #royal-header.royal-header--reference .royal-header__utility .container {
    height: 39px !important;
    min-height: 39px !important;
  }
  #royal-header.royal-header--reference .royal-reference-contacts,
  #royal-header.royal-header--reference .royal-reference-links {
    gap: 22px !important;
  }
  #royal-header.royal-header--reference .royal-reference-contacts a,
  #royal-header.royal-header--reference .royal-reference-links a {
    font-size: 14px !important;
  }
  #royal-header.royal-header--reference .royal-reference-contacts i {
    font-size: 13px !important;
    margin-right: 6px !important;
  }

  /* fascia principale: stessa altezza del riferimento, contenuti più grandi */
  #royal-header.royal-header--reference .royal-header__main-row {
    min-height: 110px !important;
    height: 110px !important;
    grid-template-columns: 450px minmax(500px, 1fr) auto !important;
    gap: 32px !important;
  }
  #royal-header.royal-header--reference .royal-header__logo--text {
    font-size: 54px !important;
    letter-spacing: 0 !important;
  }
  #royal-header.royal-header--reference .royal-reference-search input[type=text] {
    height: 53px !important;
    min-height: 53px !important;
    padding-left: 18px !important;
    padding-right: 60px !important;
    font-size: 15px !important;
  }
  #royal-header.royal-header--reference .royal-reference-search button {
    width: 58px !important;
    height: 53px !important;
  }
  #royal-header.royal-header--reference .royal-reference-search button i {
    font-size: 20px !important;
  }
  #royal-header.royal-header--reference .royal-reference-actions {
    gap: 18px !important;
  }
  #royal-header.royal-header--reference .royal-reference-actions > a {
    height: 54px !important;
    min-height: 54px !important;
    padding-left: 27px !important;
    padding-right: 27px !important;
    font-size: 14px !important;
  }
  #royal-header.royal-header--reference .ro-ref-register {
    min-width: 136px !important;
  }
  #royal-header.royal-header--reference .ro-ref-login {
    min-width: 116px !important;
  }
  #royal-header.royal-header--reference .ro-ref-wishlist {
    width: 54px !important;
  }
  #royal-header.royal-header--reference .ro-ref-wishlist i {
    font-size: 22px !important;
  }
  #royal-header.royal-header--reference .ro-ref-wishlist span {
    font-size: 13px !important;
  }

  /* menu principale */
  #royal-header.royal-header--reference .royal-header__nav,
  #royal-header.royal-header--reference .royal-header__nav-row,
  #royal-header.royal-header--reference .ro-fixed-menu {
    height: 59px !important;
    min-height: 59px !important;
  }
  #royal-header.royal-header--reference .ro-fixed-menu > .ro-curated-item > a {
    height: 59px !important;
    min-height: 59px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    font-size: 14px !important;
  }

  /* sticky: conserva esattamente l'altezza del menu desktop */
  body.ro-header-scrolled { padding-top: 59px !important; }
}

/* ============================================================
   Royal Office 3.0.14 — allineamento finale barra utility
   ============================================================ */
@media (min-width: 1200px) {
  #royal-header.royal-header--reference .royal-header__utility .royal-reference-container {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    position:relative !important;
  }
  #royal-header.royal-header--reference .royal-reference-contacts {
    flex:0 0 auto !important;
  }
  #royal-header.royal-header--reference .royal-reference-links {
    margin-left:auto !important;
    flex:0 0 auto !important;
    justify-content:flex-end !important;
  }
  #royal-header.royal-header--reference .royal-reference-links a + a {
    padding-left:20px !important;
  }
}
