/**
 * Comunickare UI 0.3.7
 * Riproduzione del layout approvato per header, catalogo, carrello e checkout.
 */

:root {
  --ck-blue: #153875;
  --ck-blue-strong: #0f2f69;
  --ck-orange: #ef7f1a;
  --ck-ink: #10264d;
  --ck-text: #253653;
  --ck-muted: #738096;
  --ck-line: #dbe2ec;
  --ck-line-soft: #e8edf3;
  --ck-surface: #f7f9fc;
  --ck-surface-blue: #f4f7fc;
  --ck-success: #17834d;
  --ck-success-bg: #effbf4;
  --ck-radius: 10px;
  --ck-width: 1240px;
  --ck-shadow: 0 8px 24px rgba(16, 38, 77, 0.045);
}

html { font-size: 16px; }

body, button, input, select, textarea {
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body {
  color: var(--ck-text);
  background: #fff;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

:where(h1, h2, h3, h4, h5, h6) {
  color: var(--ck-ink);
  font-weight: 750;
  letter-spacing: -0.025em;
}

a { color: var(--ck-blue); text-decoration: none; }

/* Header: basso, pulito e senza la vecchia fascia scura. */
.ck-site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid var(--ck-line-soft) !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: none !important;
  backdrop-filter: blur(12px);
}
.admin-bar .ck-site-header { top: 32px; }
.ck-topbar { display: none !important; }
.ck-mainnav {
  width: min(calc(100% - 48px), var(--ck-width));
  min-height: 68px !important;
  margin-inline: auto !important;
  padding: 8px 0 !important;
  box-sizing: border-box;
  gap: clamp(18px, 2vw, 32px) !important;
}
.ck-mainnav .wp-block-site-logo { flex: 0 0 auto; }
.ck-mainnav .wp-block-site-logo img {
  width: clamp(185px,18vw,235px) !important;
  max-height: 42px;
  object-fit: contain;
}
.ck-mainnav > .wp-block-navigation {
  flex: 1 1 auto;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.ck-mainnav .wp-block-navigation__container { gap: clamp(12px,1.6vw,24px) !important; }
.ck-mainnav .wp-block-navigation-item__content {
  padding: 8px 0 !important;
  color: var(--ck-ink) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2;
}
.ck-mainnav .wp-block-navigation-item__content:hover,
.ck-mainnav .current-menu-item > .wp-block-navigation-item__content { color: var(--ck-orange) !important; }
.ck-mainnav .wp-block-navigation__submenu-container {
  min-width: 190px !important;
  padding: 6px !important;
  border: 1px solid var(--ck-line) !important;
  border-radius: var(--ck-radius) !important;
  background: #fff !important;
  box-shadow: var(--ck-shadow) !important;
}
.ck-mainnav .wp-block-search { width: clamp(155px,15vw,205px) !important; }
.ck-mainnav .wp-block-search__inside-wrapper {
  min-width: 0 !important;
  height: 38px;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid var(--ck-line) !important;
  border-radius: 7px !important;
  background: #fff;
}
.ck-mainnav .wp-block-search__input {
  min-height: 36px !important;
  padding: 7px 34px 7px 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ck-text) !important;
  font-size: 12px !important;
  outline: 0 !important;
}
.ck-mainnav .wp-block-search__button {
  right: 4px !important;
  left: auto !important;
  width: 30px !important;
  height: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ck-ink) !important;
  transform: translateY(-50%);
}
.ck-mainnav .wp-block-search__button svg { width: 15px; height: 15px; }
.ck-mainnav .ck-account-link,
.ck-mainnav .wc-block-mini-cart__button {
  width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ck-ink) !important;
  box-shadow: none !important;
}
.ck-account-link svg,
.wc-block-mini-cart__button svg { width: 20px !important; height: 20px !important; }
.wc-block-mini-cart__badge {
  min-width: 17px !important;
  height: 17px !important;
  border: 2px solid #fff;
  background: var(--ck-orange) !important;
  color: #fff !important;
  font-size: 9px !important;
}

/* Pagine interne e gerarchia tipografica. */
.wp-site-blocks > main,
.woocommerce main,
.woocommerce-page main {
  min-width: 0;
  margin-top: 0 !important;
  padding-top: 20px !important;
}
.wp-site-blocks > main > :where(.alignwide,.wp-block-post-content),
.woocommerce .site-main,
.woocommerce-page .site-main,
.ck-cart-page,
.ck-checkout-page {
  width: min(calc(100% - 48px),var(--ck-width)) !important;
  max-width: var(--ck-width) !important;
  margin-inline: auto !important;
}
.woocommerce-breadcrumb,
.wc-block-breadcrumbs {
  margin: 0 0 8px !important;
  color: var(--ck-muted) !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
}
.woocommerce-breadcrumb a { color: var(--ck-muted) !important; }
.woocommerce-products-header__title,
.wp-block-query-title,
.ck-cart-page > h1,
.ck-checkout-page > h1,
body:not(.home) main > .wp-block-post-title {
  margin: 8px auto 20px !important;
  color: var(--ck-ink) !important;
  font-size: clamp(27px,2.6vw,34px) !important;
  font-weight: 760 !important;
  line-height: 1.1 !important;
  text-align: center !important;
}

/* Campi e pulsanti. */
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),select,textarea,.select2-container--default .select2-selection--single,.select2-container--default .select2-selection--multiple) {
  min-height: 38px !important;
  padding: 7px 10px !important;
  border: 1px solid var(--ck-line) !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: var(--ck-text) !important;
  box-shadow: none !important;
  font-size: 12px !important;
}
textarea { min-height: 110px !important; resize: vertical; }
:where(input,select,textarea):focus,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--ck-blue) !important;
  outline: 3px solid rgba(21,56,117,.1) !important;
  outline-offset: 1px;
}
input[type="checkbox"], input[type="radio"] { width: 15px; height: 15px; accent-color: var(--ck-blue); }
label, .woocommerce form .form-row label {
  color: var(--ck-text);
  font-size: 11px !important;
  font-weight: 650;
}
:where(.wp-element-button,.wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-block-components-button:not(.is-link),button[type="submit"],input[type="submit"]) {
  min-height: 38px !important;
  padding: 8px 14px !important;
  border: 1px solid var(--ck-blue) !important;
  border-radius: 5px !important;
  background: var(--ck-blue) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  transition: background-color 150ms ease,border-color 150ms ease,color 150ms ease;
}
:where(.wp-element-button,.wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-block-components-button:not(.is-link),button[type="submit"],input[type="submit"]):hover {
  border-color: var(--ck-orange) !important;
  background: var(--ck-orange) !important;
  color: #fff !important;
}

/* Shop e categorie. */
.wc-block-product-results-count,
.wc-block-catalog-sorting { margin: 0 0 8px !important; }
.woocommerce .woocommerce-result-count {
  margin: 0 !important;
  color: var(--ck-muted) !important;
  font-size: 12px !important;
  line-height: 38px !important;
}
.woocommerce .woocommerce-ordering { margin: 0 !important; }
.woocommerce .woocommerce-ordering select {
  width: 205px;
  min-height: 38px !important;
  padding-right: 30px !important;
}
.wp-block-woocommerce-product-collection { margin-top: 0 !important; }
.woocommerce ul.products,
.woocommerce-page ul.products,
.wc-block-product-template {
  width: 100% !important;
  margin: 0 !important;
  gap: 18px !important;
}
.wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
}
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.wc-block-product {
  float: none !important;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 10px 10px 14px !important;
  overflow: hidden;
  border: 1px solid var(--ck-line) !important;
  border-radius: var(--ck-radius) !important;
  background: #fff !important;
  box-shadow: none !important;
  transition: border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover,
.wc-block-product:hover {
  border-color: #cbd5e2 !important;
  box-shadow: var(--ck-shadow) !important;
  transform: translateY(-2px);
}
.wc-block-components-product-image,
.wc-block-components-product-image > a,
.wc-block-components-product-image__inner-container {
  width: 100% !important;
  aspect-ratio: 1/1 !important;
  overflow: hidden;
  border-radius: 7px;
  background: var(--ck-surface) !important;
}
.woocommerce ul.products li.product a img,
.wc-block-components-product-image img,
.wc-block-grid__product-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1/1 !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  border-radius: 7px;
  background: var(--ck-surface) !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-product .wp-block-post-title {
  min-height: 0 !important;
  margin: 10px 8px 5px !important;
  color: var(--ck-ink) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
  text-align: center !important;
}
.woocommerce ul.products li.product .star-rating,
.woocommerce-page ul.products li.product .star-rating,
.wc-block-components-product-rating-stars,
.wc-block-grid__product-rating {
  float: none !important;
  margin: 4px auto 5px !important;
  color: var(--ck-orange) !important;
  font-size: 11px !important;
}
.ck-loop-rating {
  display: flex;
  min-height: 15px;
  margin: 3px 8px 4px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: var(--ck-muted);
  font-size: 9px;
  line-height: 1;
}
.ck-loop-rating .star-rating {
  width: 5.4em;
  margin: 0 !important;
  color: var(--ck-orange) !important;
  font-size: 10px !important;
}
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.wc-block-components-product-price,
.wc-block-grid__product-price {
  display: block !important;
  margin: 4px 8px 0 !important;
  color: var(--ck-ink) !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  line-height: 1.3 !important;
  text-align: center !important;
}
.ck-price-from { font-size: .8em; font-weight: 650; text-transform: lowercase; }
.post-type-archive-product .ck-personalize-button,
.tax-product_cat .ck-personalize-button,
.tax-product_tag .ck-personalize-button,
.search-results .ck-personalize-button { display: none !important; }
.woocommerce span.onsale,
.wc-block-components-product-sale-badge {
  min-width: auto !important;
  min-height: auto !important;
  padding: 5px 8px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--ck-orange) !important;
  color: #fff !important;
  font-size: 10px !important;
  line-height: 1 !important;
}

