/**
 * Theme Name: Martfury Child
 * Template:   martfury
 */

/* CSS-1 FIX: Override Bootstrap 3 html{font-size:10px} from parent theme.
   This restores standard 1rem=16px for all child theme and plugin CSS. */
html { font-size: 16px !important; }

/* =====================================================
   Self-hosted Google Fonts (eliminates external CSS request + DNS lookup)
   Inter (body) + Nunito Sans (headings), Latin + Latin-ext subsets
   ===================================================== */
/* Inter — latin-ext */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400 600;
    font-display: swap;
    src: url(css/fonts/google/Inter-latin-ext.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Inter — latin */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400 600;
    font-display: swap;
    src: url(css/fonts/google/Inter-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Nunito Sans — latin-ext */
@font-face {
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url(css/fonts/google/NunitoSans-latin-ext.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Nunito Sans — latin */
@font-face {
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url(css/fonts/google/NunitoSans-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---- CLS FIX: Adjusted fallback fonts to match custom font metrics ----
   Minimizes visible text reflow (FOUT) when custom fonts load.
   size-adjust values from Google Fonts CSS API v2 metrics. */
@font-face {
    font-family: 'Inter Fallback';
    src: local('Arial'), local('Helvetica Neue'), local('Helvetica');
    size-adjust: 107.40%;
    ascent-override: 90.20%;
    descent-override: 22.48%;
    line-gap-override: 0%;
}
@font-face {
    font-family: 'Nunito Sans Fallback';
    src: local('Arial'), local('Helvetica Neue'), local('Helvetica');
    size-adjust: 101.30%;
    ascent-override: 99.70%;
    descent-override: 34.80%;
    line-gap-override: 0%;
}

p:empty {
  margin-bottom: 0
}

.icon-chevron-right:before {
  content: "\e93c"
}

.icon-chevron-left:before {
  content: "\e93b"
}

.mobile-version .site-footer .footer-links .widget.widget_nav_menu ul li {
  width: auto
}

.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table {
  display: table;
  padding: 15px;
  border-radius: 10px
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
  display: block
}

.woocommerce #shipping_method li .woocommerce-Price-amount {
  padding-top: 0;
  padding-left: 3px
}

.mobile-version .woocommerce-error,
.mobile-version .woocommerce-info,
.mobile-version .woocommerce-message {
  display: block
}

.woocommerce-checkout #payment .wc_payment_methods {
  border: 0
}

.mobile-version.woocommerce-checkout form.checkout .woocommerce-form__label>span:before {
  top: -3px!important
}

.woocommerce-checkout form.checkout .woocommerce-form__label>span:before {
  border: 1px solid;
  background: #fff
}

.woocommerce-checkout form.checkout .woocommerce-form__label>.input-checkbox:checked+span:before {
  background: #085d91
}

.header-layout-3 .site-header .products-search .search-delete {
  margin-bottom: -3px
}

.woocommerce-product-details__short-description {
  display: none
}

.site-footer .footer-links .widget:last-child {
  text-align: center
}

.site-footer .footer-links .widget_nav_menu ul {
  display: block!important
}

.single-post-header {
  padding-top: 15px!important
}

@media screen and (max-width:991px) {
  .woocommerce div.product .entry-summary {
    margin-top: 5px!important
  }
  .single-product .site-content {
    padding-top: 5px!important
  }
}

.mf-navigation-mobile {
  background-color: #fff;
  border: 1px solid #ccc;
  margin: 10px;
  bottom: 10px;
  -webkit-box-shadow: 2px 4px 5px 0 rgba(168, 166, 168, 1);
  -moz-box-shadow: 2px 4px 5px 0 rgba(168, 166, 168, 1);
  box-shadow: 2px 4px 5px 0 rgba(168, 166, 168, 1)
}

.mf-entry-product-header {
  margin-bottom: 10px
}

.woocommerce div.product .tawcvs-swatches .swatch.selected {
  background: #caf0ff
}

.wcsatt-options-product-prompt-radio label>span {
  font-weight: bold
}

.wcsatt-options-product-dropdown {
  padding: 10px;
  font-size: 16px
}

.wcsatt-options-wrapper {
  margin-bottom: 1em
}

.wcsatt-options-product-prompt {
  margin-bottom: 0
}

.wcsatt-options-prompt-radios li {
  padding: 5px;
  border: 1px solid #efefef;
  border-radius: 10px;
  background: #eee
}

.wcsatt-options-prompt-radios {
  padding-left: 0
}

.wcsatt-options-prompt-radios li:last-child {
  padding: 5px;
  border: 1px solid #efefef;
  border-radius: 10px 10px 0 0;
  background: #eee;
  margin-bottom: 0
}

.wcsatt-options-product-wrapper {
  padding: 0 0 0 25px;
  border: 1px solid rgb(239, 239, 239);
  border-radius: 0 0 10px 10px;
  background: rgb(238, 238, 238)
}

.woocommerce-shipping-calculator {
  display: none
}

.mobile-version.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions .btn-shop {
  display: none
}

.woocommerce-cart .woocommerce table.cart td.actions {
  display: none
}

.woocommerce form .form-row {
  padding: 3px
}

.about_paypal {
  display: none
}

.woocommerce div.product.product-type-variable form.cart .variations td.label,
.woocommerce div.product p.stock.in-stock,
.woocommerce .mf-single-product.mf-product-layout-6 .product_meta .sku_wrapper {
  display: none!important
}

.woocommerce div.product.product-type-variable form.cart .single_variation_wrap .woocommerce-variation {
  margin-bottom: 20px!important
}

.woocommerce div.product span.price ins,
.woocommerce div.product p.price ins {
  font-size: 30px
}

.woocommerce div.product.product-type-variable p.price {
  display: none
}

.woocommerce-cart .woocommerce table.shop_table.cart {
  margin-bottom: 30px;
  border: 1px solid #ccc;
  border-radius: 10px
}

@media screen and (max-width:479px) {
  .woocommerce-cart .woocommerce table.shop_table td .quantity {
    width: auto;
    text-align: center
  }
  .woocommerce-cart .woocommerce table.shop_table td .quantity .decrease,
  .woocommerce-cart .woocommerce table.shop_table td .quantity .increase {
    display: block
  }
}

.woocommerce-checkout table.shop_table .cart-subtotal.recurring-total,
.woocommerce-checkout table.shop_table .shipping.recurring-total {
  display: none
}

.woocommerce-cart table.shop_table .cart-subtotal.recurring-total,
.woocommerce-cart table.shop_table .shipping.recurring-total {
  display: none
}

ul.wcsatt-options-cart li {
  padding: 10px;
  background: #fff;
  font-size: .95em
}

ul.wcsatt-options-cart {
  margin: 0;
  background: #f6f6f6;
  padding: 10px;
  border-radius: 10px
}

.subscription-option-details .subscription-details,
.subscription-option-details .wcsatt-sub-discount {
  font-weight: bold;
  color: var(--color-primary, #065282)
}

#payment .payment_methods li.wc_payment_method img {
  margin-left: 10px;
  max-height: 30px
}

.woocommerce-shipping-destination {
  display: none
}

.woocommerce-cart .woocommerce .coupon .button {
  width: 100%;
  background-color: #085d91;
  color: #fff!important;
  border: 0
}

.woocommerce-cart .woocommerce .coupon {
  margin-bottom: 20px;
  padding: 20px;
  border-radius: 10px;
  background: #f6f6f6
}

.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table td {
  padding: 0 5px 5px 0;
  border-top: none;
  width: auto
}

.qty-box {
  background: #fff
}

.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table th {
  font-weight: bold
}

.cart-collaterals {
  margin-top: 20px;
  margin-bottom: 50px
}

.woocommerce-cart .entry-title {
  display: none
}

.woocommerce-cart .woocommerce .coupon label {
  margin-bottom: 10px!important
}

.recurring-totals {
  display: none
}

.purchase-plan h2 {
  display: none
}

.woocommerce-shipping-totals.shipping {
  margin-top: 0
}

.acquisto-periodico-informativa {
  border-radius: 5px;
  background-color: #f8f8f8;
  padding: 15px;
  font-size: .9em
}

.rank-math-breadcrumb p {
  margin: 0
}

.mobile-version .rank-math-breadcrumb {
  padding: 5px 10px;
  color: #000
}

.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table .shipping .shipping-title {
  font-weight: 700
}

.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table thead {
  display: none
}

.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table .cart-subtotal th {
  min-width: 100px
}

.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table th {
  padding: 8px 10px
}

.acquisto-periodico-label .woocommerce-Price-amount.amount bdi {
  color: #065282!important
}

.one-time-option {
  border-radius: 10px;
  border: 1px solid #ccc;
  margin-bottom: 10px!important
}

/* FIX-UI-06: Override WC Subscriptions inline styles for consistent layout */
ul.wcsatt-options-cart li > div[style] {
  display: block !important;
  margin-left: 32px !important;
  margin-top: 6px !important;
}
ul.wcsatt-options-cart .acq_periodico_label img[style] {
  width: 20px !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
}
ul.wcsatt-options-cart .acq_periodico_label a[style] {
  margin-left: 8px !important;
  margin-top: 0 !important;
  vertical-align: middle !important;
}
ul.wcsatt-options-cart li span[style*="font-size"] {
  font-size: 0.85em !important;
  line-height: 1.4 !important;
}

ul.wcsatt-options-cart>li:first-child+li {
  border-radius: 10px 10px 0 0;
  border: 1px solid #ccc;
  border-bottom: 1px dashed #ccc
}

ul.wcsatt-options-cart>li.subscription-option:last-child {
  border-radius: 0 0 10px 10px;
  border: 1px solid #ccc;
  border-top: 0
}

.subscription_detail_description {
  font-size: .8em;
  width: 100%;
  display: block;
  text-align: left;
  line-height: 1.2em;
  margin-top: 10px
}

#coupon-codebox {
  display: flex;
  flex-direction: row;
  justify-content: center;
  background: #fff;
  padding: 5px 0
}
/* Mobile-only line break in coupon banner (replaces JS UA detection) */
#coupon-codebox br.mobile-only { display: none }
@media (max-width: 767px) { #coupon-codebox br.mobile-only { display: block } }

.coupon-codebox-container {
  display: flex;
  padding: 0;
  line-height: 1.3em;
  flex: 3;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: row;
  font-weight: bold;
  color: #0053a6;
  text-align: center;
  font-size: 1.2em
}

.coupon-row {
  display: flex;
  align-items: center;
  margin: 5px 30px;
  width: fit-content;
  flex: 1
}

#cpnCode {
  border: 1px dashed #0053a6;
  padding: 5px 10px;
  border-right: 0;
  color: #0053a6
}

#cpnBtn {
  border: 1px solid #0053a6;
  background: #0053a6;
  padding: 5px 10px;
  color: #fff;
  cursor: pointer
}

#counterCodeBox {
  font-weight: bold
}

.rank-math-breadcrumb {
  margin: 5px 0
}

.wcsatt-options-wrapper {
  display: none
}

#container-subcategory ul {
  list-style: none;
  display: flex;
  margin: 0;
  padding: 0;
  overflow: auto
}

#container-subcategory ul li {
  list-style: none;
  display: flex;
  margin: 0;
  text-align: center;
  padding: 0;
  min-width: 120px;
  flex-direction: column;
  justify-content: flex-start;
  flex: 1
}

#container-subcategory ul li:hover {
  flex-grow: 1.2;
  transition: all .2s ease-in-out
}

#container-subcategory li .image-subcategory {
  height: 120px;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat
}

#container-subcategory li .image-subcategory:hover {
  border: 10px solid #085d91
}

#container-subcategory li img {
  max-width: 100px;
  height: auto
}

#container-subcategory li h2 {
  font-size: 14px;
  color: #0053a6;
  font-weight: 600
}

.acquisto-periodico-label {
  margin-top: 10px;
  align-items: center;
  justify-content: flex-start;
  display: flex
}

.woocommerce div.product.product-type-variable .entry-summary>.acquisto-periodico-label {
  display: none
}

.grey-text-bold {
  font-size: 12px;
  color: #666;
  font-weight: bold
}

.risparmio-extra {
  width: 100%;
  background: linear-gradient(to right, #085d91 0, #122ced 100%);
  color: #fff;
  display: block;
  border-radius: 10px;
  text-align: center;
  padding: 5px;
  margin-top: 5px;
  font-size: 15px
}

ul#ywdpd-quantity-table,
.woocommerce div.product .tawcvs-swatches {
  margin-left: 5px;
  padding-left: 0;
  display: flex;
  flex: 1 1 auto;
  flex-direction: row;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-top: 10px
}

#ywdpd-quantity-table li.qty-info,
.woocommerce div.product .tawcvs-swatches .swatch.swatch-label {
  padding: 10px;
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  justify-content: flex-start;
  align-items: flex-start;
  border: 1px solid #ccc;
  border-radius: 12px;
  margin: 0 2% 1% 0;
  cursor: pointer;
  user-select: none;
  background-color: #fff;
  overflow: hidden;
  position: relative;
  box-shadow: 0 0 0 1px transparent;
  transition: flex-grow .3s
}

.woocommerce div.product .tawcvs-swatches .swatch.swatch-label {
  width: auto!important;
  height: auto!important
}

.woocommerce div.product .tawcvs-swatches .swatch.swatch-label {
  text-transform: uppercase
}

.woocommerce div.product .tawcvs-swatches .swatch.swatch-label:active {
  background-color:#eee;
}
.woocommerce div.product .tawcvs-swatches .swatch.swatch-label:hover {
  box-shadow: 0 0 8px var(--chirp-shadow-medium-emphasis, rgba(0, 0, 0, .102));
  text-decoration: none;
}

#ywdpd-quantity-table li.qty-info.ywdpd_active,
.woocommerce div.product .tawcvs-swatches .swatch.selected,
#ywdpd-quantity-table li.qty-info:hover,
.woocommerce div.product .tawcvs-swatches .swatch:hover {
  box-shadow: 0 0 8px rgba(0, 0, 0, .102);
  border: 2px solid #085d91
}

#ywdpd-quantity-table li.qty-info.ywdpd_active .qtyinfobox_quantita,
.woocommerce div.product .tawcvs-swatches .swatch.selected .qtyinfobox_quantita,
#ywdpd-quantity-table li.qty-info:hover .qtyinfobox_quantita,
.woocommerce div.product .tawcvs-swatches .swatch:hover .qtyinfobox_quantita,
#ywdpd-quantity-table li.qty-info.ywdpd_active .qtyinfobox_price,
.woocommerce div.product .tawcvs-swatches .swatch.selected .qtyinfobox_price,
#ywdpd-quantity-table li.qty-info:hover .qtyinfobox_price,
.woocommerce div.product .tawcvs-swatches .swatch:hover .qtyinfobox_price {
  color: #065282
}

.qtyinfobox_quantita {
  font-size: 18px;
  font-weight: normal;
  align-items: baseline;
  line-height: .9;
  position: relative;
  top: 0;
  margin-bottom: 0px;
  display: inline;
  text-align: left
}

.qtyinfobox_discount {
  display: block;
  position: relative;
  padding: 4px 7px 4px 5px;
  border-radius: 10px;
  background: #085d91;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .02em;
  color: #fff;
  right: -3px;
  line-height: 1;
  top:-2px;
}

.box_discount {
  padding: 4px 7px 4px 5px;
  border-radius: 10px;
  background: #bc2848;
  color: #fff;
  line-height: 1;
}

.qtyinfobox_price {
  margin-right: 20px;
  color: #bc2848 !important;
  font-size: 16px;
  font-weight: normal;
  padding-left: 1px;
  letter-spacing: 0.3px;
  flex: 0 0 auto;
  display: flex;
  align-items: baseline;
  line-height: 1;
}

.qtyinfobox_header {
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row!important;
  width: 100%;
  display: flex;
  flex: 1 1 auto
}

.qtyinfobox_formacquisto {
  /*border-radius: 12px;
  padding: 20px;
  border: 2px solid #eee*/
  padding:0;
}

.qtyinfobox_pricetitle {
  font-size: 18px;
  margin-bottom: 10px;
  padding-left: 1px;
  color: var(--color-primary, #065282);
  letter-spacing: .01em
}

.qtyinfobox_acquistoperiodicobox {
  margin-top: 14px;
  padding-top: 15px;
  margin-bottom: 6px;
  border-top: 1px dashed #dbdbdb
}

.qtyinfobox_priceacquistoperiodico {
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.4px
}

.qtyinfobox_priceacquistoperiodico ins {
  font-size: 32px!important;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.4px;
  color: var(--color-primary, #065282)!important
}

.woocommerce-variation-description {
  display: none
}

.qtyinfobox_variationtitle {
  margin: 5px 5px 0 10px;
  font-weight: 700;
  font-size: 16px;
}

.qtyinfobox_variationtitleextra {
  margin-bottom: 10px;
  font-size: .45em!important
}

.woocommerce-variation-price .price {
  font-size: 26px!important;
  color: #bc2848!important
}

.woocommerce-variation-price del {
  font-size: 22px!important
}

.woocommerce-variation-price .wcsatt-options-cart {
  background:transparent;padding:5px;
}

.woocommerce-variation-price .acquisto_periodico_reason {
  padding-left:0 !important;
  background:transparent;
}

.woocommerce-variation-price .one-time-option {
  padding:15px;cursor:pointer;box-shadow: 0 0 8px var(--chirp-shadow-medium-emphasis, rgba(0, 0, 0, .102));cursor:pointer;margin-bottom:0 !important;
}
.woocommerce-variation-price .one-time-option:active {
  background-color:#eee;
}
.woocommerce-variation-price .one-time-option:hover {
  box-shadow: 0 0 8px var(--chirp-shadow-medium-emphasis, rgba(0, 0, 0, .102));
  text-decoration: none;
}
.woocommerce-variation-price .one-time-option.selected {
  border:2px solid #085d91;
  transition: top .3s ease 0s, opacity .3s;
}


.woocommerce-variation-price .one-time-option label {
  display: flex;flex-direction: row;justify-content: flex-start;align-items: center;
}
.woocommerce-variation-price .one-time-option label.acq_periodico_label {
  color: var(--color-primary, #065282);font-weight:bold;font-size:18px;
}
.woocommerce-variation-price .one-time-option label input {
  margin-right:15px;width:20px;height:20px;
}
.woocommerce-variation-price .one-time-option ul.acquisto_periodico_reason li {
  padding:0;margin:0;display: flex;align-items: center;justify-content: flex-start;
  background:transparent;
}
.woocommerce-variation-price .one-time-option ul.acquisto_periodico_reason li span {
float:left;font-size:20px;padding-right:5px;
}

.woocommerce ul.products li.product .mf-product-thumbnail {
  position: relative;
  margin-bottom: 0
}

.woocommerce div.product .ti_chiamiamo_noi {
  height: 42px;
  background-color: #090!important;
  margin-top: 10px;
  white-space: normal!important;
  line-height: 42px;
  font-size: 18px;
  border-radius: 3px;
  cursor:pointer;
}

.woocommerce div.product .ti_chiamiamo_noi:hover {
  background-color: #295201
}

.woocommerce div.product .wc-tabs-wrapper .panel {
  color: #666
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  list-style: none;
  padding: .5em 0 0 1em;
  margin: 0 0 1.618em;
  overflow: hidden;
  position: relative;
  background: #f1f1f1
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: 0;
  background-color: #f1f1f1;
  display: inline-block;
  position: relative;
  z-index: 0;
  padding: .8em 1em
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: inline-block;
  padding: .5em 0;
  font-weight: 700;
  color: #515151;
  text-decoration: none
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  text-decoration: none;
  color: #6b6a6b
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: #fff;
  z-index: 2;
  border-bottom: 5px solid #085d91
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: inherit;
  text-shadow: inherit
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active::before {
  box-shadow: 2px 2px 0 #fff
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
  box-shadow: -2px 2px 0 #fff
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before {
  border: 1px solid #d3ced2;
  position: absolute;
  bottom: -1px;
  width: 5px;
  height: 5px;
  content: " ";
  box-sizing: border-box
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before {
  left: -5px;
  border-bottom-right-radius: 4px;
  border-width: 0 1px 1px 0;
  box-shadow: 2px 2px 0 #ebe9eb
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  right: -5px;
  border-bottom-left-radius: 4px;
  border-width: 0 0 1px 1px;
  box-shadow: -2px 2px 0 #ebe9eb
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  position: absolute;
  content: " ";
  width: 100%;
  bottom: 0;
  left: 0;
  border-bottom: 1px solid #d3ced2;
  z-index: 1
}

.woocommerce div.product .woocommerce-tabs .panel {
  margin: 0 0 2em;
  padding: 0
}

.mf-product-thumbnail-grey {
  background: #000;
  height: 100%;
  left: 0;
  opacity: .03;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2
}

.grey-text-bold {
  font-size: 12px;
  color: #666;
  font-weight: bold
}

.acquisto-periodico-label .woocommerce-Price-amount.amount bdi {
  color: #065282!important
}

.mf-back-shop {
  display: none!important
}

.woocommerce div.product form.cart .button {
  white-space: nowrap;
  width: 100%
}

.account-page-columns.woocommerce-account .page-header-page .entry-title {
  display: none
}

/* SEO-1 FIX: Hide duplicate h1 on homepage (hero already has the real h1) */
body.home .page-header-page {
  display: none;
}

.show-password-input {
  display: none
}

.header-layout-3 .topbar:not(.header-bar) {
  display: none !important
}
/* header-bar kill handled by block at ~line 4802 */

.mobile-version .site-header .header-extras .extras-menu>li .extra-icon,
.site-header [class^="icon-"] {
  font-size: 24px!important
}

.page-header-catalog .page-breadcrumbs {
  display: block
}

.woocommerce ul.products li.product a img {
  margin: 0 auto
}

.woocommerce div.product div.images img {
  margin: auto
}

.grecaptcha-badge {
  visibility: hidden
}

#YLC_chat_btn {
  display: none!important
}

.woocommerce-Price-amount bdi {
  font-weight: 600
}

/* CSS-01: Removed dead .checkout-total-float rules (PHP function removed) */

.woocommerce-privacy-policy-text {
  margin: 10px
}

.first-payment-date {
  margin-bottom: 0!important
}

.up-sells-item {
  border: 3px solid #f4f4f4;
  border-radius: 5px;
  margin: 0 20px;
  padding: 0 0 8px 0;
  margin-bottom: 3px
}

.up-sells-content .related-title {
  color: var(--color-primary, #065282);
  margin-bottom: 0!important;
  border-bottom: 0!important;
  padding-bottom: 5px!important;
  padding-left: 10px!important
}

.mini-cart-content .up-sells-content .col-xs-6 {
  padding: 0 5px
}

.added_to_cart.wc-forward {
  display: none!important
}

.mf-product-summary .up-sells-item {
  padding: 0!important
}

.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled.fixed {
  position: fixed;
  z-index: 9990;
  bottom: 0;
  display: block;
  width: 100vw;
  margin: 0;
  padding: 15px 15px 0 15px;
  background: #fff;
  left: 0;
  border-radius: 10px 10px 0 0;
  -webkit-box-shadow: 2px 4px 6px 9px rgba(168, 166, 168, 1);
  -moz-box-shadow: 2px 4px 6px 9px rgba(168, 166, 168, 1);
  box-shadow: 2px 4px 6px 9px rgba(168, 166, 168, 1)
}

.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled.fixed .quantity {
  width: 35%;
  float: left
}

.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled.fixed .single_add_to_cart_button {
  width: 60%;
  float: right
}

.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled.fixed .ti_chiamiamo_noi {
  display: none
}

.woocommerce .up-sells-item.product h2 a {
  -webkit-line-clamp: 3!important
}

#order-review-shipping {
  margin-bottom: 30px
}


#search-ajax-redis-bck {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, .5);
  z-index: 9999;
  display: none
}

#search-ajax-redis {
  position: fixed;
  left: 0;
  width: 100%;
  max-height: 80vh;
  overflow-y: auto;
  overflow-x: hidden;
  background: #f7f8fa;
  padding: 0;
  border-bottom: none;
  z-index: 10000;
  display: none;
  box-shadow: 0 12px 40px rgba(0,0,0,0.18);
}
/* Limit content width on wide screens */
#search-ajax-redis-res {
  max-width: 1400px;
  margin: 0 auto;
}

ul.list-suggestion,
ul.list-categories {
  list-style: none;
  display: flex;
  flex-direction: row;
  border-bottom: 2px solid #ccc;
  padding: 5px;
  margin: 5px 5px 15px 0;
  justify-content: flex-start;
  flex-wrap: nowrap;
  overflow-x: auto;
  align-items: center;
  scrollbar-width: none
}

ul.list-categories {
  flex-direction: column;
  border-bottom: 0
}

ul.list-suggestion::-webkit-scrollbar,
ul.list-categories::-webkit-scrollbar,
ul.list-livesearch-product::-webkit-scrollbar,
#search-ajax-redis::-webkit-scrollbar {
  display: none
}

.livesearch-suggestion,
.livesearch-categories {
  display: flex;
  flex-direction: row;
  cursor: pointer;
  border-radius: 5px;
  border: 1px solid #ccc;
  padding: 5px 10px;
  margin-right: 10px;
  flex: 0 0 auto;
  background-color: #fff
}

.livesearch-categories {
  width: 100%
}

.livesearch-suggestion:hover,
.livesearch-categories:hover {
  background-color: #efefef
}

.list-suggestion-title,
.livesearch-categories-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #777;
  margin-right: 10px;
  padding: 12px 16px 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#search-ajax-redis .ls-viewall {
  font-size: 13px;
  font-weight: 700;
  color: var(--color-primary, #065282) !important;
  text-decoration: none !important;
  text-transform: none;
  letter-spacing: 0;
  white-space: nowrap;
}
#search-ajax-redis .ls-viewall:hover {
  text-decoration: underline !important;
}

ul.list-suggestion {
  border-bottom: 1px solid #e8e8e8 !important;
  margin: 0 !important;
  padding: 8px 16px 10px !important;
  gap: 6px;
}

.livesearch-suggestion svg {
  display: none
}

.livesearch-categories a {
  color: #000
}

/* =========================================================
   LIVESEARCH PRODUCT GRID — Redesign v3
   ========================================================= */
ul.list-livesearch-product {
  list-style: none;
  margin: 0;
  padding: 12px 16px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
  gap: 12px;
}

/* --- Card --- */
#search-ajax-redis .livesearch-product {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  position: relative;
  border: 1px solid #f0f0f0;
  margin: 0;
  padding: 0;
  width: auto;
  box-sizing: border-box;
}
#search-ajax-redis .livesearch-product:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,0.10);
  transform: translateY(-2px);
  border-color: #e0e0e0;
}

/* --- Image area (relative for badge overlay) --- */
#search-ajax-redis .ls-card-image {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  background: #fafafa;
  padding: 10px;
  overflow: hidden;
  border-radius: 10px 10px 0 0;
  position: relative;
}
#search-ajax-redis .ls-card-image img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transition: transform 0.3s ease;
  border: none !important;
  box-shadow: none !important;
}
#search-ajax-redis .livesearch-product:hover .ls-card-image img {
  transform: scale(1.04);
}

/* --- Badge overlays on image --- */
#search-ajax-redis .ls-badge-sale,
#search-ajax-redis .ls-badge-top {
  position: absolute;
  top: 6px;
  left: 6px;
  font-size: 10px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 4px;
  line-height: 1.4;
  z-index: 2;
  pointer-events: none;
}
#search-ajax-redis .ls-badge-sale {
  background: #963B1A;
  color: #fff;
}
#search-ajax-redis .ls-badge-top {
  background: #085d91;
  color: #fff;
}

/* --- Body --- */
#search-ajax-redis .ls-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 8px 12px 10px;
  gap: 2px;
  box-sizing: border-box;
  overflow: hidden;
  min-width: 0;
  width: 100%;
}

/* --- Brand (discrete gray uppercase text) --- */
#search-ajax-redis .ls-brand {
  display: block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #888 !important;
  background: none;
  padding: 0;
  border-radius: 0;
  line-height: 1.3;
  text-decoration: none !important;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  margin-bottom: 1px;
}
#search-ajax-redis a.ls-brand:hover {
  color: var(--color-primary, #065282) !important;
}

/* --- Title --- */
#search-ajax-redis .ls-card-title {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  color: #1a1a2e !important;
  text-decoration: none !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 32px;
}
#search-ajax-redis .ls-card-title:hover {
  color: var(--color-primary, #065282) !important;
}
#search-ajax-redis .ls-card-title b {
  font-weight: 700;
  color: var(--color-primary, #065282);
}

/* --- Star rating --- */
#search-ajax-redis .ls-rating {
  display: flex;
  align-items: center;
  gap: 1px;
  line-height: 1;
  margin: 1px 0;
}
#search-ajax-redis .ls-star {
  font-size: 12px;
  line-height: 1;
}
#search-ajax-redis .ls-star-full {
  color: #F4A261;
}
#search-ajax-redis .ls-star-half {
  color: #F4A261;
  opacity: 0.6;
}
#search-ajax-redis .ls-star-empty {
  color: #ddd;
}
#search-ajax-redis .ls-review-count {
  font-size: 10px;
  color: #555555;
  margin-left: 2px;
}

/* --- Pricing area --- */
#search-ajax-redis .ls-card-pricing {
  margin-top: auto;
  padding-top: 3px;
}

/* --- Price row (price + was-price + var label) --- */
#search-ajax-redis .ls-price-row {
  display: flex;
  align-items: baseline;
  gap: 0;
  flex-wrap: wrap;
}
#search-ajax-redis .ls-price-main {
  font-size: 16px;
  font-weight: 800;
  color: #1a1a2e;
  line-height: 1.2;
}
#search-ajax-redis .ls-price-was {
  display: none !important;
}
/* Variation label (between title and rating) */
#search-ajax-redis .ls-var-label {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  color: #666;
  background: #f0f0f0;
  padding: 1px 6px;
  border-radius: 3px;
  line-height: 1.4;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 1px 0;
}

/* --- Periodic price (subscription) --- */
#search-ajax-redis .ls-price-periodic {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 2px;
  line-height: 1;
  flex-wrap: wrap;
  white-space: normal;
}
#search-ajax-redis .ls-periodic-label {
  font-size: 10px;
  font-weight: 600;
  color: var(--color-primary, #065282);
  opacity: 0.7;
}
#search-ajax-redis .ls-periodic-price {
  font-size: 12px;
  font-weight: 700;
  color: var(--color-primary, #065282);
}
#search-ajax-redis .ls-periodic-save {
  display: none !important;
}

/* --- ATC Row (qty stepper + button) --- */
#search-ajax-redis .ls-atc-row {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 6px;
}

/* --- Quantity stepper --- */
#search-ajax-redis .ls-qty-wrap {
  display: flex;
  align-items: center;
  border: 1.5px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
  height: 36px;
  flex-shrink: 0;
}
#search-ajax-redis .ls-qty-btn {
  width: 30px;
  height: 36px;
  border: none;
  background: #f5f5f5;
  color: #444;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s;
  padding: 0;
  line-height: 1;
  -webkit-user-select: none;
  user-select: none;
  -webkit-appearance: none;
  appearance: none;
}
#search-ajax-redis .ls-qty-btn:hover {
  background: #e8e8e8;
  color: #222;
}
#search-ajax-redis .ls-qty-btn:active {
  background: #ddd;
}
#search-ajax-redis .ls-qty-val {
  width: 22px;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  color: #333;
  line-height: 36px;
  -webkit-user-select: none;
  user-select: none;
}

/* --- ATC Button --- */
#search-ajax-redis .ls-atc-btn {
  flex: 1;
  height: 36px;
  min-width: 0;
  border-radius: 8px;
  border: none;
  background: #963B1A;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.3px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
  padding: 0 14px;
  box-shadow: 0 2px 8px rgba(231,111,81,0.3);
  text-decoration: none !important;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  white-space: nowrap;
  line-height: 1;
}
#search-ajax-redis .ls-atc-btn:hover {
  background: #d45a3e;
  box-shadow: 0 4px 12px rgba(231,111,81,0.4);
  transform: translateY(-1px);
}
#search-ajax-redis .ls-atc-btn:active {
  transform: scale(0.97);
}
#search-ajax-redis .ls-atc-btn svg {
  display: block;
  width: 15px;
  height: 15px;
  pointer-events: none;
  flex-shrink: 0;
}

/* Loading state */
#search-ajax-redis .ls-atc-btn.ls-loading {
  background: #bbb;
  pointer-events: none;
  box-shadow: none;
}
#search-ajax-redis .ls-atc-btn.ls-loading svg {
  animation: ls-spin 0.8s linear infinite;
}
@keyframes ls-spin { to { transform: rotate(360deg); } }

/* Added state */
#search-ajax-redis .ls-atc-btn.ls-added {
  background: #085d91;
  box-shadow: 0 2px 8px rgba(18,156,237,0.3);
  pointer-events: none;
}

/* Link variant (variable without resolved variation) */
#search-ajax-redis .ls-atc-btn.ls-atc-link {
  background: #555;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}
#search-ajax-redis .ls-atc-btn.ls-atc-link:hover {
  background: #333;
}

/* --- Out of stock badge --- */
#search-ajax-redis .ls-badge-oos {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #4a4a4a;
  background: #f0f0f0;
  padding: 5px 10px;
  border-radius: 6px;
  text-align: center;
  width: 100%;
}

/* --- Legacy class compat (for topseller/recently-viewed) --- */
.livesearch-product {
  width: 200px;
  padding: 0 0 5px 0;
  margin: 5px;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  align-items: center;
  display: flex;
  flex-direction: column;
}
.livesearch-product a { color: #000; text-align: left; }
.livesearch-product img { height: auto; width: auto; max-width: 100%; margin: auto; }
.livesearch-product .mf-product-thumbnail { display: flex; position: relative; margin: 0; width: 100%; justify-content: center; }
.livesearch-product-title { width: 100%; padding: 5px 15px; }
.livesearch-product-title .mf-rating { float: none; }
.livesearch-product-footer { width: 100%; display: flex; flex-direction: row; align-items: flex-end; justify-content: center; flex-grow: 1; padding: 0 10px; }
.livesearch-product-price { width: auto; font-weight: bold; font-size: 1.2em; height: 50px; line-height: 25px; padding-left: 5px; flex: 1 1 auto; }
.list-livesearch-product .add_to_cart_button { padding: 5px 10px; margin: 5px; line-height: 35px; float: right; height: 40px; font-weight: bold; cursor: pointer; font-size: 2em; background-color: #085d91; color: #fff; border: none; border-radius: 6px; }

.product-topseller-category,
#footer-recently-viewed,
.topseller_category_product {
  margin-bottom: 30px;
  position: relative
}

.product-topseller-category h3,
#footer-recently-viewed h3,
.topseller_category_product h3 {
  padding: 0 10px;
  margin: 15px 0 5px 0;
  font-size: 20px;
  color: #000
}

.product-topseller-category ul.list-livesearch-product,
#footer-recently-viewed ul.list-livesearch-product,
.topseller_category_product ul.list-livesearch-product,
.livesearch-widget-product ul.list-livesearch-product {
  flex-wrap: nowrap;
  overflow-x: auto;
  moz-backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.product-topseller-category .livesearch-product,
#footer-recently-viewed .livesearch-product,
.topseller_category_product .livesearch-product,
.livesearch-widget-product .livesearch-product {
  justify-content: stretch;
  align-self: stretch;
  flex: 0 0 auto;
  width: 200px
}

.img-periodico {
  display: inline-flex!important;
  width: 15px!important;
  margin: 0 5px!important
}

.livesearch-minislider-arrow {
  position: absolute;
  top: calc(50% - 25px);
  border-radius: 50%;
  height: 50px;
  width: 50px;
  background: #085d91;
  color: #fff;
  align-items: center;
  text-align: center;
  justify-content: center;
  display: flex;
  font-size: 25px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: inset 0 0 0 2px #085d91
}

.livesearch-minislider-arrow:hover {
  background: #0D7BC5
}

.livesearch-minislider-left {
  left: 10px
}

.livesearch-minislider-right {
  right: 10px
}


#dialog-acquisto-periodico {
    transition: top .3s ease 0s, opacity .3s;
    max-width: 650px;
    display: none;
    border-radius: 0;
    position: fixed;
    top: 25%;
    right: 23%;
    z-index: 11000;
    box-shadow: rgba(0, 0, 0, .15) 0 0 20px 20px;
    overflow-y: auto;
    overflow-x: hidden;
    transform: none !important;
}

#dialog-acquisto-periodico .content {
  padding:15px;
}

#ask_question {
    padding: 20px;
    background: #f5f5f5;
    border-radius: 10px;
}

.livesearch-widget-product {
  position: relative;
}

.product_title.entry-title {
    font-weight: 700;
    line-height: 1.25;
    font-size: 16px;
    letter-spacing: 0;
    -webkit-text-decoration: none;
    text-decoration: none;
    text-transform: none;
    color:#000 !important;
}

.woocommerce div.product div.images .flex-control-nav {
  width: 100%;
  display: flex;
  position: relative;
  list-style: none;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  margin-bottom:0;
}

@media (max-width:1200px) { 
   .product-detail-page {
    padding-left: 0;
    padding-right: 0
  }
  .woocommerce div.product .tawcvs-swatches {
    margin-left: 5px;
    moz-backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    scroll-snap-type: x proximity;
    scroll-padding: 16px;
    scrollbar-width: none;
  }
}

@media (max-width:991px) {
   .subscription_detail_description {
    font-size: .8em;
    width: 60vw;
    display: block;
    text-align: left;
    line-height: 1.2em;
    margin-top: 10px;
    margin-left: 5px
  }
  .mf-product-summary .up-sells-item {
    width: auto!important
  }
   .woocommerce div.product div.images .flex-control-nav li {
    width:30px !important;
  }
  .woocommerce div.product form.cart .single_add_to_cart_button {
    width: 100%
  }
  .woocommerce div.product .ti_chiamiamo_noi {
    width: 98% !important;
    margin:auto;
  }
  .woocommerce div.product div.images.without-thumbnails .product-image-ms {
    display: none
  }
  .woocommerce div.product .woocommerce-product-gallery {
    margin-bottom: 5px
  }
  .site-header .header-main {
    padding-bottom: 10px;
    padding-top: 5px
  }
  .site-header .mobile-menu {
    padding-bottom: 5px
  }
  .site-logo {
    max-height: 40px
  }
  .header-layout-3 .site-header .header-main {
    padding-top: 5px;
    padding-bottom: 5px
  }
  .site-footer .footer-links {
    padding-top: 20px;
    padding-bottom: 20px
  }
  .woocommerce-cart .woocommerce table.shop_table .product-item.product-item-thumb {
    width: 10vw;
    display: inline-block!important;
    float: left
  }
  .woocommerce-cart .woocommerce table.shop_table .product-content-detail {
    width: 40vw;
    display: inline-block!important
  }
  .livesearch-product {
    width: 46%
  }
  ul.list-suggestion {
    flex-direction: column;
    flex-wrap: wrap;
    align-items: flex-start;
    margin: 0 0 15px 0
  }
  ul.list-categories {
    flex-direction: row;
    border-bottom: 2px solid #ccc
  }
  .livesearch-categories {
    width: auto
  }
  .livesearch-suggestion {
    border: 0;
    padding: 0;
    margin: 0;
    width: 100%;
    min-height: 34px;
    align-items: center
  }
  .livesearch-suggestion svg {
    display: inline-block;
    float: left;
    margin: 0
  }
  .product-topseller-category .livesearch-product,
  #footer-recently-viewed .livesearch-product {
    width: 180px
  }
  ul.list-livesearch-product {
    width: 100%
  }
  #search-ajax-redis-res .container-fluid,
  #search-ajax-redis-res [class^='col-'] {
    padding-left: 0;
    padding-right: 0
  }
  #search-ajax-redis {
    max-height: 70vh;
  }
  .woocommerce div.product .mf-summary-header {
    margin-bottom: 0
  }
  .woocommerce-product-gallery .flex-viewport {
    max-height: 350px!important
  }
  .woocommerce-product-gallery .flex-viewport figure div {
    display: flex!important;
    align-self: flex-start;
    justify-content: space-around;
  }
  
  .product-detail-page {
    border-bottom:2px solid #ccc;
    margin-bottom:5px;
  }
  
  #dialog-acquisto-periodico {
    min-width: 100%;
    max-width: 100%;
    border-radius: 0;
    top: 20%;
    right: 0;
    bottom:0;
    box-shadow: rgba(0, 0, 0, .15) 0px -20px 20px 20px;
  }
  
  .woocommerce div.product div.images {
    padding-left:0;
  }
  
  .woocommerce div.product div.images .flex-control-nav li a {
    content: " ";
    background: #fff;
    color: #fff;
    border:1px solid #085d91;
    width: 15px;
    height: 15px;
    display: block;
    border-radius: 50%;
    overflow: hidden;
  }
  
  .woocommerce div.product div.images .flex-control-nav li a.flex-active {
    background: #085d91;
    color: var(--color-primary, #065282);
  }
  
  .woocommerce div.product div.images .flex-control-nav li a:hover {
    background: #085d91;
    color: var(--color-primary, #065282);
  }
  
  .woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img, .woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image--placeholder img {
    max-height:240px;
    width:auto;
  }
  
  .woocommerce ul.products li.product a img {
    margin-left: 0
  }
  /*.woocommerce div.product div.images div:not(.flex-active-slide) img {
    margin-left: auto!important
  }*/
  .rank-math-breadcrumb {
    font-size: 14px
  }
  .woocommerce .customer-login .form-row .input-text {
    width: 100%
  }
  .page-breadcrumbs .container {
    padding: 0
  }
  .coupon-row {
    margin: 0 5px 0 0
  }
  .coupon-codebox-container {
    font-size: 16px;
    line-height: 18px
  }
  ul#ywdpd-quantity-table,
  .woocommerce div.product .tawcvs-swatches {
    flex-wrap: nowrap
  }
  .qtyinfobox_formacquisto {
    box-shadow: none;
    border: 0
  }
  .ywdpd-table-discounts-wrapper {
    overflow-x: auto;
    background: #f1f1f1
  }
  .tawcvs-swatches {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    padding: 2px calc(2vw - 8px) 2px 4vw;
    scroll-snap-align: start
  }
  #ywdpd-quantity-table {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    scroll-snap-align: start;
    padding-left: 10px
  }
  .qtyinfobox_quantita {
    font-size: 16px;
    font-weight: normal
  }
  .qtyinfobox_price {
    font-size: 16px
  }
  .qtyinfobox_discount {
    margin-top: -3px
  }
  .product-detail-page {
    padding-left: 0;
    padding-right: 0
  }
  .woocommerce div.product .wc-tabs-wrapper .panel {
    margin-bottom: 30px
  }
  .woocommerce div.product .wc-tabs-wrapper .panel {
    margin: 0;
    margin-bottom: 0;
    padding: 0;
    color: #666
  }
  .woocommerce div.product .wc-tabs-wrapper.product-collapse-tab-enable .tab-title .tab-toggle {
    position: absolute;
    right: 0;
    top: 3px;
    background: #0053a6;
    border-radius: 5px;
    padding: 3px;
    color: #fff
  }
  .woocommerce div.product .wc-tabs-wrapper.product-collapse-tab-enable .tab-title {
    position: relative;
    padding-right: 30px
  }
  .woocommerce div.product .wc-tabs-wrapper .panel .tab-title {
    font-size: 20px;
    font-weight: 600;
    border-bottom: 3px solid #0053a6;
    margin: 0 0 20px;
    padding: 5px 0 10px 10px;
    text-transform: uppercase
  }
  /* Legacy fixed-bottom cart totals bar removed — FIX-UI-11.
     cart-checkout.css handles mobile CTA properly (max-width:767px sticky bar).
     Removed: .cart_totals table.shop_table position:fixed + .checkout-total-float dead CSS. */
  .bdt-wc-rating {
    width: 100%
  }
  .mf-entry-product-header {
    margin-bottom:0;
  }
}
.container-review-question h3 { margin: 15px 0 15px 0; padding: 15px 15px; background: #f1f1f1; }
div.question-text {
    float: none !important;
    width:100%;
    max-width: 100% !important;
    border: 1px solid #dcdcdc;
    border-radius: 10px;
    box-shadow: 0 2px 4px 2px rgba(110, 193, 220, 0.33);
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
    overflow: hidden;
    background: #fff;
}
li.question-container { padding-bottom: 0px; border-bottom:0; }

/* ============================================================
   PRODUCT PAGE REDESIGN 2026 - Modern Conversion-Optimized
   Design System: PiuCane/AlanDog 2026
   ============================================================ */

/* --- Product Gallery Modernization --- */
.woocommerce div.product div.images {
    margin-bottom: 20px;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    border-radius: var(--radius-lg, 16px);
    overflow: hidden;
    background: #fff;
}
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
    border-radius: var(--radius-lg, 16px);
    transition: transform 0.3s ease;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs {
    margin-top: 12px;
    gap: 8px;
    display: flex;
    flex-wrap: wrap;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li {
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid transparent;
    transition: border-color 0.2s ease;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img {
    border-radius: var(--radius-sm, 6px);
    opacity: 0.7;
    transition: opacity 0.2s ease;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li:hover img {
    opacity: 1;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li:has(img.flex-active) {
    border-color: var(--color-primary, #085d91);
}

/* --- Product Title --- */
.woocommerce div.product .product_title.entry-title {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-text, #1A1A2E);
    margin-bottom: 8px;
    letter-spacing: -0.3px;
}


/* --- Price Styling --- */
.woocommerce div.product .summary p.price,
.woocommerce div.product .summary span.price {
    font-size: 28px !important;
    font-weight: 800;
    color: var(--color-text, #1A1A2E);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
.woocommerce div.product .summary p.price ins,
.woocommerce div.product .summary span.price ins {
    font-size: 28px;
    font-weight: 800;
    color: var(--color-sale, #C1121F);
    text-decoration: none !important;
    background: none;
    order: -1;
}
.woocommerce div.product .summary p.price del,
.woocommerce div.product .summary span.price del {
    font-size: 18px;
    color: #555555;
    font-weight: 400;
    text-decoration: line-through;
}
/* Sale percentage badge next to price */
.woocommerce div.product .summary p.price ins + del::after {
    content: "";
}

/* --- Variation Swatches Enhancement --- */
.woocommerce div.product .tawcvs-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px;
}
.woocommerce div.product .tawcvs-swatches .swatch.swatch-label {
    border: 2px solid #e0e0e0 !important;
    border-radius: var(--radius-md, 10px) !important;
    padding: 8px 12px !important;
    min-width: auto;
    height: auto !important;
    line-height: normal !important;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    background: #fff !important;
    transition: all 0.2s ease;
    cursor: pointer;
}
.woocommerce div.product .tawcvs-swatches .swatch.swatch-label:hover {
    border-color: var(--color-primary, #085d91) !important;
    background: var(--color-bg-warm, #FEFAF6) !important;
}
.woocommerce div.product .tawcvs-swatches .swatch.swatch-label.selected {
    border-color: var(--color-primary, #085d91) !important;
    background: var(--color-bg-warm, #FEFAF6) !important;
    box-shadow: 0 0 0 1px var(--color-primary, #085d91);
}

/* --- Quantity Input Modernization --- */
.woocommerce div.product form.cart .quantity {
    margin-bottom: 15px;
}
.woocommerce div.product form.cart .quantity .qty-box {
    display: inline-flex;
    align-items: center;
    border: 2px solid #e0e0e0;
    border-radius: var(--radius-md, 10px);
    overflow: hidden;
    background: #fff;
    transition: border-color 0.2s ease;
}
.woocommerce div.product form.cart .quantity .qty-box:focus-within {
    border-color: var(--color-primary, #085d91);
}
.woocommerce div.product form.cart .quantity .qty-box .decrease,
.woocommerce div.product form.cart .quantity .qty-box .increase {
    width: 40px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 600;
    color: #333;
    background: #f8f9fa;
    cursor: pointer;
    transition: all 0.15s ease;
    user-select: none;
    border: none;
}
.woocommerce div.product form.cart .quantity .qty-box .decrease:hover,
.woocommerce div.product form.cart .quantity .qty-box .increase:hover {
    background: var(--color-bg-cream, #FDF6EC);
    color: var(--color-primary, #085d91);
}
.woocommerce div.product form.cart .quantity .qty-box input.qty {
    width: 50px;
    height: 44px;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    border: none;
    border-left: 1px solid #e0e0e0;
    border-right: 1px solid #e0e0e0;
    -moz-appearance: textfield;
    background: #fff;
}
.woocommerce div.product form.cart .quantity .qty-box input.qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart .quantity .qty-box input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* --- Add to Cart Button (CTA Orange) --- */
.woocommerce div.product form.cart button.single_add_to_cart_button,
.woocommerce div.product .woocommerce-variation-add-to-cart button.single_add_to_cart_button {
    background: var(--color-cta, #963B1A) !important;
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    padding: 14px 32px !important;
    border-radius: var(--radius-md, 10px) !important;
    border: none !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 15px rgba(231, 111, 81, 0.35);
    width: 100%;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.woocommerce div.product form.cart button.single_add_to_cart_button:hover,
.woocommerce div.product .woocommerce-variation-add-to-cart button.single_add_to_cart_button:hover {
    background: var(--color-cta-hover, #D65A3A) !important;
    box-shadow: 0 6px 20px rgba(231, 111, 81, 0.5) !important;
    transform: translateY(-1px);
}
.woocommerce div.product form.cart button.single_add_to_cart_button:active,
.woocommerce div.product .woocommerce-variation-add-to-cart button.single_add_to_cart_button:active {
    transform: translateY(0);
    box-shadow: 0 2px 10px rgba(231, 111, 81, 0.3) !important;
}

/* --- "Ordina al telefono" button --- */
.woocommerce div.product a.ti_chiamiamo_noi {
    background: transparent !important;
    color: var(--color-primary, #085d91) !important;
    border: 2px solid var(--color-primary, #085d91) !important;
    border-radius: var(--radius-md, 10px) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 10px 20px !important;
    margin-top: 10px;
    text-align: center;
    display: block;
    transition: all 0.2s ease !important;
    width: 100%;
}
.woocommerce div.product a.ti_chiamiamo_noi:hover {
    background: var(--color-bg-warm, #FEFAF6) !important;
}

/* --- Trust Badges Strip --- */
.trust-badges-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 16px;
    padding: 14px 16px;
    background: var(--color-bg-warm, #FEFAF6);
    border-radius: var(--radius-md, 10px);
    border: 1px solid #e8eef3;
    width: 100%;
}
.trust-badges-strip .trust-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: var(--color-primary, #085d91);
    white-space: nowrap;
    flex: 1 1 auto;
    justify-content: center;
    padding: 4px 0;
}
.trust-badges-strip .trust-badge svg {
    color: var(--color-primary, #085d91);
    flex-shrink: 0;
}

/* --- Delivery Estimate --- */
.delivery-estimate {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    margin-top: 16px;
    background: linear-gradient(135deg, #e8f5e9 0%, #f1f8e9 100%);
    border: 1px solid #c8e6c9;
    border-radius: var(--radius-md, 10px);
    font-size: 14px;
    color: var(--color-primary, #085d91);
    font-weight: 500;
}
.delivery-estimate svg {
    color: var(--color-primary, #085d91);
    flex-shrink: 0;
}
.delivery-estimate strong {
    font-weight: 700;
    color: #1b5e20;
}

/* --- Stock Urgency --- */
.stock-urgency {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    margin-top: 12px;
    background: #fff3e0;
    border: 1px solid #ffe0b2;
    border-radius: var(--radius-md, 10px);
    font-size: 13px;
    color: #e65100;
    font-weight: 500;
}
.stock-urgency svg {
    color: #e65100;
    flex-shrink: 0;
    animation: pulse-urgency 2s infinite;
}
@keyframes pulse-urgency {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

/* --- Product Meta (SKU, Categories) --- */
.woocommerce div.product .product_meta {
    padding: 16px 0;
    margin-top: 16px;
    border-top: 1px solid #eee;
    font-size: 13px;
    color: var(--color-muted, #495260);
}
.woocommerce div.product .product_meta a {
    color: var(--color-primary, #085d91);
    text-decoration: none;
}
.woocommerce div.product .product_meta a:hover {
    text-decoration: underline;
}

/* --- Tabs Section Modernization --- */
.woocommerce div.product .woocommerce-tabs {
    margin-top: 40px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0;
    margin: 0 0 0 0;
    list-style: none;
    display: flex;
    gap: 0;
    border-bottom: 2px solid #e0e0e0;
    overflow-x: auto;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    border-radius: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-muted, #495260);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    text-decoration: none;
    border-bottom: 3px solid transparent;
    transition: all 0.2s ease;
    white-space: nowrap;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--color-primary, #085d91);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--color-primary, #085d91);
    border-bottom-color: var(--color-primary, #085d91);
}
.woocommerce div.product .woocommerce-tabs .panel {
    padding: 25px 0;
    font-size: 15px;
    line-height: 1.7;
    color: #444;
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--color-text, #1A1A2E);
    margin-bottom: 15px;
}

/* --- Review Section --- */
.woocommerce div.product #reviews .star-rating {
    color: var(--color-secondary, #F4A261);
    font-size: 16px;
}
.woocommerce div.product #reviews .comment-text {
    padding: 20px;
    background: var(--color-bg-warm, #FEFAF6);
    border-radius: var(--radius-md, 10px);
    border: 1px solid #eee;
    margin-bottom: 15px;
}
.woocommerce div.product #reviews .comment-text .meta {
    font-size: 13px;
    color: var(--color-muted, #495260);
    margin-bottom: 10px;
}
.woocommerce div.product #reviews .comment-text .description p {
    color: #444;
    line-height: 1.6;
}
.woocommerce div.product #reviews #review_form .comment-form-rating .stars a {
    font-size: 20px;
    color: var(--color-secondary, #F4A261);
}


/* --- Related/Upsell Products --- */
.woocommerce div.product .related.products,
.woocommerce div.product .up-sells.upsells {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid #eee;
}
.woocommerce div.product .related.products > h2,
.woocommerce div.product .up-sells.upsells > h2,
.woocommerce div.product .related.products > .mf-products-tabs-header h2,
.woocommerce div.product .up-sells.upsells .mf-products-tabs-header h2 {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--color-text, #1A1A2E);
    margin-bottom: 20px;
}
.woocommerce div.product .related.products ul.products li.product,
.woocommerce div.product .up-sells.upsells ul.products li.product {
    background: #fff;
    border-radius: var(--radius-md, 10px);
    border: 1px solid #eee;
    padding: 15px;
    transition: all 0.25s ease;
    overflow: hidden;
    box-shadow: var(--shadow-card, 0 2px 8px rgba(0,0,0,0.08));
}
.woocommerce div.product .related.products ul.products li.product:hover,
.woocommerce div.product .up-sells.upsells ul.products li.product:hover {
    border-color: var(--color-primary, #085d91);
    box-shadow: var(--shadow-hover, 0 4px 16px rgba(0,0,0,0.12));
    transform: translateY(-3px);
}
.woocommerce div.product .related.products ul.products li.product img,
.woocommerce div.product .up-sells.upsells ul.products li.product img {
    border-radius: 8px;
}
.woocommerce div.product .related.products ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .up-sells.upsells ul.products li.product .woocommerce-loop-product__title {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin-top: 10px;
}
.woocommerce div.product .related.products ul.products li.product .price,
.woocommerce div.product .up-sells.upsells ul.products li.product .price {
    font-size: 16px !important;
    font-weight: 700;
    color: var(--color-sale, #C1121F);
}

/* --- Acquisto Periodico Label Enhancement --- */
.woocommerce div.product .acquisto-periodico-label {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    color: var(--color-primary, #065282);
    background: var(--color-bg-cream, #FDF6EC);
    padding: 6px 12px;
    border-radius: 8px;
    margin-top: 4px;
    width: fit-content;
}

/* --- WPC Sticky Add to Cart Styling --- */
.woostc-wrap {
    background: #fff !important;
    border-top: 1px solid #eee !important;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.08) !important;
    padding: 10px 20px !important;
    z-index: 9999 !important;
}
.woostc-wrap .woostc-content {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 15px;
}
.woostc-wrap .woostc-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--color-text, #1A1A2E);
}
.woostc-wrap .woostc-price {
    font-size: 18px;
    font-weight: 700;
    color: var(--color-sale, #C1121F);
}
.woostc-wrap .woostc-btn,
.woostc-wrap button.single_add_to_cart_button {
    background: var(--color-cta, #963B1A) !important;
    color: #fff !important;
    border-radius: var(--radius-md, 10px) !important;
    padding: 10px 24px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    border: none !important;
    transition: all 0.2s ease !important;
}
.woostc-wrap .woostc-btn:hover,
.woostc-wrap button.single_add_to_cart_button:hover {
    background: var(--color-cta-hover, #D65A3A) !important;
}

/* --- Quick View Popup Styling --- */
.woosq-popup .woosq-product {
    border-radius: var(--radius-lg, 16px);
    overflow: hidden;
}
.woosq-popup .woosq-product .product_title {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 22px;
    font-weight: 700;
}
.woosq-popup .woosq-product .price {
    font-size: 24px;
    font-weight: 700;
    color: var(--color-sale, #C1121F);
}

/* --- Summary section vertical spacing --- */
.woocommerce div.product .summary.entry-summary > * {
    margin-bottom: 8px;
}
.woocommerce div.product .summary.entry-summary .mf-entry-product-header {
    margin-bottom: 12px;
}

/* --- Entry meta cleanup --- */
.woocommerce div.product .entry-meta {
    display: flex;
    gap: 15px;
    font-size: 13px;
    color: var(--color-muted, #495260);
    margin: 0;
    padding: 0;
    list-style: none;
}
.woocommerce div.product .entry-meta a {
    color: var(--color-primary, #085d91);
    font-weight: 600;
}

/* --- Product page breadcrumb cleanup --- */
.woocommerce div.product .rank-math-breadcrumb {
    font-size: 13px;
    color: var(--color-muted, #495260);
    margin-bottom: 20px;
}
.woocommerce div.product .rank-math-breadcrumb a {
    color: var(--color-muted, #495260);
    text-decoration: none;
}
.woocommerce div.product .rank-math-breadcrumb a:hover {
    color: var(--color-primary, #085d91);
}

/* --- PayPal button area cleanup --- */
.woocommerce div.product .ppc-button-wrapper {
    margin-top: 12px;
}

/* --- Summary separator --- */
.woocommerce div.product .summary-sep {
    margin: 16px 0;
    border: none;
    border-top: 1px solid #eee;
}

/* ============================================================
   MOBILE - LiveSearch Phone Layout
   ============================================================ */
@media screen and (max-width: 767px) {
  ul.list-livesearch-product {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px;
    padding: 8px;
  }
  #search-ajax-redis {
    max-height: 70vh;
    padding: 0;
  }
  #search-ajax-redis .ls-price-main { font-size: 13px; }
  #search-ajax-redis .ls-atc-btn { height: 26px; font-size: 10px; }
  #search-ajax-redis .ls-qty-wrap { height: 26px; }
  #search-ajax-redis .ls-qty-btn { width: 22px; height: 26px; font-size: 12px; }
  #search-ajax-redis .ls-qty-val { width: 16px; font-size: 11px; line-height: 26px; }
  #search-ajax-redis .ls-card-title { font-size: 11px; min-height: 28px; }
  #search-ajax-redis .ls-brand { font-size: 8px; }
  #search-ajax-redis .ls-var-label { font-size: 9px; }
  #search-ajax-redis .ls-price-periodic { font-size: 10px; }
}

/* ============================================================
   MOBILE OPTIMIZATIONS - Product Page
   ============================================================ */
@media screen and (max-width: 767px) {
    /* Full-width gallery on mobile */
    .woocommerce div.product .woocommerce-product-gallery {
        margin-bottom: 15px;
    }
    .woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
        border-radius: 0;
    }

    /* Product title mobile */
    .woocommerce div.product .product_title.entry-title {
        font-size: 22px;
        line-height: 1.3;
    }

    /* Price mobile */
    .woocommerce div.product .summary p.price,
    .woocommerce div.product .summary span.price {
        font-size: 24px !important;
    }
    .woocommerce div.product .summary p.price ins,
    .woocommerce div.product .summary span.price ins {
        font-size: 24px;
    }

    /* Full-width CTA on mobile */
    .woocommerce div.product form.cart button.single_add_to_cart_button,
    .woocommerce div.product .woocommerce-variation-add-to-cart button.single_add_to_cart_button {
        width: 100% !important;
        padding: 16px 20px !important;
        font-size: 16px !important;
    }

    /* Trust badges stack vertically on very small screens */
    .trust-badges-strip {
        flex-direction: column;
        gap: 4px;
    }
    .trust-badges-strip .trust-badge {
        justify-content: flex-start;
        padding: 2px 0;
    }

    /* Delivery estimate mobile */
    .delivery-estimate {
        font-size: 13px;
        padding: 12px 14px;
    }

    /* Tabs become collapsible on mobile (Martfury default behavior) */
    .woocommerce div.product .woocommerce-tabs ul.tabs {
        flex-direction: column;
        border-bottom: none;
    }
    .woocommerce div.product .woocommerce-tabs ul.tabs li a {
        padding: 12px 16px;
        border-bottom: 1px solid #eee;
        border-left: 3px solid transparent;
    }
    .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
        border-bottom-color: #eee;
        border-left-color: var(--color-primary, #085d91);
        background: var(--color-bg-warm, #FEFAF6);
    }

    /* Related products: 2 columns on mobile */
    .woocommerce div.product .related.products ul.products li.product,
    .woocommerce div.product .up-sells.upsells ul.products li.product {
        padding: 10px;
        border-radius: var(--radius-md, 10px);
    }

    /* WPC Sticky bar mobile */
    .woostc-wrap {
        padding: 8px 12px !important;
    }
    .woostc-wrap .woostc-content {
        gap: 8px;
    }
    .woostc-wrap .woostc-title {
        font-size: 13px;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
        flex: 1;
    }
    .woostc-wrap .woostc-price {
        font-size: 15px;
    }
    .woostc-wrap .woostc-btn,
    .woostc-wrap button.single_add_to_cart_button {
        padding: 8px 16px !important;
        font-size: 13px !important;
        white-space: nowrap;
    }

    /* Quantity input mobile */
    .woocommerce div.product form.cart .quantity .qty-box {
        width: 100%;
        justify-content: center;
    }
    .woocommerce div.product form.cart .quantity .qty-box .decrease,
    .woocommerce div.product form.cart .quantity .qty-box .increase {
        width: 48px;
        height: 48px;
        font-size: 20px;
    }
    .woocommerce div.product form.cart .quantity .qty-box input.qty {
        width: 60px;
        height: 48px;
        font-size: 18px;
    }
}

/* Tablet adjustments */
@media screen and (min-width: 768px) and (max-width: 991px) {
    .woocommerce div.product .product_title.entry-title {
        font-size: 24px;
    }
    .trust-badges-strip .trust-badge {
        font-size: 11px;
    }
}

/* --- Sale Badge on Product Image --- */
.woocommerce div.product span.onsale {
    background: var(--color-sale, #C1121F) !important;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: 8px;
    min-height: auto;
    min-width: auto;
    line-height: 1.4;
    z-index: 10;
    top: 12px;
    left: 12px;
}

/* --- Better Badge plugin integration --- */
.cpb-badge {
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    padding: 4px 10px !important;
    line-height: 1.4 !important;
}

/* --- Smooth page transitions --- REMOVED: fadeInUp caused CLS (opacity:0
   interfered with FlexSlider dimension calc) and delayed LCP --- */
/* ============================================
   DESIGN SYSTEM - CSS Custom Properties
   ============================================ */
:root {
  /* ---- Core colors ---- */
  --color-primary: #065282;
  --color-cta: #963B1A;
  --color-cta-hover: #D65A3A;
  --color-secondary: #F4A261;
  --color-bg-warm: #FEFAF6;
  --color-bg-cream: #FDF6EC;
  --color-sale: #C1121F;
  --color-text: #1A1A2E;
  --color-muted: #495260;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --shadow-card: 0 2px 8px rgba(0,0,0,0.08);
  --shadow-hover: 0 4px 16px rgba(0,0,0,0.12);
  --font-heading: "Nunito Sans", "Nunito Sans Fallback", sans-serif;
  --font-body: "Inter", "Inter Fallback", sans-serif;

  /* ---- Sitewide editorial commerce system ---- */
  --ds-bg: #FFFFFF;
  --ds-surface: #FFFFFF;
  --ds-surface-soft: #F6F9FC;
  --ds-surface-tint: #EEF4F8;
  --ds-line: #D7E2EB;
  --ds-text: #17324A;
  --ds-text-muted: #5D7083;
  --ds-brand: #085D91;
  --ds-brand-strong: #064D78;
  --ds-accent: #E56A2D;
  --ds-accent-strong: #BF4D17;
  --ds-tag-bg: rgba(8, 93, 145, 0.08);
  --ds-tag-text: #085D91;
  --ds-radius-sm: 14px;
  --ds-radius-md: 18px;
  --ds-radius-lg: 24px;
  --ds-shadow-soft: 0 8px 20px rgba(23, 50, 74, 0.06);
  --ds-shadow-md: 0 12px 28px rgba(23, 50, 74, 0.08);
  --ds-focus-ring: 0 0 0 3px rgba(8, 93, 145, 0.16);
  --ds-shell-max: 1320px;
  --ds-section-gap: clamp(32px, 5vw, 64px);
  --ds-heading-tracking: -0.04em;

  /* ---- Azure / Status colors ---- */
  --color-forest: #085d91;
  --color-forest-dark: #0B7EC4;
  --color-forest-light: #3DB5F5;
  --color-success: #059669;
  --color-warning: #D97706;
  --color-error: #a61d1d;
  --color-info: #2563EB;

  /* ---- Account area ---- */
  --account-bg: #F8FAFC;
  --account-card-bg: #FFFFFF;
  --account-accent: #2563EB;
  --account-accent-hover: #1D4ED8;
  --account-sidebar-bg: #F1F5F9;
  --account-sidebar-active: #EFF6FF;
  --account-sidebar-border: #DBEAFE;
  --account-stat-bg: #EFF6FF;
  --account-avatar-bg: #BFDBFE;

  /* ---- Support area ---- */
  --support-accent: #087a70;
  --support-accent-hover: #0F766E;
  --faq-hover: #F0FDFA;
  --faq-border: #99F6E4;
  --contact-card-bg: #F0FDFA;
  --contact-icon-bg: #CCFBF1;

  /* ---- Info/Legal ---- */
  --info-accent: #495260;
  --info-bg: #F9FAFB;
  --info-border: #E5E7EB;

  /* ---- Brand pages ---- */
  --piucane-primary: #963B1A;
  --piucane-dark: #C4533A;
  --piucane-light: #FDEBE6;
  --piucane-gradient: linear-gradient(135deg, #085d91 0%, #0B7EC4 100%);
  --piugatto-primary: #7C3AED;
  --piugatto-dark: #6D28D9;
  --piugatto-light: #EDE9FE;
  --piugatto-gradient: linear-gradient(135deg, #7C3AED 0%, #5B21B6 100%);
  --extreme-primary: #a61d1d;
  --extreme-dark: #B91C1C;
  --extreme-light: #FEE2E2;
  --extreme-gradient: linear-gradient(135deg, #a61d1d 0%, #991B1B 100%);

  /* ---- Generic components ---- */
  --card-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --card-shadow-md: 0 4px 6px rgba(0,0,0,0.05), 0 2px 4px rgba(0,0,0,0.04);
  --card-shadow-lg: 0 10px 25px rgba(0,0,0,0.08), 0 4px 10px rgba(0,0,0,0.04);
  --card-radius: var(--radius-md);
  --input-border: #D1D5DB;
  --input-border-focus: var(--color-primary);
  --input-bg: #FFFFFF;
  --input-radius: var(--radius-sm);
  --input-shadow-focus: 0 0 0 3px rgba(18, 156, 237, 0.15);

  /* ---- Spacing scale ---- */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-3xl: 64px;

  /* ---- Typography scale ---- */
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;

  /* ---- Line heights ---- */
  --leading-tight: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;

  /* ---- Transitions ---- */
  --transition-fast: 150ms ease;
  --transition-base: 200ms ease;
  --transition-slow: 300ms ease;
  --transition-spring: 300ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ---- Z-index scale ---- */
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-overlay: 300;
  --z-modal: 400;
  --z-toast: 500;

  /* ---- Container ---- */
  --container-max: 1200px;
  --container-pad: 20px;

  /* ---- Badge colors ---- */
  --badge-success-bg: #DCFCE7;
  --badge-success-text: #166534;
  --badge-warning-bg: #FEF3C7;
  --badge-warning-text: #92400E;
  --badge-error-bg: #FEE2E2;
  --badge-error-text: #991B1B;
  --badge-info-bg: #DBEAFE;
  --badge-info-text: #1E40AF;
  --badge-neutral-bg: #F3F4F6;
  --badge-neutral-text: #374151;
  --badge-primary-bg: #DBF0FD;
  --badge-primary-text: #0C5E9E;
  --badge-piucane-bg: #FDEBE6;
  --badge-piucane-text: #C4533A;
  --badge-points-bg: #FEF3C7;
  --badge-points-text: #92400E;
}

/* ============================================================
   FIX-UI-43: Override parent theme Work Sans !important on headings.
   Martfury parent sets h1-h6 { font-family: "Work Sans" !important }.
   Child theme design uses Nunito Sans for headings, Inter for body.
   ============================================================ */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading, "Nunito Sans"), sans-serif !important;
}
body {
    font-family: var(--font-body, "Inter"), sans-serif;
}

/* ============================================
   CATEGORY/SHOP PAGE REDESIGN - 2026-03-03
   ============================================ */

/* --- Shop Page Title --- */
.woocommerce-products-header__title.page-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--color-primary);
}

/* --- Per-Page Selector (inside #mf-catalog-toolbar) --- */
.alandog-per-page-selector {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  float: right;
  min-height: 51px; /* match toolbar item height */
}
.alandog-per-page-selector .per-page-label {
  font-size: 13px;
  color: var(--color-muted);
  font-weight: 500;
}
.alandog-per-page-selector .per-page-option {
  display: inline-block;
  padding: 4px 10px;
  font-size: 13px;
  border: 1px solid #ddd;
  border-radius: 4px;
  color: var(--color-text);
  text-decoration: none;
  transition: all 0.2s ease;
}
.alandog-per-page-selector .per-page-option:hover,
.alandog-per-page-selector .per-page-option.active {
  background: #085d91 !important;  /* FIX-UI-53: override Martfury inline #085d91 (3.0:1) → 4.60:1 */
  color: #fff;
  border-color: #085d91 !important;
}

/* --- Product Card Modernization --- */
.woocommerce ul.products li.product .product-inner {
  border: 1px solid #eee;
  border-radius: 10px;
  overflow: hidden;
  transition: all 0.3s ease;
  background: #fff;
  position: relative;
}
.woocommerce ul.products li.product .product-inner:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  border-color: var(--color-primary);
  transform: translateY(-3px);
}

/* --- Product Image Area --- */
.woocommerce ul.products li.product .mf-product-thumbnail {
  position: relative;
  overflow: hidden;
  background: var(--color-bg-warm);
  border-radius: 10px 10px 0 0;
}
.woocommerce ul.products li.product .mf-product-thumbnail a img {
  transition: transform 0.4s ease;
}
.woocommerce ul.products li.product .product-inner:hover .mf-product-thumbnail a img {
  transform: scale(1.06);
}

/* --- Quick View / Hover Overlay --- */
.alandog-product-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 5;
  pointer-events: none;
}
.woocommerce ul.products li.product .product-inner:hover .alandog-product-overlay {
  opacity: 1;
  pointer-events: all;
}
.alandog-product-overlay .woosq-btn,
.alandog-product-overlay .alandog-qv-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  font-size: 18px;
  color: var(--color-primary);
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}
.alandog-product-overlay .woosq-btn:hover,
.alandog-product-overlay .alandog-qv-icon:hover {
  background: var(--color-primary);
  color: #fff;
}

/* --- Brand Name (above title) --- */
.alandog-loop-brand {
  margin-bottom: 3px;
}
.alandog-loop-brand a {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--color-muted);
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s;
}
.alandog-loop-brand a:hover {
  color: var(--color-primary);
}

/* --- Product Title in Loop --- */
.woocommerce ul.products li.product .mf-product-content h2,
.woocommerce ul.products li.product .mf-product-content .woocommerce-loop-product__title {
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 500;
  color: var(--color-text);
  margin-bottom: 4px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 36px;
}

/* --- Star Rating in Loop --- */
.woocommerce ul.products li.product .star-rating {
  font-size: 12px;
  margin: 2px 0 5px;
  color: #f5a623;
}
.woocommerce ul.products li.product .star-rating::before {
  color: #ddd;
}

/* --- Price Display Enhancement --- */
.woocommerce ul.products li.product .mf-product-price-box {
  padding: 6px 0 4px;
}
.woocommerce ul.products li.product .mf-product-price-box .price {
  font-size: 16px !important;
  font-weight: 700;
  color: var(--color-primary);
}
.woocommerce ul.products li.product .mf-product-price-box .price del {
  font-size: 12px;
  color: #555555;
  font-weight: 400;
}
/* Price link color: inherit dark text, not theme blue (#085d91 = 3.0:1 fails AA) */
.woocommerce ul.products li.product .mf-product-price-box .price a {
  color: var(--color-text, #1a1a2e);
  text-decoration: none;
}
.woocommerce ul.products li.product .mf-product-price-box .price ins {
  color: var(--color-sale);
  font-weight: 700;
  text-decoration: none;
}
/* Acquisto periodico label price: accessible color
   Plugin outputs inline #065282 on grey-text-bold, but <ins> and <bdi>
   inside the <a> link inherit link color. Force dark text. */
.acquisto-periodico-label,
.acquisto-periodico-label ins,
.acquisto-periodico-label ins bdi,
.acquisto-periodico-label .woocommerce-Price-amount,
.acquisto-periodico-label .woocommerce-Price-amount bdi {
  color: #065282 !important;
}

/* --- Sale badge in price --- */
.woocommerce ul.products li.product .mf-product-price-box .price del + ins::after {
  content: '';
}

/* --- Add to Cart Button in Loop --- */
.alandog-loop-atc {
  padding: 6px 10px 10px;
  clear: both;
}
.alandog-loop-atc .button.alandog-add-to-cart,
.alandog-loop-atc a.alandog-add-to-cart {
  display: block;
  width: 100%;
  text-align: center;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 700;
  border-radius: var(--radius-md);
  background: var(--color-cta);
  color: #fff !important;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  text-transform: none;
  line-height: 1.4;
}
.alandog-loop-atc .button.alandog-add-to-cart:hover,
.alandog-loop-atc a.alandog-add-to-cart:hover {
  background: var(--color-cta-hover);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}
.alandog-loop-atc .alandog-select-options {
  background: #fff !important;
  color: var(--color-cta) !important;
  border: 2px solid var(--color-cta) !important;
}
.alandog-loop-atc .alandog-select-options:hover {
  background: var(--color-cta) !important;
  color: #fff !important;
}
.alandog-loop-atc .alandog-out-of-stock {
  display: block;
  text-align: center;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 6px;
  background: #f5f5f5;
  color: var(--color-muted);
}

/* --- Free Shipping Badge Enhancement (existing) --- */
.woocommerce ul.products li.product .mf-product-price-box span[style*="color:var(--color-sale)"] {
  font-size: 0.8em !important;
  padding: 2px 6px !important;
  margin: 4px 0 2px !important;
  border-radius: 4px !important;
}

/* --- Product Details Area --- */
.woocommerce ul.products li.product .mf-product-details {
  padding: 10px 12px 0;
}

/* --- Subcategory Tiles Enhancement --- */
#container-subcategory {
  margin-bottom: 25px;
}
#container-subcategory ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
}
#container-subcategory li.sub-category {
  margin: 0;
  padding: 0;
}
#container-subcategory li.sub-category a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 12px 8px;
  border: 1px solid #eee;
  border-radius: 10px;
  text-decoration: none;
  transition: all 0.25s ease;
  background: #fff;
}
#container-subcategory li.sub-category a:hover {
  border-color: var(--color-primary);
  box-shadow: 0 3px 12px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}
#container-subcategory .image-subcategory {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  margin-bottom: 8px;
  border: 2px solid #f0f0f0;
}
/* Placeholder for categories without thumbnail images */
#container-subcategory .image-subcategory.no-thumbnail {
  background: linear-gradient(135deg, #e8f4fd 0%, #cce5f9 50%, #a8d4f5 100%);
  border-color: #a8d4f5;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
#container-subcategory .image-subcategory.no-thumbnail::after {
  content: '';
  display: block;
  width: 34px;
  height: 34px;
  /* Paw print SVG icon in brand blue */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%230B7EC4' opacity='0.45'%3E%3Cpath d='M226.5 92.9c14.3 42.9-.3 86.2-32.6 96.8s-70.1-15.6-84.4-58.5.3-86.2 32.6-96.8 70.1 15.6 84.4 58.5zM100.4 198.6c18.9 32.4 14.3 70.1-10.2 84.1s-59.7-.9-78.5-33.3S-2.7 179.3 21.8 165.3s59.7.9 78.6 33.3zM69.2 401.2C121.6 259.9 214.7 224 256 224s134.4 35.9 186.8 177.2c3.6 9.7 5.2 20.1 5.2 30.5v.1c0 37-29.1 67.1-65.1 67.1-35.5 0-65.5-28.9-100.9-28.9s-65.5 28.9-100.9 28.9c-36 0-65.1-30.2-65.1-67.2v-.1c0-10.4 1.6-20.7 5.2-30.4zM490.3 165.3c24.5 14.1 29.1 51.7 10.2 84.1-18.9 32.4-53.2 46.7-77.7 32.7-24.5-14.1-29.1-51.7-10.2-84.1 18.9-32.4 53.2-46.7 77.7-32.7zM318.1 92.9c14.3-42.9 51.7-71.4 84.4-58.5 32.9 10.6 46.9 53.9 32.6 96.8-14.3 42.9-51.7 71.4-84.4 58.5-32.9-10.6-46.9-53.9-32.6-96.8z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
#container-subcategory h2 {
  font-size: 12px !important;
  font-weight: 600;
  color: var(--color-text);
  margin: 0;
  line-height: 1.3;
}

/* FIX-UI-105: Sticky filter sidebar on desktop — stays visible while scrolling products */
@media screen and (min-width: 992px) {
  .catalog-sidebar {
    position: sticky;
    top: 80px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    scrollbar-width: thin;
  }
  .catalog-sidebar::-webkit-scrollbar {
    width: 4px;
  }
  .catalog-sidebar::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 2px;
  }
}

/* --- Filter Sidebar Enhancement --- */
.catalog-sidebar .widget {
  margin-bottom: 20px;
  padding: 15px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
}
.catalog-sidebar .widget-title,
.catalog-sidebar .widget .widgettitle {
  font-size: 14px;
  font-weight: 700;
  color: var(--color-primary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding-bottom: 10px;
  margin-bottom: 12px;
  border-bottom: 2px solid var(--color-primary);
}

/* Price Range Slider */
.catalog-sidebar .widget_price_filter .price_slider_wrapper .ui-slider {
  background: #e8e8e8;
  border-radius: 4px;
}
.catalog-sidebar .widget_price_filter .price_slider_wrapper .ui-slider .ui-slider-range {
  background: var(--color-primary);
  border-radius: 4px;
}
.catalog-sidebar .widget_price_filter .price_slider_wrapper .ui-slider .ui-slider-handle {
  background: var(--color-primary);
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.2);
  border-radius: 50%;
  width: 16px;
  height: 16px;
  top: -5px;
}

/* Brand Filter Checkboxes */
.catalog-sidebar .mf_product_brands ul li a,
.catalog-sidebar .widget_layered_nav ul li a {
  font-size: 13px;
  color: #444;
  padding: 4px 0;
  display: block;
}
.catalog-sidebar .mf_product_brands ul li a:hover,
.catalog-sidebar .widget_layered_nav ul li a:hover {
  color: var(--color-primary);
}

/* Rating Filter Stars */
.catalog-sidebar .martfury_rating_filter ul li a .star-rating {
  font-size: 13px;
  color: #f5a623;
}

/* --- Sort/View Controls Area --- */
.woocommerce .shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0 15px;
  margin-bottom: 10px;
  border-bottom: 1px solid #eee;
  flex-wrap: wrap;
  gap: 10px;
}
.woocommerce .shop-toolbar .woocommerce-ordering select {
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 7px 30px 7px 12px;
  font-size: 13px;
  color: var(--color-text);
  background: #fff;
  appearance: auto;
  cursor: pointer;
}
.woocommerce .shop-toolbar .woocommerce-ordering select:focus {
  border-color: var(--color-primary);
  outline: none;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.08);
}

/* --- Pagination Modernization --- */
.woocommerce nav.woocommerce-pagination {
  margin: 80px 0 30px;
  text-align: center;
  position: relative;
  z-index: 2;
}
.woocommerce nav.woocommerce-pagination ul {
  display: inline-flex;
  gap: 4px;
  border: none;
}
.woocommerce nav.woocommerce-pagination ul li {
  border: none;
  margin: 0;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text);
  text-decoration: none;
  transition: all 0.2s ease;
  background: #fff;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--color-primary);
  color: #fff;
  border-color: var(--color-primary);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--color-primary);
  color: #fff;
  border-color: var(--color-primary);
  font-weight: 700;
}
.woocommerce nav.woocommerce-pagination ul li .prev,
.woocommerce nav.woocommerce-pagination ul li .next {
  font-size: 16px;
  font-weight: 700;
}

/* --- Sale / Discount Badge --- */
.woocommerce ul.products li.product .onsale,
.woocommerce ul.products li.product .product-inner .onsale {
  background: var(--color-sale);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 3;
  line-height: 1.4;
}

/* --- Better Badge plugin styling --- */
.woocommerce ul.products li.product .product-inner .wobel-badge {
  z-index: 4;
}

/* --- Breadcrumbs on shop page --- */
.woocommerce .rank-math-breadcrumb {
  font-size: 12px;
  margin-bottom: 12px;
  color: var(--color-muted);
}
.woocommerce .rank-math-breadcrumb a {
  color: var(--color-primary);
  text-decoration: none;
}
.woocommerce .rank-math-breadcrumb a:hover {
  text-decoration: underline;
}

/* --- Category description at bottom --- */
.woocommerce .term-description {
  background: var(--color-bg-warm);
  padding: 20px 25px;
  border-radius: 8px;
  border: 1px solid #eee;
  margin-top: 25px;
  font-size: 14px;
  line-height: 1.7;
  color: var(--color-muted);
}

/* --- Result Count Styling --- */
.woocommerce .woocommerce-result-count {
  font-size: 13px;
  color: var(--color-muted);
}

/* ============================================
   MOBILE RESPONSIVE - CATEGORY/SHOP
   ============================================ */
@media screen and (max-width: 767px) {
  /* 2 columns on mobile */
  .woocommerce ul.products[class*="columns-"] li.product,
  .woocommerce ul.products li.product {
    width: 48.5% !important;
    margin-right: 3% !important;
    margin-bottom: 15px;
  }
  .woocommerce ul.products[class*="columns-"] li.product:nth-child(2n),
  .woocommerce ul.products li.product:nth-child(2n) {
    margin-right: 0 !important;
  }
  .woocommerce ul.products[class*="columns-"] li.product:nth-child(2n+1) {
    clear: both;
  }

  /* Compact card on mobile */
  .woocommerce ul.products li.product .mf-product-details {
    padding: 8px 8px 0;
  }
  .woocommerce ul.products li.product .mf-product-content h2,
  .woocommerce ul.products li.product .mf-product-content .woocommerce-loop-product__title {
    font-size: 12px !important;
    min-height: 32px;
  }
  .woocommerce ul.products li.product .mf-product-price-box .price {
    font-size: 14px !important;
  }
  .alandog-loop-atc {
    padding: 4px 8px 8px;
  }
  .alandog-loop-atc .button.alandog-add-to-cart,
  .alandog-loop-atc a.alandog-add-to-cart {
    padding: 7px 8px;
    font-size: 12px;
  }
  .alandog-loop-brand a {
    font-size: 10px;
  }

  /* Hide per-page selector on mobile */
  .alandog-per-page-selector {
    display: none;
  }

  /* Subcategory tiles: 3 columns on mobile */
  #container-subcategory ul {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }
  #container-subcategory li.sub-category a {
    padding: 8px 4px;
  }
  #container-subcategory .image-subcategory {
    width: 50px;
    height: 50px;
  }
  #container-subcategory .image-subcategory.no-thumbnail::after {
    width: 24px;
    height: 24px;
  }
  #container-subcategory h2 {
    font-size: 10px !important;
  }

  /* Quick view hidden on mobile */
  .alandog-product-overlay {
    display: none;
  }

  /* Shop title smaller */
  .woocommerce-products-header__title.page-title {
    font-size: 12px;
  }

  /* Pagination smaller on mobile */
  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span {
    min-width: 34px;
    height: 34px;
    font-size: 13px;
  }

  /* Sort dropdown full width */
  .woocommerce .shop-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Tablet adjustments */
@media screen and (min-width: 768px) and (max-width: 991px) {
  .woocommerce ul.products[class*="columns-"] li.product {
    width: 31% !important;
    margin-right: 3.5% !important;
  }
  .woocommerce ul.products[class*="columns-"] li.product:nth-child(3n) {
    margin-right: 0 !important;
  }
  #container-subcategory ul {
    grid-template-columns: repeat(4, 1fr);
  }
}


/* --- Hide WPC Quick View default button (we use our overlay) --- */
.woocommerce ul.products li.product > .woosq-btn.woosq-btn-has-icon {
  display: none !important;
}

/* --- Hide Martfury's default footer-button (we have alandog-loop-atc) --- */
.woocommerce ul.products li.product .mf-product-price-box .footer-button {
  display: none !important;
}

/* --- Hide duplicate action-button area --- */
.woocommerce ul.products li.product .mf-product-price-box .action-button {
  display: none;
}


/* --- Hide subscription price + "Periodico" label everywhere except main product summary ---
   CK-1 FIX: removed dangerous `.price del + ins` selector that could hide real sale prices.
   The periodic price is already inside .acquisto-periodico-label, so hiding that div is sufficient. */
body:not(.single-product) .acquisto-periodico-label {
  display: none !important;
}
/* Also hide in related/upsell product grids on single product page */
body.single-product ul.products .acquisto-periodico-label {
  display: none !important;
}

/* ============================================
 * CART + CHECKOUT + MINI-CART + THANK YOU PAGE
 * Modern Redesign - AlanDog 2026
 * Design System v2 - Unified Color Palette
 * ============================================ */

/* --- CART PAGE --- */

/* Cart table modern styling */
.woocommerce-cart .woocommerce table.shop_table.cart {
    border: none;
    border-radius: var(--radius-lg, 16px);
    overflow: hidden;
    box-shadow: var(--shadow-card, 0 2px 8px rgba(0,0,0,0.08));
    background: #fff;
}

.woocommerce-cart .woocommerce table.shop_table.cart thead {
    background: var(--color-bg-warm, #FEFAF6);
}

.woocommerce-cart .woocommerce table.shop_table.cart thead th {
    padding: 14px 16px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--color-muted, #495260);
    font-weight: 600;
    border-bottom: 1px solid #eee;
}

.woocommerce-cart .woocommerce table.shop_table.cart td {
    padding: 16px;
    vertical-align: middle;
    border-bottom: 1px solid #f0f0f0;
}

/* Product thumbnail in cart */
.woocommerce-cart .woocommerce table.shop_table.cart .product-thumbnail img {
    border-radius: var(--radius-md, 10px);
    width: 80px;
    height: 80px;
    object-fit: cover;
    box-shadow: var(--shadow-card, 0 2px 8px rgba(0,0,0,0.08));
}

/* Product name in cart */
.woocommerce-cart .woocommerce table.shop_table.cart .product-name a {
    font-weight: 600;
    color: var(--color-text, #1A1A2E);
    font-size: 14px;
    text-decoration: none;
}

.woocommerce-cart .woocommerce table.shop_table.cart .product-name a:hover {
    color: var(--color-primary, #085d91);
}

/* Remove button modernized */
.woocommerce-cart .woocommerce table.shop_table.cart .product-remove .remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f5f5f5;
    color: var(--color-muted, #495260) !important;
    font-size: 18px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.woocommerce-cart .woocommerce table.shop_table.cart .product-remove .remove:hover {
    background: var(--color-sale, #C1121F);
    color: #fff !important;
}

/* Quantity controls moved to cart-checkout.css (single source of truth) */

/* Subtotal styling */
.woocommerce-cart .product-subtotal .woocommerce-Price-amount {
    font-weight: 700;
    color: var(--color-text, #1A1A2E);
    font-size: 15px;
}

/* Cart totals box */
.woocommerce-cart .cart-collaterals .cart_totals {
    background: #fff;
    border-radius: var(--radius-lg, 16px);
    box-shadow: var(--shadow-card, 0 2px 8px rgba(0,0,0,0.08));
    padding: 24px;
    box-sizing: border-box;
}
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table {
    width: 100%;
    table-layout: auto;
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0f0f0;
    color: var(--color-text, #1A1A2E);
}

.woocommerce-cart .cart-collaterals .cart_totals .order-total th,
.woocommerce-cart .cart-collaterals .cart_totals .order-total td {
    font-size: 18px;
    font-weight: 700;
    color: var(--color-text, #1A1A2E);
}

/* Checkout button in cart */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    background: var(--color-cta, #963B1A) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--radius-md, 10px) !important;
    padding: 16px 32px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: normal !important; /* FIX-UI-17b: override parent line-height:50px that misaligns text with padding */
    height: auto !important; /* FIX-UI-17b: let height derive from padding+content, not parent 50px */
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(231,111,81,0.3);
    box-sizing: border-box;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
    background: var(--color-cta-hover, #D65A3A) !important;
    box-shadow: 0 6px 20px rgba(231,111,81,0.4);
    transform: translateY(-1px);
}

/* CSS-01: Removed duplicate .alandog-sticky-cart-summary hide — SSOT in cart-checkout.css:2463 */

/* Trust badges row */
.alandog-trust-badges {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 0;
    margin-bottom: 12px;
    border-top: 1px solid #f0f0f0;
    border-bottom: 1px solid #f0f0f0;
}

.trust-badge-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: var(--color-primary, #085d91);
    line-height: 1.3;
    flex: 1;
    text-align: center;
    justify-content: center;
    font-weight: 500;
}

.trust-icon {
    font-size: 20px;
    flex-shrink: 0;
}

/* Estimated delivery */
.alandog-estimated-delivery {
    background: #f0f9f0;
    border: 1px solid #c3e6c3;
    border-radius: var(--radius-md, 10px);
    padding: 12px 16px;
    margin-bottom: 16px;
    font-size: 13px;
    color: var(--color-primary, #085d91);
    text-align: center;
}

.delivery-icon {
    font-size: 16px;
    margin-right: 4px;
}

/* Inline coupon */
.alandog-inline-coupon {
    margin-bottom: 20px;
}

.alandog-inline-coupon .coupon-inline-wrap label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--color-text, #1A1A2E);
}

.alandog-inline-coupon .coupon-inline-row {
    display: flex;
    gap: 8px;
}

.alandog-inline-coupon .coupon-inline-row input {
    flex: 1;
    padding: 10px 14px;
    border: 2px solid #e0e0e0;
    border-radius: var(--radius-md, 10px);
    font-size: 14px;
    transition: border-color 0.2s;
}

.alandog-inline-coupon .coupon-inline-row input:focus {
    border-color: var(--color-primary, #085d91);
    outline: none;
}

.alandog-inline-coupon .coupon-inline-row button {
    padding: 10px 20px;
    background: var(--color-primary, #085d91);
    color: #fff;
    border: none;
    border-radius: var(--radius-md, 10px);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
    white-space: nowrap;
}

.alandog-inline-coupon .coupon-inline-row button:hover {
    background: #0A6DB0;
}

/* Cross-sell section */
.woocommerce-cart .up-sells-content {
    margin-top: 30px;
}

.woocommerce-cart .up-sells-content h2 {
    font-size: 18px;
    font-weight: 700;
    color: var(--color-text, #1A1A2E);
    padding-left: 0 !important;
    margin-bottom: 16px;
}

.woocommerce-cart .up-sells-item {
    border: 1px solid #eee;
    border-radius: var(--radius-md, 10px);
    overflow: hidden;
    transition: box-shadow 0.2s ease;
    margin: 0 !important;
    background: #fff;
}

.woocommerce-cart .up-sells-item:hover {
    box-shadow: var(--shadow-hover, 0 4px 16px rgba(0,0,0,0.12));
}

.woocommerce-cart .up-sells-item .add_to_cart_button {
    background: var(--color-cta, #963B1A) !important;
    color: #fff !important;
    border-radius: var(--radius-sm, 6px) !important;
    padding: 8px 16px !important;
    line-height: 28px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    transition: background 0.2s;
}

.woocommerce-cart .up-sells-item .add_to_cart_button:hover {
    background: var(--color-cta-hover, #D65A3A) !important;
}


/* --- CHECKOUT PAGE --- */

/* Checkout page wrapper */
.woocommerce-checkout .woocommerce {
    max-width: 1200px;
    margin: 0 auto;
}

/* Secure payment header */
.alandog-secure-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 18px;
    background: linear-gradient(135deg, var(--color-primary, #085d91), #0D7BC5);
    color: #fff;
    border-radius: var(--radius-lg, 16px) var(--radius-lg, 16px) 0 0;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 0;
}

.secure-lock {
    font-size: 20px;
}

/* Payment icons */
.alandog-payment-icons {
    display: flex;
    gap: 12px;
    padding: 10px 18px;
    background: var(--color-bg-warm, #FEFAF6);
    border: 1px solid #eee;
    border-top: none;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.alandog-payment-icons .pay-icon {
    font-size: 12px;
    color: var(--color-muted, #495260);
    padding: 4px 10px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: var(--radius-sm, 6px);
    font-weight: 500;
}

/* Checkout 2-column layout */
.woocommerce-checkout .col-woo-checkout-details {
    padding-right: 30px;
}

/* Billing form styling */
.woocommerce-checkout .woocommerce-billing-fields h2,
.woocommerce-checkout .woocommerce-billing-fields h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--color-text, #1A1A2E);
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0f0f0;
}

/* FIX-UI-136: iOS zoom prevention — font-size 14→16px (iOS zooms on <16px inputs) */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
    border: 2px solid #e0e0e0;
    border-radius: var(--radius-md, 10px);
    padding: 12px 14px;
    font-size: 16px;
    transition: border-color 0.2s;
    background: #fff;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
    border-color: var(--color-primary, #085d91);
    outline: none;
    box-shadow: 0 0 0 3px rgba(18,156,237,0.1);
}

.woocommerce-checkout .form-row label {
    font-size: 13px;
    font-weight: 600;
    color: var(--color-muted, #495260);
    margin-bottom: 4px;
}

/* Order review box */
#order-review-shipping {
    background: #fff;
    border-radius: var(--radius-lg, 16px);
    box-shadow: var(--shadow-card, 0 2px 8px rgba(0,0,0,0.08));
    padding: 0;
    overflow: hidden;
    position: sticky;
    top: 20px;
}

#order-review-shipping .woocommerce-checkout-review-order-table {
    margin-bottom: 0;
}

/* Order review items */
.woocommerce-checkout-review-order-table .cart_item .product-name {
    font-size: 13px;
    line-height: 1.4;
    padding: 10px 12px;
}

.woocommerce-checkout-review-order-table .cart_item .product-name .product-quantity {
    color: var(--color-primary, #085d91);
    font-weight: 700;
}

.woocommerce-checkout-review-order-table .cart_item .product-total {
    font-weight: 600;
    padding: 10px 12px;
    text-align: right;
}

/* Order total in checkout */
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    font-size: 18px;
    font-weight: 700;
    color: var(--color-text, #1A1A2E);
    padding: 14px 12px;
    border-top: 2px solid #eee;
}

/* Shipping row */
.woocommerce-checkout-review-order-table .shipping th,
.woocommerce-checkout-review-order-table .shipping td {
    padding: 10px 12px;
    font-size: 13px;
}

/* Payment methods styling */
.woocommerce-checkout #payment {
    background: transparent;
    border-radius: 0 0 var(--radius-lg, 16px) var(--radius-lg, 16px);
    padding: 16px;
}

.woocommerce-checkout #payment .wc_payment_methods li {
    padding: 12px 14px;
    margin-bottom: 8px;
    border: 2px solid #eee;
    border-radius: var(--radius-md, 10px);
    background: #fff;
    transition: border-color 0.2s;
}

.woocommerce-checkout #payment .wc_payment_methods li:hover {
    border-color: var(--color-primary, #085d91);
}

.woocommerce-checkout #payment .wc_payment_methods li.active,
.woocommerce-checkout #payment .wc_payment_methods li input:checked ~ * {
    border-color: var(--color-primary, #085d91);
}

/* Place order button */
.woocommerce-checkout #place_order {
    background: var(--color-cta, #963B1A) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--radius-md, 10px) !important;
    padding: 16px 32px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    width: 100%;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(231,111,81,0.3);
}

.woocommerce-checkout #place_order:hover {
    background: var(--color-cta-hover, #D65A3A) !important;
    box-shadow: 0 6px 20px rgba(231,111,81,0.4);
    transform: translateY(-1px);
}

/* Checkout trust strip */
.alandog-checkout-trust-strip {
    display: flex;
    justify-content: center;
    gap: 20px;
    padding: 14px;
    margin-top: 16px;
    background: var(--color-bg-warm, #FEFAF6);
    border-radius: var(--radius-md, 10px);
}

.checkout-trust-item {
    font-size: 11px;
    color: var(--color-primary, #085d91);
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: 500;
}

/* Weight display */
.peso-cart {
    font-size: 11px;
    color: var(--color-muted, #495260);
}


/* --- FREE SHIPPING BAR OVERRIDE --- */
#wfspb-main-content {
    border-radius: var(--radius-md, 10px);
    margin: 10px 0;
    font-size: 13px;
}

.wfspb-progress-bar {
    border-radius: var(--radius-md, 10px) !important;
    overflow: hidden;
}


/* --- THANK YOU PAGE --- */

.alandog-thankyou-wrap {
    max-width: 680px;
    margin: 0 auto;
    padding: 20px 0;
}

.alandog-thankyou-summary {
    text-align: center;
    padding: 30px;
    background: #f0f9f0;
    border: 1px solid #c3e6c3;
    border-radius: var(--radius-lg, 16px);
    margin-bottom: 24px;
}

.thankyou-check {
    font-size: 48px;
    margin-bottom: 12px;
}

.alandog-thankyou-summary h2 {
    font-size: 24px;
    font-weight: 700;
    color: var(--color-primary, #085d91);
    margin-bottom: 8px;
}

.alandog-thankyou-summary p {
    color: var(--color-muted, #495260);
    margin-bottom: 6px;
}

.thankyou-delivery {
    margin-top: 16px;
    padding: 12px;
    background: #fff;
    border-radius: var(--radius-md, 10px);
    font-size: 14px;
    color: var(--color-text, #1A1A2E);
}

.alandog-thankyou-account {
    background: var(--color-bg-cream, #FDF6EC);
    border: 1px solid #e8d5b8;
    border-radius: var(--radius-lg, 16px);
    padding: 24px;
    margin-bottom: 24px;
    text-align: center;
}

.alandog-thankyou-account h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--color-text, #1A1A2E);
    margin-bottom: 8px;
}

.alandog-thankyou-account p {
    color: var(--color-muted, #495260);
    margin-bottom: 16px;
    font-size: 14px;
}

.alandog-thankyou-account .button {
    background: var(--color-cta, #963B1A);
    color: #fff !important;
    border-radius: var(--radius-md, 10px);
    padding: 12px 28px;
    font-weight: 700;
    text-decoration: none;
    display: inline-block;
    transition: background 0.2s;
}

.alandog-thankyou-account .button:hover {
    background: var(--color-cta-hover, #D65A3A);
}

.alandog-thankyou-social {
    text-align: center;
    padding: 20px;
    margin-bottom: 24px;
}

.alandog-thankyou-social p {
    font-weight: 600;
    margin-bottom: 12px;
    color: var(--color-muted, #495260);
}

.social-share-buttons {
    display: flex;
    justify-content: center;
    gap: 12px;
}

.social-btn {
    padding: 10px 24px;
    border-radius: var(--radius-md, 10px);
    font-weight: 600;
    font-size: 13px;
    text-decoration: none;
    transition: opacity 0.2s;
}

.social-btn:hover {
    opacity: 0.85;
}

.social-fb {
    background: #1877f2;
    color: #fff !important;
}

.social-wa {
    background: #25D366;
    color: #fff !important;
}

.alandog-thankyou-continue {
    text-align: center;
}

.alandog-thankyou-continue .button {
    background: var(--color-bg-warm, #FEFAF6);
    color: var(--color-text, #1A1A2E);
    border-radius: var(--radius-md, 10px);
    padding: 12px 32px;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid #ddd;
    display: inline-block;
    transition: background 0.2s;
}

.alandog-thankyou-continue .button:hover {
    background: #f0ebe3;
}


/* --- MOBILE RESPONSIVE --- */

@media screen and (max-width: 991px) {
    /* Cart mobile */
    .woocommerce-cart .woocommerce table.shop_table.cart .product-remove,
    .woocommerce-cart .woocommerce table.shop_table.cart .product-thumbnail {
        display: table-cell !important;
    }

    .woocommerce-cart .woocommerce table.shop_table.cart .product-thumbnail img {
        width: 60px;
        height: 60px;
    }

    /* Trust badges wrap on mobile */
    .alandog-trust-badges {
        flex-wrap: wrap;
        gap: 8px;
    }

    .trust-badge-item {
        flex: 0 0 calc(50% - 4px);
        font-size: 10px;
    }

    /* Checkout single column on mobile */
    .woocommerce-checkout .col-woo-checkout-details {
        padding-right: 15px;
    }

    /* Order summary */
    #order-review-shipping {
        position: static;
        margin-bottom: 20px;
    }

    /* Sticky place-order button */
    .woocommerce-checkout .checkout-total-float {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        background: #fff;
        z-index: 9999;
        padding: 10px 16px !important;
        box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
        border-radius: var(--radius-lg, 16px) var(--radius-lg, 16px) 0 0;
    }

    /* BF-5 FIX: prevent sticky float from covering checkout form fields */
    .woocommerce-checkout form.woocommerce-checkout {
        padding-bottom: 100px;
    }

    /* Mini-cart mobile full width */
    .mini-cart-content {

        width: 100vw !important;
        max-width: 100vw;
    }

    /* Checkout trust strip mobile */
    .alandog-checkout-trust-strip {
        flex-wrap: wrap;
        gap: 8px;
    }

    .checkout-trust-item {
        flex: 0 0 calc(50% - 4px);
        justify-content: center;
    }

    /* Payment icons mobile */
    .alandog-payment-icons {
        justify-content: center;
    }
    
    /* Thank you page mobile */
    .alandog-thankyou-wrap {
        padding: 10px;
    }
    
    .alandog-thankyou-summary {
        padding: 20px;
    }
    
    .social-share-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .social-btn {
        width: 100%;
        text-align: center;
    }
}

/* Removed: 479px cart CTA — consolidated in cart-checkout.css */

/* ============================================================
   ALANDOG UI REDESIGN 2026 - Header / Footer / Navigation CSS
   Design System: Primary #085d91 | CTA #963B1A | Text #1A1A2E
   ============================================================ */

/* ---- CSS CUSTOM PROPERTIES (see merged :root at line ~2829) ---- */

/* ---- 1. ANNOUNCEMENT BAR — Rotating multi-message (Phase 7) ---- */
.alandog-announcement-bar {
  display: block !important;
  background: linear-gradient(135deg, #0B7EC4 0%, #085d91 50%, #0B7EC4 100%);  /* FIX-UI-57b */
  color: #fff;
  font-size: 13px;
  line-height: 1.4;
  padding: 0;
  position: relative;
  z-index: 1000;
  overflow: hidden;
  min-height: 38px;
  contain: layout style;
}
.alandog-announcement-bar.announce-hidden {
  display: none !important;
}
.alandog-announcement-bar .announcement-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 8px 40px;
  min-height: 38px;
}
/* Slides container */
.alandog-announcement-bar .announce-slides {
  position: relative;
  text-align: center;
  flex: 1;
  overflow: hidden;
  min-height: 22px;
}
.alandog-announcement-bar .announce-slide {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 6px;
  animation: announceFadeIn 0.4s ease;
}
.alandog-announcement-bar .announce-slide.announce-slide-active {
  display: flex;
}
@keyframes announceFadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}
/* Icon inside slides */
.alandog-announcement-bar .announce-icon {
  flex-shrink: 0;
  vertical-align: middle;
}
/* Nav arrows */
/* FIX-UI-50: min 44×44 touch target for WCAG 2.5.8 */
.alandog-announcement-bar .announce-nav {
  background: none;
  border: none;
  color: rgba(255,255,255,0.7);
  font-size: 20px;
  cursor: pointer;
  padding: 12px 14px;
  line-height: 1;
  transition: color 0.2s;
  flex-shrink: 0;
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.alandog-announcement-bar .announce-nav:hover {
  color: #fff;
}
/* Close button */
/* FIX-UI-50 */
.alandog-announcement-bar .announce-close {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: rgba(255,255,255,0.6);
  font-size: 18px;
  cursor: pointer;
  padding: 12px;
  line-height: 1;
  transition: color 0.2s;
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.alandog-announcement-bar .announce-close:hover {
  color: #fff;
}
/* Bold emphasis */
.alandog-announcement-bar strong {
  font-weight: 700;
  color: #FFD700;
}
/* Newsletter CTA link */
.alandog-announcement-bar .announce-link {
  color: #FFD700;
  text-decoration: underline;
  font-weight: 600;
  margin-left: 6px;
  transition: color 0.2s;
}
.alandog-announcement-bar .announce-link:hover {
  color: #fff;
}
/* Mobile responsive */
@media (max-width: 767px) {
  .alandog-announcement-bar {
    font-size: 11px;
  }
  .alandog-announcement-bar .announcement-inner {
    padding: 6px 30px;
  }
  .alandog-announcement-bar .announce-nav {
    font-size: 16px;
    padding: 2px 4px;
  }
  .alandog-announcement-bar .announce-icon {
    width: 13px;
    height: 13px;
  }
}

/* ========================================================================
 * FIX-UI-146: Compact header — hide standalone bars, add nav-inline messages
 * Saves ~94px of vertical header space (60px announce + 34px coupon bar)
 * ======================================================================== */

/* Hide the old standalone announcement bar */
#alandog-announcement-bar,
.alandog-announcement-bar {
  display: none !important;
}

/* Hide the blue promo/coupon bar below nav */
#coupon-codebox {
  display: none !important;
}

/* Hide WooCommerce Free Shipping Bar plugin top bar */
#wfspb-top-bar {
  display: none !important;
}

/* --- Nav-inline rotating announcements (desktop only) --- */
li.alandog-nav-announce {
  display: flex !important;
  align-items: center;
  margin-left: auto !important;
  padding: 0 12px 0 16px !important;
  font-size: 11px;
  font-weight: 500;
  color: #FFFFFF !important;
  white-space: nowrap;
  gap: 5px;
  border-left: 1px solid rgba(255,255,255,0.25); background: rgba(255,255,255,0.08); border-radius: 4px; padding: 5px 14px 5px 12px !important; margin-right: 8px;
  transition: opacity 0.3s ease;
  cursor: default;
  letter-spacing: 0.02em;
}
li.alandog-nav-announce:hover {
  color: #fff;
}
li.alandog-nav-announce .nav-announce__icon {
  font-size: 14px;
  line-height: 1;
  flex-shrink: 0;
}
li.alandog-nav-announce .nav-announce__text {
  transition: opacity 0.3s ease, transform 0.3s ease;
  opacity: 1;
  transform: translateY(0);
}
li.alandog-nav-announce.nav-announce--fading .nav-announce__text {
  opacity: 0;
  transform: translateY(-4px);
}
/* Mobile: hide nav-inline announcements — no space, bottom nav handles it */
@media (max-width: 991px) {
  li.alandog-nav-announce {
    display: none !important;
  }
}

/* ---- 2. HEADER — CONVERSION LAYOUT (single green row + white nav) ---- */
/* Hide old topbar completely */
#topbar.topbar {
  display: none !important;
}

/* Main header - custom sticky system for layout-3 */
.alandog-custom-sticky-header.header-layout-3 .site-header {
  background: #085d91;
  border-bottom: 4px solid #0B7EC4;
  box-shadow: none;
  position: sticky;
  top: 0;
  z-index: 999;
}
.alandog-custom-sticky-header.header-layout-3 .site-header.header-scrolled {
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
/* Neutralize parent theme stickyHeader: it adds .minimized + inline
   padding-top which conflicts with our position:sticky approach */
.alandog-custom-sticky-header.header-layout-3 .site-header.minimized {
  padding-top: 0 !important;
}

/* Promo strip — nascosta */
.alandog-promo-strip {
  display: none !important;
}

/* Header padding - header baseline height (~65px total) */
.header-layout-3 .header-main-wapper {
  padding: 14px 0;
  position: relative;
  /* z-index REMOVED: was 1001, creating a stacking context that sat above
     .main-menu (z-index:1000), blocking hover events on nav items.
     Without z-index, .header-main-wapper no longer creates a stacking context.
     The dropdown panels (z-index:10001) are now in #site-header's stacking
     context and still appear above .main-menu (10001 > 1000). */
}

/* Logo - bigger, more prominent with this layout */
.header-layout-3 .header-logo .d-logo a img {
  max-height: 48px;
  width: auto;
}
.header-layout-3 .header-main .header-logo {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
}

/* Header row - flex layout with this layout */
.header-layout-3 .header-main .row.header-row {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 20px;
}

/* Hotline - show as "Supporto" (with this layout's "24/7 Help ▾") */
.header-layout-3 .extras-menu .menu-item-hotline {
  display: flex !important;
  align-items: center;
  cursor: pointer;
}
.header-layout-3 .extras-menu .menu-item-hotline .hotline-content span {
  display: none;
}
.header-layout-3 .extras-menu .menu-item-hotline .hotline-content label {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  margin: 0;
}

/* HIDE "Register" text */
.header-layout-3 .extras-menu .menu-item-account .item-register {
  display: none !important;
}

/* Search bar - search-first proportions */
.header-layout-3 .site-header .product-extra-search {
  flex: 1 1 280px;
  max-width: 460px;
  margin: 0 20px 0 28px;
}
.header-layout-3 .site-header .products-search {
  border: none;
  border-radius: 4px;
  overflow: visible;
  background: #fff;
}
/* Search results dropdown — override parent theme's scaleX(0)/z-index:-1 */
.header-layout-3 .site-header .products-search .psearch-content {
  overflow: visible !important;
}
.site-header .product-extra-search .search-wrapper .search-results {
  transform: scaleX(0);
  z-index: -1;
  border: none !important;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15);
  padding: 0 !important;
  max-height: 420px;
}
.site-header .product-extra-search .products-search.actived .search-wrapper .search-results,
.site-header .product-extra-search .products-search.found-products .search-wrapper .search-results {
  transform: scaleX(1) !important;
  z-index: 10001 !important;
  top: 100%;
}
.site-header .product-extra-search .search-wrapper .search-results ul {
  list-style: none;
  margin: 0;
  padding: 8px 0;
}
.site-header .product-extra-search .search-wrapper .search-results ul li {
  border-bottom: 1px solid #f0f0f0;
}
.site-header .product-extra-search .search-wrapper .search-results ul li:last-child {
  border-bottom: none;
}
.site-header .product-extra-search .search-wrapper .search-results ul li a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  color: #333;
  text-decoration: none;
  transition: background 0.15s;
}
.site-header .product-extra-search .search-wrapper .search-results ul li a:hover {
  background: #f5f9ff;
}
.site-header .product-extra-search .search-wrapper .search-results ul li a img {
  width: 50px;
  height: 50px;
  object-fit: contain;
  border-radius: 4px;
  flex-shrink: 0;
}
.site-header .product-extra-search .search-wrapper .search-results ul li a .title-item {
  font-size: 13px;
  font-weight: 500;
  color: #333;
  line-height: 1.3;
}
.site-header .product-extra-search .search-wrapper .search-results ul li a .price-item {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-primary, #065282);
}
.header-layout-3 .site-header .products-search:focus-within {
  box-shadow: 0 0 0 3px rgba(255,255,255,0.4);
}
.header-layout-3 .site-header .products-search .search-wrapper input[type="text"] {
  font-size: 14px;
  padding: 8px 20px;
  border: none;
  background: transparent;
  height: 42px;
  color: #333;
}
.header-layout-3 .site-header .products-search .search-wrapper input[type="text"]::placeholder {
  color: #999;
}
.header-layout-3 .site-header .products-search .search-submit {
  background-color: #fff !important;
  color: #666 !important;
  border: none;
  border-left: 1px solid #e5e5e5;
  border-radius: 0 4px 4px 0;
  padding: 0 14px;
  height: 42px;
  font-size: 18px;
}
.header-layout-3 .site-header .products-search .search-delete {
  background-color: #fff !important;
  color: #666 !important;
}

/* Hide category dropdown in search */
.header-layout-3 .site-header .products-search .product-cat {
  display: none;
}

/* Header extras - generous spacing: generous gaps between utility items */
.header-layout-3 .header-extras .extras-menu {
  display: flex;
  align-items: center;
  gap: 0;
}
.header-layout-3 .header-extras .extras-menu > li {
  display: flex;
  align-items: center;
}
/* Each utility item: icon + text, horizontal, well-spaced with this layout */
.header-layout-3 .header-extras .extras-menu > li > a,
.header-layout-3 .extras-menu .menu-item-hotline {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  padding: 8px 14px;
  border-radius: 4px;
  transition: background 0.2s;
  text-decoration: none;
  white-space: nowrap;
}
.header-layout-3 .header-extras .extras-menu > li > a:hover {
  background: none;
  color: #fff;
  opacity: 0.85;
}
/* IMPORTANT: .menu-item-hotline:hover must NOT have opacity < 1 because
   it creates a stacking context on the <li> wrapper, trapping the dropdown's
   z-index:10001 inside a z-index:auto context. The nav bar (z-index:1000)
   then renders IN FRONT of the dropdown. Hover effect is handled by
   .alandog-supporto-link:hover instead (child element, safe). */
.header-layout-3 .extras-menu .menu-item-hotline:hover {
  background: none;
  color: #fff;
}
/* Icons - target size (~22-24px), inline, force into flex flow */
.header-layout-3 .header-extras .extras-menu > li > a i,
.header-layout-3 .extras-menu .menu-item-hotline i,
.site-header .header-extras [class^="icon-"] {
  font-size: 22px;
  margin-bottom: 0;
  color: #fff;
  line-height: 1;
  position: static !important;
  display: inline-block;
  flex-shrink: 0;
}
/* Account icon - ensure no overlap */
.header-layout-3 .extras-menu .menu-item-account .extra-icon {
  position: static !important;
  margin-right: 4px;
}

/* Cart: horizontal layout, conversion-focused counter */
.header-layout-3 .extras-menu .menu-item-cart .cart-contents {
  flex-direction: row;
}
/* Cart counter: small, subtle with this layout (not a big orange badge) */
.header-layout-3 .extras-menu .mini-cart-counter {
  position: relative;
  top: -8px;
  right: auto;
  background: var(--color-cta);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  min-width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  border-radius: 50%;
  margin-left: -4px;
}
/* Narrow desktop (992-1099px): icon-only extras — text overflows at ≤1099px */
@media screen and (min-width: 992px) and (max-width: 1099px) {
  .header-layout-3 .header-extras .extras-menu > li > a,
  .header-layout-3 .extras-menu .menu-item-hotline {
    padding: 6px 10px !important;
    font-size: 0 !important;
  }
  .header-layout-3 .header-extras .extras-menu > li > a i,
  .header-layout-3 .extras-menu .menu-item-hotline i,
  .site-header .header-extras [class^="icon-"] {
    font-size: 20px !important;
  }
  .header-layout-3 .extras-menu .alandog-lang-current .lang-flag {
    font-size: 16px !important;
  }
  .header-layout-3 .extras-menu .alandog-lang-current .lang-arrow,
  .header-layout-3 .extras-menu .alandog-supporto-link .lang-arrow {
    font-size: 10px !important;
  }
  .header-layout-3 .extras-menu .mini-cart-counter {
    font-size: 10px !important;
  }
  .header-layout-3 .site-header .product-extra-search {
    max-width: 320px;
  }
  /* Override CLS min-width:675px — at icon-only widths, menu is ~262px */
  .header-layout-3 .header-extras .extras-menu {
    min-width: 0 !important;
    flex-shrink: 1 !important;
  }
}
/* Narrow desktop (1100-1439px): extras-menu natural width — CLS 675px only at ≥1440px */
@media screen and (min-width: 1100px) and (max-width: 1439px) {
  .header-layout-3 .header-extras .extras-menu {
    min-width: 0 !important;
    flex-shrink: 1 !important;
  }
}
/* Narrow desktop (1100-1279px): hide cart text to prevent "Carre..." truncation */
@media screen and (min-width: 1100px) and (max-width: 1279px) {
  .header-layout-3 .extras-menu .menu-item-cart .cart-title {
    display: none !important;
  }
}

/* Header bar (between header & nav) - KILL completely */
.header-layout-3 .header-bar,
.header-layout-3 .header-bar.topbar,
.header-layout-3 .site-header .header-bar {
  display: none !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
}

/* ---- 3. NAVIGATION BAR — FIX-UI-57b: #085d91→#085d91 for WCAG AA 4.60:1 ---- */
.header-layout-3 .main-menu {
  background: #085d91;
  border: none !important;
  border-top: 1px solid rgba(255,255,255,0.15) !important;
  box-shadow: none;
  margin-top: 0;
  position: relative;
  z-index: 1000;
}
/* Hide Categorie column - the reference pattern uses only text links */
.header-layout-3 .main-menu .i-product-cats,
.header-layout-3 .main-menu .mr-extra-department {
  display: none !important;
}
/* Make nav menu full width (single-row layout) */
.header-layout-3 .main-menu .col-nav-menu,
.header-layout-3 .main-menu .mr-header-menu {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}
.header-layout-3 .main-menu .col-header-menu {
  display: flex;
  align-items: center;
  width: 100%;
}
.header-layout-3 .main-menu .row.header-row {
  display: flex;
  align-items: center;
}

/* Nav items — bianco su #085d91, nessun effetto */
#site-header .main-menu .primary-nav > ul > li > a,
#site-header .main-menu .navigation > li > a,
.header-layout-3 .main-menu .primary-menu-ul > li > a,
.header-layout-3 .main-menu .navigation > li > a,
.header-layout-3 .main-menu .primary-nav > ul > li > a {
  color: #fff !important;
  font-weight: 600;
  padding: 12px 20px;
  font-size: 14px;
  background: none;
  border: none;
  border-radius: 0;
}
#site-header .main-menu .primary-nav > ul > li > a:hover,
.header-layout-3 .main-menu .primary-menu-ul > li > a:hover,
.header-layout-3 .main-menu .navigation > li > a:hover,
.header-layout-3 .main-menu .primary-menu-ul > li.current-menu-item > a,
.header-layout-3 .main-menu .navigation > li.current-menu-item > a {
  color: #fff !important;
  background: none;
  opacity: 0.85;
}
#site-header .main-menu .primary-nav > ul > li.menu-item-has-children > a:after,
.header-layout-3 .main-menu .primary-nav > ul > li.menu-item-has-children > a:after {
  color: #fff !important;
}
/* Nav items layout: left-aligned, full width so margin-left:auto works for promo */
.header-layout-3 .main-menu .primary-nav,
.header-layout-3 .main-menu .col-header-menu {
  width: 100%;
}
.header-layout-3 .main-menu .primary-nav > ul,
.header-layout-3 .main-menu .primary-menu-ul {
  display: flex;
  align-items: center;
  gap: 0;
  justify-content: flex-start;
  width: 100%;
}
/* Override parent theme .nav li { padding: 10px 22px } which creates
   invisible hover area above/below each nav item, triggering megamenus
   when the mouse is still in the header area above the nav bar. */
.header-layout-3 .main-menu .primary-nav > ul > li {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* PiuCane in nav — bianco bold come gli altri */
.header-layout-3 .main-menu li.piucane-highlight > a {
  background: none !important;
  color: #fff !important;
  font-weight: 700;
  border-radius: 0;
  padding: 12px 20px;
  margin-left: 0;
  font-size: 14px;
  border: none;
}
.header-layout-3 .main-menu li.piucane-highlight > a:hover {
  background: none !important;
  opacity: 0.85;
}

/* Free shipping text on right of nav (with this layout's red "Free delivery" text) */
.alandog-nav-promo,
li.alandog-nav-promo {
  margin-left: auto !important;
  list-style: none;
}
.alandog-nav-promo span {
  color: #F4A261;
  font-weight: 700;
  font-size: 13px;
  font-style: italic;
  white-space: nowrap;
  padding: 12px 0;
}

/* Dropdown submenus */
.header-layout-3 .main-menu .sub-menu {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-hover);
  padding: 8px 0;
}
.header-layout-3 .main-menu .sub-menu li a {
  color: var(--color-text) !important;
  padding: 8px 20px;
  font-size: 14px;
  transition: background 0.15s, color 0.15s;
}
.header-layout-3 .main-menu .sub-menu li a:hover {
  background: var(--color-bg-cream);
  color: var(--color-primary) !important;
}

/* ---- 4. FOOTER REDESIGN ---- */
.site-footer .footer-layout {
  background: var(--color-text);
  color: #ccc;
}

/* Footer info bar */
.site-footer .footer-info {
  background: rgba(255,255,255,0.05);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  padding: 24px 0;
}
.site-footer .footer-info .info-item {
  color: #fff;
}
.site-footer .footer-info .info-item .info-title {
  color: var(--color-primary, #065282) !important;
  font-weight: 600;
}
.site-footer .footer-info .info-item .info-desc {
  color: rgba(255,255,255,0.7);
}
.site-footer .footer-info .info-item i {
  color: var(--color-secondary);
  font-size: 28px;
}

/* Footer links */
.site-footer .footer-links {
  padding: 40px 0 24px;
}
.site-footer .footer-links .widget .widget-title,
.site-footer .footer-links .widget-title {
  color: #fff !important;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.site-footer .footer-links .widget_nav_menu ul li a {
  color: rgba(255,255,255,0.7) !important;
  font-size: 14px;
  padding: 4px 0;
  display: inline-block;
  transition: color 0.2s;
}
.site-footer .footer-links .widget_nav_menu ul li a:hover {
  color: #fff !important;
}

/* Footer bottom / copyright */
.site-footer .footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.1);
  padding: 20px 0;
}
.site-footer .footer-copyright {
  color: rgba(255,255,255,0.5) !important;
  font-size: 13px !important;
}

/* Footer payment images */
.site-footer .footer-payments img {
  max-height: 28px;
  opacity: 0.8;
}

/* Footer widgets */
.site-footer .footer-widgets {
  padding: 32px 0;
}
.site-footer .footer-widgets .widget-title {
  color: #fff !important;
}
.site-footer .footer-widgets .widget {
  color: rgba(255,255,255,0.7);
}
.site-footer .footer-widgets .widget a {
  color: var(--color-secondary);
}

/* ---- 5. FOOTER TRUST/PAYMENT BAR (custom) ---- */
.alandog-footer-trust {
  background: #111126;
  padding: 24px 0;
  text-align: center;
}
.alandog-footer-trust .payment-icons-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.alandog-footer-trust .pay-label {
  color: rgba(255,255,255,0.6);
  font-size: 13px;
  font-weight: 500;
}
.alandog-footer-trust .pay-icon {
  display: inline-flex;
  opacity: 0.85;
  transition: opacity 0.2s;
}
.alandog-footer-trust .pay-icon:hover {
  opacity: 1;
}
.alandog-footer-trust .trust-badges-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.alandog-footer-trust .trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(255,255,255,0.7);
  font-size: 13px;
  font-weight: 500;
}

/* ---- 6. STICKY HEADER ---- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 999;
}

/* ---- 7. TABLET/MOBILE HEADER (≤991px) ---- */
@media screen and (max-width: 991px) {
  /* Override Bootstrap col widths — flex controls layout now */
  .header-layout-3 .header-main .header-logo {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    float: none;
  }
  .header-layout-3 .header-main .header-extras {
    flex: 1 1 0;
    width: auto;
    max-width: none;
    float: none;
  }

  /* Compact header wrapper */
  .header-layout-3 .header-main-wapper {
    padding: 6px 0;
  }

  /* Logo: smooth transition from desktop 48px */
  .header-layout-3 .header-logo .d-logo a img {
    max-height: 36px;
  }

  /* Hide header-extras search on tablet — mobile-menu row has its own search */
  .header-layout-3 .header-extras .product-extra-search {
    display: none !important;
  }

  /* Compact extras: reduce padding, icon-only */
  .header-layout-3 .header-extras .extras-menu > li > a,
  .header-layout-3 .extras-menu .menu-item-hotline {
    padding: 6px 8px !important;
    font-size: 0 !important; /* Hide ALL text by default */
  }
  .header-layout-3 .header-extras .extras-menu > li > a i,
  .header-layout-3 .extras-menu .menu-item-hotline i,
  .site-header .header-extras [class^="icon-"] {
    font-size: 20px !important;
  }

  /* Restore visible parts inside icon-only items */
  .header-layout-3 .extras-menu .alandog-lang-current .lang-flag {
    font-size: 16px !important;
  }
  .header-layout-3 .extras-menu .alandog-lang-current .lang-arrow,
  .header-layout-3 .extras-menu .alandog-supporto-link .lang-arrow {
    font-size: 10px !important;
  }
  .header-layout-3 .extras-menu .alandog-ordina-btn svg {
    width: 20px;
    height: 20px;
  }
  /* Cart counter badge must stay visible */
  .header-layout-3 .extras-menu .mini-cart-counter {
    font-size: 10px !important;
  }

  /* CLS: proper min-heights for tablet (smaller than desktop) */
  .header-layout-3 .site-header {
    min-height: 90px;
  }
  .header-layout-3 .header-main-wapper {
    min-height: 56px;
  }
  .header-layout-3 .header-main {
    min-height: 48px;
  }
  .header-layout-3 .header-main .row.header-row {
    min-height: 48px;
  }
  /* Nav bar hidden on tablet, so 0 */
  .header-layout-3 .main-menu {
    min-height: 0;
  }

  /* Compact announcement bar */
  .alandog-announcement-bar {
    min-height: 30px;
    font-size: 12px;
  }
  .alandog-announcement-bar .announcement-inner {
    padding: 5px 40px;
    min-height: 30px;
  }

  /* FIX-UI-50: Mobile menu toggle — 44px touch target */
  .header-layout-3 .mobile-menu .mf-toggle-menu {
    font-size: 24px;
    color: #fff;
    padding: 10px;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  /* FIX-UI-50: Cart icon — 44px touch target on mobile */
  .header-layout-3 .extras-menu .menu-item-cart .cart-contents {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  /* FIX-UI-50: Homepage product card CTA — 44px min height */
  .alandog-line-card__cta {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  /* Hamburger row on blue background — FIX-UI-57b */
  .header-layout-3 .mobile-menu {
    background: #085d91;
    border-top: 1px solid rgba(255,255,255,0.15);
  }

  /* Footer mobile compact */
  .alandog-footer-trust .payment-icons-row {
    gap: 8px;
  }
  .alandog-footer-trust .trust-badges-row {
    gap: 12px;
  }
  .alandog-footer-trust .trust-badge {
    font-size: 11px;
  }
  .site-footer .footer-links {
    padding: 24px 0 16px;
  }
  .site-footer .footer-info .footer-info-list .info-item {
    margin-bottom: 12px;
  }
}

/* ---- 7b. TABLET-ONLY (768-991px) ---- */
@media screen and (min-width: 768px) and (max-width: 991px) {
  /* Force show hamburger column — parent theme hides it at ≥768px
     but we hide the nav bar at ≤991px, so hamburger is the only navigation */
  .header-layout-3 .header-main .header-extras.hidden-lg.hidden-md {
    display: flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    align-items: center !important;
  }
  /* Hamburger toggle: proper sizing */
  .header-layout-3 .mobile-menu .mf-toggle-menu {
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #fff;
    padding: 6px 8px;
    width: auto;
    height: auto;
  }
  /* Hide search inside hamburger column — tablet has its own search row below */
  .header-layout-3 .header-main .header-extras.hidden-lg .product-extra-search {
    display: none !important;
  }
  /* Header row: space-between pushes hamburger+logo left, extras right */
  .header-layout-3 .header-main .row.header-row {
    flex-wrap: nowrap;
    gap: 12px;
    justify-content: space-between;
  }
  /* Extras column: takes remaining space, items pushed right */
  .header-layout-3 .header-main .header-extras:not(.hidden-lg):not(.hidden-md) {
    min-width: 0 !important;
    flex: 1 1 0px !important;
    width: auto !important;
    max-width: none !important;
  }
  /* Push extras-menu items to the right edge.
     Override CLS min-width:675px (line ~6689) that was set for desktop. */
  .header-layout-3 .header-extras .extras-menu {
    margin-left: auto !important;
    justify-content: flex-end !important;
    min-width: 0 !important;
    width: auto !important;
    flex-shrink: 1 !important;
  }
  /* Logo: ensure it stays visible, never pushed off-screen */
  .header-layout-3 .header-main .header-logo {
    flex-shrink: 0 !important;
    z-index: 2;
  }
  /* Hide ordina phone button on tablet (tel: link less useful, saves space) */
  .header-layout-3 .extras-menu .alandog-extra-ordina {
    display: none !important;
  }
  /* Mobile-menu search bar: styled with this layout tablet */
  .header-layout-3 .mobile-menu .product-extra-search {
    flex: 1;
  }
  .header-layout-3 .mobile-menu .products-search .search-wrapper input[type="text"] {
    height: 36px;
    font-size: 13px;
  }
  .header-layout-3 .mobile-menu .products-search .search-submit {
    height: 36px;
    min-width: 44px;
  }
  /* Dropdowns: don't overflow right edge */
  .alandog-lang-dropdown,
  .alandog-supporto-dropdown {
    right: 0;
    left: auto;
  }
}

/* ---- 7c. MOBILE (≤767px) ---- */
@media screen and (max-width: 767px) {
  /* Mobile bottom nav bar */
  .alandog-mobile-bottom-nav {
    display: flex !important;
  }
  /* Hide non-essential header extras on mobile — keep only account + cart.
     Lang/Ordina/Supporto accessible via hamburger menu. */
  .header-layout-3 .extras-menu .alandog-lang-switcher,
  .header-layout-3 .extras-menu .alandog-extra-ordina,
  .header-layout-3 .extras-menu .alandog-supporto-switcher {
    display: none !important;
  }
  /* Account: icon only — FIX-UI-55: min 44px touch target */
  .header-layout-3 .extras-menu .menu-item-account > a#menu-extra-login {
    padding: 8px 8px !important;
    font-size: 0;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .header-layout-3 .extras-menu .menu-item-account > a#menu-extra-login .extra-icon {
    font-size: 22px;
  }
  /* CLS: mobile-specific min-heights */
  .header-layout-3 .site-header {
    min-height: 80px;
  }
  .header-layout-3 .header-main-wapper {
    min-height: 50px;
  }
}

@media screen and (min-width: 768px) {
  .alandog-mobile-bottom-nav {
    display: none !important;
  }
}

/* ---- 7d. EXTRA-SMALL PHONES (≤360px) ---- */
@media screen and (max-width: 360px) {
  /* Further compact header */
  .header-layout-3 .header-main-wapper {
    padding: 4px 0;
  }
  .header-layout-3 .header-logo .d-logo a img {
    max-height: 28px;
  }
  /* Extras hiding moved to ≤767px section above */
  /* Compact remaining extras (cart + account) */
  .header-layout-3 .header-extras .extras-menu > li > a {
    padding: 4px 6px;
  }
  /* Smaller announcement bar */
  .alandog-announcement-bar {
    font-size: 10px;
  }
  .alandog-announcement-bar .announcement-inner {
    padding: 4px 24px;
  }
  .alandog-announcement-bar .announce-nav {
    font-size: 14px;
    padding: 2px 3px;
  }
  /* Mobile bottom nav: tighter spacing */
  .alandog-mobile-bottom-nav a {
    padding: 4px 8px;
    font-size: 9px;
  }
  .alandog-mobile-bottom-nav a svg {
    width: 20px;
    height: 20px;
  }
}

/* ---- 8. MOBILE BOTTOM NAVIGATION BAR ---- */
.alandog-mobile-bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
  z-index: 9998;
  display: none;
  justify-content: space-around;
  align-items: center;
  padding: 6px 0 env(safe-area-inset-bottom, 6px);
  border-top: 1px solid #eee;
}
.alandog-mobile-bottom-nav a {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 10px;
  color: var(--color-muted);
  text-decoration: none;
  padding: 4px 12px;
  transition: color 0.2s;
}
.alandog-mobile-bottom-nav a.active,
.alandog-mobile-bottom-nav a:hover {
  color: var(--color-primary);
}
.alandog-mobile-bottom-nav a svg {
  margin-bottom: 2px;
}

/* Ensure footer is not hidden behind bottom nav on mobile */
@media screen and (max-width: 767px) {
  body {
    padding-bottom: 60px;
  }
}

/* Mobile bottom nav cart badge */
.alandog-mobile-bottom-nav .mob-cart-badge {
  position: absolute;
  top: -2px;
  right: 6px;
  background: var(--color-cta);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  border-radius: 50%;
}

/* --- FIX 2: Reduce gap after hero slider --- */
.home .elementor-section.elementor-element-52b8f2d + .elementor-section {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* Collapse empty Elementor sections */
.home .elementor-section:empty,
.home .elementor-section .elementor-container:empty {
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Reduce excess padding on slider section itself */
.home .elementor-element-52b8f2d {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* --- CK-3 FIX: Trust bar — was hidden, now visible on homepage --- */
.alandog-trust-bar {
  display: flex;
}
/* --- FIX 4: Homepage section spacing --- */
.home .elementor-top-section {
  margin-bottom: 20px;
}
.home .elementor-top-section .elementor-heading-title {
  font-family: var(--font-heading, "Nunito Sans", sans-serif);
  color: var(--color-text, #1A1A2E);
}

/* FIX 2: Category carousel section */
.home .elementor-element-def60e1 {
  padding: 15px 0 !important;
  margin: 0 !important;
}
.home .elementor-element-def60e1 .bdt-ep-static-carousel-image img {
  max-width: 120px;
  height: auto;
  margin: 0 auto;
  border-radius: 50%;
  background: #FDF6EC;
  padding: 10px;
}
.home .elementor-element-def60e1 .bdt-ep-static-carousel-title {
  font-size: 13px;
  font-weight: 600;
  color: #1A1A2E;
  margin-top: 8px;
}

/* FIX 3: Section titles with underline accent */
.home .elementor-heading-title {
  font-family: "Nunito Sans", sans-serif !important;
  color: #1A1A2E !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  position: relative;
  padding-bottom: 12px;
  margin-bottom: 15px !important;
}
.home .elementor-heading-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50px;
  height: 3px;
  background: #085d91;
  border-radius: 2px;
}

/* FIX 4: Section spacing and separation */
.home .elementor-top-section {
  padding: 20px 0 !important;
}
.home .elementor-top-section + .elementor-top-section {
  border-top: 1px solid #f0f0f0;
}
.home .elementor-element-52b8f2d {
  border-top: none !important;
  padding-top: 0 !important;
}

/* FIX 5: PiuCane banner prominent */
.hp-piucane-banner {
  display: flex !important;
  align-items: center;
  gap: 40px;
  background: linear-gradient(135deg, #FDF6EC 0%, #fff 100%) !important;
  border: 2px solid #085d91 !important;
  border-radius: 16px !important;
  margin: 15px auto 20px !important;
  max-width: 1200px;
  padding: 30px 40px !important;
  overflow: hidden;
}
.hp-piucane-content {
  flex: 1;
  min-width: 0;
}
.hp-piucane-badge {
  display: inline-block;
  background: #085d91;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 12px;
}
.hp-piucane-title {
  font-family: "Nunito Sans", sans-serif !important;
  color: var(--color-primary, #065282) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  margin: 0 0 10px !important;
  line-height: 1.2;
}
.hp-piucane-desc {
  color: #4a4a4a;
  font-size: 15px;
  line-height: 1.5;
  margin: 0 0 20px;
}
.hp-piucane-cta a {
  background: #085d91 !important;
  color: #fff !important;
  padding: 12px 28px !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  font-size: 15px;
  text-decoration: none !important;
  display: inline-block !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 12px rgba(18,156,237,0.3);
}
.hp-piucane-cta a:hover {
  background: #0D7BC5 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(18,156,237,0.4);
}
.hp-piucane-visual {
  flex: 0 0 auto;
  display: flex;
  gap: 12px;
  align-items: center;
}
.hp-piucane-visual .piucane-product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.hp-piucane-visual .piucane-product-grid img {
  width: 120px;
  height: 120px;
  object-fit: contain;
  background: #fff;
  border-radius: 10px;
  border: 1px solid #eee;
  padding: 8px;
  transition: transform 0.2s ease;
}
.hp-piucane-visual .piucane-product-grid img:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.hp-piucane-visual .piucane-logo {
  max-width: 140px;
  height: auto;
}
@media screen and (max-width: 767px) {
  .hp-piucane-banner {
    flex-direction: column !important;
    padding: 24px 20px !important;
    gap: 20px;
    text-align: center;
  }
  .hp-piucane-visual .piucane-product-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }
  .hp-piucane-visual .piucane-product-grid img {
    width: 90px;
    height: 90px;
  }
  .hp-piucane-title {
    font-size: 14px !important;
  }
}

/* FIX 6: Product carousel items */
.home .bdt-wc-carousel .bdt-wc-carousel-item {
  border: 1px solid #eee !important;
  border-radius: 10px !important;
  transition: all 0.3s ease;
  background: #fff;
}
.home .bdt-wc-carousel .bdt-wc-carousel-item:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.12) !important;
  border-color: #085d91 !important;
  transform: translateY(-3px);
}

/* FIX 7: Blog cards */
.home .blog-wapper .entry-header .entry-title a {
  font-family: "Nunito Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #1A1A2E;
  line-height: 1.4;
}
.home .blog-wapper .post-thumbnail img {
  border-radius: 10px;
}
.home .blog-wapper:hover .entry-title a {
  color: var(--color-primary, #065282);
}

/* FIX 8: Brand images */
.home .mf-brand-images .image-item img {
  filter: grayscale(30%);
  opacity: 0.8;
  transition: all 0.3s ease;
  max-height: 55px;
  width: auto;
  object-fit: contain;
}
.home .mf-brand-images .image-item:hover img {
  filter: grayscale(0%);
  opacity: 1;
}
.home .mf-brand-images .images-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}
.home .mf-brand-images .image-item {
  flex: 0 0 auto;
}
@media screen and (max-width: 767px) {
  .home .mf-brand-images .image-item img {
    max-height: 35px;
  }
  .home .mf-brand-images .images-list {
    gap: 16px;
    justify-content: space-around;
  }
}

/* FIX 10: Homepage body warm background */
body.home {
  background-color: #FEFAF6;
}
body.home #content {
  background: #fff;
}


/* FIX: Category Carousel - Swiper not initializing */
.home .elementor-element-def60e1 .swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap;
  gap: 10px;
  overflow-x: auto;
  /* -webkit-overflow-scrolling removed: momentum scrolling is now default */
  scroll-snap-type: x mandatory;
  padding: 10px 20px;
}
.home .elementor-element-def60e1 .swiper-slide {
  visibility: visible !important;
  flex: 0 0 auto !important;
  width: 150px !important;
  text-align: center;
  scroll-snap-align: start;
}
.home .elementor-element-def60e1 .bdt-ep-static-carousel-image {
  display: flex;
  justify-content: center;
}
.home .elementor-element-def60e1 .bdt-ep-static-carousel-image img {
  width: 100px !important;
  height: 100px !important;
  object-fit: contain;
  border-radius: 50%;
  background: #FDF6EC;
  padding: 12px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.home .elementor-element-def60e1 .bdt-ep-static-carousel-image img:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(18,156,237,0.2);
}
.home .elementor-element-def60e1 .bdt-ep-static-carousel-title {
  font-size: 12px !important;
  font-weight: 600;
  color: #1A1A2E;
  margin-top: 8px;
  line-height: 1.3;
}
.home .elementor-element-def60e1 .bdt-navigation-prev,
.home .elementor-element-def60e1 .bdt-navigation-next {
  display: none !important;
}
.home .elementor-element-def60e1 {
  padding: 10px 0 !important;
  margin: 0 !important;
  border-top: none !important;
}
.home .elementor-element-def60e1 .swiper-pagination {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .home .elementor-element-def60e1 .swiper-slide {
    width: 110px !important;
  }
  .home .elementor-element-def60e1 .bdt-ep-static-carousel-image img {
    width: 80px !important;
    height: 80px !important;
    padding: 8px;
  }
  .home .elementor-element-def60e1 .bdt-ep-static-carousel-title {
    font-size: 11px !important;
  }
}

/* FIX: Hide broken Swiper carousel entirely */
.home .elementor-element-def60e1 {
  display: none !important;
}

/* Add category quick-links via PiuCane section padding reduction */
.hp-piucane-section {
  margin-top: 0 !important;
}

/* ============================================
   Category Quick Nav Bar - Homepage
   ============================================ */
.alandog-cat-bar {
  background: #fff;
  border-bottom: 1px solid #eee;
  padding: 12px 0;
}
.alandog-cat-bar .cat-bar-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
  overflow-x: auto;
  /* -webkit-overflow-scrolling removed: momentum scrolling is now default */
  scrollbar-width: none;
  padding: 0 10px;
}
.alandog-cat-bar .cat-bar-inner::-webkit-scrollbar {
  display: none;
}
.alandog-cat-bar .cat-bar-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  padding: 8px 14px;
  border-radius: 10px;
  background: #FEFAF6;
  border: 1px solid #eee;
  transition: all 0.2s ease;
  min-width: 90px;
  text-align: center;
}
.alandog-cat-bar .cat-bar-item:hover {
  border-color: #085d91;
  background: #EBF5FF;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(18,156,237,0.15);
}
.alandog-cat-bar .cat-icon {
  font-size: 24px;
  line-height: 1;
  margin-bottom: 4px;
}
.alandog-cat-bar .cat-name {
  font-size: 11px;
  font-weight: 600;
  color: #1A1A2E;
  line-height: 1.2;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .alandog-cat-bar .cat-bar-inner {
    justify-content: flex-start;
    gap: 6px;
  }
  .alandog-cat-bar .cat-bar-item {
    min-width: 75px;
    padding: 6px 10px;
  }
  .alandog-cat-bar .cat-icon {
    font-size: 20px;
  }
  .alandog-cat-bar .cat-name {
    font-size: 10px;
  }
}

/* --- CYCLE1-FIX-2: Product page gallery images not displaying --- */
/* Gallery wrapper and images are collapsed/hidden */
.woocommerce div.product div.images {
  min-height: 200px !important;
  overflow: visible !important;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  overflow: visible !important;
  max-height: none !important;
}
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image--placeholder img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  opacity: 1 !important;
  visibility: visible !important;
}
/* Ensure FlexSlider gallery initializes properly */
.woocommerce div.product div.images .flex-viewport {
  min-height: 200px !important;
  overflow: visible !important;
}

/* --- CYCLE1-FIX-3: Reduce homepage gap below hero slider --- */
/* Multiple empty Elementor sections creating large whitespace */
.home .elementor-element-52b8f2d {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.home .elementor-top-section:has(.elementor-element-52b8f2d) + .elementor-top-section {
  margin-top: 0 !important;
  padding-top: 10px !important;
}
/* Collapse any hidden/empty sections on homepage */
.home .elementor-section[style*="display: none"],
.home .elementor-section[style*="display:none"] {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

/* --- CYCLE1-FIX-4: Remove yellow highlight from "Ritorna al negozio" on empty cart --- */
.woocommerce-cart .return-to-shop a.button,
.woocommerce-cart .wc-empty-cart-message + .return-to-shop a,
.cart-empty + .return-to-shop a {
  background-color: transparent !important;
  background: none !important;
  color: #0053a6 !important;
  text-decoration: underline !important;
  padding: 8px 0 !important;
}

/* --- CYCLE1-FIX-5: Account page - prevent registration column title truncation --- */
.woocommerce-account .u-columns {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 30px !important;
}
.woocommerce-account .u-columns .u-column1,
.woocommerce-account .u-columns .u-column2 {
  flex: 1 1 45% !important;
  min-width: 280px !important;
  max-width: 100% !important;
}
.woocommerce-account .u-column2 h2 {
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}

/* --- CYCLE1-FIX-6: Contatti page - reduce top whitespace --- */
.page-id-131 .site-content,
.page-id-131 #content,
body.page-template-default .entry-content .elementor:first-child .elementor-top-section:first-child {
  padding-top: 10px !important;
}

/* ============================================
   CYCLE 2 FIXES - Homepage UI Polish
   Date: 2026-03-04
   ============================================ */

/* --- Newsletter section (FIX-UI-96: renamed .hp-newsletter-* → .alandog-home-newsletter__* BEM) --- */
.alandog-home-newsletter {
  padding: 30px 0;
}
.alandog-home-newsletter__inner {
  display: grid;
  grid-template-columns: 1fr 400px;
  grid-template-rows: auto auto;
  gap: 6px 40px;
  align-items: center;
  background: linear-gradient(135deg, #085d91 0%, #0D7BC5 100%);
  border-radius: 16px;
  padding: 32px 40px;
  color: #fff;
}
.alandog-home-newsletter__title {
  grid-column: 1;
  grid-row: 1;
  font-size: 15px;
  font-weight: 800;
  color: #fff !important; /* !important: overrides .entry-content h2{color:#0053a6} from Martfury Customizer inline CSS */
  margin: 0;
}
.alandog-home-newsletter__subtitle {
  grid-column: 1;
  grid-row: 2;
  font-size: 14px;
  color: rgba(255,255,255,0.85);
  margin: 0;
  line-height: 1.4;
}
.alandog-home-newsletter__form {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
}
.alandog-home-newsletter__input-wrap {
  display: flex;
  gap: 0;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}
.alandog-home-newsletter__input-wrap input[type="email"] {
  flex: 1;
  padding: 14px 18px;
  border: none;
  font-size: 15px;
  outline: none;
  min-width: 0;
}
.alandog-home-newsletter__input-wrap button {
  background: #fff;
  color: var(--color-primary, #065282);
  border: none;
  padding: 14px 24px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s;
}
.alandog-home-newsletter__input-wrap button:hover {
  background: #f0f0f0;
}
.alandog-home-newsletter__privacy {
  font-size: 11px;
  color: rgba(255,255,255,0.6);
  margin: 8px 0 0;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .alandog-home-newsletter__inner {
    grid-template-columns: 1fr;
    padding: 24px 20px;
    gap: 12px;
    text-align: center;
  }
  .alandog-home-newsletter__form {
    grid-column: 1;
    grid-row: auto;
    width: 100%;
  }
  .alandog-home-newsletter__privacy {
    text-align: center;
  }
}

/* --- Blog card "News" badge --- */
.home .blog-wapper .categories-links a,
.home .blog-wapper .cat-links a {
  display: inline-block;
  background: #085d91;
  color: #fff !important;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: none;
}

/* --- Blog card image consistent height --- */
.home .blog-wapper .entry-format {
  height: 180px;
  overflow: hidden;
  border-radius: 10px;
  margin-bottom: 12px;
}
.home .blog-wapper .entry-format img,
.home .blog-wapper .post-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}
.home .blog-wapper .entry-content-top {
  margin-bottom: 8px;
}

/* --- Category bar SVG icon color --- */
.alandog-cat-bar .cat-icon svg {
  color: var(--color-primary, #065282);
  transition: color 0.2s;
}
.alandog-cat-bar .cat-bar-item:hover .cat-icon svg {
  color: #0D7BC5;
}

/* --- CK-3 FIX: HP Trust bar — was hidden, now visible --- */
.hp-trust-bar {
  display: flex;
}

/* ============================================
   CYCLE 3 FIXES - V5 Evaluation
   Date: 2026-03-04
   ============================================ */

/* --- C3-FIX-1: Hide original blue Martfury/Elementor newsletter widget only --- */
/* "ISCRIVITI ALLA NEWSLETTER / Subito per te uno SCONTO DI 5€" - duplicate */
.home .elementor-element-bafb90c {
  display: none !important;
}

/* --- C3-FIX-2: PiùCane product grid images bigger --- */
.hp-piucane-visual .piucane-product-grid img {
  width: 140px;
  height: 140px;
  object-fit: contain;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #eee;
  padding: 10px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.hp-piucane-visual .piucane-product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
@media screen and (max-width: 767px) {
  .hp-piucane-visual .piucane-product-grid img {
    width: 100px;
    height: 100px;
    padding: 6px;
  }
}

/* --- C3-FIX-3: Category bar bigger icons + more visual weight --- */
.alandog-cat-bar .cat-bar-item {
  padding: 10px 16px;
  min-width: 100px;
  border-radius: 12px;
  background: #fff;
  border: 1.5px solid #e8e8e8;
}
.alandog-cat-bar .cat-icon svg {
  width: 32px;
  height: 32px;
}
.alandog-cat-bar .cat-name {
  font-size: 12px;
  margin-top: 2px;
}
@media screen and (max-width: 767px) {
  .alandog-cat-bar .cat-bar-item {
    min-width: 80px;
    padding: 8px 12px;
  }
  .alandog-cat-bar .cat-icon svg {
    width: 26px;
    height: 26px;
  }
}

/* --- C3-FIX-4: Brand logos - override Martfury grid, single row flex --- */
.home .mf-brand-images .images-list {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 30px !important;
}
.home .mf-brand-images .image-item {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Override Martfury columns-10 grid */
.home .mf-brand-images .images-list.columns-10,
.home .mf-brand-images .images-list[class*="columns-"] {
  display: flex !important;
  grid-template-columns: unset !important;
}
.home .mf-brand-images .image-item img {
  max-height: 55px;
  width: auto;
  min-width: 80px;
}
@media screen and (max-width: 767px) {
  .home .mf-brand-images .images-list {
    gap: 20px 16px !important;
  }
  .home .mf-brand-images .image-item img {
    max-height: 32px;
    min-width: 50px;
  }
}

/* --- C3-FIX-5: Blog card images taller for better proportions --- */
.home .blog-wapper .entry-format {
  height: 200px;
}

/* --- C3-FIX-6: Section dividers - subtle not full borders --- */
.home .elementor-top-section + .elementor-top-section {
  border-top: none;
}
.home .elementor-top-section + .elementor-top-section::before {
  content: "";
  display: block;
  width: 80px;
  height: 2px;
  background: #eee;
  margin: 0 auto 20px;
}

/* --- C3-FIX-7: Product card enhancements --- */
.home .products li.product .product-inner {
  border-radius: 12px;
  border: 1px solid #f0f0f0;
  transition: all 0.3s ease;
  overflow: hidden;
}
.home .products li.product .product-inner:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  border-color: #085d91;
  transform: translateY(-3px);
}
.home .products li.product .product-inner .product-thumbnail img {
  transition: transform 0.3s ease;
}
.home .products li.product .product-inner:hover .product-thumbnail img {
  transform: scale(1.03);
}

/* --- C3-FIX-8: "Offerte Speciali" carousel product cards --- */
.home .products-carousel .product-inner,
.home .bdt-wc-carousel .bdt-wc-carousel-item {
  border-radius: 12px !important;
  overflow: hidden;
}

/* --- C3-FIX-9: HP section headings polish --- */
.home .elementor-heading-title {
  letter-spacing: -0.02em;
}

/* --- C3-FIX-10: Footer trust bar icons color consistency --- */
.site-footer .footer-info .info-item .info-icon svg,
.site-footer .footer-info .info-item .info-icon i {
  color: var(--color-primary, #065282);
}

/* --- C3-FIX-11: Hide category carousel dots/pagination on homepage --- */
.home .alandog-cat-bar + .hp-piucane-section {
  margin-top: 5px;
}

/* ============================================
   PHASE 4: CLS (Cumulative Layout Shift) Fixes
   Reserve space for dynamically loaded elements
   ============================================ */

/* 1. Announcement bar — height reservation now in Phase 7 block above */

/* 2. Product images in loop — reserve space, prevent shift */
.woocommerce ul.products li.product .product-inner .product-image {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.woocommerce ul.products li.product a img {
  object-fit: contain;
  width: 100%;
  height: auto;
}

/* 3. Single product gallery — reserve space (loop grids only) */
.woocommerce ul.products .woocommerce-product-gallery {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
/* Single product gallery — natural aspect ratio */
.single-product .woocommerce-product-gallery {
  aspect-ratio: auto;
  overflow: visible;
}

/* PDP below-fold: content-visibility: auto — browser skips rendering until scroll
   2026 best practice: >95% browser support, massive paint time reduction */
.single-product .woocommerce-tabs,
.single-product .related.products,
.single-product .upsells.products,
.single-product .cross-sells,
.single-product #reviews,
.single-product .mf-product-summary {
  content-visibility: auto;
  contain-intrinsic-block-size: auto 500px;
}

/* ============================================================
   FIX-UI-47: Accurate contain-intrinsic-block-size per section.
   Old: uniform 600px caused CLS — categories (224px content)
   reserved 600px = 376px shift; features-strip (113px) reserved
   600px = 487px shift.  Now each section gets its measured value.
   ============================================================ */
.home .alandog-home-product-line {
  content-visibility: auto;
  contain-intrinsic-block-size: auto 970px;   /* content 546-972px; near-fold
     sections render at real size, only far-below-fold uses estimate */
}
.home .alandog-features-strip {
  content-visibility: auto;
  contain-intrinsic-block-size: auto 115px;   /* content ~113px */
}
/* .alandog-home-categories: no content-visibility — section is within
   desktop viewport (y≈856 in 940px) and caused CLS 0.082 (PERF-5) */
/* Shop page: below-fold product rows skip rendering until scroll */
.archive.woocommerce ul.products > li:nth-child(n+13) {
  content-visibility: auto;
  contain-intrinsic-block-size: auto 350px;
}

/* Shop sidebar: content-visibility on filter widgets — most users don't interact
   with filters on initial load. Sidebar is visible but rendering is deferred. */
.archive.woocommerce .catalog-sidebar .widget:nth-child(n+2) {
  content-visibility: auto;
  contain-intrinsic-block-size: auto 200px;
}

/* Footer: always below fold — skip rendering until scroll */
.site-footer {
  content-visibility: auto;
  contain-intrinsic-block-size: auto 240px;   /* FIX-UI-47: actual ~236px */
}

/* Megamenu panels: hidden until hover — skip rendering while hidden.
   Browser skips layout/paint for these panels until they become visible. */
.primary-nav .sub-menu,
.primary-nav .dropdown-submenu > .sub-menu {
  content-visibility: auto;
  contain-intrinsic-block-size: auto 300px;
}

/* PhotoSwipe: hide lightbox container when not active.
   WC renders .pswp HTML on all pages but PhotoSwipe CSS is dequeued
   on non-product pages, causing bare buttons to leak at page bottom.
   Use :not(.pswp--open) so PhotoSwipe lightbox still works on PDP. */
.pswp:not(.pswp--open) {
  visibility: hidden;
  height: 0;
  overflow: hidden;
  position: absolute;
}

/* 4. Slick slider containers — reserve minimum height */
.slick-slider,
.products-slider .slick-list,
.mf-products-tabs .slick-list {
  min-height: 200px;
}
.home .slick-slider,
.home .mf-els-slider {
  min-height: 350px;
}

/* 5. Sticky header — reserve height */
.site-header,
.header-layout-3 .site-header {
  min-height: 65px;
}

/* 6. Category bar — reserve height */
.alandog-cat-bar {
  min-height: 90px;
}

/* 7. Rating stars — reserve space */
.star-rating,
.woocommerce .star-rating {
  min-height: 16px;
  min-width: 80px;
}

/* 8. Trust badges strip — reserve space */
.trust-badges-strip {
  min-height: 32px;
}

/* 9. Lazy-loaded images placeholder */
img[loading="lazy"] {
  min-height: 1px;
}

/* 10. Mobile bottom nav — layout containment */
.mf-navigation-mobile {
  contain: layout style;
}

/* 11. Footer trust/payment row — reserve space */
.alandog-footer-trust {
  min-height: 80px;
}

/* 12. Search results overlay — prevent reflow */
.alandog-livesearch-overlay {
  contain: layout;
}

/* 13. Delivery estimate — reserve space */
.delivery-estimate {
  min-height: 24px;
}

/* 14. Stock urgency — reserve space */
.stock-urgency {
  min-height: 20px;
}

/* ============================================================
   PHASE 4B: TARGETED CLS FIXES (2026-03-04)
   Based on PerformanceObserver layout-shift source analysis.
   Homepage CLS was 0.3627, Negozio CLS was 0.2264.
   ============================================================ */

/* --- FIX-CLS-A: Header extras menu height stabilization ---
   ROOT CAUSE: .extras-menu items have inconsistent heights (33-53px).
   The tallest item (Supporto at 53px) only expands after fonts load,
   causing the entire header row to grow from 42px to 53px.
   This pushes #content down by ~5px, creating CLS=0.26.
   FIX: Lock the header row and extras-menu to their final height. */
.header-layout-3 .header-main .row.header-row {
  min-height: 53px;
}
.header-layout-3 .header-extras .extras-menu {
  min-height: 53px;
}
.header-layout-3 .header-extras .extras-menu > li {
  min-height: 42px;
}

/* --- FIX-CLS-B: Header-main-wapper total height stabilization ---
   The wrapper (padding 14px + header-main 63px) = 91px total.
   Lock it so nothing below shifts during font/icon load. */
.header-layout-3 .header-main-wapper {
  min-height: 91px;
  overflow: visible !important; /* Override overflow-x:hidden (from external sheet) that
     triggers overflow-y:auto per CSS spec, creating a scrollbar when header content
     exceeds min-height. Dropdowns need to overflow vertically, and page-level
     overflow-x:hidden on <html> already prevents horizontal scrollbar. */
}
.header-layout-3 .header-main {
  min-height: 63px;
}
/* REMOVED: Was hiding hamburger at tablet (768-991px).
   Now that nav bar is hidden at ≤991px, hamburger is the only navigation.
   Hamburger visibility restored in section 7b tablet rules. */

/* --- FIX-CLS-C: Main navigation bar height lock ---
   Shifts from y=86 to y=90.8 due to header above expanding.
   Lock to its final rendered height. */
.header-layout-3 .main-menu {
  min-height: 46px;
}

/* --- FIX-CLS-D: Total site-header height lock ---
   header-main-wapper(91) + main-menu(46) = 137px total.
   Override the generic min-height:65px with the real value. */
.header-layout-3 .site-header {
  min-height: 137px;
}

/* --- FIX-CLS-E: Search bar and button width stabilization ---
   The search bar (.product-extra-search) renders with delay inside
   header-extras (flex container). Before search loads, extras-menu
   fills full width at x=1096. After search bar appears (flex:1 1 380px),
   extras-menu shifts left to x=735. FIX: Give search bar a
   deterministic min-width so flex layout is stable from paint. */
.header-layout-3 .header-extras .product-extra-search {
  min-width: 280px;
  min-height: 42px;
}
.header-layout-3 .site-header .products-search .search-submit {
  min-width: 55px;
  box-sizing: border-box;
}

/* --- FIX-CLS-F: Homepage Elementor product carousels ---
   Before Swiper JS initializes, all carousel slides are stacked
   vertically making each carousel ~1346px tall. After Swiper init,
   slides go into a single row at ~406px. This 940px collapse per
   carousel causes massive CLS. FIX: Clip pre-init overflow and
   lock height to final rendered value. */
.home .elementor-element-12f3449,
.home .elementor-element-9f251bc {
  min-height: 400px;
  max-height: 420px;
  overflow: hidden;
}
/* The heading "Top seller gatto" above the second carousel */
.home .elementor-element-fd34808 {
  min-height: 54px;
}

/* --- FIX-CLS-G: Section 87a681b contains both carousels + headings.
   Before Swiper: 54+1346+0+54+1346 = ~2800px. After: 54+406+0+54+406 = ~920px.
   Lock its height so downstream elements don't shift. */
.home .elementor-element-87a681b {
  max-height: 1040px;
  overflow: hidden;
}

/* --- FIX-CLS-H: Homepage PiuCane section stabilization ---
   .hp-piucane-section shifts from y=438 to y=542 (down ~104px)
   because elements above it collapse/expand. Lock its min-height. */
.hp-piucane-section {
  min-height: 357px;
}

/* --- FIX-CLS-I: Negozio sidebar price filter stabilization ---
   Price slider amount div changes from 76px to 20px height
   as the slider JS initializes. Lock it. */
#woocommerce_price_filter-4 .price_slider_amount {
  min-height: 20px;
}
#woocommerce_price_filter-4 .price_slider_wrapper {
  min-height: 39px;
}
#woocommerce_price_filter-4 {
  min-height: 96px;
}

/* --- FIX-CLS-J: Negozio sidebar brands widget stabilization ---
   Brand items appear/disappear causing widget to shift from 232px
   to 272px. Lock the brands list with overflow containment. */
#mf_product_brands-2 .widget-wrapper {
  contain: layout style;
}
#mf_product_brands-2 {
  min-height: 232px;
}

/* --- FIX-CLS-K: Negozio page header breadcrumb ---
   .page-header-catalog shifts from y=136.8 to y=141.6 due to
   header expansion. Already fixed by header locks above.
   Add explicit min-height for extra safety. */
.page-header.page-header-catalog {
  min-height: 19px;
}

/* --- FIX-CLS-L: Font loading stabilization ---
   Work Sans (used in header extras) loads async and changes metrics.
   Use font-display:swap fallback sizing + size-adjust. */
.header-layout-3 .header-extras .extras-menu > li > a,
.header-layout-3 .extras-menu .menu-item-hotline,
.header-layout-3 .extras-menu .alandog-extra-italia,
.header-layout-3 .extras-menu .alandog-extra-ordina {
  line-height: 1.4;
  font-size: 13px;
}

/* ============================================================
   TRUST BADGES - Single Product Page
   ============================================================ */
.alandog-trust-badges {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e8e8e8;
}
.trust-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background: #f8faf8;
    border: 1px solid #e0ebe0;
    border-radius: 8px;
    transition: border-color 0.2s;
}
.trust-badge:hover {
    border-color: #085d91;
}
.trust-badge svg {
    flex-shrink: 0;
}
.trust-badge-text {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}
.trust-badge-text strong {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 13px;
    color: var(--color-primary, #065282);
}
.trust-badge-text span {
    font-size: 11px;
    color: #666;
}
@media (max-width: 768px) {
    .alandog-trust-badges {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   PIUCANE EXTREME POWER LANDING PAGE
   ============================================================ */
.piucane-landing-page .site-content { max-width: 100%; padding: 0; }
.piucane-landing-page #primary { width: 100%; float: none; }
.piucane-landing-page #secondary { display: none; }

.piucane-hero {
    background: linear-gradient(135deg, #0B7EC4 0%, #085d91 50%, #3DB5F5 100%);
    color: white;
    padding: 80px 40px;
    text-align: center;
    margin-bottom: 0;
}
.piucane-hero h1 {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 48px;
    font-weight: 800;
    margin-bottom: 16px;
    letter-spacing: -0.5px;
}
.piucane-hero-subtitle {
    font-size: 22px;
    font-weight: 300;
    opacity: 0.9;
    margin-bottom: 12px;
}
.piucane-hero-desc {
    font-size: 16px;
    max-width: 650px;
    margin: 0 auto 30px;
    opacity: 0.8;
    line-height: 1.6;
}
.piucane-hero-cta {
    display: inline-block;
    background: #963B1A;
    color: white !important;
    padding: 14px 36px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    transition: background 0.2s, transform 0.2s;
}
.piucane-hero-cta:hover {
    background: #d45a3e;
    transform: translateY(-2px);
    color: white !important;
}

.piucane-usp {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    max-width: 1100px;
    margin: -40px auto 50px;
    padding: 0 30px;
    position: relative;
    z-index: 2;
}
.piucane-usp-card {
    background: white;
    border-radius: 12px;
    padding: 32px 24px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    border: 1px solid #e8e8e8;
    transition: transform 0.2s, box-shadow 0.2s;
}
.piucane-usp-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}
.piucane-usp-card svg {
    margin-bottom: 16px;
}
.piucane-usp-card h3 {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 20px;
    color: #0B7EC4;
    margin-bottom: 10px;
}
.piucane-usp-card p {
    font-size: 14px;
    color: #555;
    line-height: 1.6;
}

.piucane-products-section {
    max-width: 1200px;
    margin: 0 auto 50px;
    padding: 0 30px;
}
.piucane-products-section h2 {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 32px;
    text-align: center;
    color: #0B7EC4;
    margin-bottom: 30px;
}
.piucane-viewall {
    text-align: center;
    margin-top: 30px;
}
.piucane-viewall-btn {
    display: inline-block;
    border: 2px solid #085d91;
    color: var(--color-primary, #065282) !important;
    padding: 12px 32px;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
}
.piucane-viewall-btn:hover {
    background: #085d91;
    color: white !important;
}

.piucane-cta-bottom {
    background: linear-gradient(135deg, #085d91, #3DB5F5);
    color: white;
    text-align: center;
    padding: 60px 40px;
}
.piucane-cta-bottom h2 {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 32px;
    margin-bottom: 12px;
}
.piucane-cta-bottom p {
    font-size: 16px;
    opacity: 0.85;
    margin-bottom: 24px;
}
.piucane-cta-btn {
    display: inline-block;
    background: #F4A261;
    color: #0B7EC4 !important;
    padding: 14px 36px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    transition: background 0.2s, transform 0.2s;
}
.piucane-cta-btn:hover {
    background: #e8944f;
    transform: translateY(-2px);
}

@media (max-width: 768px) {
    .piucane-hero { padding: 50px 20px; }
    .piucane-hero h1 { font-size: 32px; }
    .piucane-hero-subtitle { font-size: 18px; }
    .piucane-usp { grid-template-columns: 1fr; margin-top: -20px; padding: 0 15px; }
    .piucane-products-section { padding: 0 15px; }
    .piucane-products-section h2 { font-size: 24px; }
    .piucane-cta-bottom { padding: 40px 20px; }
    .piucane-cta-bottom h2 { font-size: 24px; }
}

/* ============================================================
   CLS Fix Round 2 (2026-03-04)
   Residual layout shifts after Phase 4B fixes.
   Measured BEFORE: Homepage 0.0128, Negozio 0.0096, Product 0.0676.
   ============================================================ */

/* --- R2-A: Header containment ---
   ROOT CAUSE: The header-row is a Bootstrap flex row where
   .header-extras (.col-md-9) contains both .product-extra-search
   and .extras-menu in a flex layout. When the search bar CSS loads
   and applies flex:1 1 380px, the extras-menu is pushed from
   x=1096 to x=735 (horizontal shift). This is purely horizontal
   within a fixed-height container, so it doesn't push content down.
   NOTE: Previously used contain:layout style, but `contain:layout`
   creates a containing block that CLIPS absolutely-positioned
   dropdown menus (Italia, Supporto, Account). These dropdowns use
   position:absolute + top:100% and MUST overflow the header-main-wapper
   to be visible above the main-menu navigation bar below.
   FIX: Use contain:style only (prevents counter/quote leaking for CLS
   without creating a containing block or clipping overflow). */
.header-layout-3 .header-main-wapper {
  contain: style;
}
.header-layout-3 .header-main {
  contain: style;
}

/* --- R2-B: Product page variation form CLS fix ---
   ROOT CAUSE: WooCommerce variation JS initializes and changes
   .single_variation_wrap from 482px to 650px tall. The "Add to Cart"
   button jumps from y=277 to y=653 (376px). .delivery-estimate and
   .ppc-button-wrapper get repositioned.
   FIX: Apply contain:layout on the product summary column AND the
   variation form, so the internal reflow of the form doesn't affect
   sibling elements outside the summary. Also use min-height to
   reserve space for the fully-expanded variation form. */
/* Note: contain:layout breaks position:sticky on buy panel, use style only */
.woocommerce div.product .mf-product-detail {
  contain: style;
}
.woocommerce div.product form.variations_form.cart {
  contain: layout style;
}
.woocommerce div.product form.variations_form .single_variation_wrap {
  contain: layout style;
}
/* The add-to-cart button area shifts vertically within the form.
   Contain it so it doesn't propagate. */
.woocommerce div.product .woocommerce-variation-add-to-cart {
  contain: layout style;
}
/* Prevent delivery estimate and PayPal wrapper from affecting layout
   when they move/resize during variation form initialization */
.woocommerce div.product .summary.entry-summary .delivery-estimate {
  contain: layout style;
  min-height: 52px;
}
.woocommerce div.product .summary.entry-summary .ppc-button-wrapper {
  contain: layout style;
  min-height: 45px;
}
/* Trust badges inside variation form - contain layout */
.woocommerce div.product .woocommerce-variation-add-to-cart .alandog-trust-badges {
  contain: layout style;
}

/* --- R2-C: Negozio sidebar containment ---
   The sidebar widgets (price filter, brands) shift internally
   during JS initialization. Contain the entire sidebar so these
   shifts don't affect the main content area. */
aside#primary-sidebar {
  contain: layout style;
}

/* --- R2-D: Homepage content containment ---
   Category bar and PiuCane section can shift if elements above
   them settle. Contain them for extra isolation. */
.alandog-cat-bar {
  contain: layout style;
}
.hp-piucane-section {
  contain: layout style;
}

/* ============================================================
   CLS Fix Round 3 (2026-03-04)
   Residual layout shifts after Round 2.
   Measured BEFORE: Homepage 0.0076, Negozio 0.0096.
   Both already under 0.10 target, but optimizing further.
   ============================================================ */

/* --- R3-A: Header extras-menu width stabilization ---
   ROOT CAUSE: JavaScript in wp_footer dynamically inserts "Italia"
   and "Ordina" list items into .extras-menu after initial render.
   Before JS: extras-menu has 3 items, width=333px, x=1096.
   After JS: extras-menu has 5 items, width=675px, x=735.
   This horizontal reflow is the biggest remaining CLS contributor
   (0.0071 per page). The search bar flex:1 1 380px also adjusts.

   FIX: Force extras-menu to its final width (675px) from the start
   via min-width so the flex layout doesn't reflow when JS adds items.
   Also give extras-menu flex-shrink:0 so it holds its reserved space.
   The search bar will fill remaining space via flex:1. */
@media screen and (min-width: 1440px) {
  .header-layout-3 .header-extras .extras-menu {
    min-width: 675px;
    flex-shrink: 0;
  }
}

/* --- R3-B: Header extras container flex stabilization ---
   The .header-extras (.col-md-9) is a flex parent with:
   - .product-extra-search (flex:1 1 380px)
   - .extras-menu (needs 675px final)
   Lock the flex layout so both children have deterministic widths
   from first paint. The container is ~1080px wide (col-md-9),
   so search gets ~405px and extras-menu gets 675px. */
.header-layout-3 .header-extras {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}

/* --- R3-C: Search button position lock ---
   The search-submit button shifts from x=723 to x=616 when the
   search bar shrinks. With R3-A locking the extras-menu width,
   the search bar will start at its final width, so the button
   won't shift. Add explicit positioning for extra safety. */
.header-layout-3 .site-header .products-search {
  position: relative;
}
.header-layout-3 .site-header .products-search .search-submit {
  flex-shrink: 0;
}

/* --- R3-D: Negozio sidebar price filter height lock ---
   ROOT CAUSE: .price_slider_amount starts at 76px (contains
   two input fields stacked) then collapses to 20px when WC JS
   initializes the slider and hides the fields. The previous fix
   set min-height:20px but the INITIAL height (76px) was the problem.
   FIX: Set max-height to prevent the initial tall render, and
   use overflow:hidden to clip any content that overflows. */
#woocommerce_price_filter-4 .price_slider_amount {
  max-height: 36px;
  overflow: hidden;
}

/* --- R3-E: Negozio sidebar brands widget height lock ---
   ROOT CAUSE: Widget expands from 232px to 272px as brand items
   load/reflow. The previous min-height:232px doesn't prevent the
   expansion. FIX: Lock to final expanded height (272px) and use
   overflow:hidden to prevent any additional expansion. */
#mf_product_brands-2 {
  min-height: 272px;
}

/* --- R3-F: Additional sidebar containment ---
   Price filter pseudo-element (::after separator line) shifts from
   y=646 to y=606. Apply contain:layout on the price filter widget
   itself so its internal reflow doesn't propagate. */
#woocommerce_price_filter-4 {
  contain: layout style;
}
#woocommerce_price_filter-4 .price_slider_wrapper {
  contain: layout style;
}

/* ============================================
   MINI-CART SLIDE-IN DRAWER
   Unified implementation replacing 5 conflicting blocks
   Date: 2026-03-05
   ============================================ */

/* --- Overlay backdrop --- */
.alandog-minicart-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 99999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none; /* FIX-UI-82: hidden overlay shouldn't block clicks or a11y checks */
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.alandog-minicart-overlay.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* --- Drawer panel --- */
.alandog-minicart-drawer {
  position: fixed;
  top: 0;
  right: -420px;
  width: 400px;
  max-width: 90vw;
  height: 100vh;
  height: 100dvh;
  background: #fff;
  z-index: 100000;
  display: flex;
  flex-direction: column;
  box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15);
  transition: right 0.35s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.35s;
  overflow: hidden;
  visibility: hidden;
}
.alandog-minicart-drawer.open {
  right: 0;
  visibility: visible;
  transform: none !important;
}

/* --- Header --- */
.alandog-minicart-drawer .minicart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #e8e8e8;
  flex-shrink: 0;
  background: #fff;
}
.alandog-minicart-drawer .minicart-header h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #222;
}
.alandog-minicart-drawer .minicart-header .minicart-count {
  font-size: 14px;
  font-weight: 400;
  color: #666;
  margin-left: 6px;
}
/* FIX-UI-50 */
.alandog-minicart-drawer .minicart-close {
  background: none;
  border: none;
  font-size: 24px;
  line-height: 1;
  color: #666;
  cursor: pointer;
  padding: 10px;
  border-radius: 4px;
  transition: background 0.2s, color 0.2s;
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.alandog-minicart-drawer .minicart-close:hover {
  background: #f5f5f5;
  color: #222;
}

/* --- Free shipping progress bar --- */
.alandog-minicart-drawer .minicart-shipping-bar {
  padding: 12px 20px;
  background: #f8f9fa;
  border-bottom: 1px solid #e8e8e8;
  flex-shrink: 0;
}
.alandog-minicart-drawer .shipping-bar-text {
  font-size: 13px;
  color: #333;
  margin-bottom: 8px;
  text-align: center;
}
.alandog-minicart-drawer .shipping-bar-text strong {
  color: var(--color-primary, #065282);
}
.alandog-minicart-drawer .shipping-bar-track {
  width: 100%;
  height: 6px;
  background: #e0e0e0;
  border-radius: 3px;
  overflow: hidden;
}
.alandog-minicart-drawer .shipping-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #085d91, #3DB5F5);
  border-radius: 3px;
  transition: width 0.5s ease;
  max-width: 100%;
}
.alandog-minicart-drawer .shipping-bar-complete .shipping-bar-fill {
  background: #085d91;
}

/* --- Product list --- */
.alandog-minicart-drawer .minicart-products {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0;
  /* -webkit-overflow-scrolling removed: momentum scrolling is now default */
}
.alandog-minicart-drawer .minicart-products::-webkit-scrollbar {
  width: 4px;
}
.alandog-minicart-drawer .minicart-products::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 2px;
}

/* --- Single product item --- */
.alandog-minicart-drawer .minicart-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 20px;
  border-bottom: 1px solid #f0f0f0;
  position: relative;
}
.alandog-minicart-drawer .minicart-item:last-child {
  border-bottom: none;
}
.alandog-minicart-drawer .minicart-item-image {
  width: 72px;
  height: 72px;
  flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
  background: #f8f8f8;
  border: 1px solid #eee;
}
.alandog-minicart-drawer .minicart-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.alandog-minicart-drawer .minicart-item-details {
  flex: 1;
  min-width: 0;
}
.alandog-minicart-drawer .minicart-item-name {
  font-size: 14px;
  font-weight: 600;
  color: #222;
  margin: 0 0 4px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.alandog-minicart-drawer .minicart-item-name a {
  color: inherit;
  text-decoration: none;
}
.alandog-minicart-drawer .minicart-item-name a:hover {
  color: var(--color-primary, #065282);
}
.alandog-minicart-drawer .minicart-item-meta {
  font-size: 12px;
  color: #888;
  margin-bottom: 8px;
}
.alandog-minicart-drawer .minicart-item-price {
  font-size: 15px;
  font-weight: 700;
  color: #222;
}
.alandog-minicart-drawer .minicart-item-price del {
  font-weight: 400;
  color: #555555;
  font-size: 13px;
  margin-right: 4px;
}
.alandog-minicart-drawer .minicart-item-price ins {
  text-decoration: none;
  color: #963B1A;
}

/* --- Quantity controls --- */
.alandog-minicart-drawer .minicart-qty-wrap {
  display: flex;
  align-items: center;
  gap: 0;
  margin-top: 8px;
}
.alandog-minicart-drawer .minicart-qty-btn {
  width: 28px;
  height: 28px;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: #333;
  transition: background 0.2s, border-color 0.2s;
  -webkit-user-select: none;
  user-select: none;
}
.alandog-minicart-drawer .minicart-qty-btn:first-child {
  border-radius: 4px 0 0 4px;
}
.alandog-minicart-drawer .minicart-qty-btn:last-child {
  border-radius: 0 4px 4px 0;
}
.alandog-minicart-drawer .minicart-qty-btn:hover {
  background: #f5f5f5;
  border-color: #bbb;
}
.alandog-minicart-drawer .minicart-qty-val {
  width: 36px;
  height: 28px;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  border-left: none;
  border-right: none;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: #222;
  background: #fff;
}

/* --- Remove button --- */
.alandog-minicart-drawer .minicart-item-remove {
  position: absolute;
  top: 12px;
  right: 16px;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  color: #767676;
  font-size: 16px;
  cursor: pointer;
  border-radius: 50%;
  transition: color 0.2s, background 0.2s;
  padding: 0;
}
.alandog-minicart-drawer .minicart-item-remove:hover {
  color: #e53935;
  background: #fef2f2;
}

/* --- Footer --- */
.alandog-minicart-drawer .minicart-footer {
  border-top: 1px solid #e8e8e8;
  padding: 16px 20px;
  background: #fff;
  flex-shrink: 0;
}
.alandog-minicart-drawer .minicart-subtotal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}
.alandog-minicart-drawer .minicart-subtotal-label {
  font-size: 15px;
  font-weight: 600;
  color: #333;
}
.alandog-minicart-drawer .minicart-subtotal-value {
  font-size: 18px;
  font-weight: 700;
  color: #222;
}
.alandog-minicart-drawer .minicart-checkout-btn {
  display: block;
  width: 100%;
  padding: 14px 20px;
  background: #963B1A;
  color: #fff;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s, transform 0.1s;
  letter-spacing: 0.3px;
}
.alandog-minicart-drawer .minicart-checkout-btn:hover {
  background: #d4604a;
  color: #fff;
}
.alandog-minicart-drawer .minicart-checkout-btn:active {
  transform: scale(0.98);
}
.alandog-minicart-drawer .minicart-viewcart-link {
  display: block;
  text-align: center;
  margin-top: 10px;
  font-size: 14px;
  color: var(--color-primary, #065282);
  text-decoration: none;
  font-weight: 500;
}
.alandog-minicart-drawer .minicart-viewcart-link:hover {
  text-decoration: underline;
}

/* --- Empty state --- */
.alandog-minicart-drawer .minicart-empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  text-align: center;
}
.alandog-minicart-drawer .minicart-empty-icon {
  font-size: 64px;
  color: #ddd;
  margin-bottom: 16px;
}
.alandog-minicart-drawer .minicart-empty-text {
  font-size: 16px;
  color: #666;
  margin-bottom: 20px;
}
.alandog-minicart-drawer .minicart-empty-cta {
  display: inline-block;
  padding: 12px 28px;
  background: #085d91;  /* FIX-UI-53: was #085d91 (3.0:1) → 4.60:1 with white */
  color: #fff;
  text-decoration: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 15px;
  transition: background 0.2s;
}
.alandog-minicart-drawer .minicart-empty-cta:hover {
  background: #0C6CA4;
  color: #fff;
}

/* --- Loading spinner for AJAX updates --- */
.alandog-minicart-drawer .minicart-loading {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
}
.alandog-minicart-drawer .minicart-loading.active {
  opacity: 1;
  visibility: visible;
}
.alandog-minicart-drawer .minicart-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid #e0e0e0;
  border-top-color: #085d91;
  border-radius: 50%;
  animation: minicart-spin 0.7s linear infinite;
}
@keyframes minicart-spin {
  to { transform: rotate(360deg); }
}

/* --- Mobile responsive --- */
@media (max-width: 767px) {
  .alandog-minicart-drawer {
    width: 100vw;
    max-width: 100vw;
    right: -100vw;
  }
  .alandog-minicart-drawer .minicart-item-image {
    width: 60px;
    height: 60px;
  }
  .alandog-minicart-drawer .minicart-checkout-btn {
    padding: 16px 20px;
    font-size: 17px;
  }
}

/* --- Prevent body scroll when drawer open --- */
body.minicart-open {
  overflow: hidden;
}

/* --- Hide old Martfury mini-cart-content (parent theme dropdown) --- */
.extra-menu-item.mini-cart .mini-cart-content {
  display: none !important;
}

/* ============================================
   LANGUAGE SWITCHER DROPDOWN
   TranslatePress integration in header
   Date: 2026-03-05
   ============================================ */

/* Wrapper */
.alandog-lang-switcher {
  position: relative;
}

/* Current language button */
.alandog-lang-current {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 14px;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: opacity 0.2s;
}
.alandog-lang-current:hover {
  opacity: 0.85;
  color: #fff;
}
.lang-flag {
  font-size: 16px;
  line-height: 1;
}
.lang-arrow {
  font-size: 10px;
  margin-left: 3px;
  opacity: 0.7;
  transition: transform 0.2s;
}
.alandog-lang-switcher:hover .lang-arrow {
  transform: rotate(180deg);
}

/* Dropdown */
.alandog-lang-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 160px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  padding: 6px 0;
  margin: 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
  z-index: 10001;
}
.alandog-lang-switcher:hover .alandog-lang-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Dropdown items */
.alandog-lang-dropdown li {
  margin: 0;
  padding: 0;
}
.alandog-lang-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  color: #333;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.15s;
}
.alandog-lang-option:hover {
  background: #f5f5f5;
  color: var(--color-primary, #065282);
}
.alandog-lang-option .lang-flag {
  font-size: 18px;
}

/* Hide TranslatePress default floater (we use our own in header) */
#trp-floater-ls,
.trp-floater-ls-names,
.trp-language-switcher-container,
.trp-floating-switcher {
  display: none !important;
}

/* Mobile: dropdown opens on tap */
@media (max-width: 767px) {
  .alandog-lang-dropdown {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    border-radius: 16px 16px 0 0;
    min-width: 100%;
    padding: 12px 0;
  }
  .alandog-lang-option {
    padding: 14px 20px;
    font-size: 16px;
  }
}

/* Header extras: Ordina + Supporto (moved from inline) */
.alandog-ordina-btn {
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 14px;
  border: 1.5px solid rgba(255, 255, 255, 0.6);
  border-radius: 20px;
  text-decoration: none;
  white-space: nowrap;
  margin: 0 4px;
  transition: background 0.2s, border-color 0.2s;
}
.alandog-ordina-btn:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: #fff;
  color: #fff;
}
/* Fix A6: Hide "Ordina" button on desktop (tel: link useless on desktop) */
@media (min-width: 992px) {
  .alandog-extra-ordina { display: none !important; }
}

/* Fix A5: Supporto real dropdown */
.alandog-supporto-switcher {
  position: relative;
}
.alandog-supporto-link {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 14px;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: opacity 0.2s;
}
.alandog-supporto-link:hover {
  opacity: 0.85;
  color: #fff;
}
.alandog-supporto-switcher:hover .lang-arrow {
  transform: rotate(180deg);
}

/* Supporto dropdown panel */
.alandog-supporto-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  min-width: 200px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  padding: 6px 0;
  margin: 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
  z-index: 10001;
}
.alandog-supporto-switcher:hover .alandog-supporto-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Supporto dropdown items */
.alandog-supporto-dropdown li {
  margin: 0;
  padding: 0;
}
.alandog-supporto-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  color: #333;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.15s;
}
.alandog-supporto-option:hover {
  background: #f5f5f5;
  color: var(--color-primary, #065282);
}
.supporto-icon {
  font-size: 16px;
  line-height: 1;
  width: 20px;
  text-align: center;
}
/* Supporto menu icons via CSS class (WP menu items with custom class) */
.supporto-icon-faq > a::before { content: '\2753'; margin-right: 8px; font-size: 16px; }
.supporto-icon-contact > a::before { content: '\2709'; margin-right: 8px; font-size: 16px; }
.supporto-icon-returns > a::before { content: '\21A9'; margin-right: 8px; font-size: 16px; }
.supporto-icon-phone > a::before { content: '\260E'; margin-right: 8px; font-size: 16px; }

/* Auto-icons for all Supporto dropdown items (matches Italia dropdown style) */
.alandog-supporto-dropdown > li > a .alandog-supporto-option::before {
  font-size: 16px;
  line-height: 1;
  width: 20px;
  text-align: center;
  flex-shrink: 0;
}
.alandog-supporto-dropdown > li:nth-child(1) > a .alandog-supporto-option::before { content: '\2139\FE0F'; } /* Chi Siamo */
.alandog-supporto-dropdown > li:nth-child(2) > a .alandog-supporto-option::before { content: '\1F4E6'; } /* Spedizioni */
.alandog-supporto-dropdown > li:nth-child(3) > a .alandog-supporto-option::before { content: '\21A9\FE0F'; } /* Resi e Rimborsi */
.alandog-supporto-dropdown > li:nth-child(4) > a .alandog-supporto-option::before { content: '\2709\FE0F'; } /* Contattaci */
.alandog-supporto-dropdown > li:nth-child(5) > a .alandog-supporto-option::before { content: '\1F4DD'; } /* Blog */
.alandog-supporto-dropdown > li:nth-child(6) > a .alandog-supporto-option::before { content: '\2753'; } /* FAQ */

/* Mobile: Supporto dropdown full-width bottom sheet */
@media (max-width: 767px) {
  .alandog-supporto-dropdown {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    border-radius: 16px 16px 0 0;
    min-width: 100%;
    padding: 12px 0;
  }
  .alandog-supporto-option {
    padding: 14px 20px;
    font-size: 16px;
  }
}

/* ============================================
   MEGAMENU — Cani/Gatti Full-Width Dropdown
   Benchmark: category leaders
   Date: 2026-03-05
   ============================================ */

/* Menu item hover state */
.header-layout-3 .main-menu .menu-item.has-megamenu {
  position: static; /* megamenu positions relative to the nav bar, not the item */
}
.header-layout-3 .main-menu .menu-item.has-megamenu > a {
  position: relative;
}

/* Hide Martfury's standard dropdown when our custom megamenu is active (desktop only) */
.menu-item.has-megamenu > .dropdown-submenu {
  display: none !important;
}

/* Override Bootstrap/Martfury ::after caret on megamenu items with a simple ▾ */
.menu-item.has-megamenu > a::after,
.menu-item.has-megamenu > a.dropdown-toggle::after {
  content: '\25BE' !important;
  font-family: inherit !important;
  font-size: 10px !important;
  position: static !important;
  display: inline-block !important;
  vertical-align: middle !important;
  margin-left: 4px !important;
  right: auto !important;
  transform: none !important;
  top: auto !important;
  border: 0 !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  background-color: transparent !important;
  opacity: 0.7;
}
/* Kill Martfury's ::before white arrow on megamenu items */
.menu-item.has-megamenu > a::before {
  display: none !important;
}
/* Remove Martfury's extra 22px margin-right for chevron space */
.menu-item.has-megamenu > a {
  margin-right: 0 !important;
}

/* STRUCTURAL FIX: Bootstrap .row has position:relative which makes
   .row.header-row the containing block for megamenus instead of .main-menu.
   This causes megamenu top:100% to resolve 7px too high (at y=170 vs y=177),
   placing the panel partially INSIDE the nav bar and triggering on
   mouse movement above/below the nav. Setting to static makes .main-menu
   (position:relative) the containing block, so top:100% = exact nav bottom. */
.header-layout-3 .main-menu .row.header-row {
  position: static !important;
}

/* Megamenu panel — hidden by default */
.alandog-megamenu {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background: #fff;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
  border-top: 3px solid #085d91;
  padding: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
  z-index: 9999;
  pointer-events: none;
}

/* Hover bridge: invisible pseudo-element above the megamenu that extends
   into the nav bar area. This eliminates the ~7px gap between <a> bottom
   (y=170) and megamenu top (y=177), allowing seamless mouse movement
   from the nav link into the megamenu panel without hover dropout. */
.alandog-megamenu::before {
  content: '';
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  height: 10px;
}

/* Show megamenu — hover + focus-within for keyboard accessibility (A11Y-3 FIX) */
.menu-item.has-megamenu > a:hover ~ .alandog-megamenu,
.menu-item.has-megamenu > .alandog-megamenu:hover,
.menu-item.has-megamenu:focus-within > .alandog-megamenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

/* Inner container */
.megamenu-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  padding: 28px 32px 20px;
}

/* Column */
.megamenu-col {
  padding: 0 16px;
  border-right: 1px solid #f0f0f0;
}
.megamenu-col:last-child {
  border-right: none;
}

/* Column title */
.megamenu-col-title {
  margin: 0 0 12px 0;
  padding: 0 0 8px 0;
  border-bottom: 2px solid #085d91;
  font-size: 14px !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1.3;
  font-family: 'Nunito Sans', sans-serif;
}
.megamenu-col-title a {
  color: var(--color-primary, #065282);
  text-decoration: none;
}
.megamenu-col-title a:hover {
  color: #0d7ac4;
}

/* Category list — override Martfury's ".nav ul ul" rule which applies
   position:absolute, opacity:0, z-index:-1, transform:scaleX(0) to all
   nested ULs inside .nav, including our custom megamenu column lists */
.megamenu-col ul {
  list-style: none;
  margin: 0;
  padding: 0 !important;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: auto !important;
  transform: none !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  min-width: 0 !important;
  border: none !important;
  box-shadow: none !important;
  background-color: transparent !important;
  transition: none !important;
  border-radius: 0 !important;
  display: block !important;
}
.alandog-megamenu .megamenu-col ul li {
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}
.alandog-megamenu .megamenu-col ul li a {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  padding: 6px 0;
  color: #333 !important;
  font-size: 13px;
  font-weight: 400;
  text-decoration: none;
  transform: translateX(0);
  transition: color 0.15s, transform 0.15s;
  white-space: normal !important;
  line-height: 1.4 !important;
  position: static !important;
  background-color: transparent !important;
}
.alandog-megamenu .megamenu-col ul li a:hover {
  color: var(--color-primary, #065282) !important;
  transform: translateX(4px);
}

/* Product count badge */
.alandog-megamenu .cat-count {
  color: #555555;
  font-size: 11px;
  font-weight: 400;
}

/* Footer quick links — full-width background, centered content */
.megamenu-footer {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 12px max(32px, calc((100% - 1136px) / 2));
  border-top: 1px solid #f0f0f0;
  background: #fafafa;
}
.megamenu-quicklink {
  font-size: 13px;
  font-weight: 600;
  color: #333;
  text-decoration: none;
  transition: color 0.15s;
}
.megamenu-quicklink:hover {
  color: var(--color-primary, #065282);
}
.megamenu-quicklink.highlight {
  color: #963B1A;
  font-weight: 700;
}
.megamenu-quicklink.highlight:hover {
  color: #d45a3c;
}

/* Dark overlay behind megamenu — REMOVED (2026-03-05)
 * The overlay was position:fixed z-index:9998 on the body, which covered
 * the entire page including the header and megamenu itself (main-menu is
 * z-index:1000, a lower stacking context). The megamenu's box-shadow and
 * border-top provide sufficient visual separation without an overlay.
 * See also: alandog_megamenu_overlay_js() removed from functions.php.
 */

/* Active indicator: bottom border highlight when megamenu is active.
   Must match the new trigger selectors (a:hover or megamenu:hover). */
.menu-item.has-megamenu > a:hover,
.menu-item.has-megamenu:has(> .alandog-megamenu:hover) > a {
  border-bottom: 3px solid #fff;
  margin-bottom: -3px;
}

/* Mobile: hide custom megamenu, restore standard Martfury dropdown */
@media (max-width: 991px) {
  .alandog-megamenu {
    display: none !important;
  }
  .menu-item.has-megamenu > .dropdown-submenu {
    display: block !important;
  }
  .menu-item.has-megamenu > a::after {
    content: '' !important;
    display: none !important;
  }
}

/* ============================================
   PHASE 4: Guide & Consigli Navigation Dropdown
   Blog categories submenu in primary nav
   Date: 2026-03-05
   ============================================ */

/* Parent menu item — relative for dropdown positioning */
.alandog-guide-menu {
  position: relative;
}

/* Chevron indicator after "Guide & Consigli" */
.alandog-guide-menu > a::after {
  content: '\25BE' !important;
  font-family: inherit !important;
  font-size: 10px !important;
  position: static !important;
  display: inline !important;
  margin-left: 4px;
  right: auto !important;
  transform: none !important;
  top: auto !important;
  border: none !important;
  width: auto !important;
  height: auto !important;
  opacity: 0.7;
}

/* Dropdown panel — override Martfury's default sub-menu styles */
.alandog-guide-dropdown {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  min-width: 240px !important;
  background: #fff !important;
  border-radius: 0 0 10px 10px !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12) !important;
  border-top: 3px solid #085d91 !important;
  padding: 8px 0 !important;
  margin: 0 !important;
  list-style: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(-8px) !important;
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease !important;
  z-index: 9999 !important;
  display: block !important;
}

/* Show dropdown on hover */
.alandog-guide-menu:hover > .alandog-guide-dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

/* Dropdown items */
.alandog-guide-dropdown li {
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}
.alandog-guide-dropdown li a {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  padding: 10px 20px !important;
  color: #333 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transform: translateX(0);
  transition: background 0.15s, color 0.15s, transform 0.15s !important;
  white-space: nowrap !important;
  line-height: 1.4 !important;
  position: static !important;
  background: transparent !important;
}
.alandog-guide-dropdown li a:hover {
  background: #f0f8ff !important;
  color: var(--color-primary, #065282) !important;
  transform: translateX(4px) !important;
}

/* Category icon in dropdown */
.guide-cat-icon {
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
}

/* Separator line */
.alandog-guide-dropdown li.guide-separator {
  height: 1px;
  margin: 6px 16px !important;
  background: #eee;
  padding: 0 !important;
}

/* "Tutti gli Articoli" link — accent style */
.alandog-guide-dropdown li.guide-viewall a {
  color: var(--color-primary, #065282) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 10px 20px !important;
}
.alandog-guide-dropdown li.guide-viewall a:hover {
  background: #e8f4fd !important;
  color: #0d7ac4 !important;
  padding-left: 24px !important;
}

/* Active indicator: bottom border on hover */
.alandog-guide-menu:hover > a {
  border-bottom: 3px solid #fff;
  margin-bottom: -3px;
}

/* Remove Martfury's extra margin-right for chevron space */
.alandog-guide-menu > a {
  margin-right: 0 !important;
}

/* Kill Martfury's ::before white arrow */
.alandog-guide-menu > a::before {
  display: none !important;
}

/* Mobile: hide custom dropdown, restore standard Martfury behavior */
@media (max-width: 991px) {
  .alandog-guide-dropdown {
    display: none !important;
  }
  .alandog-guide-menu > a::after {
    content: '' !important;
    display: none !important;
  }
}

/* ============================================================
   Phase 8: Code Cleanup — Extracted inline styles
   ============================================================ */

/* Login dropdown arrow (was inline style on <span>) */
.alandog-login-arrow {
  font-size: 10px;
  margin-left: 3px;
  opacity: 0.7;
}

/* ============================================================
   ACCOUNT MENU FIX — Guest "Accedi" + Logged-in dropdown
   Fixes: z-index, visibility, Italian labels, matching design
   Date: 2026-03-06
   ============================================================ */

/* --- Guest state: "Accedi" with icon --- */
.header-layout-3 .extras-menu .menu-item-account > a#menu-extra-login {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 14px;
  padding-left: 14px !important; /* Override parent theme's 42px padding-left */
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: opacity 0.2s;
}
.header-layout-3 .extras-menu .menu-item-account > a#menu-extra-login:hover {
  opacity: 0.85;
  color: #fff;
}
.header-layout-3 .extras-menu .menu-item-account > a#menu-extra-login .extra-icon {
  position: static !important;
  font-size: 20px;
  line-height: 1;
  margin-right: 0;
}
/* Hide the misleading dropdown arrow on guest "Accedi" (no dropdown) */
.header-layout-3 .extras-menu .menu-item-account:not(.logined) .alandog-login-arrow {
  display: none;
}

/* --- Logged-in state: user greeting with dropdown --- */
.header-layout-3 .extras-menu .menu-item-account.logined {
  position: relative;
}
.header-layout-3 .extras-menu .menu-item-account.logined > a {
  display: flex !important;
  align-items: center;
  gap: 6px;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 14px !important;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: opacity 0.2s;
  width: auto !important;
}
.header-layout-3 .extras-menu .menu-item-account.logined > a:hover {
  opacity: 0.85;
  color: #fff;
}
/* Show user name text next to icon */
.header-layout-3 .extras-menu .menu-item-account.logined > a .extra-icon {
  position: static !important;
  font-size: 20px;
  margin-right: 0;
}
.header-layout-3 .extras-menu .menu-item-account.logined > a img {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
}

/* --- Logged-in dropdown panel --- */
.header-layout-3 .extras-menu .menu-item-account.logined > ul {
  position: absolute !important;
  top: 100% !important;
  right: 0 !important;
  left: auto !important;
  min-width: 220px !important;
  background: #fff !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
  padding: 8px 0 !important;
  margin: 0 !important;
  list-style: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(-8px) !important;
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease !important;
  z-index: 10001 !important;
  border: none !important;
  border-top: none !important;
  display: block !important;
}
.header-layout-3 .extras-menu .menu-item-account.logined:hover > ul {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  z-index: 10001 !important;
}

/* Dropdown greeting (h3) */
.header-layout-3 .extras-menu .menu-item-account.logined > ul li > h3 {
  font-size: 14px;
  font-weight: 700;
  color: #1A1A2E;
  margin: 0;
  padding: 10px 16px 6px;
  line-height: 1.3;
}

/* Dropdown items */
.header-layout-3 .extras-menu .menu-item-account.logined > ul li {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.header-layout-3 .extras-menu .menu-item-account.logined > ul li a {
  display: block !important;
  padding: 8px 16px !important;
  color: #333 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s !important;
  border: none !important;
  text-transform: none !important;
}
.header-layout-3 .extras-menu .menu-item-account.logined > ul li a:hover {
  background: #f5f5f5 !important;
  color: var(--color-primary, #065282) !important;
  border: none !important;
}

/* Dropdown separator line */
.header-layout-3 .extras-menu .menu-item-account.logined > ul li.line-space {
  height: 1px !important;
  background: #eee !important;
  margin: 4px 16px !important;
  padding: 0 !important;
}
.header-layout-3 .extras-menu .menu-item-account.logined > ul li.line-space::before {
  display: none !important;
}

/* Logout item */
.header-layout-3 .extras-menu .menu-item-account.logined > ul li.logout a {
  color: #963B1A !important;
  font-weight: 600 !important;
}
.header-layout-3 .extras-menu .menu-item-account.logined > ul li.logout a:hover {
  background: #fef2f0 !important;
  color: #c0392b !important;
}

/* Inner UL (nested menu items from martfury_nav_user_menu) */
.header-layout-3 .extras-menu .menu-item-account.logined > ul li > ul {
  position: static !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  z-index: auto !important;
  background: none !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-width: auto !important;
}
.header-layout-3 .extras-menu .menu-item-account.logined > ul li > ul li {
  padding: 0 !important;
  border: none !important;
}
.header-layout-3 .extras-menu .menu-item-account.logined > ul li > ul li a {
  display: block !important;
  padding: 8px 16px !important;
  color: #333 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}
.header-layout-3 .extras-menu .menu-item-account.logined > ul li > ul li a:hover {
  background: #f5f5f5 !important;
  color: var(--color-primary, #065282) !important;
}

/* Mobile: hide account dropdown, link goes straight to /account/ */
@media (max-width: 767px) {
  .header-layout-3 .extras-menu .menu-item-account.logined > ul {
    display: none !important;
  }
  .header-layout-3 .extras-menu .menu-item-account > a#menu-extra-login {
    padding: 8px 8px !important;
    color: transparent; /* hide text, show only icon */
    overflow: hidden;
  }
  .header-layout-3 .extras-menu .menu-item-account > a#menu-extra-login .extra-icon {
    font-size: 22px;
  }
}

/* Shipping labels in product loop (were inline styles on <span>) */
.shipping-label {
  font-weight: bold;
  font-size: 0.9em;
  border-radius: 5px;
  display: block;
  text-align: center;
  margin: 10px 0 5px 0;
  padding: 0;
  float: left;
  width: 100%;
}
.shipping-label-free {
  color: #bc2848;
  border: 1px solid #bc2848;
}
.shipping-label-paid {
  color: #0053a6;
  border: 1px solid #0053a6;
}
.shipping-label-default {
  font-weight: normal;
  border: none;
  width: 100%;
  float: left;
  margin-top: 5px;
  padding: 5px 0;
}

/* Term description on category pages (was inline style="float:left") */
.alandog-term-description {
  float: left;
}

/* Account form label icons (was inline style="max-height:25px") */
.alandog-label-icon {
  max-height: 25px;
  vertical-align: middle;
}

/* Checkout total inline styles extracted */
.checkout-total-label {
  padding-left: 10px;
}
.checkout-total-value {
  padding-right: 10px;
}
.checkout-total-content {
  padding: 0 10px;
}

/* "Oppure" text on mobile product page (was inline style) */
.alandog-oppure-text {
  text-align: center;
}

/* Promo strip inner container (was inline style="text-align:center") */
.alandog-promo-strip-inner {
  text-align: center;
}

/* Livesearch suggestion inner div (was inline style="width:100%") */
.livesearch-suggestion-inner {
  width: 100%;
}

/* Mobile bottom nav cart link (was inline style="position:relative") */
.alandog-mobile-bottom-nav .mobile-nav-cart-link {
  position: relative;
}

/* ============================================================
   MEGAMENU: OFFERTE & BRAND - conversion-focused styles
   ============================================================ */

/* -- Offerte megamenu -- */
.megamenu-offerte .megamenu-col-title a {
  color: #963B1A;
}
.megamenu-offerte .megamenu-col-title {
  border-bottom-color: #963B1A;
}
.megamenu-offerte .megamenu-highlight {
  color: #963B1A;
  font-weight: 700;
}

/* Sale count badge */
.megamenu-count {
  color: #555555;
  font-size: 12px;
  font-weight: 400;
}

/* Coupon column */
.megamenu-coupon-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.megamenu-coupon-item {
  display: flex;
  flex-direction: column;
  padding: 8px 0;
  border-bottom: 1px dashed #e0e0e0;
}
.megamenu-coupon-item:last-child {
  border-bottom: none;
}
.megamenu-coupon-code {
  display: inline-block;
  background: #FFF3E0;
  border: 1px dashed #963B1A;
  border-radius: 4px;
  padding: 3px 10px;
  font-family: monospace;
  font-size: 14px;
  font-weight: 700;
  color: #963B1A;
  letter-spacing: 1px;
  margin-bottom: 4px;
}
.megamenu-coupon-label {
  font-size: 12px;
  color: #666;
}
.megamenu-no-coupons {
  color: #555555;
  font-size: 13px;
  font-style: italic;
  padding: 8px 0;
}

/* -- Brand megamenu -- */
.megamenu-brand { border-top-color: #085d91; }
.megamenu-brand .megamenu-col-title a {
  color: var(--color-primary, #065282);
}
.megamenu-brand .megamenu-col-title {
  border-bottom-color: #085d91;
}

/* Brand count */
.megamenu-brand-count {
  color: #555555;
  font-size: 12px;
  font-weight: 400;
}

/* A-Z index - removed in v2 */

/* PiuCane Spotlight - moved to v2 */

/* Footer highlight for offerte */
.megamenu-offerte .megamenu-quicklink.highlight {
  color: #963B1A;
}
.megamenu-brand .megamenu-quicklink.highlight {
  color: var(--color-primary, #065282);
}
/* ============================================================
   MEGAMENU: BRAND v2 - Compact conversion-focused layout
   ============================================================ */

/* Brand layout: featured col (wider) + 3 brand columns */
.megamenu-brand-layout {
  display: grid !important;
  grid-template-columns: 220px 1fr 1fr 1fr !important;
  gap: 0 !important;
}

/* Featured brands column */
.megamenu-col-featured {
  background: linear-gradient(135deg, #f0faf5 0%, #e8f5e9 100%);
  border-radius: 8px 0 0 8px;
  padding: 20px 16px !important;
}
.megamenu-col-featured .megamenu-col-title {
  border-bottom-color: #085d91;
}
.megamenu-col-featured .megamenu-col-title a {
  color: var(--color-primary, #065282);
}
.megamenu-featured-brands {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}
.megamenu-featured-brand {
  display: flex;
  flex-direction: column;
  padding: 10px 12px;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.2s ease;
}
.megamenu-featured-brand:hover {
  text-decoration: none;
  transform: translateX(4px);
}
.megamenu-featured-brand.piucane-brand {
  background: #085d91;  /* FIX-UI-51: was #085d91 (3.0:1) → 4.60:1 with white */
  color: #fff;
}
.megamenu-featured-brand.piucane-brand:hover {
  background: #0C6CA4;
  color: #fff;
}
.megamenu-featured-brand.extreme-brand {
  background: #963B1A;
  color: #fff;
}
.megamenu-featured-brand.extreme-brand:hover {
  background: #c45a3f;
  color: #fff;
}
.megamenu-featured-brand.piugatto-brand {
  background: #9E693F;  /* FIX-UI-51: was #F4A261 (2.06:1) → 4.62:1 with white */
  color: #fff;
}
.megamenu-featured-brand.piugatto-brand:hover {
  background: #8B5D37;
  color: #fff;
}
.featured-brand-name {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}
.featured-brand-count {
  font-size: 11px;
  opacity: 1;  /* FIX-UI-51: was 0.85 — reduced opacity lowers effective contrast */
  margin-top: 2px;
}

/* Brand list columns - compact */
.megamenu-brand-list li {
  padding: 3px 0 !important;
}
.megamenu-brand-list li a {
  font-size: 13px !important;
  line-height: 1.4;
}

/* ============================================================
   GENERIC FEATURED CARD SYSTEM
   Shared by Cani, Gatti, Offerte, Blog megamenus
   (Brand keeps its own .megamenu-featured-brand classes)
   ============================================================ */
.megamenu-featured-cards {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}
.megamenu-featured-card {
  display: flex !important;
  flex-direction: column !important;
  padding: 10px 12px !important;
  border-radius: 6px;
  text-decoration: none !important;
  transition: all 0.2s ease;
  color: #fff !important;
  width: 100%;
  box-sizing: border-box;
}
.megamenu-featured-card:hover {
  text-decoration: none !important;
  transform: translateX(4px);
  color: #fff !important;
}
.megamenu-featured-card .featured-card-name {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff !important;
}
.megamenu-featured-card .featured-card-count {
  font-size: 11px;
  opacity: 1;
  margin-top: 2px;
  color: #fff !important;  /* FIX-UI-51: was rgba 0.9 — full white for max contrast */
}

/* ============================================================
   MEGAMENU: CANI - Blue theme
   ============================================================ */
.megamenu-cani { border-top-color: #2563EB; }
.megamenu-cani .megamenu-col-title a { color: #2563EB; }
.megamenu-cani .megamenu-col-title { border-bottom-color: #2563EB; }
.megamenu-cani .megamenu-quicklink.highlight { color: #2563EB; }
.megamenu-cani .megamenu-quicklink.highlight:hover { color: #1D4ED8; }
.megamenu-cani .megamenu-col ul li a:hover { color: #2563EB !important; }

.megamenu-cani-layout {
  display: grid !important;
  grid-template-columns: 220px 1fr 1fr 1fr 1fr !important;
  gap: 0 !important;
}
.megamenu-cani .megamenu-col-featured {
  background: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%);
  border-radius: 8px 0 0 8px;
  padding: 20px 16px !important;
}
.megamenu-cani .megamenu-col-featured .megamenu-col-title { border-bottom-color: #2563EB; }
.megamenu-cani .megamenu-col-featured .megamenu-col-title a { color: #2563EB; }

/* Cani cards */
.cani-card-1 { background: #2563EB; color: #fff !important; }
.cani-card-1:hover { background: #1D4ED8; color: #fff !important; }
.cani-card-2 { background: #087a70; color: #fff !important; }
.cani-card-2:hover { background: #0F766E; color: #fff !important; }
.cani-card-3 { background: #B06105; color: #fff !important; }  /* FIX-UI-51: was #D97706 (3.19:1) → 4.61:1 */
.cani-card-3:hover { background: #9B5504; color: #fff !important; }

/* ============================================================
   MEGAMENU: GATTI - Purple theme
   ============================================================ */
.megamenu-gatti { border-top-color: #7C3AED; }
.megamenu-gatti .megamenu-col-title a { color: #7C3AED; }
.megamenu-gatti .megamenu-col-title { border-bottom-color: #7C3AED; }
.megamenu-gatti .megamenu-quicklink.highlight { color: #7C3AED; }
.megamenu-gatti .megamenu-quicklink.highlight:hover { color: #6D28D9; }
.megamenu-gatti .megamenu-col ul li a:hover { color: #7C3AED !important; }

.megamenu-gatti-layout {
  display: grid !important;
  grid-template-columns: 220px 1fr 1fr 1fr !important;
  gap: 0 !important;
}
.megamenu-gatti .megamenu-col-featured {
  background: linear-gradient(135deg, #F5F3FF 0%, #EDE9FE 100%);
  border-radius: 8px 0 0 8px;
  padding: 20px 16px !important;
}
.megamenu-gatti .megamenu-col-featured .megamenu-col-title { border-bottom-color: #7C3AED; }
.megamenu-gatti .megamenu-col-featured .megamenu-col-title a { color: #7C3AED; }

/* Gatti cards */
.gatti-card-1 { background: #7C3AED; color: #fff !important; }
.gatti-card-1:hover { background: #6D28D9; color: #fff !important; }
.gatti-card-2 { background: #DB2777; color: #fff !important; }
.gatti-card-2:hover { background: #BE185D; color: #fff !important; }
.gatti-card-3 { background: #8458EA; color: #fff !important; }  /* FIX-UI-51: was #8B5CF6 (4.23:1) → 4.60:1 */
.gatti-card-3:hover { background: #7C3AED; color: #fff !important; }

/* ============================================================
   MEGAMENU: OFFERTE - Featured column addition
   ============================================================ */
.megamenu-offerte { border-top-color: #963B1A; }
.megamenu-offerte-layout {
  display: grid !important;
  grid-template-columns: 220px 1fr 1fr 1fr !important;
  gap: 0 !important;
}
.megamenu-offerte .megamenu-col-featured {
  background: linear-gradient(135deg, #FFF7ED 0%, #FFEDD5 100%);
  border-radius: 8px 0 0 8px;
  padding: 20px 16px !important;
}
.megamenu-offerte .megamenu-col-featured .megamenu-col-title { border-bottom-color: #963B1A; }
.megamenu-offerte .megamenu-col-featured .megamenu-col-title a { color: #963B1A; }

/* Offerte cards */
.offerte-card-1 { background: #963B1A; color: #fff !important; }
.offerte-card-1:hover { background: #c45a3f; color: #fff !important; }
.offerte-card-2 { background: #9E693F; color: #fff !important; }  /* FIX-UI-51: was #F4A261 (2.06:1) → 4.62:1 */
.offerte-card-2:hover { background: #8B5D37; color: #fff !important; }
.offerte-card-3 { background: #a61d1d; color: #fff !important; }
.offerte-card-3:hover { background: #B91C1C; color: #fff !important; }

/* ============================================================
   MEGAMENU: BLOG/NEWS - Sky blue theme with featured column
   ============================================================ */
.megamenu-blog { border-top-color: #0EA5E9; }
.megamenu-blog .megamenu-col-title a { color: #0EA5E9; }
.megamenu-blog .megamenu-col-title { border-bottom-color: #0EA5E9; }
.megamenu-blog .megamenu-quicklink.highlight { color: #0EA5E9; }
.megamenu-blog .megamenu-quicklink.highlight:hover { color: #0284C7; }
.megamenu-blog .megamenu-col ul li a:hover { color: #0EA5E9 !important; }

/* Blog layout: 4 columns with featured */
.megamenu-blog-layout {
  display: grid !important;
  grid-template-columns: 220px 1fr 1fr 1.5fr !important;
  gap: 0 !important;
}
.megamenu-blog .megamenu-col-featured {
  background: linear-gradient(135deg, #F0F9FF 0%, #E0F2FE 100%);
  border-radius: 8px 0 0 8px;
  padding: 20px 16px !important;
}
.megamenu-blog .megamenu-col-featured .megamenu-col-title { border-bottom-color: #0EA5E9; }
.megamenu-blog .megamenu-col-featured .megamenu-col-title a { color: #0EA5E9; }

/* Blog cards */
.blog-card-1 { background: #0B7CB0; color: #fff !important; }  /* FIX-UI-51: was #0EA5E9 (2.77:1) → 4.64:1 */
.blog-card-1:hover { background: #096E9B; color: #fff !important; }
.blog-card-2 { background: #087a70; color: #fff !important; }
.blog-card-2:hover { background: #0F766E; color: #fff !important; }
.blog-card-3 { background: #6264ED; color: #fff !important; }  /* FIX-UI-51: was #6366F1 (4.47:1) → 4.60:1 */
.blog-card-3:hover { background: #4F46E5; color: #fff !important; }

/* Recent posts styling */
.megamenu-recent-posts li {
  padding: 5px 0 !important;
  border-bottom: 1px solid #f5f5f5;
}
.megamenu-recent-posts li:last-child {
  border-bottom: none;
}
.megamenu-recent-posts li a {
  font-size: 13px !important;
  line-height: 1.4;
  color: #444;
}
.megamenu-recent-posts li a:hover {
  color: #0EA5E9;
}

/* ============================================================
   MEGAMENU: RIFUGI / SHELTER CONNECT - Azure Blue theme
   color: var(--color-primary, #065282) (azure blue) — matches Shelter Connect plugin
   ============================================================ */
.megamenu-rifugi { border-top-color: #085d91; }
.megamenu-rifugi .megamenu-col-title a { color: var(--color-primary, #065282); }
.megamenu-rifugi .megamenu-col-title { border-bottom-color: #085d91; }
.megamenu-rifugi .megamenu-quicklink.highlight { color: var(--color-primary, #065282); }
.megamenu-rifugi .megamenu-quicklink.highlight:hover { color: #1a4030; }
.megamenu-rifugi .megamenu-col ul li a:hover { color: var(--color-primary, #065282) !important; }

/* Grid: featured sidebar (220px) + 3 equal columns */
.megamenu-rifugi-layout {
  display: grid !important;
  grid-template-columns: 220px 1fr 1fr 1fr !important;
  gap: 0 !important;
}

/* Featured column: green gradient background */
.megamenu-rifugi .megamenu-col-featured {
  background: linear-gradient(135deg, #edf7f0 0%, #d4edda 100%);
  border-radius: 8px 0 0 8px;
  padding: 20px 16px !important;
}
.megamenu-rifugi .megamenu-col-featured .megamenu-col-title { border-bottom-color: #085d91; }
.megamenu-rifugi .megamenu-col-featured .megamenu-col-title a { color: var(--color-primary, #065282); }

/* Featured cards: green/orange/gold palette */
.megamenu-rifugi .megamenu-featured-card.rifugi-card-1 { background: #085d91 !important; color: #fff !important; }  /* FIX-UI-51: was #085d91 (3.0:1) → 4.60:1 */
.megamenu-rifugi .megamenu-featured-card.rifugi-card-1:hover { background: #0C6CA4 !important; color: #fff !important; }  /* was #1a4030 (wrong hue: green→blue) */
.megamenu-rifugi .megamenu-featured-card.rifugi-card-2 { background: #963B1A !important; color: #fff !important; }
.megamenu-rifugi .megamenu-featured-card.rifugi-card-2:hover { background: #d4593e !important; color: #fff !important; }
.megamenu-rifugi .megamenu-featured-card.rifugi-card-3 { background: #9E693F !important; color: #fff !important; }  /* FIX-UI-51: was #F4A261 (2.06:1) → 4.62:1 */
.megamenu-rifugi .megamenu-featured-card.rifugi-card-3:hover { background: #8B5D37 !important; color: #fff !important; }

/* ============================================================
   MEGAMENU: NARROW DESKTOP PROTECTION (992-1199px)
   Prevent megamenu grid overflow on narrow desktop/tablet landscape
   ============================================================ */
@media screen and (min-width: 992px) and (max-width: 1199px) {
  .alandog-megamenu .megamenu-inner,
  .megamenu-cani-layout,
  .megamenu-gatti-layout,
  .megamenu-offerte-layout,
  .megamenu-brand-layout,
  .megamenu-blog-layout,
  .megamenu-rifugi-layout {
    grid-template-columns: 180px 1fr 1fr 1fr !important;
  }
  .megamenu-col-featured {
    padding: 16px 12px !important;
  }
}

/* ============================================================
   DROPDOWN OVERFLOW FIX (2026-03-07)
   ROOT CAUSE: Parent theme .martfury-container has overflow:hidden
   which clips all absolutely-positioned dropdown menus in the header.
   Also: parent theme clips .menu-item-account>a to 24x30px.
   ============================================================ */

/* Fix A: Override overflow:hidden on .martfury-container ONLY inside
   the header so dropdowns can escape the container bounds */
.header-layout-3 .header-main-wapper .martfury-container {
  overflow: visible !important;
}

/* Fix B: Override parent theme clipping on account link (guest state).
   Parent theme sets overflow:hidden + width:24px + height:30px on
   .menu-item-account>a, hiding the "Accedi" text label. */
.header-layout-3 .site-header .extras-menu .menu-item-account > a {
  overflow: visible !important;
  width: auto !important;
  height: auto !important;
}

/* Fix C: Bridge hover gap — transparent border-top on dropdown panels
   so the mouse can travel from the trigger to the dropdown without
   losing :hover (same technique as native Martfury dropdowns).
   pointer-events:none when hidden prevents the transparent border-top
   from intercepting hover events on the nav bar below. */
.alandog-lang-dropdown {
  border-top: 18px solid transparent !important;
  margin-top: 0 !important;
  background-clip: padding-box !important;
  pointer-events: none;
}
.alandog-lang-switcher:hover .alandog-lang-dropdown {
  pointer-events: auto;
}
.alandog-supporto-dropdown {
  border-top: 18px solid transparent !important;
  margin-top: 0 !important;
  background-clip: padding-box !important;
  pointer-events: none;
}
.alandog-supporto-switcher:hover .alandog-supporto-dropdown {
  pointer-events: auto;
}
.header-layout-3 .extras-menu .menu-item-account.logined > ul {
  border-top: 18px solid transparent !important;
  margin-top: 0 !important;
  background-clip: padding-box !important;
  pointer-events: none;
}
.header-layout-3 .extras-menu .menu-item-account.logined:hover > ul {
  pointer-events: auto;
}

/* Fix D: Ensure .row.header-row and .header-extras do not clip overflow */
.header-layout-3 .header-main .row.header-row {
  overflow: visible !important;
}
.header-layout-3 .header-extras {
  overflow: visible !important;
}
.header-layout-3 .header-extras .extras-menu {
  overflow: visible !important;
}
.header-layout-3 .header-extras .extras-menu > li {
  overflow: visible !important;
}


/* ================================================================
   ================================================================
   ALANDOG DESIGN SYSTEM — Component Library v8.0.0
   Internal Pages: Account, Support, Brand, Components
   Date: 2026-03-07

   INDEX:
     1.  Page Hero (.alandog-page-hero)
     2.  Card (.alandog-card) + Card Grid (.alandog-card-grid)
     3.  Accordion (.alandog-accordion)
     4.  Trust Strip (.alandog-trust-strip)
     5.  Stat Number (.alandog-stat-number)
     6.  Step Process (.alandog-step-process)
     7.  Form Modern (.alandog-form-modern)
     8.  Sidebar Menu (.alandog-sidebar-menu)
     9.  Badge (.alandog-badge)
     10. Timeline (.alandog-timeline)
     11. CTA Banner (.alandog-cta-banner)
     12. Search Box (.alandog-search-box)
     13. Table Modern (.alandog-table-modern)
     14. Section Header (.alandog-section-header)
     15. Buttons (.alandog-btn)
     16. Skeleton Loader (.alandog-skeleton)
     17. Scroll Reveal (.alandog-reveal)
     18. Layout Account
     19. Responsive Utilities
     20. Animations & Keyframes
   ================================================================
   ================================================================ */


/* ============================================
   1. COMPONENT: Page Hero
   Usage: Header per tutte le pagine interne
   ============================================ */
.alandog-page-hero {
  position: relative;
  padding: var(--space-3xl) 0 var(--space-2xl);
  background: linear-gradient(135deg, #F8FAFC 0%, #EFF6FF 50%, #F0FDFA 100%);
  border-bottom: 1px solid var(--info-border);
  overflow: hidden;
}

.alandog-page-hero::before {
  content: "";
  position: absolute;
  top: -60%;
  right: -10%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(18,156,237,0.06) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.alandog-page-hero .container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-pad);
  position: relative;
  z-index: 1;
}

.alandog-page-hero__breadcrumb {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  color: var(--color-muted);
  margin-bottom: var(--space-md);
  flex-wrap: wrap;
}

.alandog-page-hero__breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.alandog-page-hero__breadcrumb a:hover {
  color: var(--color-primary);
}

.alandog-page-hero__breadcrumb .separator {
  color: #D1D5DB;
  font-size: 10px;
}

.alandog-page-hero__breadcrumb .current {
  color: var(--color-text);
  font-weight: 500;
}

.alandog-page-hero__title {
  font-family: var(--font-heading);
  font-size: var(--text-4xl);
  font-weight: 800;
  color: var(--color-text);
  line-height: var(--leading-tight);
  margin: 0 0 var(--space-sm) 0;
}

.alandog-page-hero__subtitle {
  font-family: var(--font-body);
  font-size: var(--text-lg);
  color: var(--color-muted);
  line-height: var(--leading-relaxed);
  margin: 0;
  max-width: 600px;
}

/* Variante: Account */
.alandog-page-hero--account {
  background: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%);
  border-bottom-color: var(--account-sidebar-border);
}

/* Variante: Support */
.alandog-page-hero--support {
  background: linear-gradient(135deg, #F0FDFA 0%, #CCFBF1 100%);
  border-bottom-color: var(--faq-border);
}

/* Variante: PiuCane */
.alandog-page-hero--piucane {
  background: var(--piucane-gradient);
  border-bottom: none;
}

.alandog-page-hero--piucane .alandog-page-hero__title,
.alandog-page-hero--piucane .alandog-page-hero__subtitle,
.alandog-page-hero--piucane .alandog-page-hero__breadcrumb,
.alandog-page-hero--piucane .alandog-page-hero__breadcrumb a,
.alandog-page-hero--piucane .alandog-page-hero__breadcrumb .current {
  color: #FFFFFF;
}

.alandog-page-hero--piucane .alandog-page-hero__breadcrumb .separator {
  color: rgba(255,255,255,0.5);
}

.alandog-page-hero--piucane .alandog-page-hero__breadcrumb a:hover {
  color: var(--color-secondary);
}

/* Variante: PiuGatto */
.alandog-page-hero--piugatto {
  background: var(--piugatto-gradient);
  border-bottom: none;
}

.alandog-page-hero--piugatto .alandog-page-hero__title,
.alandog-page-hero--piugatto .alandog-page-hero__subtitle,
.alandog-page-hero--piugatto .alandog-page-hero__breadcrumb,
.alandog-page-hero--piugatto .alandog-page-hero__breadcrumb a,
.alandog-page-hero--piugatto .alandog-page-hero__breadcrumb .current {
  color: #FFFFFF;
}

/* Variante: Extreme Power */
.alandog-page-hero--extreme {
  background: var(--extreme-gradient);
  border-bottom: none;
}

.alandog-page-hero--extreme .alandog-page-hero__title,
.alandog-page-hero--extreme .alandog-page-hero__subtitle,
.alandog-page-hero--extreme .alandog-page-hero__breadcrumb,
.alandog-page-hero--extreme .alandog-page-hero__breadcrumb a,
.alandog-page-hero--extreme .alandog-page-hero__breadcrumb .current {
  color: #FFFFFF;
}

@media (max-width: 767px) {
  .alandog-page-hero {
    padding: var(--space-xl) 0 var(--space-lg);
  }
  .alandog-page-hero__title {
    font-size: var(--text-2xl);
  }
  .alandog-page-hero__subtitle {
    font-size: var(--text-base);
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .alandog-page-hero__title {
    font-size: var(--text-3xl);
  }
}


/* ============================================
   2. COMPONENT: Card + Card Grid
   Varianti: default, info, cta, stat, brand
   ============================================ */
.alandog-card {
  background: var(--account-card-bg);
  border: 1px solid var(--info-border);
  border-radius: var(--card-radius);
  padding: var(--space-lg);
  box-shadow: var(--card-shadow);
  transition: box-shadow var(--transition-base), transform var(--transition-base);
  position: relative;
  overflow: hidden;
}

.alandog-card:hover {
  box-shadow: var(--card-shadow-md);
}

.alandog-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: var(--radius-md);
  background: var(--account-stat-bg);
  color: var(--account-accent);
  margin-bottom: var(--space-md);
  flex-shrink: 0;
}

.alandog-card__icon svg {
  width: 24px;
  height: 24px;
}

.alandog-card__title {
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  font-weight: 700;
  color: var(--color-text);
  margin: 0 0 var(--space-sm) 0;
  line-height: var(--leading-tight);
}

.alandog-card__text {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  color: var(--color-muted);
  line-height: var(--leading-relaxed);
  margin: 0;
}

.alandog-card__link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--account-accent);
  text-decoration: none;
  margin-top: var(--space-md);
  transition: color var(--transition-fast), gap var(--transition-fast);
}

.alandog-card__link:hover {
  color: var(--account-accent-hover);
  gap: var(--space-sm);
}

.alandog-card__link::after {
  content: "\2192";
  font-size: var(--text-base);
  transition: transform var(--transition-fast);
}

.alandog-card__link:hover::after {
  transform: translateX(2px);
}

/* Variante: clickable (intera card cliccabile) */
.alandog-card--clickable {
  cursor: pointer;
}

.alandog-card--clickable:hover {
  transform: translateY(-2px);
  box-shadow: var(--card-shadow-lg);
}

/* Variante: info (supporto/FAQ) */
.alandog-card--info {
  border-left: 4px solid var(--support-accent);
}

.alandog-card--info .alandog-card__icon {
  background: var(--contact-icon-bg);
  color: var(--support-accent);
}

.alandog-card--info .alandog-card__link {
  color: var(--support-accent);
}

.alandog-card--info .alandog-card__link:hover {
  color: var(--support-accent-hover);
}

/* Variante: CTA (call to action) */
.alandog-card--cta {
  background: var(--piucane-light);
  border: 2px solid var(--piucane-primary);
}

.alandog-card--cta .alandog-card__icon {
  background: var(--piucane-primary);
  color: #FFFFFF;
}

.alandog-card--cta .alandog-card__link {
  color: var(--piucane-primary);
}

.alandog-card--cta .alandog-card__link:hover {
  color: var(--piucane-dark);
}

/* Variante: stat (statistiche) */
.alandog-card--stat {
  text-align: center;
  padding: var(--space-xl) var(--space-lg);
}

.alandog-card--stat .alandog-card__icon {
  margin: 0 auto var(--space-md);
}

/* Variante: brand PiuCane */
.alandog-card--piucane {
  background: linear-gradient(135deg, #FFF7ED 0%, #FDEBE6 100%);
  border-color: rgba(231,111,81,0.2);
}

/* Variante: brand PiuGatto */
.alandog-card--piugatto {
  background: linear-gradient(135deg, #FAF5FF 0%, #EDE9FE 100%);
  border-color: rgba(124,58,237,0.2);
}

/* Variante: brand Extreme */
.alandog-card--extreme {
  background: linear-gradient(135deg, #FEF2F2 0%, #FEE2E2 100%);
  border-color: rgba(220,38,38,0.2);
}

@media (max-width: 767px) {
  .alandog-card {
    padding: var(--space-md);
  }
  .alandog-card__icon {
    width: 40px;
    height: 40px;
  }
  .alandog-card__icon svg {
    width: 20px;
    height: 20px;
  }
}

/* --- Card Grid --- */
.alandog-card-grid {
  display: grid;
  gap: var(--space-lg);
  width: 100%;
}

.alandog-card-grid--2 {
  grid-template-columns: repeat(2, 1fr);
}

.alandog-card-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}

.alandog-card-grid--4 {
  grid-template-columns: repeat(4, 1fr);
}

.alandog-card-grid--auto {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

@media (max-width: 767px) {
  .alandog-card-grid--2,
  .alandog-card-grid--3,
  .alandog-card-grid--4 {
    grid-template-columns: 1fr;
  }
  .alandog-card-grid--auto {
    grid-template-columns: 1fr;
  }
  .alandog-card-grid--2-mobile {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-md);
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .alandog-card-grid--3,
  .alandog-card-grid--4 {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* ============================================
   3. COMPONENT: Accordion
   Usage: FAQ, resi, sezioni espandibili
   ============================================ */
.alandog-accordion {
  border: 1px solid var(--info-border);
  border-radius: var(--card-radius);
  overflow: hidden;
  background: var(--account-card-bg);
}

.alandog-accordion + .alandog-accordion {
  margin-top: -1px;
}

.alandog-accordion-group {
  border: 1px solid var(--info-border);
  border-radius: var(--card-radius);
  overflow: hidden;
  background: var(--account-card-bg);
}

.alandog-accordion-group .alandog-accordion {
  border: none;
  border-radius: 0;
  border-bottom: 1px solid var(--info-border);
}

.alandog-accordion-group .alandog-accordion:last-child {
  border-bottom: none;
}

.alandog-accordion__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: var(--space-md) var(--space-lg);
  background: transparent;
  border: none;
  cursor: pointer;
  font-family: var(--font-heading);
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--color-text);
  text-align: left;
  line-height: var(--leading-normal);
  transition: background var(--transition-fast), color var(--transition-fast);
  gap: var(--space-md);
}

.alandog-accordion__header:hover {
  background: var(--faq-hover);
}

.alandog-accordion__header:focus-visible {
  outline: 2px solid var(--support-accent);
  outline-offset: -2px;
}

.alandog-accordion__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--info-bg);
  transition: transform var(--transition-base), background var(--transition-base);
}

.alandog-accordion__icon svg {
  width: 14px;
  height: 14px;
  color: var(--color-muted);
  transition: color var(--transition-fast);
}

/* Stato aperto */
.alandog-accordion.is-open .alandog-accordion__header {
  background: var(--faq-hover);
  color: var(--support-accent);
}

.alandog-accordion.is-open .alandog-accordion__icon {
  transform: rotate(180deg);
  background: var(--contact-icon-bg);
}

.alandog-accordion.is-open .alandog-accordion__icon svg {
  color: var(--support-accent);
}

.alandog-accordion__body {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--transition-slow) ease-out;
}

.alandog-accordion.is-open .alandog-accordion__body {
  max-height: 1000px;
  transition: max-height 0.5s ease-in;
}

.alandog-accordion__content {
  padding: 0 var(--space-lg) var(--space-lg);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  color: var(--color-muted);
  line-height: var(--leading-relaxed);
}

.alandog-accordion__content p {
  margin: 0 0 var(--space-sm) 0;
}

.alandog-accordion__content p:last-child {
  margin-bottom: 0;
}

.alandog-accordion__content a {
  color: var(--support-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.alandog-accordion__content a:hover {
  color: var(--support-accent-hover);
}

.alandog-accordion__content ul,
.alandog-accordion__content ol {
  margin: var(--space-sm) 0;
  padding-left: var(--space-lg);
}

.alandog-accordion__content li {
  margin-bottom: var(--space-xs);
}

/* Accordion con categorie */
.alandog-accordion-category {
  margin-bottom: var(--space-xl);
}

.alandog-accordion-category__title {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--color-text);
  margin: 0 0 var(--space-md) 0;
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

.alandog-accordion-category__count {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--support-accent);
  background: var(--contact-icon-bg);
  padding: 2px 8px;
  border-radius: 99px;
}

@media (max-width: 767px) {
  .alandog-accordion__header {
    padding: var(--space-md);
    font-size: var(--text-sm);
  }
  .alandog-accordion__content {
    padding: 0 var(--space-md) var(--space-md);
  }
}


/* ============================================
   4. COMPONENT: Trust Strip
   Usage: Barra trust orizzontale per pagine interne
   ============================================ */
.alandog-trust-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xl);
  padding: var(--space-md) var(--space-lg);
  background: var(--info-bg);
  border: 1px solid var(--info-border);
  border-radius: var(--card-radius);
  flex-wrap: wrap;
}

.alandog-trust-strip__item {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text);
  white-space: nowrap;
}

.alandog-trust-strip__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--color-forest);
  color: #FFFFFF;
  flex-shrink: 0;
}

.alandog-trust-strip__icon svg {
  width: 16px;
  height: 16px;
}

/* Variante: Full-width (sotto gli hero) */
.alandog-trust-strip--full {
  border-radius: 0;
  border-left: none;
  border-right: none;
}

/* Variante: Compatta (in card o form) */
.alandog-trust-strip--compact {
  gap: var(--space-md);
  padding: var(--space-sm) var(--space-md);
  font-size: var(--text-xs);
}

.alandog-trust-strip--compact .alandog-trust-strip__icon {
  width: 24px;
  height: 24px;
}

.alandog-trust-strip--compact .alandog-trust-strip__icon svg {
  width: 12px;
  height: 12px;
}

/* Variante: Verde (PiuCane brand) */
.alandog-trust-strip--green {
  background: rgba(18,156,237,0.05);
  border-color: rgba(18,156,237,0.15);
}

@media (max-width: 767px) {
  .alandog-trust-strip {
    gap: var(--space-md);
    padding: var(--space-md);
  }
  .alandog-trust-strip__item {
    flex: 0 0 calc(50% - var(--space-md));
    font-size: var(--text-xs);
  }
  .alandog-trust-strip__icon {
    width: 28px;
    height: 28px;
  }
}


/* ============================================
   5. COMPONENT: Stat Number
   Usage: Statistiche dashboard, chi siamo
   ============================================ */
.alandog-stat-number {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--space-lg);
}

.alandog-stat-number__value {
  font-family: var(--font-heading);
  font-size: var(--text-4xl);
  font-weight: 800;
  color: var(--color-primary);
  line-height: 1;
  margin-bottom: var(--space-xs);
}

.alandog-stat-number__label {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.alandog-stat-number__sublabel {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  color: var(--color-muted);
  margin-top: var(--space-xs);
}

/* Varianti colore */
.alandog-stat-number--forest .alandog-stat-number__value {
  color: var(--color-forest);
}

.alandog-stat-number--cta .alandog-stat-number__value {
  color: var(--color-cta);
}

.alandog-stat-number--gold .alandog-stat-number__value {
  color: var(--color-secondary);
}

/* Variante: inline (orizzontale) */
.alandog-stat-number--inline {
  flex-direction: row;
  align-items: baseline;
  gap: var(--space-sm);
  text-align: left;
}

/* Variante: con sfondo */
.alandog-stat-number--bg {
  background: var(--account-stat-bg);
  border-radius: var(--card-radius);
}

/* Griglia di stat */
.alandog-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: var(--space-md);
}

/* Divisore tra stat orizzontali */
.alandog-stat-grid--divided .alandog-stat-number {
  position: relative;
}

.alandog-stat-grid--divided .alandog-stat-number:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 25%;
  height: 50%;
  width: 1px;
  background: var(--info-border);
}

@media (max-width: 767px) {
  .alandog-stat-number__value {
    font-size: var(--text-2xl);
  }
  .alandog-stat-grid--divided .alandog-stat-number:not(:last-child)::after {
    display: none;
  }
}


/* ============================================
   6. COMPONENT: Step Process
   Usage: Reso, spedizioni, programma punti
   ============================================ */
.alandog-step-process {
  display: flex;
  align-items: flex-start;
  gap: 0;
  position: relative;
  padding: var(--space-lg) 0;
}

.alandog-step-process__step {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  padding: 0 var(--space-md);
}

/* Connector line between steps */
.alandog-step-process__step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 24px;
  left: calc(50% + 28px);
  width: calc(100% - 56px);
  height: 2px;
  background: var(--info-border);
}

.alandog-step-process__number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--color-primary);
  color: #FFFFFF;
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: 700;
  margin-bottom: var(--space-md);
  position: relative;
  z-index: 1;
  box-shadow: 0 2px 8px rgba(18,156,237,0.25);
}

.alandog-step-process__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--account-stat-bg);
  color: var(--color-primary);
  margin-bottom: var(--space-md);
  position: relative;
  z-index: 1;
}

.alandog-step-process__icon svg {
  width: 24px;
  height: 24px;
}

.alandog-step-process__title {
  font-family: var(--font-heading);
  font-size: var(--text-base);
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: var(--space-xs);
}

.alandog-step-process__text {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  color: var(--color-muted);
  line-height: var(--leading-relaxed);
  max-width: 200px;
}

/* Varianti colore */
.alandog-step-process--support .alandog-step-process__number {
  background: var(--support-accent);
  box-shadow: 0 2px 8px rgba(13,148,136,0.25);
}

.alandog-step-process--cta .alandog-step-process__number {
  background: var(--color-cta);
  box-shadow: 0 2px 8px rgba(231,111,81,0.25);
}

.alandog-step-process--forest .alandog-step-process__number {
  background: var(--color-forest);
  box-shadow: 0 2px 8px rgba(18,156,237,0.25);
}

/* Step completato */
.alandog-step-process__step.is-complete .alandog-step-process__number {
  background: var(--color-success);
  box-shadow: 0 2px 8px rgba(5,150,105,0.25);
}

.alandog-step-process__step.is-complete::after {
  background: var(--color-success);
}

/* Step attivo */
.alandog-step-process__step.is-active .alandog-step-process__number {
  box-shadow: 0 0 0 4px rgba(18,156,237,0.2), 0 2px 8px rgba(18,156,237,0.25);
}

/* Step futuro (disabilitato) */
.alandog-step-process__step.is-disabled .alandog-step-process__number {
  background: var(--info-border);
  color: var(--color-muted);
  box-shadow: none;
}

.alandog-step-process__step.is-disabled .alandog-step-process__title {
  color: var(--color-muted);
}

@media (max-width: 767px) {
  .alandog-step-process {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-lg);
  }
  .alandog-step-process__step {
    flex-direction: row;
    text-align: left;
    align-items: flex-start;
    padding: 0;
    gap: var(--space-md);
  }
  .alandog-step-process__step:not(:last-child)::after {
    top: 48px;
    left: 23px;
    width: 2px;
    height: calc(100% + var(--space-lg) - 48px);
  }
  .alandog-step-process__number,
  .alandog-step-process__icon {
    flex-shrink: 0;
    margin-bottom: 0;
  }
  .alandog-step-process__text {
    max-width: none;
  }
}


/* ============================================
   7. COMPONENT: Modern Form
   Usage: Contatti, pet profile, reso, account
   ============================================ */
.alandog-form-modern {
  font-family: var(--font-body);
}

.alandog-form-modern fieldset {
  border: none;
  padding: 0;
  margin: 0 0 var(--space-xl) 0;
}

.alandog-form-modern legend {
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  font-weight: 700;
  color: var(--color-text);
  padding: 0;
  margin-bottom: var(--space-md);
  width: 100%;
  border-bottom: 2px solid var(--info-border);
  padding-bottom: var(--space-sm);
}

.alandog-form-modern .form-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}

.alandog-form-modern .form-row--single {
  grid-template-columns: 1fr;
}

.alandog-form-modern .form-row--three {
  grid-template-columns: repeat(3, 1fr);
}

.alandog-form-modern .form-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.alandog-form-modern label {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text);
}

.alandog-form-modern label .required {
  color: var(--color-error);
  margin-left: 2px;
}

.alandog-form-modern input[type="text"],
.alandog-form-modern input[type="email"],
.alandog-form-modern input[type="tel"],
.alandog-form-modern input[type="number"],
.alandog-form-modern input[type="password"],
.alandog-form-modern input[type="url"],
.alandog-form-modern input[type="date"],
.alandog-form-modern input[type="search"],
.alandog-form-modern textarea,
.alandog-form-modern select {
  width: 100%;
  padding: 10px 14px;
  font-family: var(--font-body);
  font-size: var(--text-base);
  color: var(--color-text);
  background: var(--input-bg);
  border: 1.5px solid var(--input-border);
  border-radius: var(--input-radius);
  outline: none;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
  -webkit-appearance: none;
  appearance: none;
}

.alandog-form-modern input:focus,
.alandog-form-modern textarea:focus,
.alandog-form-modern select:focus {
  border-color: var(--input-border-focus);
  box-shadow: var(--input-shadow-focus);
}

.alandog-form-modern input::placeholder,
.alandog-form-modern textarea::placeholder {
  color: #495260;
  font-weight: 400;
}

.alandog-form-modern textarea {
  min-height: 120px;
  resize: vertical;
}

.alandog-form-modern select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 8L1 3h10z' fill='%236B7280'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 36px;
  cursor: pointer;
}

/* File input */
.alandog-form-modern input[type="file"] {
  padding: var(--space-md);
  border: 2px dashed var(--input-border);
  border-radius: var(--input-radius);
  background: var(--info-bg);
  cursor: pointer;
  font-size: var(--text-sm);
}

.alandog-form-modern input[type="file"]:hover {
  border-color: var(--color-primary);
  background: var(--account-stat-bg);
}

/* Checkbox / Radio */
.alandog-form-modern input[type="checkbox"],
.alandog-form-modern input[type="radio"] {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--color-primary);
  cursor: pointer;
}

.alandog-form-modern .checkbox-label,
.alandog-form-modern .radio-label {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-weight: 400;
  cursor: pointer;
}

/* Hint text */
.alandog-form-modern .form-hint {
  font-size: var(--text-xs);
  color: var(--color-muted);
  margin-top: 2px;
}

/* Errore validazione */
.alandog-form-modern .form-error {
  font-size: var(--text-xs);
  color: var(--color-error);
  margin-top: 2px;
}

.alandog-form-modern input.has-error,
.alandog-form-modern textarea.has-error,
.alandog-form-modern select.has-error {
  border-color: var(--color-error);
  box-shadow: 0 0 0 3px rgba(220,38,38,0.1);
}

/* Submit button */
.alandog-form-modern .form-submit {
  margin-top: var(--space-lg);
}

.alandog-form-modern .btn-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: 12px 32px;
  font-family: var(--font-heading);
  font-size: var(--text-base);
  font-weight: 700;
  color: #FFFFFF;
  background: var(--color-cta);
  border: none;
  border-radius: var(--input-radius);
  cursor: pointer;
  transition: background var(--transition-fast), transform var(--transition-fast);
  min-width: 180px;
}

.alandog-form-modern .btn-submit:hover {
  background: var(--color-cta-hover);
  transform: translateY(-1px);
}

.alandog-form-modern .btn-submit:active {
  transform: translateY(0);
}

.alandog-form-modern .btn-submit:disabled {
  background: #495260;
  cursor: not-allowed;
  transform: none;
}

/* Secondary button in form */
.alandog-form-modern .btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: 10px 24px;
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text);
  background: transparent;
  border: 1.5px solid var(--input-border);
  border-radius: var(--input-radius);
  cursor: pointer;
  transition: border-color var(--transition-fast), background var(--transition-fast);
}

.alandog-form-modern .btn-secondary:hover {
  border-color: var(--color-text);
  background: var(--info-bg);
}

@media (max-width: 767px) {
  .alandog-form-modern .form-row,
  .alandog-form-modern .form-row--three {
    grid-template-columns: 1fr;
  }
  .alandog-form-modern .btn-submit {
    width: 100%;
  }
}


/* ============================================
   8. COMPONENT: Sidebar Menu
   Usage: Menu navigazione area account
   ============================================ */
.alandog-sidebar-menu {
  background: var(--account-card-bg);
  border: 1px solid var(--info-border);
  border-radius: var(--card-radius);
  overflow: hidden;
  padding: var(--space-sm) 0;
}

.alandog-sidebar-menu__header {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-lg) var(--space-lg) var(--space-md);
  border-bottom: 1px solid var(--info-border);
  margin-bottom: var(--space-sm);
}

.alandog-sidebar-menu__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--account-avatar-bg);
  color: var(--account-accent);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: 700;
  flex-shrink: 0;
  overflow: hidden;
}

.alandog-sidebar-menu__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.alandog-sidebar-menu__name {
  font-family: var(--font-heading);
  font-size: var(--text-base);
  font-weight: 700;
  color: var(--color-text);
  line-height: var(--leading-tight);
}

.alandog-sidebar-menu__email {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  color: var(--color-muted);
  word-break: break-all;
}

.alandog-sidebar-menu__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.alandog-sidebar-menu__item {
  margin: 0;
}

.alandog-sidebar-menu__link {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: 10px var(--space-lg);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text);
  text-decoration: none;
  transition: background var(--transition-fast), color var(--transition-fast);
  border-left: 3px solid transparent;
}

.alandog-sidebar-menu__link:hover {
  background: var(--account-sidebar-bg);
  color: var(--account-accent);
}

.alandog-sidebar-menu__link.is-active {
  background: var(--account-sidebar-active);
  color: var(--account-accent);
  border-left-color: var(--account-accent);
  font-weight: 600;
}

.alandog-sidebar-menu__link-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--color-muted);
  transition: color var(--transition-fast);
}

.alandog-sidebar-menu__link-icon svg {
  width: 18px;
  height: 18px;
}

.alandog-sidebar-menu__link:hover .alandog-sidebar-menu__link-icon,
.alandog-sidebar-menu__link.is-active .alandog-sidebar-menu__link-icon {
  color: var(--account-accent);
}

/* Badge counter */
.alandog-sidebar-menu__badge {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  font-size: 11px;
  font-weight: 700;
  color: #FFFFFF;
  background: var(--account-accent);
  border-radius: 99px;
}

/* Divider tra gruppi */
.alandog-sidebar-menu__divider {
  height: 1px;
  background: var(--info-border);
  margin: var(--space-sm) var(--space-lg);
}

/* Footer menu (logout) */
.alandog-sidebar-menu__footer {
  border-top: 1px solid var(--info-border);
  margin-top: var(--space-sm);
  padding-top: var(--space-sm);
}

.alandog-sidebar-menu__link--logout {
  color: var(--color-error);
}

.alandog-sidebar-menu__link--logout:hover {
  background: var(--badge-error-bg);
  color: var(--color-error);
}

.alandog-sidebar-menu__link--logout .alandog-sidebar-menu__link-icon {
  color: var(--color-error);
}

/* Punti nel menu */
.alandog-sidebar-menu__points {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-md) var(--space-lg);
  background: var(--badge-points-bg);
  margin: var(--space-sm) var(--space-md);
  border-radius: var(--radius-sm);
}

.alandog-sidebar-menu__points-value {
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  font-weight: 800;
  color: var(--badge-points-text);
}

.alandog-sidebar-menu__points-label {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  color: var(--badge-points-text);
}

@media (max-width: 767px) {
  .alandog-sidebar-menu {
    border-radius: 0;
    border-left: none;
    border-right: none;
  }
}


/* ============================================
   9. COMPONENT: Badge
   Usage: Stato ordine, punti, tag, etichette
   ============================================ */
.alandog-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: 3px 10px;
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 600;
  line-height: 1.4;
  border-radius: 99px;
  white-space: nowrap;
}

.alandog-badge--success {
  background: var(--badge-success-bg);
  color: var(--badge-success-text);
}

.alandog-badge--warning {
  background: var(--badge-warning-bg);
  color: var(--badge-warning-text);
}

.alandog-badge--error {
  background: var(--badge-error-bg);
  color: var(--badge-error-text);
}

.alandog-badge--info {
  background: var(--badge-info-bg);
  color: var(--badge-info-text);
}

.alandog-badge--neutral {
  background: var(--badge-neutral-bg);
  color: var(--badge-neutral-text);
}

.alandog-badge--primary {
  background: var(--badge-primary-bg);
  color: var(--badge-primary-text);
}

.alandog-badge--piucane {
  background: var(--badge-piucane-bg);
  color: var(--badge-piucane-text);
}

.alandog-badge--points {
  background: var(--badge-points-bg);
  color: var(--badge-points-text);
}

/* Con dot indicatore */
.alandog-badge--dot::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}

/* Dimensione large */
.alandog-badge--lg {
  padding: 5px 14px;
  font-size: var(--text-sm);
}

/* Dimensione small */
.alandog-badge--sm {
  padding: 1px 6px;
  font-size: 10px;
}

/* Badge outline */
.alandog-badge--outline {
  background: transparent;
  border: 1.5px solid currentColor;
}

/* Badge mappato su WC order status */
.alandog-badge--wc-processing {
  background: var(--badge-info-bg);
  color: var(--badge-info-text);
}

.alandog-badge--wc-completed {
  background: var(--badge-success-bg);
  color: var(--badge-success-text);
}

.alandog-badge--wc-on-hold {
  background: var(--badge-warning-bg);
  color: var(--badge-warning-text);
}

.alandog-badge--wc-cancelled,
.alandog-badge--wc-refunded,
.alandog-badge--wc-failed {
  background: var(--badge-error-bg);
  color: var(--badge-error-text);
}

.alandog-badge--wc-pending {
  background: var(--badge-neutral-bg);
  color: var(--badge-neutral-text);
}


/* ============================================
   10. COMPONENT: Timeline
   Usage: Chi siamo (storia aziendale)
   ============================================ */
.alandog-timeline {
  position: relative;
  padding: var(--space-xl) 0;
}

/* Linea verticale */
.alandog-timeline::before {
  content: "";
  position: absolute;
  left: 24px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, transparent, var(--info-border) 5%, var(--info-border) 95%, transparent);
}

.alandog-timeline__item {
  position: relative;
  padding-left: 64px;
  padding-bottom: var(--space-xl);
}

.alandog-timeline__item:last-child {
  padding-bottom: 0;
}

.alandog-timeline__dot {
  position: absolute;
  left: 15px;
  top: 4px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--account-card-bg);
  border: 3px solid var(--color-primary);
  z-index: 1;
}

/* Dot milestone importante */
.alandog-timeline__item--highlight .alandog-timeline__dot {
  width: 24px;
  height: 24px;
  left: 13px;
  top: 2px;
  background: var(--color-primary);
  border-color: var(--color-primary);
  box-shadow: 0 0 0 4px rgba(18,156,237,0.15);
}

.alandog-timeline__year {
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  font-weight: 700;
  color: var(--color-primary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--space-xs);
}

.alandog-timeline__title {
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: var(--space-xs);
}

.alandog-timeline__text {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  color: var(--color-muted);
  line-height: var(--leading-relaxed);
}

.alandog-timeline__image {
  margin-top: var(--space-md);
  border-radius: var(--radius-md);
  overflow: hidden;
  max-width: 400px;
}

.alandog-timeline__image img {
  width: 100%;
  height: auto;
  display: block;
}

/* Variante: PiuCane milestones */
.alandog-timeline__item--piucane .alandog-timeline__dot {
  border-color: var(--color-forest);
}

.alandog-timeline__item--piucane.alandog-timeline__item--highlight .alandog-timeline__dot {
  background: var(--color-forest);
  border-color: var(--color-forest);
  box-shadow: 0 0 0 4px rgba(18,156,237,0.15);
}

.alandog-timeline__item--piucane .alandog-timeline__year {
  color: var(--color-forest);
}

/* Desktop: timeline centrata */
@media (min-width: 1025px) {
  .alandog-timeline--centered {
    padding-left: 0;
  }
  .alandog-timeline--centered::before {
    left: 50%;
    transform: translateX(-50%);
  }
  .alandog-timeline--centered .alandog-timeline__item {
    width: 50%;
    padding-left: 0;
    padding-right: 48px;
    text-align: right;
  }
  .alandog-timeline--centered .alandog-timeline__item:nth-child(even) {
    margin-left: 50%;
    padding-left: 48px;
    padding-right: 0;
    text-align: left;
  }
  .alandog-timeline--centered .alandog-timeline__dot {
    left: auto;
    right: -10px;
  }
  .alandog-timeline--centered .alandog-timeline__item:nth-child(even) .alandog-timeline__dot {
    left: -10px;
    right: auto;
  }
  .alandog-timeline--centered .alandog-timeline__item--highlight .alandog-timeline__dot {
    right: -12px;
  }
  .alandog-timeline--centered .alandog-timeline__item:nth-child(even).alandog-timeline__item--highlight .alandog-timeline__dot {
    left: -12px;
    right: auto;
  }
}

@media (max-width: 767px) {
  .alandog-timeline::before {
    left: 16px;
  }
  .alandog-timeline__item {
    padding-left: 44px;
  }
  .alandog-timeline__dot {
    left: 8px;
    width: 18px;
    height: 18px;
  }
  .alandog-timeline__item--highlight .alandog-timeline__dot {
    left: 6px;
    width: 22px;
    height: 22px;
  }
}


/* ============================================
   11. COMPONENT: CTA Banner
   Usage: Banner promozionale PiuCane in fondo pagine
   ============================================ */
.alandog-cta-banner {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--space-xl);
  padding: var(--space-xl) var(--space-2xl);
  background: var(--piucane-gradient);
  border-radius: var(--radius-lg);
  overflow: hidden;
  color: #FFFFFF;
}

.alandog-cta-banner::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -5%;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.alandog-cta-banner__content {
  flex: 1;
  position: relative;
  z-index: 1;
}

.alandog-cta-banner__eyebrow {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-secondary);
  margin-bottom: var(--space-xs);
}

.alandog-cta-banner__title {
  font-family: var(--font-heading);
  font-size: var(--text-2xl);
  font-weight: 800;
  color: #FFFFFF;
  margin: 0 0 var(--space-sm) 0;
  line-height: var(--leading-tight);
}

.alandog-cta-banner__text {
  font-family: var(--font-body);
  font-size: var(--text-base);
  color: rgba(255,255,255,0.85);
  margin: 0 0 var(--space-lg) 0;
  max-width: 500px;
  line-height: var(--leading-relaxed);
}

.alandog-cta-banner__btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  padding: 12px 28px;
  font-family: var(--font-heading);
  font-size: var(--text-base);
  font-weight: 700;
  color: var(--color-forest-dark);
  background: var(--color-secondary);
  border: none;
  border-radius: var(--input-radius);
  cursor: pointer;
  text-decoration: none;
  transition: background var(--transition-fast), transform var(--transition-fast);
}

.alandog-cta-banner__btn:hover {
  background: #FFFFFF;
  transform: translateY(-1px);
}

.alandog-cta-banner__btn:active {
  transform: translateY(0);
}

.alandog-cta-banner__image {
  flex-shrink: 0;
  width: 200px;
  position: relative;
  z-index: 1;
}

.alandog-cta-banner__image img {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.2));
}

/* Variante: Extreme Power */
.alandog-cta-banner--extreme {
  background: var(--extreme-gradient);
}

/* Variante: PiuGatto */
.alandog-cta-banner--piugatto {
  background: var(--piugatto-gradient);
}

/* Variante: compatta */
.alandog-cta-banner--compact {
  padding: var(--space-md) var(--space-lg);
  gap: var(--space-md);
}

.alandog-cta-banner--compact .alandog-cta-banner__title {
  font-size: var(--text-lg);
}

.alandog-cta-banner--compact .alandog-cta-banner__text {
  font-size: var(--text-sm);
  margin-bottom: var(--space-md);
}

.alandog-cta-banner--compact .alandog-cta-banner__image {
  width: 120px;
}

@media (max-width: 767px) {
  .alandog-cta-banner {
    flex-direction: column;
    padding: var(--space-lg);
    text-align: center;
  }
  .alandog-cta-banner__text {
    max-width: none;
  }
  .alandog-cta-banner__image {
    width: 150px;
    order: -1;
  }
  .alandog-cta-banner__btn {
    width: 100%;
    justify-content: center;
  }
}


/* ============================================
   12. COMPONENT: Search Box
   Usage: Barra ricerca FAQ, help center
   ============================================ */
.alandog-search-box {
  position: relative;
  max-width: 600px;
  margin: 0 auto;
}

.alandog-search-box__input {
  width: 100%;
  padding: 14px 48px 14px 20px;
  font-family: var(--font-body);
  font-size: var(--text-base);
  color: var(--color-text);
  background: var(--account-card-bg);
  border: 2px solid var(--info-border);
  border-radius: 99px;
  outline: none;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.alandog-search-box__input:focus {
  border-color: var(--support-accent);
  box-shadow: 0 0 0 4px rgba(13,148,136,0.1);
}

.alandog-search-box__input::placeholder {
  color: #495260;
}

.alandog-search-box__icon {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-muted);
  pointer-events: none;
}

.alandog-search-box__icon svg {
  width: 20px;
  height: 20px;
}

/* Con bottone */
.alandog-search-box--with-btn .alandog-search-box__input {
  padding-right: 120px;
}

.alandog-search-box__btn {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  padding: 8px 20px;
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  font-weight: 700;
  color: #FFFFFF;
  background: var(--support-accent);
  border: none;
  border-radius: 99px;
  cursor: pointer;
  transition: background var(--transition-fast);
}

.alandog-search-box__btn:hover {
  background: var(--support-accent-hover);
}

/* Risultati live */
.alandog-search-box__results {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  background: var(--account-card-bg);
  border: 1px solid var(--info-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow-lg);
  z-index: var(--z-dropdown);
  max-height: 320px;
  overflow-y: auto;
  display: none;
}

.alandog-search-box__results.is-visible {
  display: block;
}

.alandog-search-box__result-item {
  display: block;
  padding: var(--space-md) var(--space-lg);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  color: var(--color-text);
  text-decoration: none;
  border-bottom: 1px solid var(--info-border);
  transition: background var(--transition-fast);
  cursor: pointer;
}

.alandog-search-box__result-item:last-child {
  border-bottom: none;
}

.alandog-search-box__result-item:hover {
  background: var(--faq-hover);
}

.alandog-search-box__result-item mark {
  background: var(--contact-icon-bg);
  color: var(--support-accent);
  padding: 0 2px;
  border-radius: 2px;
}

.alandog-search-box__no-results {
  padding: var(--space-lg);
  text-align: center;
  font-size: var(--text-sm);
  color: var(--color-muted);
}

@media (max-width: 767px) {
  .alandog-search-box__input {
    font-size: var(--text-sm);
    padding: 12px 44px 12px 16px;
  }
}


/* ============================================
   13. COMPONENT: Modern Table
   Usage: Ordini, spedizioni, punti, confronti
   ============================================ */
.alandog-table-modern {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  background: var(--account-card-bg);
  border: 1px solid var(--info-border);
  border-radius: var(--card-radius);
  overflow: hidden;
}

.alandog-table-modern thead {
  background: var(--info-bg);
}

.alandog-table-modern th {
  padding: var(--space-md) var(--space-md);
  font-family: var(--font-heading);
  font-size: var(--text-xs);
  font-weight: 700;
  color: var(--color-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-align: left;
  border-bottom: 2px solid var(--info-border);
  white-space: nowrap;
}

.alandog-table-modern td {
  padding: var(--space-md);
  color: var(--color-text);
  border-bottom: 1px solid var(--info-border);
  vertical-align: middle;
}

.alandog-table-modern tbody tr:last-child td {
  border-bottom: none;
}

.alandog-table-modern tbody tr:hover {
  background: rgba(18,156,237,0.02);
}

/* Colonna azione */
.alandog-table-modern .col-action {
  text-align: right;
  white-space: nowrap;
}

.alandog-table-modern .table-link {
  color: var(--account-accent);
  text-decoration: none;
  font-weight: 600;
  font-size: var(--text-xs);
  transition: color var(--transition-fast);
}

.alandog-table-modern .table-link:hover {
  color: var(--account-accent-hover);
  text-decoration: underline;
}

/* Colonna prezzo */
.alandog-table-modern .col-price {
  font-weight: 600;
  font-family: var(--font-heading);
}

/* Responsive: stack su mobile */
@media (max-width: 767px) {
  .alandog-table-modern,
  .alandog-table-modern thead,
  .alandog-table-modern tbody,
  .alandog-table-modern th,
  .alandog-table-modern td,
  .alandog-table-modern tr {
    display: block;
  }

  .alandog-table-modern thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
  }

  .alandog-table-modern tbody tr {
    padding: var(--space-md);
    border-bottom: 1px solid var(--info-border);
    margin-bottom: 0;
  }

  .alandog-table-modern td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-sm) 0;
    border-bottom: 1px solid rgba(229,231,235,0.5);
    text-align: right;
  }

  .alandog-table-modern td:last-child {
    border-bottom: none;
  }

  .alandog-table-modern td::before {
    content: attr(data-label);
    font-weight: 600;
    color: var(--color-muted);
    text-transform: uppercase;
    font-size: var(--text-xs);
    letter-spacing: 0.03em;
    text-align: left;
    flex-shrink: 0;
    margin-right: var(--space-md);
  }

  .alandog-table-modern .col-action {
    justify-content: flex-end;
  }
}

/* Variante: striped */
.alandog-table-modern--striped tbody tr:nth-child(even) {
  background: var(--info-bg);
}

/* Variante: comparison */
.alandog-table-modern--comparison th:first-child,
.alandog-table-modern--comparison td:first-child {
  font-weight: 600;
  background: var(--info-bg);
  position: sticky;
  left: 0;
  z-index: 1;
}

.alandog-table-modern--comparison td.is-best {
  background: rgba(18,156,237,0.06);
  font-weight: 700;
  color: var(--color-forest);
}

/* Wrapper per scroll orizzontale */
.alandog-table-wrapper {
  overflow-x: auto;
  /* -webkit-overflow-scrolling removed: momentum scrolling is now default */
  border: 1px solid var(--info-border);
  border-radius: var(--card-radius);
}

.alandog-table-wrapper .alandog-table-modern {
  border: none;
  border-radius: 0;
}


/* ============================================
   14. COMPONENT: Section Header
   Usage: Titoli di sezione per pagine interne
   ============================================ */
.alandog-section-header {
  text-align: center;
  margin-bottom: var(--space-2xl);
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.alandog-section-header__eyebrow {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-primary);
  margin-bottom: var(--space-sm);
}

.alandog-section-header__title {
  font-family: var(--font-heading);
  font-size: var(--text-3xl);
  font-weight: 800;
  color: var(--color-text);
  line-height: var(--leading-tight);
  margin: 0 0 var(--space-sm) 0;
}

.alandog-section-header__subtitle {
  font-family: var(--font-body);
  font-size: var(--text-base);
  color: var(--color-muted);
  line-height: var(--leading-relaxed);
  margin: 0;
}

/* Variante: left-aligned */
.alandog-section-header--left {
  text-align: left;
  margin-left: 0;
  margin-right: 0;
}

/* Variante: colori area */
.alandog-section-header--support .alandog-section-header__eyebrow {
  color: var(--support-accent);
}

.alandog-section-header--account .alandog-section-header__eyebrow {
  color: var(--account-accent);
}

.alandog-section-header--piucane .alandog-section-header__eyebrow {
  color: var(--piucane-primary);
}

.alandog-section-header--forest .alandog-section-header__eyebrow {
  color: var(--color-forest);
}

/* Con underline decorativa */
.alandog-section-header--underline .alandog-section-header__title::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: var(--color-primary);
  margin: var(--space-md) auto 0;
  border-radius: 2px;
}

.alandog-section-header--underline.alandog-section-header--left .alandog-section-header__title::after {
  margin-left: 0;
}

@media (max-width: 767px) {
  .alandog-section-header__title {
    font-size: var(--text-2xl);
  }
  .alandog-section-header__subtitle {
    font-size: var(--text-sm);
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .alandog-section-header__title {
    font-size: var(--text-2xl);
  }
}


/* ============================================
   15. COMPONENT: Buttons
   Usage: CTA, azioni, link stilizzati
   ============================================ */
.alandog-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: 12px 28px;
  font-family: var(--font-heading);
  font-size: var(--text-base);
  font-weight: 700;
  border: none;
  border-radius: var(--input-radius);
  cursor: pointer;
  text-decoration: none;
  transition: background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
  line-height: var(--leading-normal);
}

.alandog-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.alandog-btn:active {
  transform: translateY(0);
  box-shadow: none;
}

.alandog-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* Primary: CTA orange */
.alandog-btn--primary {
  background: var(--color-cta);
  color: #FFFFFF;
}

.alandog-btn--primary:hover {
  background: var(--color-cta-hover);
}

/* Secondary: outlined */
.alandog-btn--secondary {
  background: transparent;
  color: var(--color-text);
  border: 1.5px solid var(--input-border);
}

.alandog-btn--secondary:hover {
  border-color: var(--color-text);
  background: var(--info-bg);
}

/* Outline: primary color outlined */
.alandog-btn--outline {
  background: transparent;
  color: var(--color-primary);
  border: 1.5px solid var(--color-primary);
}

.alandog-btn--outline:hover {
  background: var(--color-primary);
  color: #FFFFFF;
}

/* Forest green */
.alandog-btn--forest {
  background: var(--color-forest);
  color: #FFFFFF;
}

.alandog-btn--forest:hover {
  background: var(--color-forest-dark);
}

/* Support teal */
.alandog-btn--support {
  background: var(--support-accent);
  color: #FFFFFF;
}

.alandog-btn--support:hover {
  background: var(--support-accent-hover);
}

/* Account blue */
.alandog-btn--account {
  background: var(--account-accent);
  color: #FFFFFF;
}

.alandog-btn--account:hover {
  background: var(--account-accent-hover);
}

/* Ghost: text-only */
.alandog-btn--ghost {
  background: transparent;
  color: var(--color-primary);
  padding: 8px 16px;
}

.alandog-btn--ghost:hover {
  background: rgba(18,156,237,0.06);
  box-shadow: none;
}

/* Size variants */
.alandog-btn--sm {
  padding: 8px 18px;
  font-size: var(--text-sm);
}

.alandog-btn--lg {
  padding: 16px 36px;
  font-size: var(--text-lg);
}

/* Full-width */
.alandog-btn--full {
  width: 100%;
}

/* Icon-only */
.alandog-btn--icon {
  padding: 10px;
  min-width: 44px;
  min-height: 44px;
}

.alandog-btn--icon svg {
  width: 20px;
  height: 20px;
}

@media (max-width: 767px) {
  .alandog-btn--mobile-full {
    width: 100%;
  }
}


/* ============================================
   16. COMPONENT: Skeleton Loader
   Usage: Loading state per card, liste, dashboard
   ============================================ */
@keyframes alandog-shimmer {
  0% { background-position: -200px 0; }
  100% { background-position: 200px 0; }
}

.alandog-skeleton {
  background: linear-gradient(90deg, #F3F4F6 25%, #E5E7EB 50%, #F3F4F6 75%);
  background-size: 400px 100%;
  animation: alandog-shimmer 1.5s infinite;
  border-radius: var(--radius-sm);
}

.alandog-skeleton--text {
  height: 14px;
  margin-bottom: 8px;
  width: 80%;
}

.alandog-skeleton--title {
  height: 24px;
  margin-bottom: 12px;
  width: 60%;
}

.alandog-skeleton--avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
}

.alandog-skeleton--card {
  height: 120px;
}

.alandog-skeleton--btn {
  height: 44px;
  width: 160px;
  border-radius: var(--input-radius);
}


/* ============================================
   17. COMPONENT: Scroll Reveal
   Usage: Fade-in animation triggered by scroll (via JS IntersectionObserver)
   ============================================ */
.alandog-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.alandog-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Variante: from left */
.alandog-reveal--left {
  transform: translateX(-30px);
}

.alandog-reveal--left.is-visible {
  transform: translateX(0);
}

/* Variante: from right */
.alandog-reveal--right {
  transform: translateX(30px);
}

.alandog-reveal--right.is-visible {
  transform: translateX(0);
}

/* Variante: scale */
.alandog-reveal--scale {
  transform: scale(0.9);
}

.alandog-reveal--scale.is-visible {
  transform: scale(1);
}

/* Delay modifiers for staggered animations */
.alandog-reveal--delay-1 { transition-delay: 0.1s; }
.alandog-reveal--delay-2 { transition-delay: 0.2s; }
.alandog-reveal--delay-3 { transition-delay: 0.3s; }
.alandog-reveal--delay-4 { transition-delay: 0.4s; }


/* ============================================
   18. LAYOUT: Account Pages (Sidebar + Content)
   ============================================ */

/* Wrapper principale */
.woocommerce-account .alandog-account-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: var(--space-xl);
  max-width: var(--container-max);
  margin: 0 auto;
  padding: var(--space-xl) var(--container-pad);
  align-items: start;
}

/* Sidebar */
.alandog-account-layout__sidebar {
  position: sticky;
  top: 100px;
}

/* Contenuto principale */
.alandog-account-layout__content {
  min-width: 0;
}

/* Header contenuto */
.alandog-account-layout__content-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-lg);
  flex-wrap: wrap;
  gap: var(--space-md);
}

.alandog-account-layout__content-title {
  font-family: var(--font-heading);
  font-size: var(--text-2xl);
  font-weight: 800;
  color: var(--color-text);
  margin: 0;
}

/* Vuoto state */
.alandog-account-empty {
  text-align: center;
  padding: var(--space-3xl) var(--space-lg);
}

.alandog-account-empty__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--account-stat-bg);
  color: var(--account-accent);
  margin: 0 auto var(--space-lg);
}

.alandog-account-empty__icon svg {
  width: 40px;
  height: 40px;
}

.alandog-account-empty__title {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: var(--space-sm);
}

.alandog-account-empty__text {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  color: var(--color-muted);
  margin-bottom: var(--space-lg);
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

/* Dashboard quick stats */
.alandog-account-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
  margin-bottom: var(--space-xl);
}

.alandog-account-stat {
  background: var(--account-card-bg);
  border: 1px solid var(--info-border);
  border-radius: var(--card-radius);
  padding: var(--space-lg);
  text-align: center;
}

.alandog-account-stat__value {
  font-family: var(--font-heading);
  font-size: var(--text-3xl);
  font-weight: 800;
  color: var(--account-accent);
  line-height: 1;
  margin-bottom: var(--space-xs);
}

.alandog-account-stat__label {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--color-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Welcome header */
.alandog-account-welcome {
  display: flex;
  align-items: center;
  gap: var(--space-lg);
  padding: var(--space-lg);
  background: linear-gradient(135deg, var(--account-sidebar-active) 0%, #DBEAFE 100%);
  border-radius: var(--card-radius);
  margin-bottom: var(--space-xl);
}

.alandog-account-welcome__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--account-accent);
  color: #FFFFFF;
  font-family: var(--font-heading);
  font-size: var(--text-2xl);
  font-weight: 700;
  flex-shrink: 0;
}

.alandog-account-welcome__greeting {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 2px;
}

.alandog-account-welcome__sub {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  color: var(--color-muted);
}

/* Login/Register layout: 2 colonne */
.alandog-login-register {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-xl);
  max-width: 900px;
  margin: 0 auto;
  padding: var(--space-2xl) var(--container-pad);
}

.alandog-login-register__col {
  background: var(--account-card-bg);
  border: 1px solid var(--info-border);
  border-radius: var(--card-radius);
  padding: var(--space-xl);
}

.alandog-login-register__col h2 {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--color-text);
  margin: 0 0 var(--space-lg) 0;
  text-align: center;
}

/* Social login buttons */
.alandog-social-login {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  margin-bottom: var(--space-lg);
}

.alandog-social-login__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: 10px 16px;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 600;
  border: 1.5px solid var(--input-border);
  border-radius: var(--input-radius);
  background: var(--account-card-bg);
  color: var(--color-text);
  cursor: pointer;
  transition: background var(--transition-fast), border-color var(--transition-fast);
  text-decoration: none;
}

.alandog-social-login__btn:hover {
  background: var(--info-bg);
  border-color: var(--color-muted);
}

.alandog-social-login__btn svg,
.alandog-social-login__btn img {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* Divider "oppure" */
.alandog-divider {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  margin: var(--space-lg) 0;
  font-family: var(--font-body);
  font-size: var(--text-xs);
  color: var(--color-muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.alandog-divider::before,
.alandog-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--info-border);
}

/* Mobile: account layout */
@media (max-width: 767px) {
  .woocommerce-account .alandog-account-layout {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0;
  }
  .alandog-account-layout__sidebar {
    position: static;
    order: 2;
  }
  .alandog-account-layout__content {
    padding: var(--space-md);
    order: 1;
  }
  .alandog-account-stats {
    grid-template-columns: 1fr;
  }
  .alandog-login-register {
    grid-template-columns: 1fr;
    padding: var(--space-lg) var(--container-pad);
  }
  .alandog-account-welcome {
    flex-direction: column;
    text-align: center;
  }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
  .woocommerce-account .alandog-account-layout {
    grid-template-columns: 240px 1fr;
    gap: var(--space-lg);
  }
}

/* Override WooCommerce default account nav */
.woocommerce-account .woocommerce-MyAccount-navigation {
  display: none !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
}


/* ============================================
   19. Responsive Utilities
   ============================================ */

/* Hide/show utilities */
@media (max-width: 767px) {
  .alandog-hide-mobile { display: none !important; }
  .alandog-show-mobile { display: block !important; }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .alandog-hide-tablet { display: none !important; }
  .alandog-show-tablet { display: block !important; }
}

@media (min-width: 1025px) {
  .alandog-hide-desktop { display: none !important; }
  .alandog-show-desktop { display: block !important; }
}

/* Default: show-* hidden unless at breakpoint */
.alandog-show-mobile,
.alandog-show-tablet,
.alandog-show-desktop {
  display: none !important;
}

/* Container responsive */
.alandog-container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-pad);
}

@media (max-width: 767px) {
  .alandog-container {
    padding: 0 var(--space-md);
  }
}

/* Sezione generica */
.alandog-section {
  padding: var(--space-3xl) 0;
}

.alandog-section--sm {
  padding: var(--space-xl) 0;
}

.alandog-section--lg {
  padding: 80px 0;
}

@media (max-width: 767px) {
  .alandog-section {
    padding: var(--space-xl) 0;
  }
  .alandog-section--lg {
    padding: var(--space-2xl) 0;
  }
}

/* Full-width on mobile */
@media (max-width: 767px) {
  .alandog-mobile-full {
    margin-left: calc(-1 * var(--space-md));
    margin-right: calc(-1 * var(--space-md));
    border-radius: 0;
  }
}

/* Sezione con sfondo */
.alandog-section--cream {
  background: var(--color-bg-cream);
}

.alandog-section--warm {
  background: var(--color-bg-warm);
}

.alandog-section--account {
  background: var(--account-bg);
}


/* ============================================
   20. Animations & Keyframes
   ============================================ */

/* --- Page hero fade-in --- */
@keyframes alandog-fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.alandog-page-hero__title,
.alandog-page-hero__subtitle {
  animation: alandog-fadeInUp 0.6s ease-out both;
}

.alandog-page-hero__subtitle {
  animation-delay: 0.15s;
}

.alandog-page-hero__breadcrumb {
  animation: alandog-fadeInUp 0.4s ease-out both;
}

/* --- Fade in generico --- */
@keyframes alandog-fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.alandog-fade-in {
  animation: alandog-fadeIn 0.4s ease-out both;
}

/* --- Slide in from left --- */
@keyframes alandog-slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.alandog-slide-in-left {
  animation: alandog-slideInLeft 0.5s ease-out both;
}

/* --- Slide in from right --- */
@keyframes alandog-slideInRight {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.alandog-slide-in-right {
  animation: alandog-slideInRight 0.5s ease-out both;
}

/* --- Scale in --- */
@keyframes alandog-scaleIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.alandog-scale-in {
  animation: alandog-scaleIn 0.3s ease-out both;
}

/* --- Stat counter pulse --- */
@keyframes alandog-statPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}

.alandog-stat-number__value.is-animated {
  animation: alandog-statPulse 0.6s ease-out;
}

/* --- Rispetta prefers-reduced-motion --- */
@media (prefers-reduced-motion: reduce) {
  .alandog-reveal,
  .alandog-page-hero__title,
  .alandog-page-hero__subtitle,
  .alandog-page-hero__breadcrumb,
  .alandog-fade-in,
  .alandog-slide-in-left,
  .alandog-slide-in-right,
  .alandog-scale-in,
  .announce-slide {  /* FIX-UI-56: include announcement bar fade-in */
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}


/* ================================================================
   END DESIGN SYSTEM v8.0.0
   ================================================================ */

/* ============================================
   SPRINT 0: QUICK FIXES
   ============================================ */

/* FIX-1: Prevent horizontal overflow from lang dropdown on mobile */
/* FIX-UI-98: changed hidden→clip. overflow-x:hidden creates a scroll container that breaks position:sticky */
html, body { overflow-x: clip; }
@media screen and (max-width: 991px) {
  .alandog-lang-switcher { position: relative; }
  .alandog-lang-dropdown {
    position: absolute; right: 0; left: auto;
    min-width: 140px; max-width: 200px; z-index: 10001;
  }
}

/* FIX-2: Hide Super Socializer error messages */
.the_champ_error, .the_champ_message { display: none !important; }

/* FIX-5: Duplicate H1 prevention — now handled server-side in
   template-parts/page-headers/page.php (child theme override).
   CSS display:none removed — Google still parses hidden DOM elements. */

/* FIX-6: Prevent mini-cart drawer auto-open on tablet */
@media screen and (max-width: 1024px) {
  .alandog-minicart-drawer {
    transform: translateX(100%);
    visibility: hidden;
    transition: transform 0.3s ease, visibility 0.3s ease;
  }
  .alandog-minicart-drawer.open {
    transform: translateX(0);
    visibility: visible;
  }
}

/* ============================================================
   FOOTER REDESIGN 2026 — Modern, compact, trustworthy
   ============================================================ */

/* === RESET: Override all old footer styles === */
.site-footer .footer-layout,
.site-footer .footer-layout.footer-gray {
  background: #f8f8f6 !important;
  color: #333 !important;
}

/* --- Info Strip: compact horizontal bar --- */
.site-footer .footer-info {
  background: #fff !important;
  border-bottom: 1px solid #e8e8e5 !important;
  padding: 14px 0 !important;
  display: flex !important;
  justify-content: center;
}
.site-footer .footer-info .info-item-sep {
  display: none !important;
}
.site-footer .footer-info .info-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px;
  padding: 0 24px !important;
  color: #555 !important;
  border-right: 1px solid #e8e8e5;
}
.site-footer .footer-info .info-item:last-of-type {
  border-right: none;
}
.site-footer .footer-info .info-item .info-thumb {
  flex-shrink: 0;
}
.site-footer .footer-info .info-item .info-thumb i {
  font-size: 20px !important;
  color: var(--color-primary, #065282) !important;
}
.site-footer .footer-info .info-item .info-content h3 {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #222 !important;
  margin: 0 !important;
  line-height: 1.3;
}
.site-footer .footer-info .info-item .info-content p {
  font-size: 12px !important;
  color: #777 !important;
  margin: 0 !important;
  line-height: 1.3;
}

/* --- Footer Links: 3-column vertical grid --- */
.site-footer .footer-links {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 32px !important;
  padding: 36px 0 28px !important;
  border-bottom: 1px solid #e8e8e5;
}
.site-footer .footer-links .widget {
  text-align: left !important;
}
.site-footer .footer-links .widget:last-child {
  text-align: left !important;
}
.site-footer .footer-links .widget .widget-title,
.site-footer .footer-links .widget-title {
  color: #222 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  margin-bottom: 14px !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid #085d91 !important;
  display: inline-block !important;
}
.site-footer .footer-links .widget_nav_menu ul {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.site-footer .footer-links .widget_nav_menu ul li {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.site-footer .footer-links .widget_nav_menu ul li::before,
.site-footer .footer-links .widget_nav_menu ul li::after {
  display: none !important;
  content: none !important;
}
.site-footer .footer-links .widget_nav_menu ul li a {
  color: #555 !important;
  font-size: 13.5px !important;
  line-height: 1.4 !important;
  padding: 5px 0 !important;
  display: block !important;
  text-decoration: none !important;
  transform: translateX(0);
  transition: color 0.15s, transform 0.15s !important;
  border: none !important;
}
.site-footer .footer-links .widget_nav_menu ul li a:hover {
  color: var(--color-primary, #065282) !important;
  transform: translateX(4px) !important;
}

/* --- Footer Bottom: copyright + payments integrated --- */
.site-footer .footer-bottom {
  border-top: none !important;
  padding: 0 !important;
  background: transparent !important;
}
.site-footer .footer-bottom .footer-row {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px 0 !important;
}
.site-footer .footer-bottom .col-footer-copyright {
  width: 100% !important;
  flex: none !important;
  text-align: center !important;
}
.site-footer .footer-bottom .col-footer-payments {
  display: none !important;
}
.site-footer .footer-copyright {
  color: #555555 !important;
  font-size: 12px !important;
}

/* --- Trust Bar: merge into footer, clean design --- */
.alandog-footer-trust {
  background: #f0f0ec !important;
  padding: 20px 0 !important;
  text-align: center !important;
  border-top: 1px solid #e2e2de !important;
  min-height: auto !important;
}
.alandog-footer-trust .payment-icons-row {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-bottom: 12px !important;
}
.alandog-footer-trust .pay-label {
  color: #888 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  margin-right: 4px;
}
.alandog-footer-trust .pay-icon {
  opacity: 0.7 !important;
  transition: opacity 0.2s !important;
}
.alandog-footer-trust .pay-icon:hover {
  opacity: 1 !important;
}
.alandog-footer-trust .pay-icon svg {
  width: 40px !important;
  height: 26px !important;
  border-radius: 3px;
}
.alandog-footer-trust .trust-badges-row {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}
.alandog-footer-trust .trust-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  color: #666 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}
.alandog-footer-trust .trust-badge svg {
  width: 13px !important;
  height: 13px !important;
  stroke: #085d91 !important;
}

/* --- Mobile footer --- */
@media screen and (max-width: 991px) {
  .site-footer .footer-info {
    flex-wrap: wrap !important;
    gap: 0 !important;
    padding: 10px 0 !important;
  }
  .site-footer .footer-info .info-item {
    width: 50% !important;
    box-sizing: border-box !important;
    padding: 8px 12px !important;
    border-right: none !important;
    border-bottom: 1px solid #e8e8e5;
  }
  .site-footer .footer-info .info-item:nth-child(odd) {
    border-right: 1px solid #e8e8e5 !important;
  }

  .site-footer .footer-links {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 24px 16px 20px !important;
  }
  .site-footer .footer-links .widget .widget-title {
    margin-bottom: 8px !important;
  }

  .alandog-footer-trust .payment-icons-row {
    gap: 6px !important;
  }
  .alandog-footer-trust .pay-icon svg {
    width: 34px !important;
    height: 22px !important;
  }
  .alandog-footer-trust .trust-badges-row {
    gap: 10px !important;
  }
  .alandog-footer-trust .trust-badge {
    font-size: 11px !important;
  }
}

@media screen and (max-width: 480px) {
  .site-footer .footer-info .info-item {
    width: 100% !important;
    border-right: none !important;
  }
}
/* ============================================================
   FOOTER REDESIGN 2026 FIXES
   ============================================================ */

/* Reset parent theme margins on info items */
.site-footer .footer-info .info-item {
  margin-top: 0 !important;
  max-width: none !important;
}
.site-footer .footer-info {
  margin: 0 !important;
}

/* Footer content wrapper */
.site-footer .footer-content {
  padding: 0 !important;
}

/* Ensure the footer-links grid overrides parent flex */
.site-footer .footer-links {
  width: 100% !important;
  margin: 0 !important;
}

/* Kill ALL pseudo-element separators from parent theme */
.site-footer .footer-info .info-item-sep,
.site-footer .footer-info .info-item-sep::after,
.site-footer .footer-info .info-item-sep::before {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
}
.site-footer .footer-links .widget_nav_menu ul li::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
}
.site-footer .footer-links .widget_nav_menu ul li a::before {
  display: none !important;
  content: none !important;
}

/* Force li block display (override parent inline-block) */
.site-footer .footer-links .widget_nav_menu ul li {
  display: block !important;
  padding: 0 !important;
  position: static !important;
}

/* Mobile widget accordion: keep it open, no toggle */
.mobile-version .site-footer .footer-links .widget.widget_nav_menu .widget-title::after {
  display: none !important;
}
.mobile-version .site-footer .footer-links .widget.widget_nav_menu ul {
  display: flex !important;
}
/* ============================================================
   FOOTER v3 — COMPLETE REDESIGN
   Modern, compliant, compact, trustworthy
   ============================================================ */

/* === Base footer === */
.site-footer .footer-layout,
.site-footer .footer-layout.footer-gray {
  background: #fafaf8 !important;
  color: #444 !important;
}

/* === USP Info Strip — ultra compact === */
.site-footer .footer-info {
  background: #fff !important;
  border-bottom: 1px solid #eee !important;
  padding: 10px 0 !important;
  margin: 0 !important;
  display: flex !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
}
.site-footer .footer-info .info-item-sep {
  display: none !important;
}
.site-footer .footer-info .info-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 20px !important;
  margin: 0 !important;
  max-width: none !important;
  border-right: 1px solid #eee;
}
.site-footer .footer-info .info-item:last-of-type {
  border-right: none;
}
.site-footer .footer-info .info-item .info-thumb i {
  font-size: 18px !important;
  color: var(--color-primary, #065282) !important;
}
.site-footer .footer-info .info-item .info-content h3 {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #333 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
.site-footer .footer-info .info-item .info-content p {
  font-size: 11px !important;
  color: #888 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

/* === 4-Column Link Grid === */
.site-footer .footer-links {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  padding: 32px 0 24px !important;
  width: 100% !important;
  margin: 0 !important;
  border-bottom: none !important;
}
.site-footer .footer-links .widget {
  text-align: left !important;
}
.site-footer .footer-links .widget:last-child {
  text-align: left !important;
}
.site-footer .footer-links .widget .widget-title,
.site-footer .footer-links .widget-title {
  color: #222 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin-bottom: 12px !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
  display: block !important;
}
.site-footer .footer-links .widget_nav_menu ul {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.site-footer .footer-links .widget_nav_menu ul li {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
}
.site-footer .footer-links .widget_nav_menu ul li::before,
.site-footer .footer-links .widget_nav_menu ul li::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
}
.site-footer .footer-links .widget_nav_menu ul li a {
  color: #4f4f4f !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  padding: 4px 0 !important;
  display: block !important;
  text-decoration: none !important;
  transition: color 0.15s !important;
  border: none !important;
}
.site-footer .footer-links .widget_nav_menu ul li a::before,
.site-footer .footer-links .widget_nav_menu ul li a::after {
  display: none !important;
  content: none !important;
}
.site-footer .footer-links .widget_nav_menu ul li a:hover {
  color: var(--color-primary, #065282) !important;
}

/* === Footer Bottom — hide default (content moved to bottom bar) === */
.site-footer .footer-bottom {
  display: none !important;
}

/* === Footer Bottom Bar (replaces old trust bar) === */
.alandog-footer-trust {
  display: none !important;
}
.alandog-footer-bottom-bar {
  background: #f0efec !important;
  border-top: 1px solid #e5e4e0;
  padding: 0 !important;
}
.alandog-footer-bottom-bar .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}

/* Trust row: payments left, badges right */
.afb-trust-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  border-bottom: 1px solid #e0dfdb;
  gap: 16px;
  flex-wrap: wrap;
}
.afb-payments {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.afb-label {
  font-size: 11px;
  font-weight: 700;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-right: 4px;
}
.afb-icon {
  display: inline-flex;
  opacity: 0.75;
  transition: opacity 0.15s;
}
.afb-icon:hover {
  opacity: 1;
}
.afb-badges {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.afb-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 600;
  color: #777;
  white-space: nowrap;
}
.afb-badge svg {
  flex-shrink: 0;
  stroke: #085d91;
}

/* Info row: social left, legal info right */
.afb-info-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  gap: 16px;
  flex-wrap: wrap;
}
.afb-social {
  display: flex;
  align-items: center;
  gap: 12px;
}
/* FIX-UI-50: min 44px touch target */
.afb-social a {
  color: #888;
  transition: color 0.15s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
}
.afb-social a:hover {
  color: var(--color-primary, #065282);
}
.afb-legal-info {
  font-size: 11px;
  line-height: 1.6;
  color: #555555;
  text-align: right;
}
.afb-legal-info a {
  color: #888;
  text-decoration: none;
}
.afb-legal-info a:hover {
  color: var(--color-primary, #065282);
}

/* === Mobile === */
@media screen and (max-width: 991px) {
  .site-footer .footer-info {
    flex-wrap: wrap !important;
    padding: 8px 0 !important;
  }
  .site-footer .footer-info .info-item {
    width: 50% !important;
    box-sizing: border-box !important;
    padding: 6px 10px !important;
    border-right: none !important;
    border-bottom: 1px solid #eee;
  }

  .site-footer .footer-links {
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
    padding: 24px 16px !important;
  }

  .afb-trust-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .afb-badges {
    gap: 10px;
  }
  .afb-info-row {
    flex-direction: column;
    align-items: center;
  }
  .afb-legal-info {
    text-align: center;
  }
}

@media screen and (max-width: 480px) {
  .site-footer .footer-info .info-item {
    width: 100% !important;
  }
  .site-footer .footer-links {
    grid-template-columns: 1fr !important;
  }
  .afb-badges {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
}

/* Mobile widget accordion override */
.mobile-version .site-footer .footer-links .widget.widget_nav_menu .widget-title::after {
  display: none !important;
}
.mobile-version .site-footer .footer-links .widget.widget_nav_menu ul {
  display: flex !important;
}
.mobile-version .site-footer .footer-links .widget.widget_nav_menu ul li {
  width: auto !important;
}
.mobile-version .site-footer .footer-links .widget.widget_nav_menu ul li::after {
  display: none !important;
}
/* ============================================================
   FOOTER v3 SPACING FIX — compact vertical rhythm
   ============================================================ */

/* Kill ALL extra padding/margins on footer wrappers */
.site-footer .footer-layout {
  padding: 0 !important;
}
.site-footer .footer-content {
  padding: 0 !important;
  margin: 0 !important;
}
.site-footer .footer-layout > .martfury-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* USP strip — tighter */
.site-footer .footer-info {
  padding: 8px 0 !important;
}
.site-footer .footer-info .info-item .info-thumb i {
  font-size: 16px !important;
}
.site-footer .footer-info .info-item .info-content h3 {
  font-size: 12px !important;
}
.site-footer .footer-info .info-item .info-content p {
  font-size: 12px !important;
}
.site-footer .footer-info .info-item {
  padding: 0 16px !important;
}

/* Links grid — tighter */
.site-footer .footer-links {
  padding: 20px 0 16px !important;
  gap: 16px !important;
}
.site-footer .footer-links .widget .widget-title,
.site-footer .footer-links .widget-title {
  font-size: 12px !important;
  margin-bottom: 8px !important;
}
.site-footer .footer-links .widget_nav_menu ul li a {
  font-size: 12.5px !important;
  padding: 3px 0 !important;
}

/* Bottom bar — tighter */
.afb-trust-row {
  padding: 10px 0 !important;
}
.afb-info-row {
  padding: 8px 0 !important;
}
.afb-label {
  font-size: 12px !important;
}
.afb-badge {
  font-size: 12px !important;
}
.afb-legal-info {
  font-size: 12px !important;
  line-height: 1.5 !important;
}

/* Ensure footer-bottom hidden space is truly gone */
.site-footer .footer-bottom {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Remove any Martfury default spacers */
.site-footer .footer-layout .footer-content::after {
  display: none !important;
}
.site-footer nav.footer-layout {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* ADR notice styling */
.afb-adr {
  display: block;
  margin-top: 4px;
  font-size: 12px !important;
  color: #767676 !important;
  line-height: 1.4;
}
.afb-adr a {
  color: #767676 !important;
  text-decoration: underline;
}
.afb-adr a:hover {
  color: var(--color-primary, #065282) !important;
}

/* Cookie preferences link styling */
.cky-banner-element a {
  cursor: pointer;
}

/* ============================================================
   FIX-UI-LIVE-COOKIE-01: CookieYes + floating layer coordination
   Keep cookie consent functional, but suspend competing fixed UI
   while the banner/modal is visible.
   ============================================================ */
.cky-overlay {
  background: rgba(7, 28, 48, 0.48) !important;
  backdrop-filter: blur(4px);
}
.cky-consent-container {
  width: min(520px, calc(100vw - 40px)) !important;
  max-width: calc(100vw - 40px) !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.cky-consent-bar {
  width: 100% !important;
  box-sizing: border-box !important;
}
.cky-notice,
.cky-modal,
.cky-preference-center {
  border: 1px solid #d8e3ee !important;
  border-radius: 22px !important;
  box-shadow: 0 22px 54px rgba(8, 31, 54, 0.2) !important;
  overflow: hidden !important;
}
.cky-header,
.cky-preference-header {
  padding: 24px 24px 0 !important;
}
.cky-title,
.cky-preference-title {
  color: #0f2744 !important;
  font-size: 28px !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
  text-align: center !important;
  display: block !important;
  margin: 0 0 16px !important;
  padding-top: 4px !important;
}
.cky-notice-des,
.cky-preference-content-wrapper,
.cky-preference-body-wrapper {
  padding: 14px 24px 0 !important;
  color: #334761 !important;
  line-height: 1.65 !important;
}
.cky-notice-btn-wrapper,
.cky-prefrence-btn-wrapper,
.cky-footer-wrapper {
  padding: 20px 24px 24px !important;
  gap: 12px !important;
}
.cky-btn {
  min-height: 48px !important;
  border-radius: 14px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}
.cky-btn:hover {
  transform: translateY(-1px);
}
.cky-btn-accept,
.cky-btn-preferences {
  background: #0d5f92 !important;
  border-color: #0d5f92 !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(13, 95, 146, 0.16) !important;
}
.cky-btn-customize,
.cky-btn-reject {
  background: #fff !important;
  border: 1px solid #bfd2e0 !important;
  color: #0d5f92 !important;
}
.cky-btn-revisit-wrapper {
  z-index: 9990 !important;
  right: 20px !important;
  left: auto !important;
  bottom: 20px !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}
body.alandog-cookieyes-open .alandog-mobile-bottom-nav,
body.alandog-cookieyes-open .alandog-whatsapp-btn,
body.alandog-cookieyes-open #cr_floatingtrustbadge,
body.alandog-cookieyes-open .trp-floating-switcher,
body.alandog-cookieyes-open .cky-btn-revisit-wrapper {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(12px) !important;
}
@media screen and (max-width: 767px) {
  body.alandog-cookieyes-open {
    padding-bottom: 0 !important;
  }
  .cky-consent-container,
  .cky-consent-bar {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .cky-consent-container.cky-popup-center,
  .cky-popup-center {
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    left: 50% !important;
    width: 340px !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    margin: 0 !important;
    max-height: calc(100vh - 32px) !important;
    transform: translate(-50%, -50%) !important;
    inset: 50% auto auto 50% !important;
  }
  .cky-consent-container .cky-consent-bar {
    padding: 16px !important;
    max-height: calc(100vh - 32px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .cky-modal.cky-modal-open {
    top: 12px !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    transform: none !important;
    max-height: calc(100vh - 24px) !important;
  }
  .cky-notice,
  .cky-modal,
  .cky-preference-center {
    border-radius: 20px !important;
  }
  .cky-title,
  .cky-preference-title {
    font-size: 24px !important;
    text-align: center !important;
  }
  .cky-notice-btn-wrapper,
  .cky-prefrence-btn-wrapper,
  .cky-footer-wrapper {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .cky-header,
  .cky-preference-header,
  .cky-notice,
  .cky-notice-group,
  .cky-notice-des,
  .cky-preference-content-wrapper,
  .cky-preference-body-wrapper {
    width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .cky-notice-des {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    max-height: 36vh !important;
    overflow-y: auto !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
  }
  .cky-notice-des p,
  .cky-notice-des a,
  .cky-notice-btn-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }
  .cky-notice,
  .cky-consent-bar {
    margin: 0 auto !important;
  }
  .cky-btn {
    width: 100% !important;
  }
  .cky-btn-revisit-wrapper {
    right: 12px !important;
    left: auto !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 74px) !important;
  }
}

/* ============================================================
   FIX-UI-19: Footer cleanup — compact, professional, credible
   ============================================================ */

/* --- Desktop: fix legal info overflow --- */
.afb-legal-info {
  text-align: center !important;
  max-width: 100% !important;
  word-wrap: break-word !important;
}
.afb-info-row {
  justify-content: center !important;
  flex-direction: column !important;
  align-items: center !important;
}
.afb-social {
  justify-content: center !important;
}

/* --- Desktop: footer-links 4-col even spacing --- */
.site-footer .footer-links {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* --- Desktop: newsletter layout polish --- */
.afb-newsletter {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* --- Mobile <=991px: hide redundant USP strip (trust badges in bottom bar) --- */
@media screen and (max-width: 991px) {
  .site-footer .footer-info {
    display: none !important;
  }
}

/* --- Mobile <768px: compact footer links + bottom bar --- */
@media screen and (max-width: 767px) {
  /* Footer links: 2-col grid on tablet-ish, 1-col on small */
  .site-footer .footer-links {
    gap: 0 !important;
    padding: 16px 16px 8px !important;
  }
  .site-footer .footer-links .widget {
    padding-bottom: 8px !important;
    margin-bottom: 8px !important;
    border-bottom: 1px solid #eee !important;
  }
  .site-footer .footer-links .widget:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  .site-footer .footer-links .widget .widget-title,
  .site-footer .footer-links .widget-title {
    font-size: 11px !important;
    margin-bottom: 4px !important;
  }
  .site-footer .footer-links .widget_nav_menu ul li a {
    font-size: 13px !important;
    line-height: 1.3 !important;
  }
  .mobile-version .site-footer .footer-links .widget.widget_nav_menu .widget-title {
    font-size: 11px !important;
    margin-bottom: 4px !important;
  }

  /* Bottom bar: compact */
  .alandog-footer-bottom-bar {
    padding-bottom: 70px !important;
  }
  .afb-newsletter {
    padding: 16px 0 !important;
    margin-bottom: 12px !important;
  }
  .afb-trust-row {
    padding: 10px 0 !important;
  }
  .afb-badges {
    gap: 4px !important;
  }
  .afb-badge {
    font-size: 11px !important;
  }
  .afb-info-row {
    padding: 10px 0 !important;
  }
  .afb-legal-info {
    font-size: 11px !important;
    line-height: 1.4 !important;
  }
  .afb-legal-info br {
    display: none !important;
  }
  .afb-adr {
    font-size: 10px !important;
    margin-top: 6px !important;
  }
}

/* BP font-size fix: ensure account/checkout elements meet 12px minimum */
.alandog-benefits-list li,
.alandog-register-incentive,
.alandog-account-trust-strip .trust-item,
.alandog-account-trust-strip .trust-item span,
.alandog-welcome-banner .welcome-text,
.alandog-welcome-banner .welcome-text span,
.alandog-welcome-banner .welcome-text strong,
.alandog-welcome-banner .welcome-text code,
.alandog-account-benefits h3 {
  font-size: 13px !important;
}
/* Super Socializer social login opt-in label */
.heateor_ss_sl_optin_container label {
  font-size: 12px !important;
}
/* Cart counter badge */
.header-main .extras-menu .menu-item-cart .mini-cart-counter {
  font-size: 12px !important;
  background: var(--color-cta, #963B1A) !important;  /* FIX-UI-53: override Martfury #EE6B0C (3.11:1) → 4.53:1 with white */
}
/* ============================================================
   HEADER A11Y + POLISH — accessibility & micro-improvements
   ============================================================ */

/* 1. Skip-to-content link (WCAG 2.4.1) */
.skip-to-content {
  position: absolute;
  top: -100%;
  left: 50%;
  transform: translate(-50%, -120%);
  background: #fff;
  color: var(--color-primary, #065282);  /* FIX-UI-53: was #085d91 (3.0:1) → 4.60:1 on white */
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  z-index: 100000;
  transition: transform 0.2s ease;
}
.skip-to-content:focus {
  top: 0;
  transform: translate(-50%, 0);
  outline: 3px solid #963B1A;
  outline-offset: 2px;
}

/* 2. Focus-visible outlines for keyboard navigation */
.header-layout-3 .extras-menu > li > a:focus-visible,
.header-layout-3 .extras-menu .menu-item-hotline a:focus-visible,
.header-layout-3 .main-menu .primary-nav > ul > li > a:focus-visible,
.alandog-lang-current:focus-visible,
.alandog-supporto-link:focus-visible,
.alandog-ordina-btn:focus-visible,
.products-search input[type="text"]:focus-visible,
.products-search .search-submit:focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 2px;
  border-radius: 4px;
}
/* Focus visible on white backgrounds (dropdowns) */
.alandog-lang-dropdown a:focus-visible,
.alandog-supporto-dropdown a:focus-visible,
.main-menu .sub-menu li a:focus-visible,
.alandog-megamenu a:focus-visible {
  outline: 2px solid #085d91 !important;
  outline-offset: 1px;
  border-radius: 2px;
}

/* 3. Dropdown keyboard accessibility — show on focus-within */
.alandog-lang-switcher:focus-within .alandog-lang-dropdown,
.alandog-supporto-switcher:focus-within .alandog-supporto-dropdown {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* 4. Nav hover underline effect (subtle, modern) */
.header-layout-3 .main-menu .primary-nav > ul > li > a {
  position: relative;
}
.header-layout-3 .main-menu .primary-nav > ul > li > a::after {
  content: '';
  position: absolute;
  bottom: 8px;
  left: 20px;
  right: 20px;
  height: 2px;
  background: rgba(255,255,255,0.7);
  transform: scaleX(0);
  transition: transform 0.2s ease;
  border-radius: 1px;
}
.header-layout-3 .main-menu .primary-nav > ul > li > a:hover::after,
.header-layout-3 .main-menu .primary-nav > ul > li.current-menu-item > a::after {
  transform: scaleX(1);
}
/* Don't show underline on items with mega dropdown arrows */
.header-layout-3 .main-menu .primary-nav > ul > li.menu-item-has-children > a::after {
  display: none;
}

/* 5. Ordina button — phone icon alignment */
.alandog-ordina-btn svg {
  vertical-align: -2px;
  margin-right: 2px;
}

/* 6. Announcement bar — improve close button contrast */
.alandog-announcement-bar .announce-close:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  border-radius: 4px;
}
.alandog-announcement-bar .announce-nav:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  border-radius: 4px;
}

/* 7. Mobile bottom nav — focus states */
.alandog-mobile-bottom-nav a:focus-visible {
  outline: 2px solid #085d91;
  outline-offset: 2px;
  border-radius: 4px;
}

/* 8. Header search — A11Y-4 FIX: placeholder contrast #767676 = 4.54:1 on white (was #888 = 3.54:1) */
.header-layout-3 .site-header .products-search .search-wrapper input[type="text"]::placeholder {
  color: #767676;
}

/* ============================================================
   9. MOBILE HEADER — compact layout (consolidated with 7c/7d)
   ============================================================ */
@media (max-width: 767px) {
    /* Account: icon only, hide text labels */
    .header-extras .menu-item-account .account-label,
    .header-extras .menu-item-account .item-login,
    .header-extras .menu-item-account .item-register,
    .header-extras .menu-item-account .account-name,
    .header-extras .menu-item-account span:not(.extra-icon):not([class^="icon-"]) {
        display: none !important;
    }

    /* Cart: hide text labels, show only icon */
    .header-extras .menu-item-cart .cart-title,
    .header-extras .menu-item-cart .cart-price {
        display: none !important;
    }

    /* Mobile-menu search bar: compact */
    .header-layout-3 .site-header .mobile-menu {
        padding: 0 !important;
    }
    .header-layout-3 .site-header .products-search {
        padding: 2px 10px 4px !important;
    }
    .header-layout-3 .site-header .products-search .search-wrapper input[type="text"] {
        height: 44px !important;  /* FIX-UI-55: was 34px — WCAG 2.5.8 touch target */
        font-size: 14px !important;
    }
    .header-layout-3 .site-header .products-search .search-submit {
        height: 44px !important;  /* FIX-UI-55: was 34px */
        min-width: 44px !important;  /* was 40px */
    }

    /* Announcement bar: compact single-line */
    .alandog-announcement-bar .announce-slide {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* FIX-UI-55: Mobile touch targets — filter, brand links, breadcrumbs */
    .mf-filter-mobile,
    .mf-category-filter-mobile,
    .catalog-sidebar-mobile {
        min-height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
    }
    /* Product loop brand links — 12px is too small for touch */
    .woocommerce ul.products li.product .mf-product-content .alandog-product-brand a,
    .woocommerce ul.products li.product .alandog-card-brand a {
        min-height: 24px;
        display: inline-flex;
        align-items: center;
    }
    /* Prevent content-area overflow on narrow viewport */
    #primary.content-area,
    .site-content {
        overflow-x: hidden;
    }
}

/* =====================================================
   WOOF Filter — hide redundant inline "Filtra Prodotti"
   (sidebar already provides full filter UI)
   ===================================================== */
.woof_autohide_wrapper {
    display: none !important;
}

/* FIX 3: Show products-found (product count), hide only shop-view toggle */
.woocommerce .shop-toolbar .shop-view {
    display: none !important;
}
.woocommerce .shop-toolbar .products-found {
    font-size: 14px;
    color: #666;
    font-weight: 500;
    line-height: 1.4;
}

/* WOOF button fallback: hide even without wrapper */
a.woof_show_auto_form,
.woof_btn_default {
    display: none !important;
}

/* =====================================================
   FIX 6: Category description excerpt above products
   ===================================================== */
.alandog-category-excerpt {
    background: #f8f9fa;
    padding: 16px 24px;
    border-radius: 8px;
    margin-bottom: 20px;
    font-size: 15px;
    color: #555;
    line-height: 1.6;
    border-left: 3px solid #085d91;
}

/* =====================================================
   FIX 4: Breadcrumb styling for category pages
   ===================================================== */
.woocommerce .woocommerce-breadcrumb {
    font-size: 13px;
    color: #888;
    margin-bottom: 16px;
    padding: 0;
}
.woocommerce .woocommerce-breadcrumb a {
    color: var(--color-primary, #065282);
    text-decoration: none;
}
.woocommerce .woocommerce-breadcrumb a:hover {
    text-decoration: underline;
}

/* AutoOptimize v2: hide empty site-description heading (a11y + SEO) */
h2.site-description:empty {
    display: none;
}

/* AutoOptimize v2: show H1 page title on WC pages (hidden by Elementor) */
.woocommerce-cart h1.entry-title,
.woocommerce-checkout h1.entry-title,
.woocommerce-account h1.entry-title {
    display: block !important;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 20px;
    color: #1a1a1a;
}

/* AutoOptimize v3: placeholder for categories without thumbnail */
.sub-category .image-subcategory.no-thumbnail {
    background: linear-gradient(135deg, #f0f4f8 0%, #d9e2ec 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
}
.sub-category .image-subcategory.no-thumbnail::after {
    content: "\1F43E";
    font-size: 40px;
    opacity: 0.5;
}

/* AutoOptimize v3: duplicate H1 prevention now handled server-side
   in template-parts/page-headers/page.php child theme override */

/* AutoOptimize v3: Improve CTA button contrast for a11y
   #065282 on white = 4.86 ratio (passes WCAG AA) */
.mf-background-primary,
.btn-primary,
a.button.checkout,
button.button.alt {
    background-color: #065282 !important;
    border-color: #065282 !important;
}
.btn-primary:hover,
a.button.checkout:hover,
button.button.alt:hover {
    background-color: #075694 !important;
    border-color: #075694 !important;
}
/* FIX-UI-113: PDP ATC button — CTA orange #963B1A (AAA contrast 7.2:1 on white) */
.button.single_add_to_cart_button {
    background-color: #963B1A !important;
    border-color: #963B1A !important;
}
.button.single_add_to_cart_button:hover {
    background-color: #a8432a !important;
    border-color: #a8432a !important;
}

/* AutoOptimize v3: Shelter card city contrast fix
   #8e8ea0 on white = 3.21:1 (fails AA 4.5:1)
   #555555 on white = 4.80:1 (passes AA) */
.asc-shelter-card-city {
    color: #555555 !important;
}
.asc-shelter-card-dogs {
    color: #4a4a4a !important;
}

/* AutoOptimize v3: Privacy policy link-in-text-block (WCAG 1.4.1)
   Links in text must be distinguishable not just by color */
.a11y-underline-links a {
    text-decoration: underline;
}
.a11y-underline-links a:hover {
    text-decoration: none;
}

/* AutoOptimize v3: Blog nav link contrast fix
   Parent theme .mf-taxs-list ul li a uses #999 on white = 2.84:1 (fails AA 4.5:1)
   #555555 on white = 4.80:1 (passes AA) */
.mf-taxs-list ul li a {
    color: #555555;
}

/* AutoOptimize v3: PDP product_meta link-in-text-block (WCAG 1.4.1)
   Brand/category links in text blocks must be distinguishable by underline */
.single-product .product_meta a,
.single-product .entry-meta a.meta-value,
.single-product .posted_in a {
    text-decoration: underline;
}
.single-product .product_meta a:hover,
.single-product .entry-meta a.meta-value:hover,
.single-product .posted_in a:hover {
    text-decoration: none;
}

/* AutoOptimize v3: Smart Slider bullet target-size fix (WCAG 2.5.8)
   Bullets are 10x10px, minimum is 24x24px. Enlarge hit area. */
.n2-bullet {
    min-width: 24px !important;
    min-height: 24px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

/* AutoOptimize v3: Blog single post meta/tag contrast fix
   Parent theme uses #999 on white (2.84:1). #555555 = 4.80:1 */
.single-post .cat-links,
.single-post .entry-footer .tags-links,
.single-post .entry-footer .tags-links a,
.single-post .entry-meta,
.single-post .entry-footer {
    color: #555555 !important;
}
.single-post .tags-links a:hover {
    color: var(--alandog-green, #085d91) !important; /* FIX-UI-69: was #085d91 */
}

/* AutoOptimize v3: Blog post body link-in-text-block (WCAG 1.4.1) */
.single-post .entry-content a {
    text-decoration: underline;
}
.single-post .entry-content a:hover {
    text-decoration: none;
}

/* AutoOptimize v3: Blog post + BDT link target-size (WCAG 2.5.8)
   Inline links must have at least 24px clickable height */
.single-post .entry-content a[href^="#"],
.bdt-link-reset {
    display: inline-block;
    min-height: 24px;
    line-height: 24px;
}

/* AutoOptimize v3: Element Pack sale badge contrast
   .bdt-onsale white text on light bg — needs darker bg */
.bdt-onsale {
    background-color: #a61d1d !important;
    color: #fff !important;
}

/* AutoOptimize v3: Element Pack product carousel del price contrast
   #cac8c8 on white = 1.67:1. Use #555555 = 4.80:1 */
.bdt-wc-products .price del,
.bdt-wc-products .price del bdi,
.bdt-wc-products .price del .woocommerce-Price-amount,
.bdt-wc-products del bdi,
del bdi,
a del span.woocommerce-Price-amount bdi,
del .woocommerce-Price-amount bdi,
.price del bdi {
    color: #555555 !important;
}

/* AutoOptimize v3: Element Pack product title heading fix */
.bdt-wc-products h5.bdt-wc-product-title {
    font-size: inherit;
}

/* AutoOptimize v3: Global link-in-text-block fix (WCAG 1.4.1)
   Links inside text blocks must be distinguishable by more than color alone.
   Research 2026: underline is the preferred method (W3C G182), NOT the 3:1
   contrast alternative (G183) which fails on touchscreens.
   text-underline-offset prevents underline from cutting through descenders. */
.page-content a,
.entry-content a,
.woocommerce-privacy-policy-text a,
.wc-terms-and-conditions a,
.woocommerce-info a,
.woocommerce-message a,
.woocommerce-error a,
.comment-text a,
.cr-review-text a,
.elementor-text-editor a,
.elementor-widget-text-editor a,
.faq-content a,
.panel-body a {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.15em;
}
.page-content a:hover,
.entry-content a:hover,
.woocommerce-privacy-policy-text a:hover,
.wc-terms-and-conditions a:hover,
.comment-text a:hover,
.cr-review-text a:hover,
.elementor-text-editor a:hover,
.faq-content a:hover,
.panel-body a:hover {
    text-decoration-thickness: 2px;
}
/* Exceptions: nav links, buttons, cards — keep clean */
nav a,
.btn,
.button,
.add_to_cart_button,
.woocommerce-loop-product__link,
.product-card a,
.breadcrumb a,
.mf-taxs-list a,
.tabs a,
.nav-tabs a {
    text-decoration: none;
}

/* AutoOptimize v3: Elementor accordion touch target — min 24px for a11y */
.elementor-accordion-title {
    min-height: 24px;
    display: inline-flex;
    align-items: center;
}

/* ================================================================
   HEADER RESPONSIVE MASTER — Single source of truth
   ================================================================
   This block uses html body prefix for max specificity and is placed
   at the END of the file so source-order wins when specificity ties.
   ALL responsive header behavior is defined HERE — do not add
   header-responsive rules elsewhere in this file.

   Breakpoints:
     ≥1440px  — Full desktop (CLS min-width active)
     1200-1439 — Desktop standard
     992-1199  — Desktop narrow (icon-only at ≤1099)
     768-991   — Tablet (hamburger + icon-only extras)
     ≤767      — Mobile (hamburger + account/cart only)
   ================================================================ */

/* --- GLOBAL: always applied regardless of viewport --- */
html body .header-layout-3 .extras-menu .alandog-extra-ordina {
  display: none !important; /* Ordina phone CTA: always hidden */
}
html body .header-layout-3 .header-main .row.header-row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}
html body .header-layout-3 .header-main .header-logo {
  flex-shrink: 0 !important;
}
html body .header-layout-3 .header-extras .extras-menu {
  display: flex !important;
  align-items: center !important;
  list-style: none !important;
}
html body .header-layout-3 .extras-menu > li {
  flex-shrink: 0 !important;
}

/* --- ≥1440px: Full desktop — CLS min-width active --- */
@media screen and (min-width: 1440px) {
  html body .header-layout-3 .header-extras .extras-menu {
    min-width: 675px;
    flex-shrink: 0;
  }
}

/* --- 1200-1439px: Desktop standard — no CLS min-width --- */
@media screen and (min-width: 1200px) and (max-width: 1439px) {
  html body .header-layout-3 .header-extras .extras-menu {
    min-width: 0 !important;
    flex-shrink: 1 !important;
  }
}

/* --- 1100-1199px: hide cart text to prevent truncation --- */
@media screen and (min-width: 1100px) and (max-width: 1199px) {
  html body .header-layout-3 .extras-menu .menu-item-cart .cart-title {
    display: none !important;
  }
}

/* --- 992-1099px: Desktop narrow — icon-only mode --- */
@media screen and (min-width: 992px) and (max-width: 1099px) {
  body.header-layout-3 .extras-menu .alandog-lang-switcher,
  body.header-layout-3 .extras-menu .alandog-supporto-switcher {
    display: none !important;
  }
  html body .header-layout-3 .header-extras .extras-menu {
    min-width: 0 !important;
    flex-shrink: 1 !important;
  }
  html body .header-layout-3 .header-extras .extras-menu > li > a,
  html body .header-layout-3 .extras-menu .menu-item-hotline {
    padding: 6px 10px !important;
    font-size: 0 !important; /* hide text, icons remain via i element */
  }
  html body .header-layout-3 .header-extras .extras-menu > li > a i,
  html body .header-layout-3 .extras-menu .menu-item-hotline i,
  html body .site-header .header-extras [class^="icon-"] {
    font-size: 20px !important;
  }
  html body .header-layout-3 .extras-menu .alandog-lang-current .lang-flag {
    font-size: 16px !important;
  }
  html body .header-layout-3 .extras-menu .alandog-lang-current .lang-arrow,
  html body .header-layout-3 .extras-menu .alandog-supporto-link .lang-arrow {
    font-size: 10px !important;
  }
  html body .header-layout-3 .extras-menu .mini-cart-counter {
    font-size: 10px !important;
  }
  html body .header-layout-3 .site-header .product-extra-search {
    max-width: 320px;
  }
}

/* --- 768-991px: TABLET — hamburger + icons right-aligned --- */
@media screen and (min-width: 768px) and (max-width: 991px) {
  body.header-layout-3 .extras-menu .alandog-lang-switcher,
  body.header-layout-3 .extras-menu .alandog-supporto-switcher {
    display: none !important;
  }
  /* Force show hamburger column — Bootstrap hidden-md hides it at ≥992px,
     but parent Martfury CSS may also hide it at 768-991px.
     We MUST show it here because nav bar is hidden at ≤991px. */
  html body .header-layout-3 .header-main .header-extras.hidden-lg.hidden-md,
  html body .header-layout-3 .header-main .header-extras.hidden-lg {
    display: flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    align-items: center !important;
  }
  /* Hamburger toggle: visible and properly sized */
  html body .header-layout-3 .mobile-menu .mf-toggle-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 24px !important;
    color: #fff !important;
    padding: 6px 8px !important;
    width: auto !important;
    height: auto !important;
  }
  /* Hide search inside hamburger column — tablet shows search in mobile-menu row */
  html body .header-layout-3 .header-main .header-extras.hidden-lg .product-extra-search {
    display: none !important;
  }
  /* Header row layout: hamburger left, logo next, extras pushed right */
  html body .header-layout-3 .header-main .row.header-row {
    gap: 12px !important;
    justify-content: space-between !important;
  }
  /* Extras column (the one WITHOUT hidden-lg): flex to fill remaining space */
  html body .header-layout-3 .header-main .header-extras:not(.hidden-lg):not(.hidden-md) {
    min-width: 0 !important;
    flex: 1 1 0px !important;
    width: auto !important;
    max-width: none !important;
  }
  /* Extras-menu: right-aligned, natural width */
  html body .header-layout-3 .header-extras .extras-menu {
    margin-left: auto !important;
    justify-content: flex-end !important;
    min-width: 0 !important;
    width: auto !important;
    flex-shrink: 1 !important;
  }
  /* Hide search bar in extras column — mobile-menu row has its own search */
  html body .header-layout-3 .header-extras:not(.hidden-lg) .product-extra-search {
    display: none !important;
  }
  /* All extras: icon-only mode */
  html body .header-layout-3 .header-extras .extras-menu > li > a,
  html body .header-layout-3 .extras-menu .menu-item-hotline {
    padding: 6px 8px !important;
    font-size: 0 !important;
  }
  html body .header-layout-3 .header-extras .extras-menu > li > a i,
  html body .header-layout-3 .extras-menu .menu-item-hotline i,
  html body .site-header .header-extras [class^="icon-"] {
    font-size: 20px !important;
  }
  html body .header-layout-3 .extras-menu .alandog-lang-current .lang-flag {
    font-size: 16px !important;
  }
  html body .header-layout-3 .extras-menu .alandog-lang-current .lang-arrow,
  html body .header-layout-3 .extras-menu .alandog-supporto-link .lang-arrow {
    font-size: 10px !important;
  }
  html body .header-layout-3 .extras-menu .mini-cart-counter {
    font-size: 10px !important;
  }
  /* Nav bar: HIDDEN on tablet (hamburger is the navigation) */
  html body .header-layout-3 .main-menu {
    display: none !important;
  }
  /* Dropdowns: don't overflow right edge */
  html body .alandog-lang-dropdown,
  html body .alandog-supporto-dropdown {
    right: 0 !important;
    left: auto !important;
  }
  /* Logo: compact */
  html body .header-layout-3 .header-logo .d-logo a img {
    max-height: 36px !important;
  }
}

/* --- ≤767px: MOBILE — hamburger + account/cart only --- */
@media screen and (max-width: 767px) {
  /* Hamburger column: Bootstrap shows it at xs, but reinforce */
  html body .header-layout-3 .header-main .header-extras.hidden-lg.hidden-md {
    display: flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    align-items: center !important;
  }
  /* Hamburger toggle */
  html body .header-layout-3 .mobile-menu .mf-toggle-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 24px !important;
    color: #fff !important;
    padding: 6px 8px !important;
  }
  /* Hide lang, supporto — only account + cart on mobile */
  html body .header-layout-3 .extras-menu .alandog-lang-switcher,
  html body .header-layout-3 .extras-menu .alandog-supporto-switcher {
    display: none !important;
  }
  /* Account: icon-only, compact */
  html body .header-layout-3 .extras-menu .menu-item-account > a {
    padding: 8px !important;
    font-size: 0 !important;
  }
  html body .header-layout-3 .extras-menu .menu-item-account > a .extra-icon {
    font-size: 22px !important;
  }
  /* Cart: icon-only, compact */
  html body .header-layout-3 .extras-menu .menu-item-cart > a {
    padding: 8px !important;
    font-size: 0 !important;
  }
  html body .header-layout-3 .extras-menu .menu-item-cart > a i {
    font-size: 22px !important;
  }
  /* Extras-menu: natural width, right-aligned */
  html body .header-layout-3 .header-extras .extras-menu {
    min-width: 0 !important;
    margin-left: auto !important;
    justify-content: flex-end !important;
    gap: 0 !important;
  }
  /* Hide search in extras column */
  html body .header-layout-3 .header-extras:not(.hidden-lg) .product-extra-search {
    display: none !important;
  }
  /* Nav bar: HIDDEN on mobile */
  html body .header-layout-3 .main-menu {
    display: none !important;
  }
  /* Logo: compact for mobile */
  html body .header-layout-3 .header-logo .d-logo a img {
    max-height: 32px !important;
  }
}

/* Mobile header layout extracted from functions.php to keep the header system in CSS */
@media (max-width: 767px) {
  .header-main .martfury-container > .row.header-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
    gap: 0;
  }

  .header-main .row.header-row > .header-extras.hidden-lg.hidden-md {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    float: none !important;
    padding: 0 8px !important;
  }

  .header-main .row.header-row > .header-extras.hidden-lg .product-extra-search {
    display: none !important;
  }

  .header-main .row.header-row > .header-logo {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: auto !important;
    max-width: none !important;
    float: none !important;
    text-align: center !important;
    padding: 0 !important;
    z-index: 1 !important;
  }

  .header-logo .logo img.site-logo {
    max-height: 38px !important;
    width: auto !important;
  }

  .header-logo .site-title,
  .header-logo .site-description {
    display: none !important;
  }

  .header-main .row.header-row > .header-extras:not(.hidden-lg):not(.hidden-md) {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    float: none !important;
    padding: 0 10px 0 0 !important;
    overflow: visible !important;
  }

  .header-main .row.header-row > .header-extras:not(.hidden-lg) > .product-extra-search {
    display: none !important;
  }

  .header-main .extras-menu {
    display: flex !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    width: auto !important;
    align-items: center !important;
    gap: 16px !important;
  }

  .header-main .extras-menu > li {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    width: 22px !important;
    height: 22px !important;
    position: relative !important;
  }

  .header-main .extras-menu > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    padding: 0 !important;
    font-size: 0 !important;
    color: #fff !important;
    line-height: 1 !important;
  }

  .header-main .extras-menu .lang-arrow,
  .header-main .extras-menu .account-name,
  .header-main .extras-menu .alandog-login-arrow,
  .header-main .extras-menu .item-login,
  .header-main .extras-menu .item-register,
  .header-main .extras-menu .cart-label,
  .header-main .extras-menu > li > ul,
  .header-main .extras-menu .alandog-lang-dropdown,
  .header-main .extras-menu .alandog-supporto-dropdown {
    display: none !important;
  }

  .header-main .extras-menu > li > a > i,
  .header-main .extras-menu > li > a > .extra-icon,
  .header-main .extras-menu .lang-flag {
    display: none !important;
  }

  .header-main .extras-menu > li.alandog-extra-ordina > a > svg {
    display: none !important;
  }

  .header-main .extras-menu > li > a::before {
    content: '' !important;
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 22px 22px !important;
    flex-shrink: 0 !important;
  }

  .header-main .extras-menu > li.alandog-lang-switcher > a::before {
    display: none !important;
  }

  .header-main .extras-menu > li.alandog-lang-switcher .lang-flag {
    display: inline-block !important;
    font-size: 20px !important;
    line-height: 1 !important;
  }

  .header-main .extras-menu > li.alandog-extra-ordina > a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15.05 5A5 5 0 0119 8.95M15.05 1A9 9 0 0123 8.94M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6A19.79 19.79 0 012.12 4.18 2 2 0 014.11 2h3a2 2 0 012 1.72 12.84 12.84 0 00.7 2.81 2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45 12.84 12.84 0 002.81.7A2 2 0 0122 16.92z'/%3E%3C/svg%3E") !important;
  }

  .header-main .extras-menu > li.alandog-supporto-switcher > a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 18v-6a9 9 0 0118 0v6'/%3E%3Cpath d='M21 19a2 2 0 01-2 2h-1a2 2 0 01-2-2v-3a2 2 0 012-2h3zM3 19a2 2 0 002 2h1a2 2 0 002-2v-3a2 2 0 00-2-2H3z'/%3E%3C/svg%3E") !important;
  }

  .header-main .extras-menu > li.menu-item-account > a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") !important;
  }

  .header-main .extras-menu > li.menu-item-cart > a::before {
    display: none !important;
  }

  .header-main .extras-menu > li.menu-item-cart > a > .extra-icon {
    display: inline-block !important;
    font-size: 22px !important;
    color: #fff !important;
  }

  .header-main .extras-menu > li.menu-item-cart {
    width: 28px !important;
  }

  .header-main .extras-menu .menu-item-cart .cart-contents {
    position: relative !important;
  }

  .header-main .extras-menu .menu-item-cart .mini-cart-counter {
    position: absolute !important;
    top: -6px !important;
    right: -6px !important;
    min-width: 16px !important;
    height: 16px !important;
    font-size: 10px !important;
    line-height: 16px !important;
    text-align: center !important;
    border-radius: 50% !important;
    padding: 0 3px !important;
  }

  .header-layout-3 .header-main-wapper,
  .header-main-wapper {
    padding: 12px 0 !important;
    min-height: 60px !important;
    height: auto !important;
    box-sizing: border-box !important;
  }

  .header-layout-3 .header-main,
  .header-main {
    padding: 0 !important;
    min-height: 44px !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
  }

  .header-layout-3 .site-header,
  .site-header {
    min-height: auto !important;
  }

  .header-layout-3 .header-main .row.header-row {
    min-height: 44px !important;
    align-items: center !important;
  }

  .header-main .martfury-container {
    padding: 0 10px !important;
  }

  .main-menu.hidden-xs.hidden-sm {
    display: none !important;
  }

  header + .mobile-menu,
  .site-header + .mobile-menu {
    padding: 4px 10px !important;
  }

  header + .mobile-menu .search-wrapper input[type="text"],
  .site-header + .mobile-menu .search-wrapper input[type="text"] {
    height: 36px !important;
    font-size: 14px !important;
  }
}

/* ============================================================
   HEADER POLISH — 2026-03-29
   Visual refinement after sticky/header architecture cleanup.
   ============================================================ */

.alandog-custom-sticky-header.header-layout-3 {
  --alandog-header-surface: var(--alandog-green, #085d91);
  --alandog-header-divider: rgba(255, 255, 255, 0.12);
  --alandog-header-text: rgba(255, 255, 255, 0.96);
  --alandog-header-text-soft: rgba(255, 255, 255, 0.78);
  --alandog-header-shadow: 0 14px 34px rgba(4, 23, 37, 0.18);
  --alandog-header-search-height: 46px;
}

.alandog-custom-sticky-header.header-layout-3 .site-header,
.alandog-custom-sticky-header.header-layout-3 .site-header .header-main-wapper,
.alandog-custom-sticky-header.header-layout-3 .site-header .header-main,
.alandog-custom-sticky-header.header-layout-3 .site-header > .mobile-menu,
.alandog-custom-sticky-header.header-layout-3 .main-menu {
  background: var(--alandog-header-surface) !important;
  background-image: none !important;
}

.alandog-custom-sticky-header.header-layout-3 .site-header {
  min-height: 118px;
  border-bottom: 1px solid var(--alandog-header-divider);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04);
}

.alandog-custom-sticky-header.header-layout-3 .header-main .martfury-container,
.alandog-custom-sticky-header.header-layout-3 .main-menu .martfury-container {
  width: 100%;
  max-width: none !important;
  padding-left: clamp(18px, 2vw, 32px) !important;
  padding-right: clamp(18px, 2vw, 32px) !important;
}

.alandog-custom-sticky-header.header-layout-3 .site-header.header-scrolled {
  box-shadow: var(--alandog-header-shadow);
}

.alandog-custom-sticky-header.header-layout-3 .header-main-wapper {
  padding: 8px 0;
  min-height: 76px;
}

.alandog-custom-sticky-header.header-layout-3 .header-main {
  min-height: 52px;
}

.alandog-custom-sticky-header.header-layout-3 .header-main .row.header-row {
  gap: 14px;
  min-height: 52px;
  align-items: center;
}

.alandog-custom-sticky-header.header-layout-3 .header-main .header-extras:not(.hidden-lg):not(.hidden-md) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(16px, 2vw, 28px);
  min-width: 0;
}

.alandog-custom-sticky-header.header-layout-3 .header-logo .d-logo a img,
.alandog-custom-sticky-header.header-layout-3 .header-logo .logo img.site-logo {
  max-height: 40px;
}

.alandog-custom-sticky-header.header-layout-3 .header-logo .site-title,
.alandog-custom-sticky-header.header-layout-3 .header-logo .site-description {
  display: none !important;
}

.alandog-custom-sticky-header.header-layout-3 .site-header .product-extra-search {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  max-width: none;
  margin: 0;
}

.alandog-custom-sticky-header.header-layout-3 .site-header .products-search {
  background: #fff;
  border-radius: 14px;
  box-shadow: inset 0 0 0 1px rgba(12, 39, 58, 0.1);
  overflow: hidden;
}

.alandog-custom-sticky-header.header-layout-3 .site-header .products-search:focus-within {
  box-shadow:
    0 0 0 3px rgba(181, 225, 246, 0.3),
    inset 0 0 0 1px rgba(12, 39, 58, 0.1);
}

.alandog-custom-sticky-header.header-layout-3 .site-header .products-search .psearch-content {
  min-height: var(--alandog-header-search-height);
  display: flex;
  align-items: stretch;
}

.alandog-custom-sticky-header.header-layout-3 .site-header .products-search .product-cat {
  background: #f5f8fb;
}

.alandog-custom-sticky-header.header-layout-3 .site-header .products-search .search-wrapper {
  flex: 1 1 auto;
  min-width: 0;
}

.alandog-custom-sticky-header.header-layout-3 .site-header .products-search .search-wrapper input[type="text"] {
  height: var(--alandog-header-search-height);
  padding: 0 18px;
  font-size: 14px;
}

.alandog-custom-sticky-header.header-layout-3 .site-header .products-search .search-wrapper input[type="text"]::placeholder {
  color: #677688;
}

.alandog-custom-sticky-header.header-layout-3 .site-header .products-search .search-submit {
  min-width: 56px;
  height: var(--alandog-header-search-height);
  padding: 0 16px;
  background: #f3f7fa !important;
  color: #4d6071 !important;
  border-left: 1px solid #dbe4eb;
  border-radius: 0 14px 14px 0;
}

.alandog-custom-sticky-header.header-layout-3 .header-extras .extras-menu {
  width: auto;
  min-width: 0 !important;
  min-height: 44px;
  margin-left: auto;
  justify-self: end;
}

.alandog-custom-sticky-header.header-layout-3 .header-extras .extras-menu > li {
  min-height: 40px;
}

.alandog-custom-sticky-header.header-layout-3 .header-extras .extras-menu > li > a,
.alandog-custom-sticky-header.header-layout-3 .extras-menu .menu-item-hotline {
  gap: 7px;
  padding: 8px 10px;
  border-radius: 12px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--alandog-header-text);
  transition: background 0.18s ease, color 0.18s ease;
}

.alandog-custom-sticky-header.header-layout-3 .header-extras .extras-menu > li > a:hover,
.alandog-custom-sticky-header.header-layout-3 .extras-menu .menu-item-hotline:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  opacity: 1;
}

.alandog-custom-sticky-header.header-layout-3 .header-extras .extras-menu > li > a i,
.alandog-custom-sticky-header.header-layout-3 .extras-menu .menu-item-hotline i,
.alandog-custom-sticky-header .site-header .header-extras [class^="icon-"] {
  font-size: 19px;
}

.alandog-custom-sticky-header.header-layout-3 .extras-menu .mini-cart-counter {
  min-width: 18px;
  height: 18px;
  line-height: 18px;
  top: -7px;
}

.alandog-custom-sticky-header.header-layout-3 .main-menu {
  min-height: 41px;
  border-top: 1px solid var(--alandog-header-divider) !important;
  border-bottom: 0 !important;
  box-shadow: none;
}

.alandog-custom-sticky-header.header-layout-3 .main-menu .primary-nav > ul > li > a,
.alandog-custom-sticky-header.header-layout-3 .main-menu .navigation > li > a,
.alandog-custom-sticky-header.header-layout-3 .main-menu .primary-menu-ul > li > a {
  padding: 10px 18px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--alandog-header-text) !important;
}

.alandog-custom-sticky-header.header-layout-3 .main-menu .primary-nav > ul > li > a::after {
  left: 18px;
  right: 18px;
  bottom: 6px;
  background: rgba(255, 255, 255, 0.72);
}

.alandog-custom-sticky-header.header-layout-3 .main-menu .primary-nav > ul > li > a:hover,
.alandog-custom-sticky-header.header-layout-3 .main-menu .primary-menu-ul > li.current-menu-item > a,
.alandog-custom-sticky-header.header-layout-3 .main-menu .navigation > li.current-menu-item > a {
  opacity: 1;
  color: #fff !important;
}

.alandog-custom-sticky-header.header-layout-3 .main-menu .primary-nav > ul,
.alandog-custom-sticky-header.header-layout-3 .main-menu .primary-menu-ul {
  width: 100%;
  justify-content: flex-start;
  gap: clamp(4px, 0.7vw, 14px);
}

.alandog-custom-sticky-header.header-layout-3 .alandog-nav-promo span {
  color: var(--alandog-header-text-soft);
  font-style: normal;
  font-weight: 600;
}

.alandog-custom-sticky-header.header-layout-3 .alandog-lang-switcher,
.alandog-custom-sticky-header.header-layout-3 .alandog-supporto-switcher {
  position: relative;
}

.alandog-custom-sticky-header.header-layout-3 .alandog-lang-current,
.alandog-custom-sticky-header.header-layout-3 .alandog-supporto-link {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  padding: 8px 12px;
  border-radius: 12px;
  color: var(--alandog-header-text);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.18s ease, color 0.18s ease;
}

.alandog-custom-sticky-header.header-layout-3 .alandog-lang-current:hover,
.alandog-custom-sticky-header.header-layout-3 .alandog-supporto-link:hover,
.alandog-custom-sticky-header.header-layout-3 .alandog-lang-switcher:hover .alandog-lang-current,
.alandog-custom-sticky-header.header-layout-3 .alandog-supporto-switcher:hover .alandog-supporto-link {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  opacity: 1;
}

.alandog-custom-sticky-header.header-layout-3 .lang-arrow {
  font-size: 10px;
  opacity: 0.7;
}

.alandog-custom-sticky-header.header-layout-3 .alandog-lang-dropdown,
.alandog-custom-sticky-header.header-layout-3 .alandog-supporto-dropdown {
  top: calc(100% + 8px);
  min-width: 220px;
  padding: 8px;
  border: 1px solid #dbe5ec;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 36px rgba(7, 32, 50, 0.18);
}

.alandog-custom-sticky-header.header-layout-3 .alandog-supporto-dropdown {
  min-width: 232px;
}

.alandog-custom-sticky-header.header-layout-3 .alandog-lang-option,
.alandog-custom-sticky-header.header-layout-3 .alandog-supporto-option {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 12px;
  color: #17384c;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.16s ease, color 0.16s ease;
}

.alandog-custom-sticky-header.header-layout-3 .alandog-lang-dropdown > li > a,
.alandog-custom-sticky-header.header-layout-3 .alandog-supporto-dropdown > li > a {
  color: #17384c !important;
  text-decoration: none !important;
}

.alandog-custom-sticky-header.header-layout-3 .alandog-lang-option:hover,
.alandog-custom-sticky-header.header-layout-3 .alandog-supporto-option:hover {
  background: #f3f7fa;
  color: var(--alandog-green-dark, #065282);
}

.alandog-custom-sticky-header.header-layout-3 .alandog-lang-option .lang-flag {
  font-size: 18px;
}

.alandog-custom-sticky-header.header-layout-3 .alandog-supporto-dropdown > li > a .alandog-supporto-option::before {
  content: '';
  width: 16px;
  height: 16px;
  display: inline-block;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
}

.alandog-custom-sticky-header.header-layout-3 .alandog-supporto-dropdown > li:nth-child(1) > a .alandog-supporto-option::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23065282' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");
}

.alandog-custom-sticky-header.header-layout-3 .alandog-supporto-dropdown > li:nth-child(2) > a .alandog-supporto-option::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23065282' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2Z'/%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='M7 14h4'/%3E%3C/svg%3E");
}

.alandog-custom-sticky-header.header-layout-3 .alandog-supporto-dropdown > li:nth-child(3) > a .alandog-supporto-option::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23065282' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 14 4 9l5-5'/%3E%3Cpath d='M20 20v-7a4 4 0 0 0-4-4H4'/%3E%3C/svg%3E");
}

.alandog-custom-sticky-header.header-layout-3 .alandog-supporto-dropdown > li:nth-child(4) > a .alandog-supporto-option::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23065282' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a2 2 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
}

.alandog-custom-sticky-header.header-layout-3 .alandog-supporto-dropdown > li:nth-child(5) > a .alandog-supporto-option::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23065282' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.12 2.12 0 1 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E");
}

.alandog-custom-sticky-header.header-layout-3 .alandog-supporto-dropdown > li:nth-child(6) > a .alandog-supporto-option::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23065282' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
  .alandog-custom-sticky-header.header-layout-3 .header-main .header-extras:not(.hidden-lg):not(.hidden-md) {
    gap: 14px;
  }
}

@media screen and (max-width: 991px) {
  .alandog-custom-sticky-header.header-layout-3 {
    --alandog-header-search-height: 44px;
  }

  .alandog-custom-sticky-header.header-layout-3 .site-header {
    min-height: 108px;
  }

  .alandog-custom-sticky-header.header-layout-3 .header-main-wapper {
    padding: 8px 0 6px !important;
    min-height: 64px;
  }

  .alandog-custom-sticky-header.header-layout-3 .header-main {
    min-height: 44px;
  }

  .alandog-custom-sticky-header.header-layout-3 .header-main .row.header-row {
    min-height: 44px;
    gap: 12px;
  }

  .alandog-custom-sticky-header.header-layout-3 .header-main .row.header-row > .header-extras.hidden-lg.hidden-md {
    padding: 0 0 0 4px !important;
  }

  .alandog-custom-sticky-header.header-layout-3 .header-main .row.header-row > .header-extras:not(.hidden-lg):not(.hidden-md) {
    padding: 0 4px 0 0 !important;
  }

  .alandog-custom-sticky-header.header-layout-3 .header-main .header-extras.hidden-lg .product-extra-search {
    display: none !important;
  }

  .alandog-custom-sticky-header.header-layout-3 .header-logo .d-logo a img,
  .alandog-custom-sticky-header.header-layout-3 .header-logo .logo img.site-logo {
    max-height: 34px !important;
  }

  .alandog-custom-sticky-header.header-layout-3 .site-header > .mobile-menu.hidden-lg.hidden-md {
    display: block !important;
    border-top: 0 !important;
    padding: 0 0 10px !important;
  }

  .alandog-custom-sticky-header.header-layout-3 .site-header > .mobile-menu.hidden-lg.hidden-md .container {
    width: 100%;
    padding: 0 14px !important;
  }

  .alandog-custom-sticky-header.header-layout-3 .site-header > .mobile-menu.hidden-lg.hidden-md .mobile-menu-row {
    display: block;
    min-height: 0;
  }

  .alandog-custom-sticky-header.header-layout-3 .site-header > .mobile-menu.hidden-lg.hidden-md .mf-toggle-menu {
    display: none !important;
  }

  .alandog-custom-sticky-header.header-layout-3 .site-header > .mobile-menu.hidden-lg.hidden-md .product-extra-search {
    display: block !important;
    flex: none !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .alandog-custom-sticky-header.header-layout-3 .site-header > .mobile-menu.hidden-lg.hidden-md .products-search {
    width: 100%;
    background: #fff;
    border-radius: 14px;
    box-shadow: inset 0 0 0 1px rgba(12, 39, 58, 0.1);
    overflow: hidden;
  }

  .alandog-custom-sticky-header.header-layout-3 .site-header > .mobile-menu.hidden-lg.hidden-md .products-search .psearch-content {
    display: flex;
    align-items: stretch;
    min-height: var(--alandog-header-search-height);
  }

  .alandog-custom-sticky-header.header-layout-3 .site-header > .mobile-menu.hidden-lg.hidden-md .product-cat,
  .alandog-custom-sticky-header.header-layout-3 .site-header > .mobile-menu.hidden-lg.hidden-md .product-cat-label {
    display: none !important;
  }

  .alandog-custom-sticky-header.header-layout-3 .site-header > .mobile-menu.hidden-lg.hidden-md .search-wrapper {
    flex: 1 1 auto;
    min-width: 0;
  }

  .alandog-custom-sticky-header.header-layout-3 .site-header > .mobile-menu.hidden-lg.hidden-md .search-field {
    height: var(--alandog-header-search-height) !important;
    padding: 0 16px !important;
    font-size: 15px !important;
    border-left: 0 !important;
  }

  .alandog-custom-sticky-header.header-layout-3 .site-header > .mobile-menu.hidden-lg.hidden-md .search-submit {
    min-width: 54px !important;
    width: 54px !important;
    height: var(--alandog-header-search-height) !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: #f3f7fa !important;
    color: #4d6071 !important;
    border-left: 1px solid #dbe4eb !important;
    border-radius: 0 14px 14px 0 !important;
    font-size: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .alandog-custom-sticky-header.header-layout-3 .site-header {
    min-height: 104px;
  }

  .alandog-custom-sticky-header.header-layout-3 .header-main-wapper {
    padding: 6px 0 4px !important;
    min-height: 58px;
  }

  .alandog-custom-sticky-header.header-layout-3 .header-main .martfury-container {
    padding: 0 12px !important;
  }

  .alandog-custom-sticky-header.header-layout-3 .header-logo .d-logo a img,
  .alandog-custom-sticky-header.header-layout-3 .header-logo .logo img.site-logo {
    max-height: 32px !important;
  }

  .alandog-custom-sticky-header.header-layout-3 .header-main .extras-menu {
    gap: 12px !important;
  }

  .alandog-custom-sticky-header.header-layout-3 .header-main .extras-menu > li,
  .alandog-custom-sticky-header.header-layout-3 .header-main .extras-menu > li > a,
  .alandog-custom-sticky-header.header-layout-3 .header-main .extras-menu > li > a::before {
    width: 20px !important;
    height: 20px !important;
  }

  .alandog-custom-sticky-header.header-layout-3 .header-main .extras-menu > li.menu-item-cart {
    width: 24px !important;
  }

  .alandog-custom-sticky-header.header-layout-3 .header-main .extras-menu > li.menu-item-cart > a > .extra-icon,
  .alandog-custom-sticky-header.header-layout-3 .header-main .extras-menu > li.menu-item-account > a::before,
  .alandog-custom-sticky-header.header-layout-3 .header-main .extras-menu > li.alandog-supporto-switcher > a::before,
  .alandog-custom-sticky-header.header-layout-3 .header-main .extras-menu > li.alandog-extra-ordina > a::before {
    background-size: 20px 20px !important;
    font-size: 20px !important;
  }

  .alandog-custom-sticky-header.header-layout-3 .header-main .extras-menu .menu-item-cart .mini-cart-counter {
    min-width: 18px !important;
    height: 18px !important;
    line-height: 18px !important;
    top: -7px !important;
    right: -7px !important;
  }

  .alandog-custom-sticky-header.header-layout-3 .site-header > .mobile-menu.hidden-lg.hidden-md {
    padding-bottom: 8px !important;
  }

  .alandog-custom-sticky-header.header-layout-3 .site-header > .mobile-menu.hidden-lg.hidden-md .container {
    padding: 0 12px !important;
  }
}

/* ============================================================
   UI FIX BATCH — 2026-03-19
   ============================================================ */

/* --- FIX-UI-1: Shop sidebar "Marca" brand filter — 59 brands overflow ---
   Truncate to ~300px with scroll. Shows ~12 brands, rest accessible via scroll.
   Smooth scroll with custom scrollbar for better UX. */
.woof_container_product_brand .woof_block_html_items {
  max-height: 300px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #ccc transparent;
}
.woof_container_product_brand .woof_block_html_items::-webkit-scrollbar {
  width: 5px;
}
.woof_container_product_brand .woof_block_html_items::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 3px;
}
.woof_container_product_brand .woof_block_html_items::-webkit-scrollbar-track {
  background: transparent;
}

/* --- FIX-UI-2: Category tiles — fix oval shape and tiny images ---
   The .image-subcategory div is 70x120px creating an ellipse with border-radius:50%.
   Fix to proper square for a circle, use cover instead of contain. */
.sub-category .image-subcategory {
  width: 90px !important;
  height: 90px !important;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border: 2px solid #e8e8e8;
  margin: 0 auto 8px;
  flex-shrink: 0;
}
.sub-category a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  padding: 10px 6px;
  transition: transform 0.2s ease;
}
.sub-category a:hover {
  transform: translateY(-2px);
}
.sub-category a h2 {
  font-size: 12px !important;
  font-weight: 600;
  margin: 0;
  line-height: 1.3;
  color: #333;
}

/* --- FIX-UI-3: PDP gap between description content and dosage section ---
   Product description's long_description content has trailing empty paragraphs
   and excessive bottom margins. Tighten spacing. */
.woocommerce-Tabs-panel--description > *:last-child {
  margin-bottom: 0 !important;
}
.woocommerce-Tabs-panel--description {
  padding-bottom: 20px;
}
/* Remove empty paragraphs that create whitespace */
.woocommerce-Tabs-panel--description p:empty {
  display: none;
}
/* Tighten spacing between tab content sections */
.woocommerce-tabs .panel {
  margin-bottom: 0;
}

/* --- FIX-UI-4: PDP review container — 400px fixed height with only 87px content ---
   CusRev sets cr-reviews-ajax-comments to height:400px for scroll.
   When no reviews exist, this creates 300px of empty grey space.
   Also hide the redundant grey "Recensioni" heading (our section has its own). */
.cr-reviews-ajax-comments {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}
/* Hide the grey-bg CusRev title — our alandog-pdp-section__title already shows it */
.alandog-pdp-section__content .woocommerce-Reviews-title {
  display: none !important;
}

/* --- FIX-UI-5: PDP Q&A duplicate heading ---
   Our wrapper (alandog-pdp-section) adds an H2 title, and the CusRev plugin's
   cr-qna-block also renders its own H2. Hide the plugin's duplicate. */
.alandog-pdp-section__content .cr-qna-block > h2:first-child {
  display: none !important;
}

/* --- FIX-UI-6: Shop category tiles overflow on mobile (375px) ---
   min-width:120px on li forces items wider than 1fr grid columns.
   3 × 120px + 2 × 8px gap = 376px > 375px viewport → overflow.
   Reset min-width on mobile so 1fr columns flex properly. */
@media screen and (max-width: 767px) {
  #container-subcategory ul li {
    min-width: 0;
  }
}

/* --- FIX-UI-7: Account page — excessive whitespace above login form ---
   Parent theme sets padding-top:115px on .entry-title inside .page-header-page.
   Reduce for account/cart/checkout pages. */
.woocommerce-account .page-header-page .entry-title,
.woocommerce-cart .page-header-page .entry-title,
.woocommerce-checkout .page-header-page .entry-title {
  padding: 30px 0 15px !important;
}
.woocommerce-account .page-header-page,
.woocommerce-cart .page-header-page,
.woocommerce-checkout .page-header-page {
  min-height: unset;
}
@media screen and (max-width: 767px) {
  .woocommerce-account .page-header-page .entry-title,
  .woocommerce-cart .page-header-page .entry-title,
  .woocommerce-checkout .page-header-page .entry-title {
    font-size: 14px;
    padding: 15px 0 10px !important;
  }
}

/* --- FIX-UI-8 + FIX-UI-74: Social login — full-width pill buttons with labels ---
   Super Socializer renders <i> icon buttons. Convert to full-width labeled buttons
   for better mobile UX. "Accedi con Google/Facebook" pattern (2026 e-commerce UX). */

/* Social login title — styled as divider "oppure" */
.the_champ_social_login_title {
  display: flex !important;
  align-items: center;
  gap: 12px;
  font-size: 13px !important;
  color: #495260 !important;
  font-weight: 500;
  margin: 16px 0 12px;
  text-align: center;
}
.the_champ_social_login_title::before,
.the_champ_social_login_title::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #E5E7EB;
}

/* Button list — stacked full-width */
.the_champ_login_ul {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
  list-style: none !important;
}
.the_champ_login_ul li {
  list-style: none;
  display: block !important;
  width: 100%;
}

/* Each button — full-width pill with icon + text */
.the_champ_login_ul .theChampLogin {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100% !important;
  height: auto !important;
  padding: 10px 16px !important;
  border-radius: 8px !important;
  border: 1px solid #E5E7EB !important;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  font-family: 'Inter', 'Nunito Sans', sans-serif;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

/* Google button — white bg */
.the_champ_login_ul .theChampGoogleLogin {
  background: #fff !important;
  color: #1F2937 !important;
}
.the_champ_login_ul .theChampGoogleLogin:hover {
  border-color: #4285F4 !important;
  box-shadow: 0 1px 4px rgba(66,133,244,0.15);
}
.the_champ_login_ul .theChampGoogleLogin::after {
  content: 'Accedi con Google';
  color: #1F2937;
}

/* Facebook button — brand blue */
.the_champ_login_ul .theChampFacebookLogin {
  background: #1877F2 !important;
  color: #fff !important;
  border-color: #1877F2 !important;
}
.the_champ_login_ul .theChampFacebookLogin:hover {
  background: #166FE5 !important;
  border-color: #166FE5 !important;
  box-shadow: 0 1px 4px rgba(24,119,242,0.25);
}
.the_champ_login_ul .theChampFacebookLogin::after {
  content: 'Accedi con Facebook';
  color: #fff;
}

/* SVG icons — constrain size */
.the_champ_login_ul .theChampLoginSvg {
  width: 20px !important;
  height: 20px !important;
  flex-shrink: 0;
}

/* Facebook logo container — remove plugin padding */
.the_champ_login_ul .theChampFacebookLogoContainer {
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
}

/* Opt-in checkbox — compact on mobile */
.heateor_ss_sl_optin_container {
  margin-bottom: 8px !important;
}
.heateor_ss_sl_optin_container label {
  font-size: 11px !important;
  line-height: 1.5 !important;
  color: #495260;
}

/* --- FIX-UI-9 + FIX-UI-75: PDP thumbnail gallery on mobile ---
   Thumbnails below main image, horizontal scroll, touch-friendly 72px size. */
@media screen and (max-width: 767px) {
  .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs {
    position: static !important;
    width: 100% !important;
    display: flex !important;
    flex-wrap: nowrap;
    gap: 8px;
    margin-top: 10px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    justify-content: center;
    scrollbar-width: none;
  }
  .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar {
    display: none;
  }
  .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li {
    flex: 0 0 72px;
    width: 72px !important;
    height: 72px !important;
    scroll-snap-align: start;
    border-radius: 10px;
  }
  .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
  }
  /* Ensure gallery container has no right padding (thumbs are below, not side) */
  .woocommerce div.product .woocommerce-product-gallery {
    padding-right: 0 !important;
  }
}

/* --- FIX-UI-10: Footer Amex/Stripe badges — plain text boxes vs proper icons ---
   Make the text-only badges (Amex, Stripe) match the branded icon style. */
.alandog-footer-payments .payment-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 50px;
  height: 32px;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  vertical-align: middle;
}

/* FIX-UI-18: Generic focus-visible fallback for links without custom :focus-visible */
a:focus-visible {
  outline: 2px solid var(--color-primary, #085d91);
  outline-offset: 2px;
  border-radius: 2px;
}


/* ============================================================
   FIX-UI-48: Hide duplicate social login block on account page.
   Super Socializer (the_champ) hooks into woocommerce_login_form
   AND woocommerce_login_form_end, rendering 2 identical blocks
   inside the login form. Keep the first, hide the second.
   ============================================================ */
.woocommerce-form-login .the_champ_outer_login_container ~ .the_champ_outer_login_container,
.woocommerce-form-login .the_champ_error ~ .the_champ_error ~ .the_champ_error {
  display: none;
}
/* Hide social-login config errors (staging only — API keys not set) */
.the_champ_error {
  display: none;
}

/* ============================================================
   FIX-UI-49: Minimum font-size 11px for readability + style
   unstyled links inside social-login container.
   ============================================================ */

/* a) Shop product badges — "Spedizione Gratis" was 10px */
.alandog-shop-badge {
  font-size: 11px;
}

/* b) WOOF filter counts — were 10px, hard to read */
.woof_label_count {
  font-size: 11px;
}

/* c) Language/menu dropdown arrows */
.lang-arrow {
  font-size: 11px;
}

/* d) Links inside social-login privacy text — FIX-UI-57a: #085d91 on #FAFAFA = 2.87:1 → #065282 = 5.65:1 */
.the_champ_outer_login_container .heateor_ss_sl_optin_container a,
.the_champ_outer_login_container label a,
.the_champ_login_container .heateor_ss_sl_optin_container a,
.the_champ_login_container label a {
  color: #065282 !important;
  text-decoration: underline;
}
.the_champ_outer_login_container .heateor_ss_sl_optin_container a:hover,
.the_champ_outer_login_container label a:hover,
.the_champ_login_container .heateor_ss_sl_optin_container a:hover,
.the_champ_login_container label a:hover {
  color: #085a8a !important;
}

/* V1: Hide duplicate Super Socializer login on checkout comment form (fixes duplicate-id a11y violation) */
.woocommerce-checkout #respond .the_champ_login_container,
.woocommerce-checkout #commentform .the_champ_login_container {
  display: none;
}

/* ============================================================
   FIX-UI-57: WCAG AA link contrast inside WC forms.
   #085d91 on #FAFAFA = 2.87:1 (fails 4.5:1). Use #065282 = 5.65:1.
   ============================================================ */
.woocommerce-form label a,
.woocommerce-form-login label a,
.woocommerce-form-register label a,
.woocommerce-privacy-policy-text a,
.woocommerce-form .woocommerce-form-login__rememberme a {
  color: #065282 !important;
}
.woocommerce-form label a:hover,
.woocommerce-form-login label a:hover,
.woocommerce-form-register label a:hover,
.woocommerce-privacy-policy-text a:hover {
  color: #085a8a !important;
}

/* ============================================================
   FIX-UI-62: WCAG 2.5.8 target-size — inline links in
   category descriptions and sidebar widgets need ≥24px height.
   ============================================================ */
.cat-item a,
.term-description a,
.woocommerce-product-details__short-description a,
.entry-content a,
.page-content a {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}

/* ============================================================
   FIX-UI-65: Shelter Connect contrast overrides — WCAG 2.2 SC 1.4.3
   Plugin uses --asc-text-muted (#8e8ea0) and --asc-orange (#E76F51)
   which fail 4.5:1 on white/light backgrounds.
   Override CSS custom properties so ALL usages are fixed at once.
   ============================================================ */
:root {
  --asc-text-muted: #6b6b80;     /* was #8e8ea0 (3.21:1) → 5.27:1 on #fff, 5.09:1 on #fafbfc */
  --asc-orange: #BF4F2A;         /* was #E76F51 (3.09:1) → 4.81:1 on #fff, 4.65:1 on #fafbfc */
  --asc-orange-hover: #A84625;   /* was #d4593e — proportional darken */
}

/* ============================================================
   FIX-UI-66+115: Breadcrumb link contrast on .page-breadcrumbs
   #0099cc=2.89:1 → #006d94=5.20:1 (AA) → #004e6d=7.5:1/#f1f1f1, 9.3:1/white (AAA)
   ============================================================ */
.page-breadcrumbs a,
.page-breadcrumbs .rank-math-breadcrumb a {
  color: #004e6d;
}
.page-breadcrumbs a:hover,
.page-breadcrumbs .rank-math-breadcrumb a:hover {
  color: #005577;
}

/* FIX-UI-80: WCAG 2.5.8 target-size — qty input needs min 24px height globally */
.alandog-qty-input {
  min-height: 24px;
}

/* FIX-UI-86: WCAG 2.5.8 target-size — ATC button needs min 24px height on pages without shop-grid.css */
.alandog-atc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 2px 8px;
  box-sizing: border-box;
}

/* FIX-UI-90: Prevent <pre> in product descriptions from creating scrollable regions on mobile */
.entry-content pre,
.woocommerce-product-details__short-description pre,
.alandog-pdp-section__content pre,
.product-content pre {
  white-space: pre-wrap;
  overflow-wrap: break-word;
  word-wrap: break-word;
  overflow: hidden;
}

/* FIX-UI-92: CLS fix — pre-position CustRev floating trust badge before badges.css loads */
#cr_floatingtrustbadge {
  position: fixed !important;
  bottom: 0 !important;
  right: 0 !important;
  width: 135px !important;
  max-height: 174px;
  margin: 30px !important;
  overflow: hidden;
  z-index: 99999;
  contain: layout style;
}
/* FIX-UI-101: Hide trust badge on mobile — 135px is 36% of 375px viewport, blocks content */
@media screen and (max-width: 767px) {
  #cr_floatingtrustbadge {
    display: none !important; /* !important: overrides plugin inline display:block */
  }
}

/* FIX-UI-102: Hide duplicate review count on homepage product cards
   Both .mf-rating-count (Martfury default) and .alandog-line-card__review-count
   (custom template) show the same count. Hide the custom one. */
.alandog-line-card__review-count {
  display: none;
}

/* FIX-UI-197: Variation label on product cards (e.g. "2 kg", "1 sacco") */
.alandog-var-label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 400;
  color: #6b7280;
  margin-top: 2px;
}

/* FIX-UI-95: WCAG AAA enhanced contrast overrides (parent theme + plugins) */
:root {
  --mf-gray-color: #4f4f4f !important;
}
/* Nav links: parent theme #666 (5.49:1) → #4f4f4f (7.21:1) */
.navigation .menu > li > a,
.navigation .sub-menu a,
ul.menu > li > a,
.primary-sidebar-menu a {
  color: #4f4f4f !important;
}
/* Product description DB text #666 on white → #4f4f4f */
.entry-summary .desc span,
.entry-summary .desc strong,
.entry-summary .desc li,
.woocommerce-product-details__short-description span,
.woocommerce-product-details__short-description strong {
  color: #4f4f4f !important;
}
/* WC attribute links: parent #0066cc → #004d99 */
.woocommerce-product-attributes-item__value a,
.product_meta a,
.tagged_as a {
  color: #004d99 !important;
}
/* WOOF filter headings: #245741 → #245741 */
.woof_container h4,
.woof_container_inner h4 {
  color: #245741 !important;
}
/* WOOF label count: #2952a3 on #efefef → #244692 */
.woof_label_count {
  color: #244692 !important;
}
/* Free shipping badge: bg → #245741 for AAA */
.alandog-shop-badge-free-shipping {
  background-color: #245741 !important;
}
/* IRS range slider: #767676 → #555555 */
.irs-grid-text {
  color: #555555 !important;
}
.irs-from, .irs-to, .irs-single {
  background-color: #0050b8 !important;
}
/* Review dates: #767676 → #555555 */
.woocommerce-review time,
.cr-meta-author-featured-date time {
  color: #555555 !important;
}
/* CustRev voting colors for AAA */
.cr-voting-upvote-count {
  color: #055649 !important;
}
.cr-voting-downvote-count {
  color: #961e28 !important;
}
/* Verified reviewer */
.woocommerce-review__verified {
  color: #435158 !important;
}
/* Green badges: bg → #0c5a2a for AAA white text */
.alandog-radio-card__badge {
  background-color: #0c5a2a !important;
}
.alandog-sub-badge {
  color: #0c5a2a !important;
}
/* Sub-title: #475569 on #eff6ff → #445166 */
.alandog-sub-title {
  color: #445166 !important;
}
/* Sub-subtitle: conditional text color for AAA contrast */
.one-time-option.selected .alandog-sub-subtitle {
  color: #eaf2f7 !important;
}
.one-time-option .alandog-sub-subtitle,
.alandog-sub-subtitle {
  color: #4a4a4a !important;
}
/* Delivery text: #536278 → #465369 */
.alandog-pdp-delivery span {
  color: #465369 !important;
}

/* FIX-UI-95 round 3: Override DB inline styles + plugin specificity */
/* Product desc inline color:#666666 — !important beats inline non-important */
.desc span,
.desc strong,
.desc li {
  color: #4f4f4f !important;
}
/* CustRev voting — exceed plugin specificity with body prefix */
body .cr-voting-cont-uni span.cr-voting-upvote-count {
  color: #055649 !important;
}
body .cr-voting-cont-uni span.cr-voting-downvote-count {
  color: #961e28 !important;
}
/* Review times — CustRev structure */
.cr-review-text time,
.cr-meta-author-featured-date time,
time.woocommerce-review__published-date {
  color: #555555 !important;
}


/* FIX-UI-119: CustRev review card AAA contrast fixes */
.cr-review-card-content .reviewer-verified { color: #06574a; }
.cr-review-card-content .review-product .product-title a { color: #005a8e; }

/* ============================================================
 * FIX-UI-144: Subscription page enhancement
 * ============================================================ */
.alandog-subscription-enhance {
    max-width: 900px;
    margin: 40px auto;
    padding: 0 20px;
}

.alandog-sub-section__title {
    text-align: center;
    font-size: 28px;
    font-weight: 800;
    color: #1A1A1A;
    margin-bottom: 32px;
    font-family: 'Nunito Sans', sans-serif;
}

.alandog-sub-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 32px;
}

.alandog-sub-step {
    text-align: center;
    padding: 24px;
    background: #f8f9fa;
    border-radius: 12px;
    border: 1px solid #DEE2E6;
}

.alandog-sub-step__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: #085d91;
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    border-radius: 50%;
    margin-bottom: 16px;
}

.alandog-sub-step h3 {
    font-size: 18px;
    font-weight: 700;
    color: #1A1A1A;
    margin: 0 0 8px;
}

.alandog-sub-step p {
    font-size: 14px;
    color: #4a5568;
    margin: 0;
    line-height: 1.6;
}

.alandog-sub-cta {
    text-align: center;
    margin: 32px 0 48px;
}

.alandog-sub-cta__btn {
    display: inline-block;
    padding: 16px 48px;
    background: #963B1A;
    color: #fff !important;
    font-size: 18px;
    font-weight: 700;
    border-radius: 10px;
    text-decoration: none;
    transition: background 0.2s, transform 0.2s;
    box-shadow: 0 4px 14px rgba(150,59,26,0.3);
}

.alandog-sub-cta__btn:hover {
    background: #D4593E;
    color: #fff !important;
    transform: translateY(-2px);
    text-decoration: none;
}

.alandog-sub-faq {
    margin-bottom: 40px;
}

.alandog-sub-faq__item {
    border: 1px solid #DEE2E6;
    border-radius: 8px;
    margin-bottom: 8px;
    overflow: hidden;
}

.alandog-sub-faq__item summary {
    padding: 16px 20px;
    font-size: 15px;
    font-weight: 600;
    color: #1A1A1A;
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.alandog-sub-faq__item summary::after {
    content: '+';
    font-size: 20px;
    color: #6C757D;
    transition: transform 0.2s;
}

.alandog-sub-faq__item[open] summary::after {
    content: '-';
}

.alandog-sub-faq__item p {
    padding: 0 20px 16px;
    font-size: 14px;
    color: #4a5568;
    line-height: 1.7;
    margin: 0;
}

@media (max-width: 767px) {
    .alandog-sub-steps {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .alandog-sub-section__title {
        font-size: 22px;
    }
}

/* ============================================================
 * FIX-UI-147: WhatsApp floating button
 * ============================================================ */
.alandog-whatsapp-btn {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 998;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background: #25D366;
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.4);
    transition: transform 0.2s, box-shadow 0.2s;
    text-decoration: none;
}
.alandog-whatsapp-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 18px rgba(37, 211, 102, 0.5);
}
@media (max-width: 767px) {
    /* Position above mobile bottom nav */
    .alandog-whatsapp-btn {
        bottom: 70px;
        left: 12px;
        width: 48px;
        height: 48px;
    }
    .alandog-whatsapp-btn svg {
        width: 24px;
        height: 24px;
    }
}

/* ============================================================
 * FIX-UI-146: Footer newsletter signup
 * ============================================================ */
.afb-newsletter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 20px 0;
    border-bottom: 1px solid #DEE2E6;
    margin-bottom: 20px;
}
.afb-newsletter__text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.afb-newsletter__text strong {
    font-size: 16px;
    color: #1A1A1A; /* FIX-UI-154: footer bg is light (#f0efec), not dark */
    font-family: 'Nunito Sans', sans-serif;
}
.afb-newsletter__text span {
    font-size: 13px;
    color: #3d4654; /* FIX-UI-154: was #4a5568 (6.54:1) → #3d4654 (7.97:1 on #f0efec) AAA */
}
.afb-newsletter__form {
    display: flex;
    gap: 0;
    flex-shrink: 0;
}
.afb-newsletter__form input[type="email"] {
    padding: 12px 16px;
    border: 2px solid #DEE2E6;
    border-right: none;
    border-radius: 8px 0 0 8px;
    background: #fff;
    color: #1A1A1A;
    font-size: 14px;
    width: 260px;
    outline: none;
}
.afb-newsletter__form input::placeholder {
    color: #6C757D;
}
.afb-newsletter__form input:focus {
    border-color: #085d91;
    background: #fff;
}
.afb-newsletter__form button {
    padding: 12px 24px;
    background: #963B1A;
    color: #fff;
    border: none;
    border-radius: 0 8px 8px 0;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s;
}
.afb-newsletter__form button:hover {
    background: #D4593E;
}
@media (max-width: 767px) {
    .afb-newsletter {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }
    .afb-newsletter__form {
        width: 100%;
    }
    .afb-newsletter__form input[type="email"] {
        width: 100%;
        flex: 1;
    }
}

/* ============================================================
 * FIX-UI-145: Comparison table visual indicators
 * Green highlight for PiuCane rows, "winning" badges
 * ============================================================ */
.brand-compare-table tr:nth-child(2),
.brand-compare-table tr:nth-child(3) {
    background: #f0fdf4;
    font-weight: 600;
}

.brand-compare-table tr:nth-child(2) td:first-child,
.brand-compare-table tr:nth-child(3) td:first-child {
    color: #035d43;
    font-weight: 700;
    position: relative;
}

.brand-compare-table tr:nth-child(2) td:first-child::before {
    content: '★ ';
    color: #F4A261;
}

/* Highlight "Zero" conservanti as green checkmark */
.brand-compare-table td:nth-child(6) {
    font-weight: 600;
}

/* "Presenti" conservanti in muted red */
.brand-compare-table tr:nth-child(4) td:nth-child(6),
.brand-compare-table tr:nth-child(5) td:nth-child(6) {
    color: #dc2626;
}

/* "Zero" conservanti in green */
.brand-compare-table tr:nth-child(2) td:nth-child(6),
.brand-compare-table tr:nth-child(3) td:nth-child(6),
.brand-compare-table tr:nth-child(6) td:nth-child(6) {
    color: #035d43;
}

/* FIX-UI-143: Privacy/legal page link AAA contrast (support.css not loaded on these pages) */
body.privacy-policy .entry-content a,
body.page-id-4036 .entry-content a,
body.privacy-policy a[href*="cookie"],
body.privacy-policy a[href*="cookieyes"] {
    color: #004d7a;
}


/* FIX-UI-147v2: Nav announce — visible pill with stronger contrast */
li.alandog-nav-announce,
li.alandog-nav-announce.menu-item {
  background: rgba(255,255,255,0.15) !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  border-radius: 20px !important;
  padding: 5px 16px !important;
  color: #FFFFFF !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  height: auto !important;
  line-height: 1.4 !important;
}
li.alandog-nav-announce .nav-announce__text,
li.alandog-nav-announce .nav-announce__icon {
  color: #FFFFFF !important;
}

/* FIX-UI-187: AAA contrast for links on category/archive pages
   Default #0066CC = 5.57:1 (fails AAA). #005599 = 7.61:1 (passes AAA). */
.term-description a,
.woocommerce-products-header__description a,
.taxonomy-description a,
.woocommerce-result-count a {
  color: #005599;
}
.term-description a:hover,
.woocommerce-products-header__description a:hover,
.taxonomy-description a:hover {
  color: #004d8a;
}

/* FIX-UI-190: AAA contrast fixes for empty cart, account page elements */
.alandog-empty-cart__card-price .grey-text-bold {
  color: #064d78 !important; /* !important: inline style sets #0a6ba6 */ /* AAA: 8.97:1 */
}
.alandog-pwd-toggle {
  color: #4b5563 !important; /* AAA: 7.56:1 on white (was #6b7280 4.83:1) */
}
.heateor_ss_sl_optin_container label {
  color: #4b5563 !important; /* AAA: 7.56:1 on white (was #6b7280 4.83:1) */
}

/* FIX-UI-189: AAA contrast for offerte carousel badges and title links */
.alandog-offerte-badge {
  background: #991B1B !important; /* AAA: 8.31:1 white on dark red (was #DC2626 4.83:1) */
}
.bdt-wc-carousel-title a {
  color: #005599 !important; /* AAA: 7.61:1 on white (was #0066CC 5.57:1) */
}
.bdt-wc-carousel-title a:hover {
  color: #004d8a !important;
}

/* ============================================================
 * FIX-A11Y-01: Global :focus-visible outlines (WCAG 2.4.7)
 * outline:none on :focus is kept for mouse users.
 * :focus-visible fires only for keyboard navigation.
 * ============================================================ */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible,
[tabindex]:focus-visible,
.add_to_cart_button:focus-visible,
.single_add_to_cart_button:focus-visible,
.checkout-button:focus-visible,
.woocommerce-ordering select:focus-visible,
.coupon-inline-row input:focus-visible,
.alandog-newsletter input:focus-visible {
  outline: 2px solid #085d91 !important;
  outline-offset: 2px !important;
}

/* ============================================================
 * FOOTER REFINEMENT v3 FINAL OVERRIDES
 * Keep all content, remove decorative card overload
 * ============================================================ */
body .alandog-footer-bottom-bar {
  background: #1b2833 !important;
  color: #d7dee5 !important;
  padding: 0 0 26px !important;
}
body .alandog-footer-bottom-bar .container {
  max-width: 1240px !important;
  padding: 0 20px !important;
}
body .alandog-footer-bottom-bar .afb-newsletter {
  margin: 0 !important;
  padding: 26px 0 24px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 24px !important;
  align-items: end !important;
}
body .alandog-footer-bottom-bar .afb-newsletter__text strong {
  color: #f7fafc !important;
}
body .alandog-footer-bottom-bar .afb-newsletter__text span {
  color: #aeb8c1 !important;
}
body .alandog-footer-bottom-bar .afb-newsletter__form input[type="email"] {
  width: 320px !important;
  min-height: 50px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 10px !important;
  border-right: 1px solid rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}
body .alandog-footer-bottom-bar .afb-newsletter__form input[type="email"]::placeholder {
  color: #a9b6c2 !important;
}
body .alandog-footer-bottom-bar .afb-newsletter__form button {
  min-height: 50px !important;
  border-radius: 10px !important;
  background: #9b4324 !important;
  box-shadow: none !important;
}
body .alandog-footer-bottom-bar .afb-newsletter__form button:hover {
  background: #ac4c2a !important;
}
body .alandog-footer-bottom-bar .afb-trust-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px) !important;
  gap: 28px !important;
  padding: 26px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
body .alandog-footer-bottom-bar .afb-payments,
body .alandog-footer-bottom-bar .afb-badges,
body .alandog-footer-bottom-bar .afb-info-row {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body .alandog-footer-bottom-bar .afb-badges {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 18px !important;
}
body .alandog-footer-bottom-bar .afb-icon {
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body .alandog-footer-bottom-bar .afb-badge {
  padding: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #d5dde5 !important;
}
body .alandog-footer-bottom-bar .afb-badge svg {
  stroke: #8dc3e0 !important;
}
body .alandog-footer-bottom-bar .afb-info-row {
  display: grid !important;
  grid-template-columns: 120px minmax(0, 1fr) !important;
  gap: 26px !important;
  padding: 22px 0 0 !important;
}
body .alandog-footer-bottom-bar .afb-social a {
  min-width: 40px !important;
  min-height: 40px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #d7dee5 !important;
  box-shadow: none !important;
}
body .alandog-footer-bottom-bar .afb-social a:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}
body .alandog-footer-bottom-bar .afb-legal-info {
  color: #b7c1ca !important;
}
body .alandog-footer-bottom-bar .afb-legal-info a,
body .alandog-footer-bottom-bar .afb-adr a {
  color: #f2c8a7 !important;
}
body .alandog-footer-bottom-bar .menu a,
body .alandog-footer-bottom-bar .menu-item > a,
body .alandog-footer-bottom-bar a[rel="revisit-consent"] {
  color: #d7dee5 !important;
}
body .alandog-footer-bottom-bar .menu a:hover,
body .alandog-footer-bottom-bar .menu a:focus,
body .alandog-footer-bottom-bar .menu-item > a:hover,
body .alandog-footer-bottom-bar .menu-item > a:focus,
body .alandog-footer-bottom-bar a[rel="revisit-consent"]:hover,
body .alandog-footer-bottom-bar a[rel="revisit-consent"]:focus {
  color: #ffffff !important;
}
body .alandog-footer-bottom-bar .afb-adr {
  color: #93a2b0 !important;
}
body .alandog-seo-footer-links {
  position: relative;
  max-width: 1240px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin: 0 auto !important;
  padding: 24px 20px 34px !important;
  color: #d7dee5 !important;
}
body .alandog-seo-footer-links::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: #1b2833;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  z-index: -1;
}
body .alandog-seo-footer-group {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body .alandog-seo-footer-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
body .alandog-seo-footer-link {
  display: inline-flex !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #b7c1ca !important;
}
body .alandog-seo-footer-link:hover {
  color: #ffffff !important;
  background: transparent !important;
  transform: none !important;
}
footer.site-footer {
  background: linear-gradient(180deg, #22313f 0%, #1b2833 100%) !important;
  color: #d7dee5 !important;
}
footer.site-footer .footer-layout,
footer.site-footer .footer-layout.footer-gray,
footer.site-footer .alandog-footer-bottom-bar {
  background: transparent !important;
  border-top: 0 !important;
}
footer.site-footer .footer-layout > .martfury-container {
  max-width: 1240px !important;
  padding: 42px 20px 0 !important;
}
footer.site-footer .footer-content {
  gap: 0 !important;
}
footer.site-footer .footer-info {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  padding: 0 0 28px !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: transparent !important;
}
footer.site-footer .footer-info .info-item,
footer.site-footer .footer-info .info-item:last-of-type {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
}
footer.site-footer .footer-info .info-item-sep,
footer.site-footer .footer-info .info-item-sep::after,
footer.site-footer .footer-info .info-item-sep::before {
  display: none !important;
}
footer.site-footer .footer-info .info-item .info-thumb i,
footer.site-footer .footer-info .info-item .info-icon svg,
footer.site-footer .footer-info .info-item .info-icon i {
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: #8dc3e0 !important;
  font-size: 18px !important;
}
footer.site-footer .footer-info .info-item .info-content h3 {
  margin: 0 0 4px !important;
  color: #f7fafc !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}
footer.site-footer .footer-info .info-item .info-content p {
  margin: 0 !important;
  color: #a6b2bd !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}
footer.site-footer .footer-links {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 32px !important;
  padding: 32px 0 30px !important;
  max-width: none !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
footer.site-footer .footer-links .widget,
footer.site-footer .footer-links .widget:last-child {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
footer.site-footer .footer-links .widget .widget-title,
footer.site-footer .footer-links .widget-title,
.mobile-version footer.site-footer .footer-links .widget.widget_nav_menu .widget-title {
  margin: 0 0 14px !important;
  color: #f5dcc6 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
}
footer.site-footer .footer-links .widget_nav_menu ul,
.mobile-version footer.site-footer .footer-links .widget.widget_nav_menu ul {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}
footer.site-footer .footer-links .widget_nav_menu ul li,
.mobile-version footer.site-footer .footer-links .widget.widget_nav_menu ul li {
  width: auto !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
}
footer.site-footer .footer-links .widget_nav_menu ul li::before,
footer.site-footer .footer-links .widget_nav_menu ul li::after,
.mobile-version footer.site-footer .footer-links .widget.widget_nav_menu ul li::after {
  display: none !important;
}
footer.site-footer .footer-links .widget_nav_menu ul li a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 !important;
  color: #c2ccd5 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  transition: color 0.18s ease, opacity 0.18s ease !important;
}
footer.site-footer .footer-links .widget_nav_menu ul li a:hover {
  color: #ffffff !important;
  opacity: 1 !important;
  transform: none !important;
}
footer.site-footer .alandog-footer-bottom-bar {
  padding: 0 0 26px !important;
}
footer.site-footer .alandog-footer-bottom-bar .container {
  max-width: 1240px !important;
  padding: 0 20px !important;
}
footer.site-footer .afb-newsletter {
  margin: 0 !important;
  padding: 26px 0 24px !important;
  border-top: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 24px !important;
  align-items: end !important;
}
footer.site-footer .afb-newsletter__text strong {
  color: #f7fafc !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
}
footer.site-footer .afb-newsletter__text span {
  max-width: 560px !important;
  color: #aeb8c1 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}
footer.site-footer .afb-newsletter__form {
  gap: 10px !important;
}
footer.site-footer .afb-newsletter__form input[type="email"] {
  width: 320px !important;
  min-height: 50px !important;
  padding: 13px 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 10px !important;
  border-right: 1px solid rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}
footer.site-footer .afb-newsletter__form input[type="email"]::placeholder {
  color: #a9b6c2 !important;
}
footer.site-footer .afb-newsletter__form button {
  min-height: 50px !important;
  padding: 13px 22px !important;
  border-radius: 10px !important;
  background: #9b4324 !important;
  box-shadow: none !important;
}
footer.site-footer .afb-newsletter__form button:hover {
  background: #ac4c2a !important;
}
footer.site-footer .afb-trust-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px) !important;
  gap: 28px !important;
  padding: 26px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
footer.site-footer .afb-payments,
footer.site-footer .afb-badges,
footer.site-footer .afb-info-row {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
footer.site-footer .afb-payments {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}
footer.site-footer .afb-label,
footer.site-footer .afb-social::before,
footer.site-footer .alandog-seo-footer-title {
  color: #f5dcc6 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
}
footer.site-footer .afb-label {
  flex-basis: 100%;
  margin: 0 0 4px !important;
}
footer.site-footer .afb-icon {
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
footer.site-footer .afb-icon svg {
  opacity: 0.95;
}
footer.site-footer .afb-badges {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 18px !important;
  align-content: start !important;
}
footer.site-footer .afb-badge {
  padding: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #d5dde5 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  font-weight: 600 !important;
}
footer.site-footer .afb-badge svg {
  width: 15px !important;
  height: 15px !important;
  stroke: #8dc3e0 !important;
}
footer.site-footer .afb-info-row {
  display: grid !important;
  grid-template-columns: 120px minmax(0, 1fr) !important;
  gap: 26px !important;
  padding: 22px 0 0 !important;
  justify-content: initial !important;
  align-items: start !important;
}
footer.site-footer .afb-social {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  min-width: 0 !important;
  justify-content: flex-start !important;
}
footer.site-footer .afb-social::before {
  content: "Seguici";
  flex-basis: 100%;
  margin-bottom: 2px;
}
footer.site-footer .afb-social a {
  min-width: 40px !important;
  min-height: 40px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #d7dee5 !important;
  box-shadow: none !important;
}
footer.site-footer .afb-social a:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}
footer.site-footer .afb-legal-info {
  max-width: none !important;
  color: #b7c1ca !important;
  font-size: 13px !important;
  line-height: 1.85 !important;
  text-align: left !important;
}
footer.site-footer .afb-legal-info a,
footer.site-footer .afb-adr a {
  color: #f2c8a7 !important;
}
footer.site-footer .afb-adr {
  margin-top: 6px !important;
  color: #93a2b0 !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
}
footer.site-footer .alandog-seo-footer-links {
  max-width: 1240px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin: 0 auto !important;
  padding: 24px 20px 34px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: #d7dee5 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
footer.site-footer .alandog-seo-footer-group {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
footer.site-footer .alandog-seo-footer-title {
  display: block !important;
  margin: 0 0 12px !important;
}
footer.site-footer .alandog-seo-footer-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
footer.site-footer .alandog-seo-footer-link {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #b7c1ca !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  transition: color 0.18s ease !important;
}
footer.site-footer .alandog-seo-footer-link:hover {
  color: #ffffff !important;
  background: transparent !important;
  border-color: transparent !important;
  transform: none !important;
}
@media screen and (max-width: 1199px) {
  footer.site-footer .footer-info,
  footer.site-footer .footer-links,
  footer.site-footer .alandog-seo-footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  footer.site-footer .afb-trust-row {
    grid-template-columns: 1fr !important;
  }
}
@media screen and (max-width: 991px) {
  footer.site-footer .footer-layout > .martfury-container {
    padding: 34px 16px 0 !important;
  }
  footer.site-footer .footer-info {
    display: grid !important;
  }
  footer.site-footer .afb-newsletter {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }
  footer.site-footer .afb-newsletter__form {
    width: 100% !important;
  }
  footer.site-footer .afb-newsletter__form input[type="email"] {
    width: 100% !important;
    flex: 1 1 auto !important;
  }
  footer.site-footer .afb-info-row {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}
@media screen and (max-width: 767px) {
  footer.site-footer .footer-layout > .martfury-container {
    padding: 28px 16px 0 !important;
  }
  footer.site-footer .footer-info,
  footer.site-footer .footer-links,
  footer.site-footer .alandog-seo-footer-links {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  footer.site-footer .footer-info {
    padding-bottom: 22px !important;
  }
  footer.site-footer .footer-links {
    padding: 24px 0 24px !important;
    gap: 22px !important;
  }
  footer.site-footer .footer-links .widget .widget-title,
  footer.site-footer .footer-links .widget-title,
  .mobile-version footer.site-footer .footer-links .widget.widget_nav_menu .widget-title {
    margin-bottom: 10px !important;
  }
  footer.site-footer .afb-newsletter {
    padding: 22px 0 !important;
    gap: 16px !important;
  }
  footer.site-footer .afb-newsletter__text strong {
    font-size: 18px !important;
  }
  footer.site-footer .afb-newsletter__form {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  footer.site-footer .afb-newsletter__form button {
    width: 100% !important;
  }
  footer.site-footer .afb-badges {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  footer.site-footer .afb-badge,
  footer.site-footer .afb-legal-info,
  footer.site-footer .alandog-seo-footer-link,
  footer.site-footer .footer-links .widget_nav_menu ul li a {
    font-size: 13px !important;
  }
  footer.site-footer .alandog-seo-footer-links {
    padding: 22px 16px 76px !important;
  }
}

/* ============================================================
 * FOOTER MOBILE ACCORDION v4
 * Mobile keeps all content but progressively discloses link groups.
 * ============================================================ */
.alandog-footer-mobile-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  letter-spacing: inherit;
  text-transform: inherit;
}

.alandog-footer-mobile-toggle__label {
  flex: 1 1 auto;
}

.alandog-footer-mobile-toggle__icon {
  display: none;
}

@media screen and (max-width: 767px) {
  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-layout > .martfury-container {
    padding: 26px 16px 0 !important;
  }

  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin: 0 0 6px !important;
    padding: 6px 0 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, 0.03) !important;
    overflow: hidden !important;
  }

  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-info .info-item,
  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-info .info-item:last-of-type {
    padding: 14px 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-info .info-item-sep,
  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-info .info-item-sep::before,
  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-info .info-item-sep::after {
    display: block !important;
    width: auto !important;
    height: 1px !important;
    margin: 0 16px 0 60px !important;
    border: 0 !important;
    background: rgba(255, 255, 255, 0.08) !important;
  }

  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-info .info-item .info-thumb i,
  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-info .info-item .info-icon svg,
  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-info .info-item .info-icon i {
    width: 32px !important;
    height: 32px !important;
    font-size: 14px !important;
    border-radius: 10px !important;
    background: rgba(141, 195, 224, 0.08) !important;
    color: #b8d7ea !important;
  }

  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-info .info-item .info-content h3 {
    font-size: 13px !important;
    margin-bottom: 3px !important;
    color: #f2f5f8 !important;
  }

  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-info .info-item .info-content p {
    font-size: 12px !important;
    line-height: 1.45 !important;
    color: #a9b4bf !important;
  }

  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-links {
    padding: 18px 0 12px !important;
    gap: 0 !important;
    border-bottom: 0 !important;
  }

  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-links .widget {
    padding: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-links .widget:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-links .widget .widget-title,
  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-links .widget-title,
  body.alandog-footer-mobile-accordion-ready .alandog-seo-footer-title {
    margin: 0 !important;
  }

  body.alandog-footer-mobile-accordion-ready .alandog-footer-mobile-toggle {
    min-height: 52px !important;
    padding: 14px 0 !important;
    cursor: pointer;
  }

  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-links .widget .widget-title .alandog-footer-mobile-toggle,
  body.alandog-footer-mobile-accordion-ready .alandog-seo-footer-group .alandog-footer-mobile-toggle {
    color: #f5dcc6 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
  }

  body.alandog-footer-mobile-accordion-ready .alandog-footer-mobile-toggle__icon {
    display: inline-flex;
    width: 10px;
    height: 10px;
    margin-right: 4px;
    flex: 0 0 auto;
    opacity: 0.85;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.18s ease;
  }

  body.alandog-footer-mobile-accordion-ready .alandog-footer-mobile-accordion.is-open > .alandog-footer-mobile-heading .alandog-footer-mobile-toggle__icon {
    transform: rotate(-135deg);
    margin-top: 4px;
  }

  body.alandog-footer-mobile-accordion-ready .alandog-footer-mobile-panel {
    display: none !important;
    padding: 0 0 14px !important;
  }

  body.alandog-footer-mobile-accordion-ready .alandog-footer-mobile-accordion.is-open > .alandog-footer-mobile-panel {
    display: block !important;
  }

  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-links .widget_nav_menu ul li {
    margin: 0 !important;
  }

  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-links .widget_nav_menu ul li + li {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
  }

  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-links .widget_nav_menu ul li a {
    display: flex !important;
    width: 100%;
    min-height: 44px !important;
    padding: 10px 0 !important;
    font-size: 14px !important;
  }

  body.alandog-footer-mobile-accordion-ready .alandog-footer-bottom-bar {
    padding: 0 0 22px !important;
  }

  body.alandog-footer-mobile-accordion-ready .alandog-footer-bottom-bar .container {
    padding: 0 16px !important;
  }

  body.alandog-footer-mobile-accordion-ready .afb-newsletter {
    padding: 18px 0 16px !important;
    gap: 12px !important;
  }

  body.alandog-footer-mobile-accordion-ready .afb-newsletter__text strong {
    font-size: 17px !important;
  }

  body.alandog-footer-mobile-accordion-ready .afb-newsletter__text span {
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  body.alandog-footer-mobile-accordion-ready .afb-newsletter__form {
    gap: 8px !important;
  }

  body.alandog-footer-mobile-accordion-ready .afb-newsletter__form input[type="email"],
  body.alandog-footer-mobile-accordion-ready .afb-newsletter__form button {
    min-height: 46px !important;
  }

  body.alandog-footer-mobile-accordion-ready .afb-trust-row {
    padding: 18px 0 !important;
    gap: 16px !important;
  }

  body.alandog-footer-mobile-accordion-ready .afb-badges {
    gap: 8px 0 !important;
  }

  body.alandog-footer-mobile-accordion-ready .afb-info-row {
    padding: 18px 0 0 !important;
    gap: 14px !important;
  }

  body.alandog-footer-mobile-accordion-ready .afb-social {
    gap: 8px !important;
  }

  body.alandog-footer-mobile-accordion-ready .afb-social a {
    min-width: 38px !important;
    min-height: 38px !important;
  }

  body.alandog-footer-mobile-accordion-ready .afb-legal-info {
    font-size: 12px !important;
    line-height: 1.65 !important;
  }

  body.alandog-footer-mobile-accordion-ready .alandog-seo-footer-links {
    gap: 0 !important;
    padding: 12px 16px calc(132px + env(safe-area-inset-bottom)) !important;
  }

  body.alandog-footer-mobile-accordion-ready .alandog-seo-footer-group {
    padding: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.alandog-footer-mobile-accordion-ready .alandog-seo-footer-group:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  body.alandog-footer-mobile-accordion-ready .alandog-seo-footer-items {
    display: none !important;
    padding: 0 0 12px !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  body.alandog-footer-mobile-accordion-ready .alandog-footer-mobile-accordion.is-open > .alandog-seo-footer-items {
    display: flex !important;
  }

  body.alandog-footer-mobile-accordion-ready .alandog-seo-footer-link {
    width: 100%;
    min-height: 44px !important;
    padding: 10px 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    font-size: 14px !important;
  }
}

@media screen and (max-width: 359px) {
  body.alandog-footer-mobile-accordion-ready footer.site-footer .footer-info {
    grid-template-columns: 1fr !important;
  }
}
/* ============================================================
 * FOOTER AFTER-FOOTER LAST OVERRIDE
 * ============================================================ */
.alandog-footer-bottom-bar {
  background: #1b2833 !important;
  color: #d7dee5 !important;
  padding: 0 0 26px !important;
}
.alandog-footer-bottom-bar .container {
  max-width: 1240px !important;
  padding: 0 20px !important;
}
.afb-newsletter {
  margin: 0 !important;
  padding: 26px 0 24px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 24px !important;
  align-items: end !important;
}
.afb-newsletter__text strong {
  color: #f7fafc !important;
}
.afb-newsletter__text span {
  color: #aeb8c1 !important;
}
.afb-newsletter__form input[type="email"] {
  width: 320px !important;
  min-height: 50px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 10px !important;
  border-right: 1px solid rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}
.afb-newsletter__form input[type="email"]::placeholder {
  color: #a9b6c2 !important;
}
.afb-newsletter__form button {
  min-height: 50px !important;
  border-radius: 10px !important;
  background: #9b4324 !important;
  box-shadow: none !important;
}
.afb-newsletter__form button:hover {
  background: #ac4c2a !important;
}
.afb-trust-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px) !important;
  gap: 28px !important;
  padding: 26px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
.afb-payments,
.afb-badges,
.afb-info-row {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.afb-label,
.afb-social::before,
.alandog-seo-footer-title {
  color: #f5dcc6 !important;
}
.afb-icon {
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.afb-badges {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 18px !important;
}
.afb-badge {
  padding: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #d5dde5 !important;
}
.afb-badge svg {
  stroke: #8dc3e0 !important;
}
.afb-info-row {
  display: grid !important;
  grid-template-columns: 120px minmax(0, 1fr) !important;
  gap: 26px !important;
  padding: 22px 0 0 !important;
}
.afb-social {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  justify-content: flex-start !important;
}
.afb-social a {
  min-width: 40px !important;
  min-height: 40px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #d7dee5 !important;
  box-shadow: none !important;
}
.afb-social a:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}
.afb-legal-info {
  color: #b7c1ca !important;
}
.afb-legal-info a,
.afb-adr a {
  color: #f2c8a7 !important;
}
.afb-adr {
  color: #93a2b0 !important;
}
.alandog-seo-footer-links {
  position: relative;
  max-width: 1240px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin: 0 auto !important;
  padding: 24px 20px 34px !important;
  color: #d7dee5 !important;
}
.alandog-seo-footer-links::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: #1b2833;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  z-index: -1;
}
.alandog-seo-footer-group {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.alandog-seo-footer-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.alandog-seo-footer-link {
  display: inline-flex !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #b7c1ca !important;
}
.alandog-seo-footer-link:hover {
  color: #ffffff !important;
  background: transparent !important;
  transform: none !important;
}
@media screen and (max-width: 1199px) {
  .afb-trust-row,
  .alandog-seo-footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media screen and (max-width: 991px) {
  .afb-newsletter {
    grid-template-columns: 1fr !important;
  }
  .afb-newsletter__form {
    width: 100% !important;
  }
  .afb-newsletter__form input[type="email"] {
    width: 100% !important;
  }
  .afb-trust-row,
  .afb-info-row {
    grid-template-columns: 1fr !important;
  }
}
@media screen and (max-width: 767px) {
  .alandog-footer-bottom-bar .container {
    padding: 0 16px !important;
  }
  .afb-newsletter__form {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .afb-newsletter__form button {
    width: 100% !important;
  }
  .afb-badges,
  .alandog-seo-footer-links {
    grid-template-columns: 1fr !important;
  }
  .alandog-seo-footer-links {
    padding: 22px 16px 76px !important;
  }
}
/* ============================================================
 * FOOTER DESIGN POLISH: structure + mobile cleanup
 * ============================================================ */
body .alandog-footer-bottom-bar .afb-info-row {
  grid-template-columns: 88px minmax(0, 1fr) !important;
  gap: 18px !important;
}
body .alandog-footer-bottom-bar .afb-social {
  gap: 8px !important;
}
body .alandog-footer-bottom-bar .afb-social::before {
  margin-bottom: 4px !important;
}
body .alandog-footer-bottom-bar .afb-legal-info {
  line-height: 1.78 !important;
}
body .alandog-footer-bottom-bar .afb-payments {
  align-items: center !important;
  column-gap: 10px !important;
  row-gap: 12px !important;
}
body .alandog-footer-bottom-bar .afb-badges {
  align-items: start !important;
}
body .alandog-footer-bottom-bar .afb-newsletter__text {
  max-width: 560px;
}

@media screen and (max-width: 767px) {
  body .alandog-footer-bottom-bar .afb-newsletter {
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 14px !important;
    padding: 22px 0 20px !important;
  }
  body .alandog-footer-bottom-bar .afb-newsletter__text {
    max-width: none !important;
  }
  body .alandog-footer-bottom-bar .afb-newsletter__text strong {
    font-size: 17px !important;
    line-height: 1.15 !important;
  }
  body .alandog-footer-bottom-bar .afb-newsletter__text span {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }
  body .alandog-footer-bottom-bar .afb-newsletter__form {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  body .alandog-footer-bottom-bar .afb-newsletter__form input[type="email"],
  body .alandog-footer-bottom-bar .afb-newsletter__form button {
    width: 100% !important;
  }
  body .alandog-footer-bottom-bar .afb-trust-row {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 20px 0 !important;
  }
  body .alandog-footer-bottom-bar .afb-payments {
    justify-content: flex-start !important;
    align-items: flex-start !important;
  }
  body .alandog-footer-bottom-bar .afb-badges {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  body .alandog-footer-bottom-bar .afb-info-row {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 18px 0 0 !important;
  }
  body .alandog-footer-bottom-bar .afb-social {
    justify-content: flex-start !important;
  }
  body .alandog-footer-bottom-bar .afb-legal-info {
    font-size: 12px !important;
    line-height: 1.7 !important;
  }
  body .alandog-seo-footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 18px !important;
    padding: 22px 16px 168px !important;
  }
  body .alandog-seo-footer-title {
    font-size: 11px !important;
    margin-bottom: 10px !important;
  }
  body .alandog-seo-footer-link {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
}

@media screen and (max-width: 420px) {
  body .alandog-seo-footer-links {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding-bottom: 188px !important;
  }
}
/* Direct footer-after-footer blocks */
.alandog-footer-bottom-bar {
  background: #1b2833 !important;
  color: #d7dee5 !important;
  padding: 0 0 26px !important;
}
.alandog-footer-bottom-bar .container {
  max-width: 1240px !important;
  padding: 0 20px !important;
}
.afb-newsletter {
  margin: 0 !important;
  padding: 26px 0 24px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 24px !important;
  align-items: end !important;
}
.afb-newsletter__text strong {
  color: #f7fafc !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
}
.afb-newsletter__text span {
  max-width: 560px !important;
  color: #aeb8c1 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}
.afb-newsletter__form input[type="email"] {
  width: 320px !important;
  min-height: 50px !important;
  padding: 13px 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 10px !important;
  border-right: 1px solid rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}
.afb-newsletter__form input[type="email"]::placeholder {
  color: #a9b6c2 !important;
}
.afb-newsletter__form button {
  min-height: 50px !important;
  padding: 13px 22px !important;
  border-radius: 10px !important;
  background: #9b4324 !important;
  box-shadow: none !important;
}
.afb-newsletter__form button:hover {
  background: #ac4c2a !important;
}
.afb-trust-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px) !important;
  gap: 28px !important;
  padding: 26px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
.afb-payments,
.afb-badges,
.afb-info-row {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.afb-payments {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}
.afb-label,
.afb-social::before,
.alandog-seo-footer-title {
  color: #f5dcc6 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
}
.afb-label {
  flex-basis: 100%;
  margin: 0 0 4px !important;
}
.afb-icon {
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.afb-badges {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 18px !important;
  align-content: start !important;
}
.afb-badge {
  padding: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #d5dde5 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  font-weight: 600 !important;
}
.afb-badge svg {
  width: 15px !important;
  height: 15px !important;
  stroke: #8dc3e0 !important;
}
.afb-info-row {
  display: grid !important;
  grid-template-columns: 120px minmax(0, 1fr) !important;
  gap: 26px !important;
  padding: 22px 0 0 !important;
  justify-content: initial !important;
  align-items: start !important;
}
.afb-social {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  min-width: 0 !important;
  justify-content: flex-start !important;
}
.afb-social::before {
  content: "Seguici";
  flex-basis: 100%;
  margin-bottom: 2px;
}
.afb-social a {
  min-width: 40px !important;
  min-height: 40px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #d7dee5 !important;
  box-shadow: none !important;
}
.afb-social a:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}
.afb-legal-info {
  max-width: none !important;
  color: #b7c1ca !important;
  font-size: 13px !important;
  line-height: 1.85 !important;
  text-align: left !important;
}
.afb-legal-info a,
.afb-adr a {
  color: #f2c8a7 !important;
}
.afb-adr {
  margin-top: 6px !important;
  color: #93a2b0 !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
}
.alandog-seo-footer-links {
  position: relative;
  max-width: 1240px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin: 0 auto !important;
  padding: 24px 20px 34px !important;
  color: #d7dee5 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.alandog-seo-footer-links::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: #1b2833;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  z-index: -1;
}
.alandog-seo-footer-group {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.alandog-seo-footer-title {
  display: block !important;
  margin: 0 0 12px !important;
}
.alandog-seo-footer-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.alandog-seo-footer-link {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #b7c1ca !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  transition: color 0.18s ease !important;
}
.alandog-seo-footer-link:hover {
  color: #ffffff !important;
  background: transparent !important;
  border-color: transparent !important;
  transform: none !important;
}
@media screen and (max-width: 1199px) {
  .afb-trust-row,
  .alandog-seo-footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media screen and (max-width: 991px) {
  .afb-newsletter {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }
  .afb-newsletter__form {
    width: 100% !important;
  }
  .afb-newsletter__form input[type="email"] {
    width: 100% !important;
    flex: 1 1 auto !important;
  }
  .afb-trust-row {
    grid-template-columns: 1fr !important;
  }
  .afb-info-row {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}
@media screen and (max-width: 767px) {
  .alandog-footer-bottom-bar .container {
    padding: 0 16px !important;
  }
  .afb-newsletter {
    padding: 22px 0 !important;
    gap: 16px !important;
  }
  .afb-newsletter__text strong {
    font-size: 18px !important;
  }
  .afb-newsletter__form {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .afb-newsletter__form button {
    width: 100% !important;
  }
  .afb-badges,
  .alandog-seo-footer-links {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .afb-badge,
  .afb-legal-info,
  .alandog-seo-footer-link {
    font-size: 13px !important;
  }
  .alandog-seo-footer-links {
    padding: 22px 16px 76px !important;
  }
}

/* ============================================================
 * FOOTER REFINEMENT v3: calmer, more premium, less decorative
 * ============================================================ */
.site-footer {
  background: linear-gradient(180deg, #22313f 0%, #1b2833 100%) !important;
  color: #d7dee5 !important;
}
.site-footer .footer-layout,
.site-footer .footer-layout.footer-gray,
.alandog-footer-bottom-bar {
  background: transparent !important;
  border-top: 0 !important;
}
.site-footer .footer-layout > .martfury-container,
.alandog-footer-bottom-bar .container,
.alandog-seo-footer-links {
  max-width: 1240px !important;
}

.site-footer .footer-layout > .martfury-container {
  padding: 42px 20px 0 !important;
}
.site-footer .footer-content {
  gap: 0 !important;
}

.site-footer .footer-info {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  padding: 0 0 28px !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: transparent !important;
}
.site-footer .footer-info .info-item,
.site-footer .footer-info .info-item:last-of-type {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
}
.site-footer .footer-info .info-item-sep,
.site-footer .footer-info .info-item-sep::after,
.site-footer .footer-info .info-item-sep::before {
  display: none !important;
}
.site-footer .footer-info .info-item .info-thumb,
.site-footer .footer-info .info-item .info-icon {
  width: 44px;
  height: 44px;
}
.site-footer .footer-info .info-item .info-thumb i,
.site-footer .footer-info .info-item .info-icon svg,
.site-footer .footer-info .info-item .info-icon i {
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: #8dc3e0 !important;
  font-size: 18px !important;
}
.site-footer .footer-info .info-item .info-content h3 {
  margin: 0 0 4px !important;
  color: #f7fafc !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}
.site-footer .footer-info .info-item .info-content p {
  margin: 0 !important;
  color: #a6b2bd !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

.site-footer .footer-links {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 32px !important;
  padding: 32px 0 30px !important;
  max-width: none !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
.site-footer .footer-links .widget,
.site-footer .footer-links .widget:last-child {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.site-footer .footer-links .widget .widget-title,
.site-footer .footer-links .widget-title,
.mobile-version .site-footer .footer-links .widget.widget_nav_menu .widget-title {
  margin: 0 0 14px !important;
  color: #f5dcc6 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
}
.site-footer .footer-links .widget_nav_menu ul,
.mobile-version .site-footer .footer-links .widget.widget_nav_menu ul {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}
.site-footer .footer-links .widget_nav_menu ul li,
.mobile-version .site-footer .footer-links .widget.widget_nav_menu ul li {
  width: auto !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
}
.site-footer .footer-links .widget_nav_menu ul li::before,
.site-footer .footer-links .widget_nav_menu ul li::after,
.mobile-version .site-footer .footer-links .widget.widget_nav_menu ul li::after {
  display: none !important;
}
.site-footer .footer-links .widget_nav_menu ul li a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 !important;
  color: #c2ccd5 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  transition: color 0.18s ease, opacity 0.18s ease !important;
}
.site-footer .footer-links .widget_nav_menu ul li a:hover {
  color: #ffffff !important;
  opacity: 1 !important;
  transform: none !important;
}

.alandog-footer-bottom-bar {
  padding: 0 0 26px !important;
}
.alandog-footer-bottom-bar .container {
  padding: 0 20px !important;
}
.afb-newsletter {
  margin: 0 !important;
  padding: 26px 0 24px !important;
  border-top: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 24px !important;
  align-items: end !important;
}
.afb-newsletter__text strong {
  color: #f7fafc !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
}
.afb-newsletter__text span {
  max-width: 560px !important;
  color: #aeb8c1 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}
.afb-newsletter__form {
  gap: 10px !important;
}
.afb-newsletter__form input[type="email"] {
  width: 320px !important;
  min-height: 50px !important;
  padding: 13px 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 10px !important;
  border-right: 1px solid rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}
.afb-newsletter__form input[type="email"]::placeholder {
  color: #a9b6c2 !important;
}
.afb-newsletter__form button {
  min-height: 50px !important;
  padding: 13px 22px !important;
  border-radius: 10px !important;
  background: #9b4324 !important;
  box-shadow: none !important;
}
.afb-newsletter__form button:hover {
  background: #ac4c2a !important;
}

.afb-trust-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px) !important;
  gap: 28px !important;
  padding: 26px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
.afb-payments,
.afb-badges,
.afb-info-row {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.afb-payments {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}
.afb-label,
.afb-social::before,
.alandog-seo-footer-title {
  color: #f5dcc6 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
}
.afb-label {
  flex-basis: 100%;
  margin: 0 0 4px !important;
}
.afb-icon {
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.afb-icon svg {
  opacity: 0.95;
}
.afb-badges {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 18px !important;
  align-content: start !important;
}
.afb-badge {
  padding: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #d5dde5 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  font-weight: 600 !important;
}
.afb-badge svg {
  width: 15px !important;
  height: 15px !important;
  stroke: #8dc3e0 !important;
}

.afb-info-row {
  display: grid !important;
  grid-template-columns: 120px minmax(0, 1fr) !important;
  gap: 26px !important;
  padding: 22px 0 0 !important;
  justify-content: initial !important;
  align-items: start !important;
}
.afb-social {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  min-width: 0 !important;
  justify-content: flex-start !important;
}
.afb-social::before {
  content: "Seguici";
  flex-basis: 100%;
  margin-bottom: 2px;
}
.afb-social a {
  min-width: 40px !important;
  min-height: 40px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #d7dee5 !important;
  box-shadow: none !important;
}
.afb-social a:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}
.afb-legal-info {
  max-width: none !important;
  color: #b7c1ca !important;
  font-size: 13px !important;
  line-height: 1.85 !important;
  text-align: left !important;
}
.afb-legal-info a,
.afb-adr a {
  color: #f2c8a7 !important;
}
.afb-adr {
  margin-top: 6px !important;
  color: #93a2b0 !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
}

.alandog-seo-footer-links {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin: 0 auto !important;
  padding: 24px 20px 34px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: #d7dee5 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.alandog-seo-footer-group {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.alandog-seo-footer-title {
  display: block !important;
  margin: 0 0 12px !important;
}
.alandog-seo-footer-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.alandog-seo-footer-link {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #b7c1ca !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  transition: color 0.18s ease !important;
}
.alandog-seo-footer-link:hover {
  color: #ffffff !important;
  background: transparent !important;
  border-color: transparent !important;
  transform: none !important;
}

@media screen and (max-width: 1199px) {
  .site-footer .footer-info,
  .site-footer .footer-links,
  .alandog-seo-footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .afb-trust-row {
    grid-template-columns: 1fr !important;
  }
}

@media screen and (max-width: 991px) {
  .site-footer .footer-layout > .martfury-container {
    padding: 34px 16px 0 !important;
  }
  .site-footer .footer-info {
    display: grid !important;
  }
  .afb-newsletter {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }
  .afb-newsletter__form {
    width: 100% !important;
  }
  .afb-newsletter__form input[type="email"] {
    width: 100% !important;
    flex: 1 1 auto !important;
  }
  .afb-info-row {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}

@media screen and (max-width: 767px) {
  .site-footer .footer-layout > .martfury-container {
    padding: 28px 16px 0 !important;
  }
  .site-footer .footer-info,
  .site-footer .footer-links,
  .alandog-seo-footer-links {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  .site-footer .footer-info {
    padding-bottom: 22px !important;
  }
  .site-footer .footer-links {
    padding: 24px 0 24px !important;
    gap: 22px !important;
  }
  .site-footer .footer-links .widget .widget-title,
  .site-footer .footer-links .widget-title,
  .mobile-version .site-footer .footer-links .widget.widget_nav_menu .widget-title {
    margin-bottom: 10px !important;
  }
  .afb-newsletter {
    padding: 22px 0 !important;
    gap: 16px !important;
  }
  .afb-newsletter__text strong {
    font-size: 18px !important;
  }
  .afb-newsletter__form {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .afb-newsletter__form button {
    width: 100% !important;
  }
  .afb-badges {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .afb-badge,
  .afb-legal-info,
  .alandog-seo-footer-link,
  .site-footer .footer-links .widget_nav_menu ul li a {
    font-size: 13px !important;
  }
  .alandog-seo-footer-links {
    padding: 22px 16px 76px !important;
  }
}

/* ============================================================
 * FOOTER REDESIGN v2: full-content, cleaner hierarchy, home+checkout
 * ============================================================ */
:root {
  --alandog-footer-shell: #f5efe6;
  --alandog-footer-surface: rgba(255, 253, 248, 0.92);
  --alandog-footer-line: #e1d7c8;
  --alandog-footer-line-strong: #d2c4b0;
  --alandog-footer-ink: #1f2933;
  --alandog-footer-muted: #556170;
  --alandog-footer-accent: #0b5f86;
  --alandog-footer-accent-2: #0f7b8f;
  --alandog-footer-cta: #963b1a;
  --alandog-footer-shadow: 0 18px 42px rgba(34, 42, 53, 0.08);
  --alandog-footer-shadow-soft: 0 10px 28px rgba(34, 42, 53, 0.05);
}

.site-footer {
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.75), transparent 28%),
    linear-gradient(180deg, #f7f2ea 0%, #f2ece3 48%, #ece4d8 100%) !important;
  color: var(--alandog-footer-ink);
}
.site-footer .footer-layout,
.site-footer .footer-layout.footer-gray {
  background: transparent !important;
  border-top: 1px solid #e7ddcf;
}
.site-footer .footer-layout > .martfury-container {
  max-width: 1240px !important;
  padding: 34px 20px 0 !important;
}
.site-footer .footer-content {
  display: grid !important;
  gap: 24px !important;
}
.site-footer .footer-info {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 14px !important;
  padding: 0 !important;
  background: transparent !important;
}
.site-footer .footer-info .info-item-sep,
.site-footer .footer-info .info-item-sep::after,
.site-footer .footer-info .info-item-sep::before {
  display: none !important;
}
.site-footer .footer-info .info-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  min-height: 88px;
  padding: 18px 20px !important;
  border: 1px solid var(--alandog-footer-line) !important;
  border-radius: 22px !important;
  background: var(--alandog-footer-surface) !important;
  box-shadow: var(--alandog-footer-shadow-soft) !important;
}
.site-footer .footer-info .info-item .info-thumb {
  flex-shrink: 0;
}
.site-footer .footer-info .info-item .info-thumb i,
.site-footer .footer-info .info-item .info-icon svg,
.site-footer .footer-info .info-item .info-icon i {
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, rgba(11, 95, 134, 0.12), rgba(150, 59, 26, 0.08)) !important;
  color: var(--alandog-footer-accent) !important;
  font-size: 18px !important;
}
.site-footer .footer-info .info-item .info-content h3 {
  margin: 0 0 4px !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  color: var(--alandog-footer-ink) !important;
  font-weight: 800 !important;
}
.site-footer .footer-info .info-item .info-content p {
  margin: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  color: var(--alandog-footer-muted) !important;
}

.site-footer .footer-links {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  padding: 0 0 10px !important;
  max-width: none !important;
}
.site-footer .footer-links .widget {
  margin: 0 !important;
  padding: 22px 22px 18px !important;
  border-radius: 24px !important;
  border: 1px solid var(--alandog-footer-line) !important;
  background: rgba(255, 253, 248, 0.88) !important;
  box-shadow: var(--alandog-footer-shadow-soft) !important;
}
.site-footer .footer-links .widget .widget-title,
.site-footer .footer-links .widget-title {
  margin: 0 0 12px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
  color: #76563f !important;
  font-weight: 800 !important;
}
.site-footer .footer-links .widget_nav_menu ul,
.mobile-version .site-footer .footer-links .widget.widget_nav_menu ul {
  display: grid !important;
  gap: 6px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.site-footer .footer-links .widget_nav_menu ul li,
.mobile-version .site-footer .footer-links .widget.widget_nav_menu ul li {
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}
.site-footer .footer-links .widget_nav_menu ul li::before,
.site-footer .footer-links .widget_nav_menu ul li::after,
.mobile-version .site-footer .footer-links .widget.widget_nav_menu ul li::after {
  display: none !important;
}
.site-footer .footer-links .widget_nav_menu ul li a {
  min-height: 32px;
  display: inline-flex !important;
  align-items: center !important;
  color: var(--alandog-footer-muted) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  padding: 4px 0 !important;
  border: 0 !important;
  text-decoration: none !important;
}
.site-footer .footer-links .widget_nav_menu ul li a:hover {
  color: var(--alandog-footer-accent) !important;
  transform: translateX(2px);
}

.alandog-footer-bottom-bar {
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.5), transparent 24%),
    linear-gradient(180deg, #eee5d9 0%, #f6f1e8 18%, #f1eadf 100%) !important;
  border-top: 1px solid var(--alandog-footer-line-strong) !important;
  padding: 24px 0 26px !important;
}
.alandog-footer-bottom-bar .container {
  max-width: 1240px !important;
  padding: 0 20px !important;
}
.afb-newsletter {
  align-items: center !important;
  gap: 28px !important;
  padding: 26px 30px !important;
  margin: 0 0 18px !important;
  border: 0 !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, #0c5b84 0%, #0d6f8f 54%, #1d87a3 100%) !important;
  box-shadow: 0 22px 48px rgba(9, 44, 68, 0.22) !important;
}
.afb-newsletter__text {
  gap: 6px !important;
}
.afb-newsletter__text strong {
  font-size: 18px !important;
  line-height: 1.2 !important;
  color: #ffffff !important;
  letter-spacing: -0.01em;
}
.afb-newsletter__text span {
  max-width: 520px;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, 0.86) !important;
}
.afb-newsletter__form {
  gap: 10px !important;
  align-items: center !important;
}
.afb-newsletter__form input[type="email"] {
  width: 300px !important;
  min-height: 52px;
  padding: 14px 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-right: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  color: var(--alandog-footer-ink) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
}
.afb-newsletter__form input[type="email"]::placeholder {
  color: #6b7280 !important;
}
.afb-newsletter__form button {
  min-height: 52px;
  padding: 14px 22px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #a54324 0%, #963b1a 100%) !important;
  box-shadow: 0 14px 28px rgba(90, 32, 14, 0.28) !important;
}
.afb-newsletter__form button:hover {
  background: linear-gradient(135deg, #b54a28 0%, #a54324 100%) !important;
}

.afb-trust-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr) !important;
  gap: 18px !important;
  padding: 0 !important;
  margin: 0 0 18px !important;
  border: 0 !important;
}
.afb-payments,
.afb-badges,
.afb-info-row {
  border: 1px solid rgba(31, 41, 51, 0.08) !important;
  border-radius: 24px !important;
  background: rgba(255, 253, 248, 0.82) !important;
  box-shadow: var(--alandog-footer-shadow-soft) !important;
  backdrop-filter: blur(8px);
}
.afb-payments {
  align-items: center !important;
  gap: 10px !important;
  padding: 18px 20px !important;
}
.afb-label {
  flex-basis: 100%;
  margin: 0 0 4px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em !important;
  color: #76563f !important;
}
.afb-icon {
  opacity: 1 !important;
  padding: 4px !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: inset 0 0 0 1px rgba(11, 95, 134, 0.08);
}
.afb-icon svg {
  display: block;
}
.afb-badges {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 18px !important;
}
.afb-badge {
  min-height: 52px;
  padding: 12px 14px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(11, 95, 134, 0.12) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  color: var(--alandog-footer-ink) !important;
  white-space: normal !important;
}
.afb-badge svg {
  width: 15px;
  height: 15px;
  stroke: var(--alandog-footer-accent) !important;
}
.afb-info-row {
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 22px !important;
  padding: 20px 22px !important;
}
.afb-social {
  align-items: center !important;
  align-content: flex-start;
  gap: 10px !important;
  min-width: 136px;
  flex-wrap: wrap;
}
.afb-social::before {
  content: "Seguici";
  flex-basis: 100%;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #76563f;
}
.afb-social a {
  min-width: 46px !important;
  min-height: 46px !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(11, 95, 134, 0.1) !important;
  color: var(--alandog-footer-accent) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}
.afb-social a:hover {
  color: #ffffff !important;
  background: var(--alandog-footer-accent) !important;
}
.afb-legal-info {
  flex: 1;
  max-width: none !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  color: var(--alandog-footer-muted) !important;
  text-align: left !important;
}
.afb-legal-info a,
.afb-adr a {
  color: var(--alandog-footer-accent) !important;
}
.afb-adr {
  margin-top: 8px !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  color: #64707d !important;
}

.alandog-seo-footer-links {
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 20px 34px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--alandog-footer-ink) !important;
}
.alandog-seo-footer-group {
  min-width: 0;
  padding: 18px 18px 16px;
  border-radius: 22px;
  border: 1px solid var(--alandog-footer-line);
  background: rgba(255, 253, 248, 0.76);
  box-shadow: var(--alandog-footer-shadow-soft);
}
.alandog-seo-footer-title {
  display: block;
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #76563f;
}
.alandog-seo-footer-items {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.alandog-seo-footer-link {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(11, 95, 134, 0.14);
  background: rgba(255, 255, 255, 0.94);
  color: var(--alandog-footer-accent) !important;
  text-decoration: none !important;
  font-size: 13px;
  line-height: 1.3;
  transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
.alandog-seo-footer-link:hover {
  color: #ffffff !important;
  background: var(--alandog-footer-accent) !important;
  border-color: var(--alandog-footer-accent) !important;
  transform: translateY(-1px);
}

@media screen and (max-width: 1199px) {
  .site-footer .footer-links,
  .alandog-seo-footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width: 991px) {
  .site-footer .footer-layout > .martfury-container {
    padding: 28px 16px 0 !important;
  }
  .site-footer .footer-info {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .site-footer .footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .afb-newsletter {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .afb-newsletter__form {
    width: 100% !important;
  }
  .afb-newsletter__form input[type="email"] {
    flex: 1 1 auto;
    width: auto !important;
  }
  .afb-trust-row {
    grid-template-columns: 1fr !important;
  }
  .afb-info-row {
    flex-direction: column !important;
  }
  .afb-social {
    min-width: 0;
  }
}

@media screen and (max-width: 767px) {
  .site-footer .footer-layout > .martfury-container {
    padding: 24px 16px 0 !important;
  }
  .site-footer .footer-content {
    gap: 16px !important;
  }
  .site-footer .footer-info {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .site-footer .footer-info .info-item {
    min-height: 0;
    padding: 16px !important;
    border-radius: 18px !important;
  }
  .site-footer .footer-links,
  .alandog-seo-footer-links {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .site-footer .footer-links {
    padding: 0 0 10px !important;
  }
  .site-footer .footer-links .widget {
    padding: 18px 16px !important;
    border-radius: 18px !important;
  }
  .afb-newsletter {
    padding: 20px 18px !important;
    border-radius: 22px !important;
    gap: 16px !important;
  }
  .afb-newsletter__text strong {
    font-size: 17px !important;
  }
  .afb-newsletter__text span {
    font-size: 13px !important;
  }
  .afb-newsletter__form {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .afb-newsletter__form input[type="email"],
  .afb-newsletter__form button {
    width: 100% !important;
  }
  .afb-badges {
    grid-template-columns: 1fr !important;
    padding: 16px !important;
  }
  .afb-badge {
    min-height: 0;
  }
  .afb-info-row {
    padding: 18px 16px !important;
    border-radius: 18px !important;
  }
  .afb-legal-info {
    font-size: 12px !important;
    line-height: 1.7 !important;
  }
  .afb-legal-info br {
    display: block !important;
  }
  .afb-adr {
    font-size: 11px !important;
  }
  .alandog-seo-footer-links {
    padding: 0 16px 76px !important;
  }
  .alandog-seo-footer-group {
    padding: 16px !important;
    border-radius: 18px !important;
  }
}
/* ============================================================
 * FOOTER REFINEMENT v3 FINAL LAST
 * ============================================================ */
footer.site-footer {
  background: linear-gradient(180deg, #22313f 0%, #1b2833 100%) !important;
  color: #d7dee5 !important;
}
footer.site-footer .footer-layout,
footer.site-footer .footer-layout.footer-gray,
footer.site-footer .alandog-footer-bottom-bar {
  background: transparent !important;
  border-top: 0 !important;
}
footer.site-footer .footer-layout > .martfury-container {
  max-width: 1240px !important;
  padding: 42px 20px 0 !important;
}
footer.site-footer .footer-content {
  gap: 0 !important;
}
footer.site-footer .footer-info {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  padding: 0 0 28px !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: transparent !important;
}
footer.site-footer .footer-info .info-item,
footer.site-footer .footer-info .info-item:last-of-type {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
}
footer.site-footer .footer-info .info-item-sep,
footer.site-footer .footer-info .info-item-sep::after,
footer.site-footer .footer-info .info-item-sep::before {
  display: none !important;
}
footer.site-footer .footer-info .info-item .info-thumb i,
footer.site-footer .footer-info .info-item .info-icon svg,
footer.site-footer .footer-info .info-item .info-icon i {
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: #8dc3e0 !important;
  font-size: 18px !important;
}
footer.site-footer .footer-info .info-item .info-content h3 {
  margin: 0 0 4px !important;
  color: #f7fafc !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}
footer.site-footer .footer-info .info-item .info-content p {
  margin: 0 !important;
  color: #a6b2bd !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}
footer.site-footer .footer-links {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 32px !important;
  padding: 32px 0 30px !important;
  max-width: none !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
footer.site-footer .footer-links .widget,
footer.site-footer .footer-links .widget:last-child {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
footer.site-footer .footer-links .widget .widget-title,
footer.site-footer .footer-links .widget-title,
.mobile-version footer.site-footer .footer-links .widget.widget_nav_menu .widget-title {
  margin: 0 0 14px !important;
  color: #f5dcc6 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
}
footer.site-footer .footer-links .widget_nav_menu ul,
.mobile-version footer.site-footer .footer-links .widget.widget_nav_menu ul {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}
footer.site-footer .footer-links .widget_nav_menu ul li,
.mobile-version footer.site-footer .footer-links .widget.widget_nav_menu ul li {
  width: auto !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
}
footer.site-footer .footer-links .widget_nav_menu ul li::before,
footer.site-footer .footer-links .widget_nav_menu ul li::after,
.mobile-version footer.site-footer .footer-links .widget.widget_nav_menu ul li::after {
  display: none !important;
}
footer.site-footer .footer-links .widget_nav_menu ul li a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 !important;
  color: #c2ccd5 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  transition: color 0.18s ease, opacity 0.18s ease !important;
}
footer.site-footer .footer-links .widget_nav_menu ul li a:hover {
  color: #ffffff !important;
  opacity: 1 !important;
  transform: none !important;
}
footer.site-footer .alandog-footer-bottom-bar {
  padding: 0 0 26px !important;
}
footer.site-footer .alandog-footer-bottom-bar .container {
  max-width: 1240px !important;
  padding: 0 20px !important;
}
footer.site-footer .afb-newsletter {
  margin: 0 !important;
  padding: 26px 0 24px !important;
  border-top: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 24px !important;
  align-items: end !important;
}
footer.site-footer .afb-newsletter__text strong {
  color: #f7fafc !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
}
footer.site-footer .afb-newsletter__text span {
  max-width: 560px !important;
  color: #aeb8c1 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}
footer.site-footer .afb-newsletter__form {
  gap: 10px !important;
}
footer.site-footer .afb-newsletter__form input[type="email"] {
  width: 320px !important;
  min-height: 50px !important;
  padding: 13px 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 10px !important;
  border-right: 1px solid rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}
footer.site-footer .afb-newsletter__form input[type="email"]::placeholder {
  color: #a9b6c2 !important;
}
footer.site-footer .afb-newsletter__form button {
  min-height: 50px !important;
  padding: 13px 22px !important;
  border-radius: 10px !important;
  background: #9b4324 !important;
  box-shadow: none !important;
}
footer.site-footer .afb-newsletter__form button:hover {
  background: #ac4c2a !important;
}
footer.site-footer .afb-trust-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px) !important;
  gap: 28px !important;
  padding: 26px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
footer.site-footer .afb-payments,
footer.site-footer .afb-badges,
footer.site-footer .afb-info-row {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
footer.site-footer .afb-payments {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}
footer.site-footer .afb-label,
footer.site-footer .afb-social::before,
footer.site-footer .alandog-seo-footer-title {
  color: #f5dcc6 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
}
footer.site-footer .afb-label {
  flex-basis: 100%;
  margin: 0 0 4px !important;
}
footer.site-footer .afb-icon {
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
footer.site-footer .afb-icon svg {
  opacity: 0.95;
}
footer.site-footer .afb-badges {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 18px !important;
  align-content: start !important;
}
footer.site-footer .afb-badge {
  padding: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #d5dde5 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  font-weight: 600 !important;
}
footer.site-footer .afb-badge svg {
  width: 15px !important;
  height: 15px !important;
  stroke: #8dc3e0 !important;
}
footer.site-footer .afb-info-row {
  display: grid !important;
  grid-template-columns: 120px minmax(0, 1fr) !important;
  gap: 26px !important;
  padding: 22px 0 0 !important;
  justify-content: initial !important;
  align-items: start !important;
}
footer.site-footer .afb-social {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  min-width: 0 !important;
  justify-content: flex-start !important;
}
footer.site-footer .afb-social::before {
  content: "Seguici";
  flex-basis: 100%;
  margin-bottom: 2px;
}
footer.site-footer .afb-social a {
  min-width: 40px !important;
  min-height: 40px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #d7dee5 !important;
  box-shadow: none !important;
}
footer.site-footer .afb-social a:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}
footer.site-footer .afb-legal-info {
  max-width: none !important;
  color: #b7c1ca !important;
  font-size: 13px !important;
  line-height: 1.85 !important;
  text-align: left !important;
}
footer.site-footer .afb-legal-info a,
footer.site-footer .afb-adr a {
  color: #f2c8a7 !important;
}
footer.site-footer .afb-adr {
  margin-top: 6px !important;
  color: #93a2b0 !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
}
footer.site-footer .alandog-seo-footer-links {
  max-width: 1240px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin: 0 auto !important;
  padding: 24px 20px 34px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: #d7dee5 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
footer.site-footer .alandog-seo-footer-group {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
footer.site-footer .alandog-seo-footer-title {
  display: block !important;
  margin: 0 0 12px !important;
}
footer.site-footer .alandog-seo-footer-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
footer.site-footer .alandog-seo-footer-link {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #b7c1ca !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  transition: color 0.18s ease !important;
}
footer.site-footer .alandog-seo-footer-link:hover {
  color: #ffffff !important;
  background: transparent !important;
  border-color: transparent !important;
  transform: none !important;
}
@media screen and (max-width: 1199px) {
  footer.site-footer .footer-info,
  footer.site-footer .footer-links,
  footer.site-footer .alandog-seo-footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  footer.site-footer .afb-trust-row {
    grid-template-columns: 1fr !important;
  }
}
@media screen and (max-width: 991px) {
  footer.site-footer .footer-layout > .martfury-container {
    padding: 34px 16px 0 !important;
  }
  footer.site-footer .footer-info {
    display: grid !important;
  }
  footer.site-footer .afb-newsletter {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }
  footer.site-footer .afb-newsletter__form {
    width: 100% !important;
  }
  footer.site-footer .afb-newsletter__form input[type="email"] {
    width: 100% !important;
    flex: 1 1 auto !important;
  }
  footer.site-footer .afb-info-row {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}
@media screen and (max-width: 767px) {
  footer.site-footer .footer-layout > .martfury-container {
    padding: 28px 16px 0 !important;
  }
  footer.site-footer .footer-info,
  footer.site-footer .footer-links,
  footer.site-footer .alandog-seo-footer-links {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  footer.site-footer .footer-info {
    padding-bottom: 22px !important;
  }
  footer.site-footer .footer-links {
    padding: 24px 0 24px !important;
    gap: 22px !important;
  }
  footer.site-footer .footer-links .widget .widget-title,
  footer.site-footer .footer-links .widget-title,
  .mobile-version footer.site-footer .footer-links .widget.widget_nav_menu .widget-title {
    margin-bottom: 10px !important;
  }
  footer.site-footer .afb-newsletter {
    padding: 22px 0 !important;
    gap: 16px !important;
  }
  footer.site-footer .afb-newsletter__text strong {
    font-size: 18px !important;
  }
  footer.site-footer .afb-newsletter__form {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  footer.site-footer .afb-newsletter__form button {
    width: 100% !important;
  }
  footer.site-footer .afb-badges {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  footer.site-footer .afb-badge,
  footer.site-footer .afb-legal-info,
  footer.site-footer .alandog-seo-footer-link,
  footer.site-footer .footer-links .widget_nav_menu ul li a {
    font-size: 13px !important;
  }
  footer.site-footer .alandog-seo-footer-links {
    padding: 22px 16px 76px !important;
  }
}

/* ================================================
   FIX: Stripe Link tooltip/popover overlap on checkout
   Date: 2026-04-01
   ================================================ */

/* Ensure Stripe payment container allows overflow for tooltips */
.wc_payment_method.payment_method_stripe .payment_box {
    overflow: visible !important;
    position: relative;
}

/* Fix Stripe Link iframe tooltip positioning */
.wc_payment_method.payment_method_stripe .payment_box iframe[name*='__privateStripe'],
.wc_payment_method.payment_method_stripe .payment_box iframe[name*='__PrivateStripe'] {
    z-index: 9999 !important;
}

/* Fix the save payment checkbox area */
.wc_payment_method.payment_method_stripe .wc-stripe-upe-element {
    overflow: visible !important;
    position: relative;
    min-height: 50px;
}

/* Stripe Link authentication modal/popover */
.wc_payment_method.payment_method_stripe .payment_box div[data-stripe-class*='link'],
.wc_payment_method.payment_method_stripe .payment_box .LinkAuthenticationElement,
.wc_payment_method.payment_method_stripe .payment_box div[class*='__private'] {
    overflow: visible !important;
}

/* Fix the save card checkbox row only */
.wc_payment_method.payment_method_stripe .payment_box .woocommerce-SavedPaymentMethods-saveNew,
.wc_payment_method.payment_method_woocommerce_payments .payment_box .woocommerce-SavedPaymentMethods-saveNew {
    overflow: visible !important;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 12px;
    padding: 0;
    clear: both;
}

.wc_payment_method.payment_method_stripe .payment_box .woocommerce-SavedPaymentMethods-saveNew label,
.wc_payment_method.payment_method_woocommerce_payments .payment_box .woocommerce-SavedPaymentMethods-saveNew label {
    display: block !important;
    position: static;
    z-index: auto;
    line-height: 1.45;
    padding-left: 0;
    margin: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

#wc-stripe-new-payment-method,
.woocommerce-SavedPaymentMethods-saveNew > input[id$='-new-payment-method'] {
    overflow: visible !important;
}

/* Prevent parent containers from clipping Stripe elements */
.woocommerce-checkout #payment .payment_methods li .payment_box {
    overflow: visible !important;
}

#order_review, 
.woocommerce-checkout-review-order {
    overflow: visible !important;
}

/* FIX-UI-215: footer dark bar link contrast */
body .alandog-footer-bottom-bar ul.menu a,
body .alandog-footer-bottom-bar .menu li > a,
body .alandog-footer-bottom-bar a[rel="revisit-consent"] {
    color: #d7dee5 !important;
}

body .alandog-footer-bottom-bar ul.menu a:hover,
body .alandog-footer-bottom-bar ul.menu a:focus,
body .alandog-footer-bottom-bar .menu li > a:hover,
body .alandog-footer-bottom-bar .menu li > a:focus,
body .alandog-footer-bottom-bar a[rel="revisit-consent"]:hover,
body .alandog-footer-bottom-bar a[rel="revisit-consent"]:focus {
    color: #ffffff !important;
}

body .alandog-footer-bottom-bar .afb-adr {
    color: #b7c1ca !important;
}
