:root {
  --bt-navy: #1a3a5c;
  --bt-navy2: #22507a;
  --bt-oro: #c9a44a;
  --bt-oro-ink: #8a6d1f;
  --bt-oro-tenue: #f6efdc;
  --bt-oro-btn: #8f7024;
  --bt-oro-btn-2: #7f631d;
  --bt-testo: #1e3a5f;
  --bt-tenue: #5f6e80;
  --bt-linea: #e7ebf0;
  --bt-linea-box: #d8e0ea;
  --bt-riquadro: #f5f7fa;
  --bt-sfondo: #eef1f5;
  --bt-su-navy: rgba(255, 255, 255, .86);
  --bt-ombra: rgba(15, 34, 54, .6);
  --bt-ombra-box: 0 1px 2px rgba(16, 24, 40, .05), 0 8px 24px rgba(16, 24, 40, .05);
  --bt-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
html body { background: var(--bt-sfondo) !important; overflow-x: clip; }
body .wrapper, body .page { background: transparent !important; }
html body.catalog-product-view .product-view #box_summary_price h1, html body.catalog-product-view .product-view #box_summary_price h2, html body.catalog-product-view .product-view #box_summary_price h2.description, html body #box_summary_price_content h1, html body #box_summary_price_content h2,
html body, body .wrapper *:not(.fa):not([class^="icon-"]):not([class*=" icon-"]):not(svg):not(svg *), body input, body button, body select, body textarea { font-family: var(--bt-font) !important; }

.bt-barra {
  width: 100vw; margin-left: calc(50% - 50vw); background: var(--bt-navy); font-family: var(--bt-font);
  border-bottom: 1px solid rgba(255, 255, 255, .1); box-shadow: 0 2px 12px rgba(15, 34, 54, .18); position: relative; z-index: 50;
}
.bt-barra-dentro { display: flex; align-items: center; gap: 20px; max-width: 980px; min-height: 68px; margin: 0 auto; }
.bt-barra .logo, .bt-barra h1.logo { display: block; flex: none; float: none; width: auto; height: auto; margin: 0; padding: 0; border: 0; background: none; font-size: 0; line-height: 0; }
.bt-barra .logo strong { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bt-barra .logo img { display: block; width: 127px; height: 40px; max-width: none; }
.bt-menu { display: flex; align-items: center; gap: 18px; flex: 1; min-width: 0; }
.bt-barra .bt-menu a, .bt-barra .bt-login a {
  color: var(--bt-su-navy) !important; font: 600 14px/1.2 var(--bt-font); white-space: nowrap; text-decoration: none !important; transition: color .15s;
}
.bt-barra .bt-menu a:hover, .bt-barra .bt-login a:hover { color: var(--bt-oro) !important; }
.bt-destra { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.bt-login { display: flex; align-items: center; gap: 6px; color: var(--bt-su-navy); }
.bt-login svg { width: 18px; height: 18px; }
.bt-barra .bt-pubblica {
  padding: 11px 16px; border-radius: 999px; border: 1px solid rgba(201, 164, 74, .55); white-space: nowrap;
  background: linear-gradient(180deg, var(--bt-oro-btn), var(--bt-oro-btn-2)); color: #fff !important; font: 700 14px/1.2 var(--bt-font);
  text-decoration: none !important; box-shadow: 0 6px 18px rgba(143, 112, 36, .34); transition: transform .15s, box-shadow .15s;
}
.bt-barra .bt-pubblica:hover { transform: translateY(-1px); box-shadow: 0 10px 26px rgba(143, 112, 36, .44); }
.bt-barra button {
  display: none; place-items: center; width: 42px; height: 42px; margin: 0; padding: 0; border: 0; border-radius: 10px;
  background: none !important; color: #fff !important; cursor: pointer; box-shadow: none;
}
.bt-barra button svg { width: 24px; height: 24px; }
.bt-barra .bt-apri-menu svg { width: 28px; height: 28px; }
.bt-barra svg, .bt-cassetto svg, .bt-cerca-riga svg { flex: none; }

.bt-velo, .bt-cassetto { display: none; }
.bt-velo:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 1000; background: var(--bt-ombra); }
.bt-cassetto:not([hidden]) {
  display: flex; flex-direction: column; gap: 2px; position: fixed; inset: 0 auto 0 0; z-index: 1001; width: 280px; max-width: 85vw;
  overflow-y: auto; padding: 8px 12px 24px; background: #fff; box-shadow: 4px 0 24px rgba(15, 34, 54, .25);
  font-family: var(--bt-font); text-align: left; animation: bt-entra .2s ease-out;
}
@keyframes bt-entra { from { transform: translateX(-100%); } }
.bt-cassetto-logo { display: block; padding: 12px 10px 16px; margin-bottom: 6px; border-bottom: 1px solid var(--bt-linea); }
.bt-cassetto-logo img { width: 120px; height: 36px; }
.bt-cassetto .bt-voce {
  position: relative; display: flex; align-items: center; gap: 12px; padding: 9px 10px; border-radius: 10px;
  color: var(--bt-testo) !important; font: 400 15px/20px var(--bt-font); text-decoration: none !important; white-space: nowrap;
}
.bt-cassetto .bt-voce a { color: inherit !important; text-decoration: none !important; }
.bt-cassetto-login a::after { content: ""; position: absolute; inset: 0; }
.bt-cassetto .bt-voce:hover { background: var(--bt-riquadro); }
.bt-cassetto .bt-voce svg { width: 22px; height: 22px; color: var(--bt-navy2); }
.bt-cassetto-titolo {
  position: relative; margin: 14px 0 6px !important; padding: 10px 10px 10px; color: var(--bt-navy); border-top: 1px solid var(--bt-linea);
  font: 800 12px/16px var(--bt-font); letter-spacing: .08em; text-transform: uppercase;
}
.bt-cassetto-titolo::after { content: ""; position: absolute; left: 10px; bottom: 2px; width: 28px; height: 2px; border-radius: 2px; background: var(--bt-oro); }
.bt-cassetto .bt-categoria { padding-left: 14px; font-size: 14.5px; }
.bt-cassetto-legale { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 14px 0 0; padding: 14px 10px 4px; border-top: 1px solid var(--bt-linea); font-size: 13px; }
.bt-cassetto .bt-cassetto-societa { margin: 10px 0 0; padding: 0 10px 8px; color: var(--bt-tenue); font-size: 12.5px !important; line-height: 1.5 !important; }
.bt-cassetto .bt-cassetto-legale a { color: var(--bt-tenue) !important; text-decoration: none; }

.bt-cerca-riga { display: flex; align-items: center; gap: 12px; max-width: 980px; margin: 18px auto 16px; font-family: var(--bt-font); }
.bt-cerca {
  position: relative; display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; height: 50px; margin: 0; padding: 0 18px;
  border: 1px solid var(--bt-linea-box); border-radius: 999px; background: #fff; box-shadow: var(--bt-ombra-box); transition: border-color .15s, box-shadow .15s;
}
.bt-cerca:focus-within { border-color: var(--bt-navy2); box-shadow: 0 0 0 4px rgba(34, 80, 122, .12); }
.bt-cerca svg { width: 21px; height: 21px; color: var(--bt-navy2); }
.bt-cerca #search {
  flex: 1; min-width: 0; width: auto !important; height: 48px !important; margin: 0 !important; padding: 0 !important; border: 0 !important;
  border-radius: 0 !important; background: none !important; box-shadow: none !important; outline: none; -webkit-appearance: none; appearance: none;
  color: var(--bt-testo) !important; font: 400 16px/1.2 var(--bt-font) !important;
}
.bt-cerca .search-autocomplete { position: absolute !important; top: 54px !important; left: 18px !important; right: 18px; width: auto !important; z-index: 60; }
.bt-cerca .search-autocomplete ul { margin: 0; padding: 6px 0; border: 1px solid var(--bt-linea-box); border-radius: 12px; background: #fff; box-shadow: var(--bt-ombra-box); list-style: none; }
.bt-cerca .search-autocomplete li { padding: 8px 14px; color: var(--bt-testo); cursor: pointer; font-size: 14px; }
.bt-cerca .search-autocomplete li.selected, .bt-cerca .search-autocomplete li:hover { background: var(--bt-oro-tenue); }

body .footer-container {
  width: 100vw; margin: 40px 0 0 calc(50% - 50vw) !important; padding: 0 !important; background: var(--bt-navy) !important; border: 0 !important;
}
body .footer-container .footer {
  max-width: 980px; margin: 0 auto !important; padding: 28px 0 32px !important; background: none !important; border: 0 !important;
  color: rgba(255, 255, 255, .74) !important; font: 400 13px/1.6 var(--bt-font) !important; text-align: center !important;
}
body .footer-container address { text-align: center !important; margin: 0 0 12px !important; padding: 0 !important; color: rgba(255, 255, 255, .74) !important; font: inherit !important; font-style: normal !important; }
body .footer-container ul { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 6px 20px; margin: 0 !important; padding: 0 !important; list-style: none !important; float: none !important; }
body .footer-container li { margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; float: none !important; }
body .footer-container a { color: #fff !important; font-weight: 600; text-decoration: none !important; }
body .footer-container a:hover { color: var(--bt-oro) !important; }

body .main-container { color: var(--bt-testo); }
body .main-container a { color: var(--bt-navy2); }
body .main-container a:hover { color: var(--bt-navy); }
body .main-container h1, body .main-container h2, body .main-container .page-title h1, body .main-container .be-tb-title { color: var(--bt-navy) !important; }

body .btn.book-download-submit, body .be-author-lead .be-lead-btn {
  background: linear-gradient(180deg, var(--bt-oro-btn), var(--bt-oro-btn-2)) !important; border-color: rgba(201, 164, 74, .55) !important;
  color: #fff !important; box-shadow: 0 8px 22px rgba(143, 112, 36, .34) !important;
}
body .btn.book-download-submit:hover, body .be-author-lead .be-lead-btn:hover { background: linear-gradient(180deg, var(--bt-oro-btn-2), #6f561a) !important; }
body .be-author-lead { border-color: var(--bt-linea-box) !important; box-shadow: var(--bt-ombra-box) !important; }
body .be-author-lead .be-lead-title { color: var(--bt-navy) !important; }
body .be-area-btn { background: var(--bt-navy2) !important; border-color: var(--bt-navy2) !important; color: #fff !important; }
body .be-area-btn:hover { background: var(--bt-navy) !important; }
body .main-container .category-products > #toolbar .pages, body .main-container .toolbar-bottom #toolbar #Disp, body .main-container .toolbar-bottom #toolbar #sortBy { display: none !important; }
body .main-container .toolbar-bottom #toolbar { justify-content: center !important; }
body .main-container .be-autori-catalogo #toolbar:not(.be-toolbar-sotto) .pages { display: none !important; }
body .main-container #toolbar #sortBy span, body .main-container #toolbar #sortBy a { white-space: nowrap !important; }
body .main-container .be-search-authors { margin-bottom: 36px !important; }
body .main-container .be-author-page .be-author-testa img.be-author-avatar, body .main-container .be-author-page img.be-author-avatar {
  width: 112px !important; height: 140px !important; max-width: none !important; max-height: none !important; object-fit: cover !important; object-position: center top !important;
  border-radius: 50% !important; box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--bt-oro) !important; margin: 5px !important;
}
body .main-container .be-autori-catalogo ul.be-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 16px !important; }
body .main-container .be-autori-catalogo ul.be-grid > li.be-card { width: auto !important; margin: 0 !important; float: none !important; }
body .main-container .be-card-btn { white-space: nowrap !important; }
body.cms-autori .main-container .be-autori-catalogo .be-card .be-card-cover.be-autore-foto {
  position: relative !important; display: block !important; width: 120px !important; height: 150px !important; padding: 0 !important; aspect-ratio: auto !important;
  margin: 0 auto 12px !important; border-radius: 50% !important; overflow: hidden !important;
  background: var(--bt-riquadro) !important; box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--bt-oro) !important;
}
body.cms-autori .main-container .be-autori-catalogo .be-card .be-card-cover.be-autore-foto img { width: 100% !important; height: 100% !important; border-radius: 0 !important; object-fit: cover !important; object-position: center top !important; }
body .main-container ul.be-grid:not(.be-author-grid) .be-card-cover:not(.be-autore-foto) img { width: 100% !important; height: auto !important; aspect-ratio: 3 / 4 !important; object-fit: cover !important; }
body .main-container .be-search-authors .be-author-grid .be-card-cover {
  display: flex !important; justify-content: center !important; align-items: center !important; height: auto !important; padding: 4px 0 0 !important; background: none !important;
}
body .main-container .be-search-authors .be-author-grid .be-card-cover img, body .main-container .be-search-authors .be-author-grid .be-card-noimg {
  display: grid !important; place-items: center; width: 140px !important; height: 175px !important; max-width: none !important; margin: 0 auto !important;
  object-fit: cover !important; object-position: center top !important; border-radius: 50% !important; box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--bt-oro) !important;
}
body .main-container #toolbar { background: #fff !important; border: 1px solid var(--bt-linea-box) !important; border-radius: 14px !important; box-shadow: var(--bt-ombra-box) !important; }
body .main-container #toolbar #sortBy, body .main-container #toolbar .pages { display: flex !important; align-items: center !important; gap: 6px !important; color: var(--bt-tenue) !important; font: 600 14px/1 var(--bt-font) !important; }
body .main-container #toolbar .pages ol { display: flex !important; align-items: center !important; gap: 6px !important; margin: 0 0 0 4px !important; padding: 0 !important; list-style: none !important; }
body .main-container #toolbar .pages li { display: block !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; min-width: 0 !important; }
body .main-container #toolbar #sortBy span, body .main-container #toolbar #sortBy a, body .main-container #toolbar .pages li.current, body .main-container #toolbar .pages li a {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; box-sizing: border-box !important;
  height: 34px !important; min-width: 34px !important; margin: 0 !important; padding: 0 12px !important; border: 1px solid var(--bt-linea-box) !important;
  border-radius: 999px !important; background: #fff !important; color: var(--bt-navy2) !important; font: 600 14px/1 var(--bt-font) !important;
  text-align: center !important; text-decoration: none !important; box-shadow: none !important; transition: background .15s, border-color .15s;
}
body .main-container #toolbar #sortBy span, body .main-container #toolbar .pages li.current { background: var(--bt-navy) !important; border-color: var(--bt-navy) !important; color: #fff !important; }
body .main-container #toolbar #sortBy a:hover, body .main-container #toolbar .pages li a:hover { background: var(--bt-riquadro) !important; border-color: var(--bt-navy2) !important; color: var(--bt-navy) !important; }
body .main-container label > a, body .main-container p a, body .main-container .std a, body .main-container .be-card-title > a { color: var(--bt-navy2) !important; }
body .main-container .be-card-title > a:hover, body .main-container .be-card-title > a:focus, body .main-container .be-grid .be-card:hover .be-card-title a { color: var(--bt-navy) !important; }
body .main-container [style*="a41520"], body .main-container [style*="A41520"] { color: var(--bt-navy) !important; }
body .main-container td > h1, body .main-container .be-author-page h1.be-author-name, body .main-container .page-title h1 { color: var(--bt-navy) !important; }
body .be-card { border-color: var(--bt-linea-box) !important; border-radius: 14px !important; box-shadow: var(--bt-ombra-box); }

.bt-con-colonna { display: grid; grid-template-columns: 231px minmax(0, 1fr); gap: 24px; align-items: start; max-width: 980px; margin: 24px auto 0; }
.bt-colonna-contenuto .bt-cerca-riga { max-width: none; margin: 0 0 16px; }
.bt-colonna-contenuto .main-container { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.bt-colonna-contenuto { min-width: 0; }
.bt-colonna { position: sticky; top: 16px; }
.bt-box { border: 1px solid var(--bt-linea-box); border-radius: 14px; background: #fff; padding: 8px; box-shadow: var(--bt-ombra-box); font-family: var(--bt-font); }
.bt-cat { display: flex; flex-direction: column; gap: 2px; }
.bt-box-titolo {
  position: relative; margin: 0 0 6px !important; padding: 10px; color: var(--bt-navy) !important;
  font: 800 12px/16px var(--bt-font) !important; letter-spacing: .08em; text-transform: uppercase;
}
.bt-box-titolo::after { content: ""; position: absolute; left: 10px; bottom: 2px; width: 28px; height: 2px; border-radius: 2px; background: var(--bt-oro); }
body .bt-colonna a.bt-cat-voce {
  display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 10px; color: var(--bt-testo) !important;
  font: 400 15px/20px var(--bt-font); text-decoration: none !important; white-space: nowrap; transition: background .15s;
}
.bt-cat-voce svg { width: 22px; height: 22px; flex: none; color: var(--bt-navy2); }
body .bt-colonna a.bt-cat-voce:hover { background: var(--bt-riquadro); color: var(--bt-navy) !important; }
body .bt-colonna a.bt-cat-voce.on { background: var(--bt-oro-tenue); color: var(--bt-navy) !important; font-weight: 700; box-shadow: inset 3px 0 0 var(--bt-oro); }
.bt-cat-voce.on svg { color: var(--bt-oro-ink); }
body .main-container .be-card-btn {
  background: linear-gradient(180deg, var(--bt-oro-btn), var(--bt-oro-btn-2)) !important; border: 1px solid rgba(201, 164, 74, .55) !important;
  border-radius: 999px !important; color: #fff !important; font-weight: 700 !important; box-shadow: 0 4px 12px rgba(143, 112, 36, .28) !important;
}
body .main-container .be-card-btn:hover { background: linear-gradient(180deg, var(--bt-oro-btn-2), #6f561a) !important; color: #fff !important; }

@media (max-width: 980px) {
  body .main-container .be-autori-catalogo ul.be-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .bt-con-colonna { display: block; margin: 0; }
  .bt-colonna-contenuto .bt-cerca-riga { margin: 16px 16px 14px; }
  .bt-colonna { display: none; }
  html body { padding-top: 56px; }
  .bt-barra { position: fixed; top: 0; left: 0; right: 0; z-index: 900; width: auto; margin: 0; transition: transform .25s ease; }
  .bt-barra.nascosta { transform: translateY(-100%); }
  .bt-barra-dentro { min-height: 56px; padding: 0 8px 0 14px; gap: 12px; }
  .bt-barra .logo img { width: 115px; height: 36px; }
  .bt-menu, .bt-login, .bt-barra .bt-pubblica { display: none; }
  .bt-destra { gap: 4px; }
  .bt-barra .bt-apri-menu { display: grid; }
  .bt-cerca-riga { margin: 16px 16px 14px; }
  body .footer-container .footer { padding: 24px 16px 28px !important; }
}
@media (max-width: 600px) {
  body .main-container .be-autori-catalogo ul.be-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 800px) {
  html body.catalog-product-view .be-scheda #box_summary_price_content #img_cover img#image { width: 100% !important; max-width: 100% !important; height: auto !important; }
  html body .main-container p, html body .main-container li, html body .main-container .std, html body .main-container .std p, html body .main-container .std li, html body .main-container .std td, html body .be-area p { font-size: 16px !important; line-height: 1.6 !important; }
  html body .main-container .be-card-title, html body .main-container .be-card-title a { font-size: 16px !important; line-height: 1.3 !important; }
  html body .main-container .be-card-author { font-size: 14px !important; line-height: 1.35 !important; }
  html body .main-container .be-card-btn { font-size: 15px !important; }
  html body .main-container .be-author-page h1.be-author-name { font-size: 24px !important; }
  html body .main-container label, html body .main-container .new-breadcumbs, html body .main-container .breadcrumbs { font-size: 15px !important; }
  html body .main-container .be-area label { font-size: 15px !important; }
  html body .footer-container .footer, html body .footer-container address { font-size: 14px !important; }
  html body .footer-container a { font-size: 15px !important; }
  .bt-cassetto .bt-voce { font-size: 16px !important; }
}