/* Ricerca e paginazione. */
.search-results .wp-block-post-template { gap: 18px !important; }
.search-results .wp-block-post-template > li {
  padding: 10px 10px 14px;
  overflow: hidden;
  border: 1px solid var(--ck-line);
  border-radius: var(--ck-radius);
  background: #fff;
}
.search-results .wp-block-post-featured-image {
  margin: 0;
  overflow: hidden;
  border-radius: 7px;
  background: var(--ck-surface);
}
.search-results .wp-block-post-featured-image img { width: 100%; aspect-ratio: 1/1; object-fit: contain; }
.search-results .wp-block-post-template .wp-block-post-title {
  margin: 10px 8px 0 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  text-align: center;
}
.woocommerce nav.woocommerce-pagination,
.wp-block-query-pagination { margin-top: 24px !important; }
.woocommerce nav.woocommerce-pagination ul,
.wp-block-query-pagination-numbers {
  display: flex;
  justify-content: center;
  gap: 5px;
  border: 0 !important;
}
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.wp-block-query-pagination a,
.wp-block-query-pagination .current {
  display: inline-grid;
  min-width: 30px;
  min-height: 30px;
  padding: 4px 7px;
  place-items: center;
  border: 1px solid var(--ck-line) !important;
  border-radius: 6px;
  background: #fff;
  color: var(--ck-blue);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current,
.wp-block-query-pagination a:hover,
.wp-block-query-pagination .current {
  border-color: var(--ck-blue) !important;
  background: var(--ck-blue) !important;
  color: #fff !important;
}

/* Avvisi, menu e finestre. */
:where(.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner) {
  margin: 0 0 16px !important;
  padding: 11px 14px 11px 40px !important;
  border: 1px solid var(--ck-line) !important;
  border-left: 3px solid var(--ck-blue) !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: var(--ck-text) !important;
  box-shadow: none !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}
.woocommerce-message {
  border-color: #bde8ce !important;
  border-left-color: var(--ck-success) !important;
  background: var(--ck-success-bg) !important;
}
.woocommerce-error { border-left-color: #b42318 !important; }
.select2-dropdown,
.wp-block-navigation__submenu-container,
.wc-block-components-drawer {
  border: 1px solid var(--ck-line) !important;
  border-radius: var(--ck-radius) !important;
  background: #fff !important;
  box-shadow: var(--ck-shadow) !important;
}
.select2-results__option { padding: 8px 10px !important; font-size: 12px; }
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: var(--ck-surface-blue) !important;
  color: var(--ck-blue) !important;
}

/* Carrello classico: due aree nelle proporzioni dell'anteprima. */
.ck-cart-page,
.ck-checkout-page { padding-top: 18px !important; padding-bottom: 32px !important; }
.ck-cart-page .wp-block-post-content,
.ck-checkout-page .wp-block-post-content { width: 100% !important; max-width: none !important; }
.woocommerce-cart .woocommerce {
  display: grid !important;
  grid-template-columns: minmax(0,2.1fr) minmax(310px,.95fr) !important;
  gap: 22px !important;
  align-items: start;
  font-size: 12px !important;
}
.woocommerce-cart .woocommerce > :where(.woocommerce-notices-wrapper,.woocommerce-message,.woocommerce-info,.return-to-shop) { grid-column: 1/-1; }
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart_totals {
  float: none !important;
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
}
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart_totals {
  overflow: hidden;
  border: 1px solid var(--ck-line) !important;
  border-radius: var(--ck-radius) !important;
  background: #fff;
}
.woocommerce-cart .cart_totals { padding: 16px !important; background: var(--ck-surface-blue) !important; }
.woocommerce-cart .cart_totals h2 { margin: 0 0 10px !important; font-size: 16px !important; line-height: 1.25; }
.woocommerce-cart table.shop_table {
  width: 100%;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: collapse !important;
  border-radius: 0 !important;
  table-layout: fixed;
}
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
  padding: 11px 9px !important;
  border-color: var(--ck-line-soft) !important;
  color: var(--ck-text);
  font-size: 11px !important;
  line-height: 1.4 !important;
  vertical-align: middle !important;
}
.woocommerce-cart table.shop_table thead th {
  background: var(--ck-surface) !important;
  color: var(--ck-ink);
  font-size: 10px !important;
  font-weight: 700;
}
.woocommerce-cart table.shop_table .product-remove { width: 34px; }
.woocommerce-cart table.shop_table .product-thumbnail { width: 70px; }
.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal { width: 88px; text-align: center; }
.woocommerce-cart table.shop_table .product-quantity { width: 82px; text-align: center; }
.woocommerce-cart .product-thumbnail img {
  width: 54px !important;
  height: 54px !important;
  padding: 3px;
  border: 1px solid var(--ck-line);
  border-radius: 6px;
  object-fit: contain;
  background: #fff;
}
.woocommerce-cart .product-name > a {
  display: block;
  margin-bottom: 3px;
  color: var(--ck-ink);
  font-size: 12px;
  font-weight: 700;
}
.woocommerce-cart .product-name dl.variation { margin: 2px 0 0; color: var(--ck-muted); font-size: 10px; }
.woocommerce-cart .product-name dl.variation dt,
.woocommerce-cart .product-name dl.variation dd { float: none; display: inline; margin: 0; padding: 0; }
.woocommerce-cart .quantity {
  display: inline-flex;
  max-width: 66px;
  border: 1px solid var(--ck-line);
  border-radius: 5px;
}
.woocommerce-cart .quantity .qty {
  min-height: 32px !important;
  padding: 4px !important;
  border: 0 !important;
  text-align: center;
}
.woocommerce-cart td.actions { padding: 12px !important; }
.woocommerce-cart .coupon { display: flex; gap: 8px; }
.woocommerce-cart .coupon input { width: min(180px,100%) !important; }
.woocommerce-cart .cart_totals table.shop_table { background: transparent; }
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
  padding: 10px 0 !important;
  background: transparent !important;
  font-size: 11px !important;
  vertical-align: top !important;
}
.woocommerce-cart .cart_totals table.shop_table th { width: 38%; }
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td { padding-top: 13px !important; color: var(--ck-ink); font-size: 14px !important; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 12px 0 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  width: 100%;
  min-height: 46px !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center;
}
.woocommerce-cart .cart_totals::after {
  content: "Spedizione rapida\AConsegna tracciata in 3–5 giorni lavorativi\A\APagamenti sicuri\ACarte, PayPal e bonifico";
  display: block;
  margin-top: 16px;
  padding: 14px 10px 2px 30px;
  border-top: 1px solid var(--ck-line);
  color: var(--ck-muted);
  white-space: pre-line;
  font-size: 10px;
  line-height: 1.45;
}

/* Carrello a blocchi. */
.wc-block-cart { gap: 22px !important; font-size: 12px !important; }
.wc-block-cart .wc-block-cart__main { width: calc(68% - 11px) !important; }
.wc-block-cart .wc-block-cart__sidebar {
  width: calc(32% - 11px) !important;
  padding: 16px !important;
  border: 1px solid var(--ck-line) !important;
  border-radius: var(--ck-radius) !important;
  background: var(--ck-surface-blue) !important;
}
.wc-block-cart-items {
  overflow: hidden;
  border: 1px solid var(--ck-line) !important;
  border-radius: var(--ck-radius) !important;
}

/* Checkout classico: moduli a sinistra, riepilogo a destra. */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout_coupon { display: none !important; }
.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0,1.75fr) minmax(320px,.95fr) !important;
  grid-template-rows: auto auto auto;
  gap: 0 24px !important;
  align-items: start;
  font-size: 12px !important;
}
.woocommerce-checkout #customer_details {
  grid-column: 1;
  grid-row: 1/span 2;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  float: none !important;
  width: 100% !important;
  margin: 0 0 16px !important;
}
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  position: relative;
  margin: 0 !important;
  padding: 0 0 16px 46px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ck-line-soft) !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields { padding-top: 16px !important; }
.woocommerce-checkout .woocommerce-billing-fields::before,
.woocommerce-checkout .woocommerce-shipping-fields::before,
.woocommerce-checkout #payment::before {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: var(--ck-blue);
  color: #fff;
  font-size: 12px;
  font-weight: 750;
}
.woocommerce-checkout .woocommerce-billing-fields::before { content: "1"; }
.woocommerce-checkout .woocommerce-shipping-fields::before { top: 16px; content: "2"; }
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
  margin: 3px 0 12px !important;
  color: var(--ck-ink);
  font-size: 14px !important;
  line-height: 1.3 !important;
}
.woocommerce-checkout .woocommerce-billing-fields > h3::after {
  content: "  Inserisci i tuoi dati per proseguire";
  margin-left: 8px;
  color: var(--ck-muted);
  font-size: 10px;
  font-weight: 450;
  letter-spacing: 0;
}
.woocommerce-checkout .woocommerce-shipping-fields h3::after {
  content: "  Dove vuoi ricevere il tuo ordine?";
  margin-left: 8px;
  color: var(--ck-muted);
  font-size: 10px;
  font-weight: 450;
  letter-spacing: 0;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px 14px;
}
.woocommerce-checkout .form-row {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout .form-row-wide,
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #shipping_address_1_field,
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #shipping_country_field,
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #shipping_company_field { grid-column: 1/-1; }
.woocommerce-checkout .form-row .woocommerce-input-wrapper,
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container { width: 100% !important; }
.woocommerce-checkout #order_review_heading {
  grid-column: 2;
  grid-row: 1;
  width: 100% !important;
  margin: 0 !important;
  padding: 14px 16px 8px !important;
  border: 1px solid var(--ck-line) !important;
  border-bottom: 0 !important;
  border-radius: var(--ck-radius) var(--ck-radius) 0 0 !important;
  background: var(--ck-surface-blue) !important;
  color: var(--ck-ink);
  font-size: 14px !important;
  line-height: 1.3;
}
.woocommerce-checkout #order_review { display: contents !important; }
.woocommerce-checkout #order_review > .woocommerce-checkout-review-order-table {
  grid-column: 2;
  grid-row: 2/span 2;
  align-self: start;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 16px 12px;
  border: 1px solid var(--ck-line) !important;
  border-top: 0 !important;
  border-radius: 0 0 var(--ck-radius) var(--ck-radius) !important;
  background: var(--ck-surface-blue) !important;
  border-collapse: separate !important;
  border-spacing: 0;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  padding: 9px 0 !important;
  border-color: var(--ck-line) !important;
  background: transparent !important;
  color: var(--ck-text);
  font-size: 10.5px !important;
  line-height: 1.4 !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table th:last-child,
.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child { text-align: right; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
  color: var(--ck-ink);
  font-size: 13px !important;
}
.woocommerce-checkout #payment {
  position: relative;
  grid-column: 1;
  grid-row: 3;
  width: 100% !important;
  margin-top: 16px !important;
  padding: 0 0 0 46px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.woocommerce-checkout #payment::before { content: "3"; }
.woocommerce-checkout #payment::after {
  content: "Pagamento  Scegli il metodo di pagamento";
  position: absolute;
  top: 4px;
  left: 46px;
  color: var(--ck-ink);
  font-size: 14px;
  font-weight: 750;
}
.woocommerce-checkout #payment ul.payment_methods {
  margin: 0 !important;
  padding: 40px 0 0 !important;
  border: 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods > li {
  margin-bottom: 7px !important;
  padding: 10px 12px !important;
  border: 1px solid var(--ck-line) !important;
  border-radius: 7px !important;
  background: #fff !important;
  font-size: 11px !important;
}
.woocommerce-checkout #payment div.payment_box {
  margin: 8px 0 0 !important;
  padding: 10px !important;
  border-radius: 6px !important;
  background: var(--ck-surface) !important;
  color: var(--ck-muted);
  font-size: 10px;
}
.woocommerce-checkout #payment .place-order {
  margin-top: 12px !important;
  padding: 12px 0 0 !important;
  border-top: 1px solid var(--ck-line-soft);
}
.woocommerce-checkout #place_order {
  float: none !important;
  width: 100% !important;
  min-height: 46px !important;
}

/* Checkout a blocchi. */
.wc-block-checkout { gap: 24px !important; font-size: 12px !important; }
.wc-block-checkout__main { width: calc(64% - 12px) !important; }
.wc-block-checkout__sidebar {
  width: calc(36% - 12px) !important;
  padding: 16px !important;
  border: 1px solid var(--ck-line) !important;
  border-radius: var(--ck-radius) !important;
  background: var(--ck-surface-blue) !important;
}
.wc-block-checkout__main .wc-block-components-checkout-step {
  position: relative;
  margin: 0 0 14px !important;
  padding: 0 0 14px 44px !important;
  border-bottom: 1px solid var(--ck-line-soft);
}
.wc-block-components-checkout-step__title,
.wc-block-components-title {
  color: var(--ck-ink) !important;
  font-size: 14px !important;
  font-weight: 750 !important;
}

/* Area cliente e tabelle di servizio. */
.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 220px minmax(0,1fr);
  gap: 20px;
  align-items: start;
  font-size: 12px;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 100%;
  padding: 6px;
  border: 1px solid var(--ck-line);
  border-radius: var(--ck-radius);
  background: var(--ck-surface);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 8px 10px;
  border-radius: 6px;
  color: var(--ck-text);
  font-weight: 650;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: #fff; color: var(--ck-blue); }
.woocommerce-account .woocommerce-MyAccount-content {
  width: 100%;
  padding: 16px;
  border: 1px solid var(--ck-line);
  border-radius: var(--ck-radius);
  background: #fff;
}
.woocommerce table.shop_table { border-color: var(--ck-line); border-radius: var(--ck-radius); }
.woocommerce table.shop_table th { background: var(--ck-surface); color: var(--ck-ink); }
.woocommerce-cart ins,
.woocommerce-checkout ins,
.wc-block-cart ins,
.wc-block-components-product-price ins { text-decoration: none !important; }
.cc-wp-embed,
.cc-configurator-product { --ck-blue:#153875; --ck-orange:#ef7f1a; }

@media (max-width:1000px) {
  .ck-mainnav { width: min(calc(100% - 28px),var(--ck-width)); }
  .ck-mainnav .wp-block-site-logo img { width: 190px !important; }
  .ck-mainnav .wp-block-search { width: 160px !important; }
  .woocommerce-cart .woocommerce,
  .woocommerce-checkout form.checkout {
    grid-template-columns: minmax(0,1.45fr) minmax(285px,.9fr) !important;
    gap: 18px !important;
  }
}

@media (max-width:782px) {
  .admin-bar .ck-site-header { top: 46px; }
  .ck-mainnav { min-height: 62px !important; padding: 7px 0 !important; }
  .ck-mainnav .wp-block-site-logo img { width: 170px !important; }
  .ck-mainnav > .wp-block-navigation { order: 4; flex: 0 0 auto; }
  .ck-mainnav .wp-block-navigation__responsive-container-open {
    width: 38px;
    height: 38px;
    padding: 8px !important;
    border: 1px solid var(--ck-line) !important;
    border-radius: 7px;
    color: var(--ck-ink);
  }
  .ck-mainnav .wp-block-navigation__responsive-container.is-menu-open {
    padding: 78px 20px 24px !important;
    background: #fff !important;
  }
  .ck-mainnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    width: 100%;
    gap: 4px !important;
    align-items: stretch !important;
  }
  .ck-mainnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display: block;
    padding: 11px 4px !important;
    border-bottom: 1px solid var(--ck-line-soft);
    font-size: 14px !important;
  }
  .ck-mainnav .wp-block-search { display: none; }
  .wp-site-blocks > main > :where(.alignwide,.wp-block-post-content),
  .ck-cart-page,
  .ck-checkout-page { width: min(calc(100% - 28px),var(--ck-width)) !important; }
  .wc-block-product-template,
  .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 14px !important; }
  .woocommerce-cart .woocommerce,
  .woocommerce-checkout form.checkout,
  .woocommerce-account .woocommerce { display: block !important; }
  .woocommerce-cart .cart-collaterals,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review > .woocommerce-checkout-review-order-table,
  .woocommerce-checkout #payment,
  .woocommerce-account .woocommerce-MyAccount-content { margin-top: 16px !important; }
  .woocommerce-checkout #order_review { display: block !important; }
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review > .woocommerce-checkout-review-order-table,
  .woocommerce-checkout #payment { display: block !important; width: 100% !important; }
  .wc-block-cart .wc-block-cart__main,
  .wc-block-cart .wc-block-cart__sidebar,
  .wc-block-checkout__main,
  .wc-block-checkout__sidebar { width: 100% !important; }
}

@media (max-width:520px) {
  body { font-size: 13px !important; }
  .ck-mainnav { width: calc(100% - 20px); gap: 8px !important; }
  .ck-mainnav .wp-block-site-logo img { width: 145px !important; }
  .ck-mainnav > .wp-block-group { gap: 5px !important; }
  .ck-mainnav .ck-account-link,
  .ck-mainnav .wc-block-mini-cart__button,
  .ck-mainnav .wp-block-navigation__responsive-container-open {
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
  }
  .wp-site-blocks > main,
  .woocommerce main,
  .woocommerce-page main { padding-top: 14px !important; }
  .wp-site-blocks > main > :where(.alignwide,.wp-block-post-content),
  .ck-cart-page,
  .ck-checkout-page { width: calc(100% - 20px) !important; }
  .woocommerce-products-header__title,
  .wp-block-query-title,
  .ck-cart-page > h1,
  .ck-checkout-page > h1,
  body:not(.home) main > .wp-block-post-title { margin-bottom: 16px !important; font-size: 26px !important; }
  .wc-block-product-template,
  .woocommerce ul.products { grid-template-columns: minmax(0,1fr) !important; }
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .wc-block-product { padding: 9px 9px 13px !important; }
  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering { float: none !important; width: 100%; }
  .woocommerce .woocommerce-ordering select { width: 100%; }
  .woocommerce-cart table.shop_table_responsive tr {
    display: block;
    padding: 10px;
    border-bottom: 1px solid var(--ck-line-soft);
  }
  .woocommerce-cart table.shop_table_responsive td {
    display: block;
    width: 100% !important;
    padding: 6px 0 !important;
    text-align: right !important;
  }
  .woocommerce-cart table.shop_table_responsive td.product-thumbnail { display: none; }
  .woocommerce-cart td.actions .coupon { display: grid; grid-template-columns: 1fr; }
  .woocommerce-cart td.actions .coupon input,
  .woocommerce-cart td.actions .coupon button,
  .woocommerce-cart td.actions > button { width: 100% !important; }
  .woocommerce-checkout .woocommerce-billing-fields,
  .woocommerce-checkout .woocommerce-shipping-fields,
  .woocommerce-checkout .woocommerce-additional-fields,
  .woocommerce-checkout #payment { padding-left: 40px !important; }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: minmax(0,1fr); }
  .woocommerce-checkout .form-row { grid-column: 1 !important; }
}

@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
}

/* ================================================================
   Correzioni 0.3.2
   ================================================================ */

/* Il layer interno WooCommerce deve restare trasparente: diversamente
   copre completamente la fotografia pur lasciandola caricata nel DOM. */
.wc-block-components-product-image__inner-container {
  width: auto !important;
  height: auto !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
  background: transparent !important;
  pointer-events: none;
}

/* Menu alla stessa dimensione tipografica delle rassicurazioni. */
.ck-mainnav .wp-block-navigation-item__content {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

/* Titoli dei prodotti Home più equilibrati e coerenti con il catalogo. */
.ck-home-products .woocommerce ul.products li.product .woocommerce-loop-product__title,
.ck-home-products .wc-block-product .wp-block-post-title,
.ck-product-style-cards .woocommerce ul.products li.product .woocommerce-loop-product__title,
.ck-product-style-minimal .woocommerce ul.products li.product .woocommerce-loop-product__title,
.ck-product-style-compact .woocommerce ul.products li.product .woocommerce-loop-product__title,
.ck-product-style-list .woocommerce ul.products li.product .woocommerce-loop-product__title {
  margin: 10px 12px 5px !important;
  color: var(--ck-ink) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.32 !important;
  letter-spacing: -0.012em !important;
  text-align: center !important;
  text-wrap: balance;
}

.ck-home-products .woocommerce ul.products li.product .price,
.ck-product-style-cards .woocommerce ul.products li.product .price,
.ck-product-style-minimal .woocommerce ul.products li.product .price,
.ck-product-style-compact .woocommerce ul.products li.product .price,
.ck-product-style-list .woocommerce ul.products li.product .price {
  font-size: 15px !important;
  font-weight: 750 !important;
}

/* Footer leggermente più leggibile senza modificarne contenuti e struttura. */
.ck-site-footer,
.ck-site-footer p,
.ck-site-footer li,
.ck-site-footer .wp-block-navigation-item__content,
.ck-site-footer a:not(.wp-element-button) {
  font-size: 15px !important;
  line-height: 1.55 !important;
}

.ck-site-footer h2,
.ck-site-footer h3 {
  font-size: 19px !important;
  line-height: 1.25 !important;
}

.ck-site-footer .has-small-font-size {
  font-size: 13px !important;
}

/* Tutti i controlli assimilabili a pulsanti usano lo stesso raggio. */
:where(
  button,
  input[type="button"],
  input[type="submit"],
  .button,
  .wp-element-button,
  .wp-block-button__link,
  .wc-block-components-button,
  .wc-block-components-quantity-selector,
  .woocommerce .quantity
) {
  border-radius: 5px !important;
  box-sizing: border-box !important;
}

/* Mini-carrello: un solo prezzo, font leggibili e controlli distanziati. */
.wc-block-mini-cart__drawer [hidden] {
  display: none !important;
}

.wc-block-mini-cart__drawer {
  color: var(--ck-text);
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__content,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents {
  font-size: 13px !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__title {
  margin-bottom: 12px !important;
  color: var(--ck-ink);
  font-size: 19px !important;
  line-height: 1.25 !important;
}

.wc-block-mini-cart__drawer .wc-block-components-product-name {
  color: var(--ck-ink) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__prices,
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description {
  display: none !important;
}

.wc-block-mini-cart__drawer .wc-block-components-product-details {
  margin-top: 6px !important;
  color: var(--ck-muted);
  font-size: 11px !important;
  line-height: 1.4 !important;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__image {
  width: 86px !important;
  padding-right: 12px !important;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__image img {
  width: 72px !important;
  height: 72px !important;
  padding: 4px;
  border: 1px solid var(--ck-line);
  border-radius: 7px;
  object-fit: contain;
  background: #fff;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__quantity {
  display: flex !important;
  width: 100%;
  margin-top: 14px !important;
  align-items: center;
  justify-content: flex-start;
  gap: 24px !important;
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector {
  display: grid !important;
  flex: 0 0 124px;
  grid-template-columns: 38px 46px 38px;
  min-width: 124px !important;
  height: 40px !important;
  overflow: hidden;
  border: 1px solid var(--ck-line) !important;
  background: #fff;
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__button {
  position: static !important;
  width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ck-blue) !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__button--minus {
  grid-column: 1;
  grid-row: 1;
  border-radius: 5px 0 0 5px !important;
}
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__input {
  grid-column: 2;
  grid-row: 1;
  width: 46px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  border-right: 1px solid var(--ck-line) !important;
  border-left: 1px solid var(--ck-line) !important;
  border-radius: 0 !important;
  text-align: center;
}
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__button--plus {
  grid-column: 3;
  grid-row: 1;
  border-radius: 0 5px 5px 0 !important;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link {
  position: static !important;
  flex: 0 0 40px;
  width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 0 0 auto !important;
  padding: 9px !important;
  border: 1px solid #efc9c9 !important;
  border-radius: 5px !important;
  background: #fff !important;
  color: #a52a2a !important;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link:hover {
  border-color: #c43b3b !important;
  background: #fff4f4 !important;
  color: #8f1d1d !important;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__total {
  width: 78px !important;
  padding-left: 8px !important;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__total .wc-block-components-product-price {
  margin: 0 !important;
  color: var(--ck-ink) !important;
  font-size: 14px !important;
  font-weight: 750 !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer {
  font-size: 13px !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions {
  gap: 10px !important;
}

/* Pagina carrello: 60% prodotti, 40% riepilogo. */
.woocommerce-cart .woocommerce {
  grid-template-columns: minmax(0,3fr) minmax(0,2fr) !important;
  font-size: 13px !important;
}

.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart_totals {
  min-width: 0;
  box-sizing: border-box !important;
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.woocommerce-cart table.shop_table thead th {
  font-size: 11.5px !important;
}

.woocommerce-cart .product-name > a {
  font-size: 13.5px !important;
}

.woocommerce-cart .product-name dl.variation {
  font-size: 11.5px !important;
}

.woocommerce-cart .cart_totals {
  overflow: hidden;
  font-size: 13px !important;
}

.woocommerce-cart .cart_totals h2 {
  font-size: 18px !important;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
  font-size: 13px !important;
}

.woocommerce-cart .cart_totals::after {
  display: none !important;
  content: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

/* Checkout: due colonne 50/50, express in alto, pagamento sotto il riepilogo. */
.woocommerce-checkout form.checkout {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  grid-template-rows: auto auto auto auto;
  column-gap: 24px !important;
}

.woocommerce-checkout form.checkout > .wcpay-express-checkout-wrapper {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
}

.woocommerce-checkout #wcpay-express-checkout-element {
  width: 100% !important;
}

.woocommerce-checkout #wcpay-express-checkout-button-separator {
  margin: 10px 0 0 !important;
  color: var(--ck-muted);
  font-size: 11px;
}

.woocommerce-checkout #customer_details {
  grid-column: 1 !important;
  grid-row: 2 / span 3 !important;
}

.woocommerce-checkout #order_review_heading {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

.woocommerce-checkout #order_review > .woocommerce-checkout-review-order-table {
  grid-column: 2 !important;
  grid-row: 3 !important;
}

.woocommerce-checkout #payment {
  grid-column: 2 !important;
  grid-row: 4 !important;
  margin-top: 18px !important;
}

@media (max-width:782px) {
  .woocommerce-checkout form.checkout > .wcpay-express-checkout-wrapper,
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review > .woocommerce-checkout-review-order-table,
  .woocommerce-checkout #payment {
    display: block !important;
    width: 100% !important;
    margin-top: 16px !important;
  }

  .woocommerce-checkout form.checkout > .wcpay-express-checkout-wrapper {
    margin-top: 0 !important;
  }

  .woocommerce-cart .woocommerce {
    display: block !important;
  }

  .wc-block-mini-cart__drawer .wc-block-cart-item__quantity {
    gap: 20px !important;
  }
}

/* Correzione 0.3.4: elimina definitivamente il bordo interno della ricerca. */
html body .ck-site-header .ck-mainnav form.wp-block-search .wp-block-search__inside-wrapper > input.wp-block-search__input[type="search"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  border: 0 none transparent !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  background-image: none !important;
}

html body .ck-site-header .ck-mainnav form.wp-block-search .wp-block-search__inside-wrapper > input.wp-block-search__input[type="search"]:hover,
html body .ck-site-header .ck-mainnav form.wp-block-search .wp-block-search__inside-wrapper > input.wp-block-search__input[type="search"]:focus,
html body .ck-site-header .ck-mainnav form.wp-block-search .wp-block-search__inside-wrapper > input.wp-block-search__input[type="search"]:focus-visible {
  border: 0 none transparent !important;
  outline: 0 !important;
  box-shadow: none !important;
}

html body .ck-site-header .ck-mainnav form.wp-block-search .wp-block-search__inside-wrapper {
  box-shadow: none !important;
}

/* ================================================================
   Correzioni 0.3.3
   ================================================================ */

/* Home: stessi angoli, proporzioni e risposta hover degli altri pulsanti. */
.ck-home-button,
.ck-home-button.is-primary,
.ck-home-button.is-secondary {
  min-height: 42px !important;
  padding: 10px 18px !important;
  border-radius: 5px !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
}

/* Header: un solo bordo per la ricerca e icone leggermente più leggibili. */
.ck-mainnav .wp-block-search__inside-wrapper {
  overflow: hidden !important;
  border: 1px solid var(--ck-line) !important;
  border-radius: 7px !important;
  box-shadow: none !important;
}

.ck-mainnav .wp-block-search__input,
.ck-mainnav .wp-block-search__input:focus,
.ck-mainnav .wp-block-search__input:focus-visible {
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.ck-mainnav .wp-block-search__button svg,
.ck-mainnav .ck-account-link svg,
.ck-mainnav .wc-block-mini-cart__button svg {
  width: 23px !important;
  height: 23px !important;
}

/* Account: navigazione compatta a sinistra, contenuto ampio a destra. */
.woocommerce-account .woocommerce {
  display: grid !important;
  grid-template-columns: minmax(180px,210px) minmax(0,1fr) !important;
  gap: 24px !important;
  align-items: start !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  float: none !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  width: auto !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  padding: 10px 12px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 20px !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

/* Checkout: riepilogo e pagamento costituiscono una colonna continua. */
.woocommerce-checkout form.checkout {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  grid-template-rows: auto auto !important;
  gap: 0 24px !important;
}

.woocommerce-checkout form.checkout > .wcpay-express-checkout-wrapper {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  margin: 0 0 20px !important;
}

.woocommerce-checkout #customer_details {
  grid-column: 1 !important;
  grid-row: 2 !important;
  align-self: start !important;
}

.woocommerce-checkout #order_review_heading {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.woocommerce-checkout #order_review {
  display: block !important;
  grid-column: 2 !important;
  grid-row: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  align-self: start !important;
}

.woocommerce-checkout #order_review::before {
  content: "Il tuo ordine";
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid var(--ck-line);
  border-bottom: 0;
  border-radius: var(--ck-radius) var(--ck-radius) 0 0;
  background: var(--ck-surface-blue);
  color: var(--ck-ink);
  font-size: 14px;
  font-weight: 750;
  line-height: 1.3;
}

.woocommerce-checkout #order_review > .woocommerce-checkout-review-order-table {
  display: table !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 16px 12px !important;
  border: 1px solid var(--ck-line) !important;
  border-top: 0 !important;
  border-radius: 0 0 var(--ck-radius) var(--ck-radius) !important;
  background: var(--ck-surface-blue) !important;
}

.woocommerce-checkout #payment {
  display: block !important;
  width: 100% !important;
  margin: 18px 0 0 !important;
  padding: 0 0 0 46px !important;
}

/* La casella dei termini non deve ereditare la larghezza dei campi modulo. */
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper .form-row.validate-required {
  width: 100% !important;
  margin: 14px 0 0 !important;
  padding: 12px 0 0 !important;
}

.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
  display: flex !important;
  width: 100% !important;
  align-items: flex-start !important;
  gap: 9px !important;
  line-height: 1.45 !important;
}

.woocommerce-checkout #payment #terms {
  position: static !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout #payment .woocommerce-terms-and-conditions-checkbox-text {
  flex: 1 1 auto;
}

@media (max-width:782px) {
  .woocommerce-account .woocommerce {
    display: block !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content {
    width: 100% !important;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    margin-top: 16px !important;
  }

  .woocommerce-checkout form.checkout,
  .woocommerce-checkout #order_review {
    display: block !important;
  }

  .woocommerce-checkout #order_review_heading {
    margin: -1px !important;
  }

  .woocommerce-checkout #order_review {
    margin-top: 18px !important;
  }
}

/* ================================================================
   Navigazione responsive 0.3.7
   ================================================================ */

/* Ricerca e Account duplicati nel pannello: mai visibili su desktop. */
.ck-mobile-menu-tools,
.ck-mainnav .ck-mobile-menu-search,
.ck-mainnav .ck-mobile-account-link {
  display: none !important;
}

@media (max-width:960px) {
  /* Alla prima riduzione della testata si passa subito al menu compatto. */
  .ck-mainnav > .wp-block-navigation {
    order: 2 !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
  }

  .ck-mainnav > .wp-block-group:last-child {
    order: 3 !important;
    flex: 0 0 auto !important;
  }

  .ck-mainnav > .wp-block-navigation .wp-block-navigation__responsive-container-open {
    display: grid !important;
    width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 8px !important;
    place-items: center;
    border: 1px solid var(--ck-line) !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: var(--ck-ink) !important;
  }

  .ck-mainnav > .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }

  .ck-mainnav > .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
  }

  /* Strumenti sempre disponibili all'interno del menu aperto. */
  .ck-mainnav .wp-block-navigation__responsive-container.is-menu-open .ck-mobile-menu-tools {
    display: flex !important;
    order: 20;
    width: 100% !important;
    margin-top: 18px;
    flex-direction: column;
    align-items: stretch;
  }

  .ck-mainnav .wp-block-navigation__responsive-container.is-menu-open .ck-mobile-menu-search {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .ck-mainnav .wp-block-navigation__responsive-container.is-menu-open .ck-mobile-menu-search .wp-block-search__inside-wrapper {
    width: 100% !important;
    min-width: 0 !important;
    height: 46px !important;
    border: 1px solid var(--ck-line) !important;
    border-radius: 5px !important;
    background: #fff !important;
  }

  .ck-mainnav .wp-block-navigation__responsive-container.is-menu-open .ck-mobile-menu-search .wp-block-search__input {
    min-height: 44px !important;
    padding: 9px 48px 9px 13px !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    font-size: 14px !important;
  }

  .ck-mainnav .wp-block-navigation__responsive-container.is-menu-open .ck-mobile-menu-search .wp-block-search__button {
    right: 4px !important;
    left: auto !important;
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--ck-ink) !important;
  }

  .ck-mainnav .wp-block-navigation__responsive-container.is-menu-open .ck-mobile-menu-search .wp-block-search__button svg {
    width: 21px !important;
    height: 21px !important;
  }

  .ck-mainnav .wp-block-navigation__responsive-container.is-menu-open .ck-mobile-account-link {
    display: flex !important;
    width: 100% !important;
    min-height: 46px;
    margin-top: 10px;
    padding: 10px 13px;
    box-sizing: border-box;
    gap: 10px;
    align-items: center;
    border: 1px solid var(--ck-line);
    border-radius: 5px;
    background: var(--ck-surface);
    color: var(--ck-ink) !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
  }

  .ck-mainnav .ck-mobile-account-icon,
  .ck-mainnav .ck-mobile-account-icon svg {
    display: block;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
  }

  .ck-mainnav .wp-block-navigation__responsive-container.is-menu-open .ck-mobile-account-link:hover {
    border-color: var(--ck-orange);
    background: var(--ck-orange);
    color: #fff !important;
  }
}

@media (max-width:520px) {
  .ck-mainnav > .wp-block-navigation .wp-block-navigation__responsive-container-open {
    width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 7px !important;
  }
}


/* Mini-carrello nativo Comunickare 0.3.9: indipendente dal Mini-Cart Block. */
.ck-native-minicart{position:relative;display:inline-flex;align-items:center}.ck-native-minicart__button{position:relative;display:grid!important;place-items:center;width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;border:0!important;background:transparent!important;color:var(--ck-blue)!important;cursor:pointer}.ck-native-minicart__button svg{width:22px;height:22px}.ck-native-minicart__badge{position:absolute;top:0;right:0;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--ck-orange);color:#fff;font-size:10px;font-weight:800}.ck-native-minicart__overlay{position:fixed;z-index:99997;inset:0;background:rgba(12,22,45,.35)}.ck-native-minicart__drawer{position:fixed;z-index:99998;top:0;right:0;width:min(440px,94vw);height:100dvh;padding:0;background:#fff;box-shadow:-18px 0 55px rgba(18,31,61,.18);overflow:auto;color:var(--ck-ink)}.ck-native-minicart__head{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--ck-line);background:#fff;font-size:19px}.ck-native-minicart__head button{width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;border:0!important;background:#f3f5f9!important;color:var(--ck-ink)!important;font-size:26px;line-height:1;cursor:pointer}.ck-native-minicart__body{padding:18px 22px}.ck-native-minicart__items{display:grid;gap:0;margin:0;padding:0;list-style:none}.ck-native-minicart__item{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr) 30px;gap:12px;padding:15px 0;border-bottom:1px solid var(--ck-line)}.ck-native-minicart__image img{display:block;width:72px;height:72px;padding:4px;border:1px solid var(--ck-line);border-radius:7px;background:#fff;object-fit:contain}.ck-native-minicart__info{min-width:0}.ck-native-minicart__name{display:block;color:var(--ck-ink)!important;font-size:14px;font-weight:750;line-height:1.3;text-decoration:none}.ck-native-minicart__meta{margin-top:4px;color:var(--ck-muted);font-size:11px;line-height:1.35}.ck-native-minicart__meta dl,.ck-native-minicart__meta p{margin:0}.ck-native-minicart__line{display:flex;justify-content:space-between;gap:10px;margin-top:9px;font-size:12px}.ck-native-minicart__remove{display:grid;place-items:center;width:28px;height:28px;border:1px solid #efc9c9;border-radius:5px;color:#a52a2a!important;text-decoration:none}.ck-native-minicart__footer{padding:18px 0 4px}.ck-native-minicart__subtotal{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid var(--ck-line);font-size:15px}.ck-native-minicart__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ck-native-minicart__actions .button{display:flex!important;align-items:center;justify-content:center;min-height:44px!important;text-align:center}.ck-native-minicart__actions .checkout{background:var(--ck-blue)!important;color:#fff!important}.ck-native-minicart__empty{text-align:center;padding:32px 8px}.ck-native-minicart__loading{padding:26px 0;text-align:center;color:var(--ck-muted)}body.ck-minicart-open{overflow:hidden}@media(max-width:520px){.ck-native-minicart__drawer{width:100vw}.ck-native-minicart__actions{grid-template-columns:1fr}}

/* ========================================================================
 * Comunickare Blocks 0.3.14 — header e footer allineati alla bozza approvata
 * ======================================================================== */
.ck-site-header{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  width:100%!important;
  border:0!important;
  background:#fff!important;
  box-shadow:0 1px 0 rgba(16,38,77,.08)!important;
  backdrop-filter:none!important;
}
.admin-bar .ck-site-header{top:32px!important}
.ck-topbar{
  display:block!important;
  width:100%!important;
  min-height:30px!important;
  margin:0!important;
  padding:0!important;
  background:linear-gradient(90deg,#01469b 0%,#064aa4 56%,#073d87 100%)!important;
  color:#fff!important;
}
.ck-topbar__inner{
  display:flex!important;
  width:min(1180px,calc(100% - 64px))!important;
  min-height:30px!important;
  margin:0 auto!important;
  padding:0!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
}
.ck-topbar__item{
  display:inline-flex!important;
  min-width:0!important;
  align-items:center!important;
  gap:7px!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:650!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-decoration:none!important;
}
.ck-topbar__item svg{
  display:block!important;
  width:15px!important;
  height:15px!important;
  flex:0 0 15px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.ck-mainnav-wrap{width:100%!important;background:#fff!important}
.ck-mainnav{
  display:flex!important;
  width:min(1180px,calc(100% - 64px))!important;
  min-height:68px!important;
  margin:0 auto!important;
  padding:0!important;
  align-items:center!important;
  gap:28px!important;
}
.ck-brand{
  display:flex!important;
  flex:0 0 205px!important;
  width:205px!important;
  height:50px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-decoration:none!important;
}
.ck-brand img{
  display:block!important;
  width:205px!important;
  height:auto!important;
  max-height:50px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.ck-mainnav .ck-primary-nav{
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
.ck-mainnav .ck-primary-nav .wp-block-navigation__container{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:clamp(18px,2vw,34px)!important;
  align-items:center!important;
  justify-content:center!important;
}
.ck-mainnav .ck-primary-nav .wp-block-navigation-item__content{
  padding:24px 0!important;
  color:#12264c!important;
  font-size:16px!important;
  font-weight:650!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.ck-mainnav .ck-primary-nav .wp-block-navigation-item__content:hover,
.ck-mainnav .ck-primary-nav .current-menu-item>.wp-block-navigation-item__content{color:var(--ck-orange)!important}
.ck-mainnav .ck-primary-nav .wp-block-navigation__submenu-icon{width:9px!important;height:9px!important;margin-left:5px!important}
.ck-mainnav .ck-primary-nav .wp-block-navigation__submenu-container{
  min-width:190px!important;
  padding:7px!important;
  border:1px solid #e2e7ef!important;
  border-radius:7px!important;
  background:#fff!important;
  box-shadow:0 12px 32px rgba(16,38,77,.10)!important;
}
.ck-mainnav .ck-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{padding:9px 11px!important;font-size:14px!important}
.ck-header-tools{
  display:flex!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  align-items:center!important;
  gap:17px!important;
}
.ck-header-search{
  width:88px!important;
  margin:0!important;
}
html body .ck-site-header .ck-header-search .wp-block-search__inside-wrapper{
  display:flex!important;
  flex-direction:row-reverse!important;
  width:88px!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:0!important;
  align-items:center!important;
  gap:3px!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body .ck-site-header .ck-header-search input.wp-block-search__input[type="search"]{
  width:61px!important;
  min-width:0!important;
  min-height:32px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#12264c!important;
  font-size:12.5px!important;
  font-weight:500!important;
  outline:0!important;
  box-shadow:none!important;
}
html body .ck-site-header .ck-header-search .wp-block-search__button{
  position:static!important;
  display:grid!important;
  width:22px!important;
  height:32px!important;
  min-height:32px!important;
  margin:0!important;
  padding:0!important;
  place-items:center!important;
  border:0!important;
  background:transparent!important;
  color:#12336b!important;
  transform:none!important;
}
.ck-header-search .wp-block-search__button svg{width:17px!important;height:17px!important}
.ck-account-link,
.ck-cart-tool{
  display:flex!important;
  min-width:46px!important;
  margin:0!important;
  padding:0!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  color:#12264c!important;
  text-decoration:none!important;
}
.ck-account-link-icon{display:grid!important;width:22px!important;height:34px!important;place-items:center!important}
.ck-account-link-icon svg{width:18px!important;height:18px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.ck-header-tool-label{color:#12264c!important;font-size:11.5px!important;font-weight:600!important;line-height:1!important;white-space:nowrap!important}
.ck-cart-tool{gap:3px!important}
.ck-cart-tool .wc-block-mini-cart{margin:0!important}
.ck-cart-tool .wc-block-mini-cart__button,
.ck-native-minicart__button{
  width:24px!important;
  min-width:24px!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#12336b!important;
}
.ck-cart-tool .wc-block-mini-cart__button svg,
.ck-native-minicart__button svg{width:18px!important;height:18px!important}
.ck-cart-tool .wc-block-mini-cart__badge,
.ck-native-minicart__badge{top:-1px!important;right:-3px!important;min-width:15px!important;height:15px!important;padding:0 3px!important;border:0!important;background:var(--ck-orange)!important;color:#fff!important;font-size:8px!important;font-weight:800!important}

/* Barra servizi sopra al footer. */
.ck-footer-benefits{
  width:100%!important;
  margin:52px 0 0!important;
  padding:18px 0!important;
  border-top:1px solid #edf0f5!important;
  background:#f7f9fc!important;
}
.ck-footer-benefits__inner{
  display:grid!important;
  width:min(1180px,calc(100% - 64px))!important;
  margin:0 auto!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:24px!important;
}
.ck-footer-benefit{
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
  color:#10264d!important;
}
.ck-footer-benefit svg{width:31px!important;height:31px!important;fill:none!important;stroke:#123f83!important;stroke-width:1.55!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.ck-footer-benefit span{display:block!important;min-width:0!important}
.ck-footer-benefit strong{display:block!important;margin:0 0 2px!important;color:#10264d!important;font-size:13px!important;font-weight:800!important;line-height:1.25!important}
.ck-footer-benefit small{display:block!important;color:#293a57!important;font-size:11.5px!important;line-height:1.35!important}
.ck-site-footer{
  width:100%!important;
  margin:0!important;
  padding:27px 0 13px!important;
  background:linear-gradient(100deg,#064ca7 0%,#054494 52%,#063778 100%)!important;
  color:#fff!important;
}
.ck-site-footer__inner{
  display:grid!important;
  width:min(1180px,calc(100% - 64px))!important;
  margin:0 auto!important;
  grid-template-columns:1.25fr .85fr .85fr .95fr .75fr!important;
  gap:36px!important;
  align-items:start!important;
}
.ck-footer-brand img{display:block!important;width:150px!important;height:auto!important;margin:0 0 11px!important}
.ck-footer-brand p{margin:0!important;color:#fff!important;font-size:11.5px!important;line-height:1.5!important}
.ck-footer-col{display:grid!important;gap:6px!important;align-content:start!important;color:#fff!important}
.ck-footer-col strong{display:block!important;margin:0 0 7px!important;color:#fff!important;font-size:13px!important;font-weight:850!important;letter-spacing:.02em!important}
.ck-footer-col a,.ck-footer-col span{color:#fff!important;font-size:12px!important;line-height:1.45!important;text-decoration:none!important}
.ck-footer-col a:hover{color:#ffd39f!important}
.ck-footer-social__icons{display:flex!important;gap:8px!important;align-items:center!important}
.ck-footer-social__icons a{display:grid!important;width:25px!important;height:25px!important;place-items:center!important;border-radius:50%!important;background:rgba(255,255,255,.14)!important;color:#fff!important;font-size:10px!important;font-weight:700!important}
.ck-site-footer__copyright{width:min(1180px,calc(100% - 64px))!important;margin:20px auto 0!important;color:rgba(255,255,255,.92)!important;font-size:10.5px!important;line-height:1.4!important;text-align:center!important}

@media(max-width:900px){
  .ck-topbar__inner,.ck-mainnav,.ck-footer-benefits__inner,.ck-site-footer__inner,.ck-site-footer__copyright{width:min(100% - 36px,1180px)!important}
  .ck-topbar__item:nth-child(3){display:none!important}
  .ck-mainnav{gap:18px!important}
  .ck-brand{flex-basis:178px!important;width:178px!important}.ck-brand img{width:178px!important}
  .ck-mainnav .ck-primary-nav .wp-block-navigation__container{gap:17px!important}
  .ck-header-tools{gap:10px!important}.ck-header-tool-label{display:none!important}
  .ck-site-footer__inner{grid-template-columns:1.2fr repeat(4,1fr)!important;gap:24px!important}
}
@media(max-width:782px){
  .admin-bar .ck-site-header{top:46px!important}
  .ck-topbar{display:none!important}
  .ck-mainnav{width:calc(100% - 28px)!important;min-height:62px!important;gap:12px!important}
  .ck-brand{flex-basis:165px!important;width:165px!important;height:44px!important}.ck-brand img{width:165px!important;max-height:44px!important}
  .ck-mainnav .ck-primary-nav{order:3!important;flex:0 0 auto!important}
  .ck-mainnav .ck-primary-nav .wp-block-navigation__responsive-container-open{display:flex!important}
  .ck-header-search{display:none!important}
  .ck-footer-benefits__inner{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
  .ck-site-footer__inner{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:26px!important}
  .ck-footer-brand{grid-column:1/-1!important}
}
@media(max-width:520px){
  .ck-footer-benefits{margin-top:36px!important}
  .ck-footer-benefits__inner{grid-template-columns:1fr!important}
  .ck-site-footer__inner{grid-template-columns:1fr 1fr!important;gap:24px 18px!important}
}

/* 0.4.5 — identità e navigazione dinamiche, senza contenuti hard-coded. */
.ck-primary-navigation{
  display:flex!important;
  flex:1 1 auto!important;
  min-width:0!important;
  align-items:center!important;
  justify-content:center!important;
}
.ck-primary-menu,
.ck-primary-navigation .wp-block-navigation__container{
  display:flex!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(18px,2vw,34px)!important;
}
.ck-primary-menu li,
.ck-primary-navigation .wp-block-navigation-item{
  position:relative!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.ck-primary-menu>li>a,
.ck-primary-navigation .wp-block-navigation-item__content{
  display:flex!important;
  align-items:center!important;
  padding:24px 0!important;
  color:#12264c!important;
  font-size:16px!important;
  font-weight:650!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-decoration:none!important;
}
.ck-primary-menu>li>a:hover,
.ck-primary-menu>.current-menu-item>a,
.ck-primary-menu>.current-menu-ancestor>a,
.ck-primary-navigation .wp-block-navigation-item__content:hover,
.ck-primary-navigation .current-menu-item>.wp-block-navigation-item__content{
  color:var(--ck-orange)!important;
}
.ck-primary-menu .sub-menu{
  position:absolute!important;
  z-index:1002!important;
  top:calc(100% - 8px)!important;
  left:-12px!important;
  display:none!important;
  min-width:190px!important;
  margin:0!important;
  padding:7px!important;
  border:1px solid #e2e7ef!important;
  border-radius:7px!important;
  background:#fff!important;
  box-shadow:0 12px 32px rgba(16,38,77,.10)!important;
  list-style:none!important;
}
.ck-primary-menu li:hover>.sub-menu,
.ck-primary-menu li:focus-within>.sub-menu{display:block!important}
.ck-primary-menu .sub-menu a{
  display:block!important;
  padding:9px 11px!important;
  border-radius:6px!important;
  color:#12264c!important;
  font-size:14px!important;
  line-height:1.25!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.ck-primary-menu .sub-menu a:hover{background:#f5f7fb!important;color:var(--ck-orange)!important}
.ck-primary-menu .sub-menu .sub-menu{top:-8px!important;left:calc(100% + 6px)!important}
.ck-nav-toggle{
  display:none!important;
  width:40px!important;
  height:40px!important;
  margin:0!important;
  padding:9px!important;
  border:1px solid #e2e7ef!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#12264c!important;
  cursor:pointer!important;
}
.ck-nav-toggle>span:not(.screen-reader-text){display:block!important;width:100%!important;height:2px!important;margin:4px 0!important;border-radius:2px!important;background:currentColor!important}
.ck-brand--text{font-size:clamp(18px,2vw,28px)!important;font-weight:800!important;line-height:1!important;color:#12264c!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.ck-brand--text span{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important}
.ck-footer-brand__logo{display:inline-flex!important;max-width:220px!important;padding:6px 10px!important;border-radius:8px!important;background:#fff!important;text-decoration:none!important}
.ck-footer-brand__logo img{display:block!important;width:auto!important;max-width:190px!important;max-height:54px!important;object-fit:contain!important}
.ck-footer-brand__logo.ck-brand--text{background:transparent!important;padding:0!important;color:#fff!important}
.ck-footer-navigation .ck-footer-menu,
.ck-footer-navigation .wp-block-navigation__container{
  display:grid!important;
  gap:6px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.ck-footer-navigation .ck-footer-menu li,
.ck-footer-navigation .wp-block-navigation-item{margin:0!important;padding:0!important;list-style:none!important}
.ck-footer-navigation .ck-footer-menu a,
.ck-footer-navigation .wp-block-navigation-item__content{padding:0!important;color:#fff!important;font-size:12px!important;line-height:1.45!important;text-decoration:none!important}
.ck-footer-navigation .sub-menu{display:grid!important;gap:5px!important;margin:5px 0 0 12px!important;padding:0!important;list-style:none!important}
.ck-site-footer__inner{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}

@media(max-width:782px){
  .ck-mainnav-wrap{position:relative!important}
  .ck-mainnav{position:relative!important;justify-content:space-between!important}
  .ck-brand{flex:0 1 165px!important;min-width:0!important}
  .ck-header-tools{margin-left:auto!important}
  .ck-nav-toggle{display:block!important;flex:0 0 40px!important;order:3!important}
  .ck-primary-navigation{
    position:absolute!important;
    z-index:1001!important;
    top:100%!important;
    left:-14px!important;
    right:-14px!important;
    display:none!important;
    max-height:calc(100vh - 72px)!important;
    overflow:auto!important;
    padding:12px 18px 20px!important;
    border-top:1px solid #e6eaf1!important;
    background:#fff!important;
    box-shadow:0 14px 30px rgba(16,38,77,.12)!important;
  }
  .ck-primary-navigation.is-open{display:block!important}
  .ck-primary-menu,
  .ck-primary-navigation .wp-block-navigation__container{
    display:flex!important;
    width:100%!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
  }
  .ck-primary-menu>li>a,
  .ck-primary-navigation .wp-block-navigation-item__content{
    width:100%!important;
    padding:12px 4px!important;
    border-bottom:1px solid #eef1f5!important;
    font-size:15px!important;
    white-space:normal!important;
  }
  .ck-primary-menu .sub-menu{
    position:static!important;
    display:grid!important;
    min-width:0!important;
    margin:0 0 6px 14px!important;
    padding:0 0 0 10px!important;
    border:0!important;
    border-left:2px solid #eef1f5!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .ck-primary-menu .sub-menu .sub-menu{position:static!important;margin-left:12px!important}
  .ck-primary-menu .sub-menu a{padding:8px 4px!important;font-size:14px!important;white-space:normal!important}
  .ck-primary-navigation .wp-block-navigation__responsive-container,
  .ck-primary-navigation .wp-block-navigation__responsive-container-content{display:block!important;position:static!important;padding:0!important;background:transparent!important}
  .ck-primary-navigation .wp-block-navigation__responsive-container-open,
  .ck-primary-navigation .wp-block-navigation__responsive-container-close{display:none!important}
}


/* 0.4.7 — widget footer esistenti e tipografia shell più leggibile. */
.ck-site-footer__inner--widgets{
  grid-template-columns:minmax(180px,230px) minmax(0,1fr)!important;
  gap:42px!important;
}
.ck-footer-widgets-wrap{min-width:0!important}
.ck-footer-widget-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;
  gap:28px 34px!important;
  align-items:start!important;
}
.ck-footer-widget{
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:12.5px!important;
  line-height:1.5!important;
}
.ck-footer-widget__title,
.ck-footer-widget .widget-title,
.ck-footer-widget h2,
.ck-footer-widget h3,
.ck-footer-widget h4{
  margin:0 0 12px!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.25!important;
}
.ck-footer-widget p,
.ck-footer-widget li,
.ck-footer-widget address,
.ck-footer-widget label{
  color:inherit!important;
  font-size:12.5px!important;
  line-height:1.5!important;
}
.ck-footer-widget a{
  color:#fff!important;
  font-size:12.5px!important;
  line-height:1.5!important;
  text-decoration:none!important;
}
.ck-footer-widget a:hover{color:#ffd39f!important}
.ck-footer-widget ul,
.ck-footer-widget ol,
.ck-footer-widget .menu{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.ck-footer-widget li+li{margin-top:7px!important}
.ck-footer-widget img{max-width:100%!important;height:auto!important}
.ck-footer-widget input,
.ck-footer-widget select,
.ck-footer-widget textarea{max-width:100%!important;font-size:12.5px!important}
.ck-footer-widget .wp-block-social-links{gap:8px!important}

@media(max-width:900px){
  .ck-site-footer__inner--widgets{grid-template-columns:190px minmax(0,1fr)!important;gap:28px!important}
  .ck-footer-widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}
}
@media(max-width:782px){
  .ck-site-footer__inner--widgets{grid-template-columns:1fr!important}
  .ck-footer-widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:520px){
  .ck-footer-widget-grid{grid-template-columns:1fr!important}
  .ck-header-tool-label{font-size:11px!important}
}


/* 0.4.8 — ricerca header: campo riconoscibile, leggibile e icona lente corretta. */
@media (min-width: 783px) {
  html body .ck-site-header .ck-header-search {
    width: clamp(180px, 15vw, 230px) !important;
    min-width: 180px !important;
  }
  html body .ck-site-header .ck-header-search .wp-block-search__inside-wrapper {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 5px 0 13px !important;
    gap: 4px !important;
    overflow: hidden !important;
    border: 1px solid #d7deea !important;
    border-radius: 20px !important;
    background: #f8fafc !important;
    box-shadow: 0 1px 2px rgba(18,38,76,.03) !important;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease !important;
  }
  html body .ck-site-header .ck-header-search .wp-block-search__inside-wrapper:hover {
    border-color: #b8c5d8 !important;
    background: #fff !important;
  }
  html body .ck-site-header .ck-header-search .wp-block-search__inside-wrapper:focus-within {
    border-color: var(--ck-orange, #f58220) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(245,130,32,.12) !important;
  }
  html body .ck-site-header .ck-header-search input.wp-block-search__input[type="search"] {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 4px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #12264c !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }
  html body .ck-site-header .ck-header-search input.wp-block-search__input[type="search"]::placeholder {
    color: #6f7d93 !important;
    opacity: 1 !important;
  }
  html body .ck-site-header .ck-header-search .wp-block-search__button {
    position: static !important;
    display: grid !important;
    flex: 0 0 31px !important;
    width: 31px !important;
    min-width: 31px !important;
    height: 31px !important;
    min-height: 31px !important;
    margin: 0 !important;
    padding: 0 !important;
    place-items: center !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #12336b !important;
    transform: none !important;
    cursor: pointer !important;
  }
  html body .ck-site-header .ck-header-search .wp-block-search__button:hover,
  html body .ck-site-header .ck-header-search .wp-block-search__button:focus-visible {
    background: #edf2f8 !important;
    color: #0d2858 !important;
    outline: 0 !important;
  }
  html body .ck-site-header .ck-header-search .wp-block-search__button svg {
    width: 18px !important;
    height: 18px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.9 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }
}

@media (min-width: 783px) and (max-width: 1120px) {
  html body .ck-site-header .ck-header-search {
    width: 170px !important;
    min-width: 170px !important;
  }
  html body .ck-site-header .ck-header-search input.wp-block-search__input[type="search"] {
    font-size: 13px !important;
  }
}


/* 0.4.9 — Account e Carrello solo icona + tooltip; più spazio alla ricerca. */
@media (min-width: 783px) {
  html body .ck-site-header .ck-header-tools {
    gap: 10px !important;
  }

  html body .ck-site-header .ck-header-search {
    width: clamp(220px, 18vw, 300px) !important;
    min-width: 220px !important;
  }

  html body .ck-site-header .ck-account-link,
  html body .ck-site-header .ck-native-minicart__button {
    position: relative !important;
    display: grid !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    place-items: center !important;
    border: 1px solid transparent !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #12336b !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: color .16s ease, background-color .16s ease, border-color .16s ease !important;
  }

  html body .ck-site-header .ck-account-link:hover,
  html body .ck-site-header .ck-account-link:focus-visible,
  html body .ck-site-header .ck-native-minicart__button:hover,
  html body .ck-site-header .ck-native-minicart__button:focus-visible {
    border-color: #dbe3ef !important;
    background: #f3f6fa !important;
    color: var(--ck-orange, #f58220) !important;
    outline: 0 !important;
  }

  html body .ck-site-header .ck-account-link-icon {
    display: grid !important;
    width: 22px !important;
    height: 22px !important;
    place-items: center !important;
  }
  html body .ck-site-header .ck-account-link-icon svg,
  html body .ck-site-header .ck-native-minicart__button svg {
    width: 21px !important;
    height: 21px !important;
  }

  html body .ck-site-header .ck-header-tool-label {
    display: none !important;
  }
  html body .ck-site-header .ck-cart-tool {
    display: flex !important;
    min-width: 40px !important;
    width: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html body .ck-site-header .ck-account-link::after,
  html body .ck-site-header .ck-native-minicart__button::after {
    content: attr(data-tooltip);
    position: absolute;
    z-index: 1000;
    top: calc(100% + 8px);
    left: 50%;
    width: max-content;
    max-width: 180px;
    padding: 7px 9px;
    border-radius: 7px;
    background: #12264c;
    color: #fff;
    font-size: 12px;
    font-weight: 650;
    line-height: 1;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -4px);
    transition: opacity .14s ease, transform .14s ease;
    box-shadow: 0 6px 18px rgba(18,38,76,.16);
  }
  html body .ck-site-header .ck-account-link:hover::after,
  html body .ck-site-header .ck-account-link:focus-visible::after,
  html body .ck-site-header .ck-native-minicart__button:hover::after,
  html body .ck-site-header .ck-native-minicart__button:focus-visible::after {
    opacity: 1;
    transform: translate(-50%, 0);
  }

  html body .ck-site-header .ck-native-minicart__badge {
    top: 1px !important;
    right: 0 !important;
    z-index: 3 !important;
  }
}

@media (min-width: 783px) and (max-width: 1120px) {
  html body .ck-site-header .ck-header-search {
    width: 190px !important;
    min-width: 190px !important;
  }
}

/* 0.4.12 — scheda prodotto: header/footer renderizzati direttamente, senza template-part FSE. */
/* 0.4.11 — footer neutro e completamente gestito dai widget. */
.ck-site-footer__inner--widgets-only{
  display:block!important;
}
.ck-site-footer__inner--widgets-only .ck-footer-widget-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))!important;
  gap:30px 38px!important;
  width:100%!important;
}
.ck-site-footer__inner--widgets-only .ck-footer-widget{
  min-width:0!important;
}
.ck-site-footer__inner--widgets-only .ck-footer-widget img{
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
}
@media(max-width:782px){
  .ck-site-footer__inner--widgets-only .ck-footer-widget-grid{
    grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))!important;
    gap:26px!important;
  }
}
@media(max-width:520px){
  .ck-site-footer__inner--widgets-only .ck-footer-widget-grid{grid-template-columns:1fr!important}
}

/* 0.4.14 — footer chiaro, come il riquadro Soluzioni su misura. */
.ck-site-footer{background:#f3f4f6!important;color:#293a57!important}
.ck-footer-widget{color:#293a57!important}
.ck-footer-widget__title,.ck-footer-widget .widget-title,
.ck-footer-widget h2,.ck-footer-widget h3,.ck-footer-widget h4{color:#10264d!important}
.ck-site-footer__copyright{color:#526078!important}
.ck-site-footer a,.ck-footer-widget a{color:#153875!important}
.ck-site-footer a:hover,.ck-footer-widget a:hover{color:#0f2f69!important;text-decoration:underline!important}
.ck-image-text__image{display:block;max-width:100%;height:auto;margin:0 0 16px}
.ck-image-text__text{overflow-wrap:anywhere}
.ck-image-text__text > :first-child{margin-top:0}
.ck-image-text__text > :last-child{margin-bottom:0}
.ck-footer-widget .ck-image-text__text ul{list-style:disc!important}
.ck-footer-widget .ck-image-text__text ol{list-style:decimal!important}
.ck-footer-widget .ck-image-text__text ul,.ck-footer-widget .ck-image-text__text ol{padding-left:1.5em!important;margin:0 0 1em!important}
.ck-footer-widget .ck-image-text__text a{text-decoration:underline!important}

/* 0.4.15 — separazione fra ricerca e area Account/Carrello. */
@media (min-width: 783px) {
  html body .ck-site-header .ck-header-search {
    margin-inline-end: 16px !important;
  }
}

/* 0.4.16 — la spedizione ha una colonna etichetta indipendente dai prodotti. */
.woocommerce-checkout #order_review > .woocommerce-checkout-review-order-table{display:block!important;box-sizing:border-box}
.woocommerce-checkout .woocommerce-checkout-review-order-table > thead,
.woocommerce-checkout .woocommerce-checkout-review-order-table > tbody,
.woocommerce-checkout .woocommerce-checkout-review-order-table > tfoot{display:block;width:100%}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr{display:grid;grid-template-columns:minmax(0,1fr) 100px;column-gap:16px}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr > th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tr > td{min-width:0;width:auto!important;box-sizing:border-box}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals{grid-template-columns:80px minmax(0,1fr)}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th{align-self:start;text-align:left}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td{text-align:left!important}
.woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method{margin:0;padding:0;list-style:none}
.woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method li{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:start;gap:7px;margin:0 0 8px;padding:0}
.woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method li:last-child{margin-bottom:0}
.woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method input[type="radio"]{float:none!important;width:15px!important;height:15px!important;min-height:0!important;margin:2px 0 0!important}
.woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method label{display:block!important;margin:0!important;padding:0!important;white-space:normal;text-align:left!important;overflow-wrap:break-word}
.woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method label .amount{display:inline!important;white-space:nowrap}
.woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method li > input[type="hidden"] + label{grid-column:1/-1}
@media(max-width:480px){
  .woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals{grid-template-columns:minmax(0,1fr);gap:0}
  .woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th{padding-bottom:0!important}
  .woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td{border-top:0!important}
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr > [colspan="2"]{grid-column:1/-1}
