/* Keep eMarket Layout 2 utility links aligned with longer localized labels. */
.account-register .dc-newsletter-switch { position: relative; display: inline-flex; align-items: center; width: 52px; height: 44px; margin: 0; cursor: pointer; vertical-align: middle; }
.account-register .dc-newsletter-switch input { position: absolute; width: 100%; height: 100%; opacity: 0; margin: 0; cursor: pointer; z-index: 1; }
.account-register .dc-switch-track { display: block; position: relative; width: 52px; height: 28px; background: #c9cdd2; border-radius: 28px; transition: background-color .16s ease; }
.account-register .dc-switch-track::after { content: ''; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px #0002; transition: transform .16s ease; }
.account-register .dc-newsletter-switch input:checked + .dc-switch-track { background: #ff9600; }
.account-register .dc-newsletter-switch input:checked + .dc-switch-track::after { transform: translateX(24px); }
.account-register .dc-newsletter-switch input:focus-visible + .dc-switch-track { outline: 2px solid #20252b; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .account-register .dc-switch-track, .account-register .dc-switch-track::after { transition: none; } }
/* Divise Calcio brand assets: high-resolution transparent artwork. */
.layout-2 .refine-search__content {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 20px 15px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.layout-2 .category-featured .wap-listing-tabs { position: relative; }
.layout-2 .category-featured .so-loadeding { pointer-events: none; }
.layout-2 .refine-search__content > .refine-search__subitem {
  float: none;
  clear: none;
  width: auto !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-width: 0;
}
.layout-2 .refine-search__subitem .thumbnail {
  width: 120px;
  height: 120px;
  padding: 4px;
  margin: 0 auto 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.layout-2 .refine-search__subitem .thumbnail img {
  width: 110px;
  height: 110px;
  max-width: 100%;
  object-fit: contain;
}
.layout-2 .refine-search__subitem > a:not(.thumbnail) {
  display: block;
  width: 100%;
  max-width: 140px;
  min-height: 40px;
  line-height: 20px;
  overflow-wrap: break-word;
}
@media (max-width: 479px) {
  .layout-2 .refine-search__content { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
}
.typeheader-2 .navbar-logo .logo img[data-src*="branding/divisecalcio"],
.typeheader-2 .navbar-logo .logo img[src*="branding/divisecalcio"] {
  display: block;
  width: 220px;
  max-width: 100%;
  height: auto;
}
.typefooter-2 .logo-footer img[src*="branding/divisecalcio"] {
  width: 200px;
  max-width: 100%;
  height: auto;
  filter: grayscale(1) brightness(0) invert(1);
}
/* Footer identity, navigation and social icons share one visual center line. */
@media (min-width: 768px) {
  .typefooter-2 .footer-top { padding: 14px 0; }
  .typefooter-2 .footer-top > .container > .row { display: flex; align-items: center; min-height: 48px; }
  .typefooter-2 .footer-top > .container > .row::before,
  .typefooter-2 .footer-top > .container > .row::after { display: none; }
  .typefooter-2 .footer-top .footer-links,
  .typefooter-2 .footer-top .socials { margin-top: 0; margin-bottom: 0; }
  .typefooter-2 .footer-top .footer-links li { margin-top: 0; vertical-align: middle; }
  .typefooter-2 .footer-top .logo-footer { height: 48px; display: flex; align-items: center; }
  .typefooter-2 .footer-top .logo-footer a { display: flex; align-items: center; height: 48px; }
  .typefooter-2 .footer-top .logo-footer img { display: block; max-height: 64px; object-fit: contain; }
}
@media (min-width: 1200px) {
  .typeheader-2 .header-middle > .container > .row { display: flex; align-items: center; }
  .typeheader-2 .header-middle > .container > .row::before,
  .typeheader-2 .header-middle > .container > .row::after { display: none; }
  .typeheader-2 .header-middle .navbar-logo .logo,
  .typeheader-2 .header-middle .search-header-w { margin-top: 0; margin-bottom: 0; }
  .typeheader-2 .header-bottom > .container > .row {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr) max-content;
    gap: 16px;
    align-items: center;
  }
  .typeheader-2 .header-bottom > .container > .row::before,
  .typeheader-2 .header-bottom > .container > .row::after { display: none; }
  .typeheader-2 .header-bottom .bottom1,
  .typeheader-2 .header-bottom .main-menu,
  .typeheader-2 .header-bottom .bottom2 {
    float: none;
    width: auto;
    position: static;
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .typeheader-2 .header-bottom .bottom2 {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    margin-top: 0;
    white-space: nowrap;
  }
  .typeheader-2 .bottom2 .signin-w { order: 1; float: none; padding: 0; }
  .typeheader-2 .bottom2 .telephone { order: 2; display: block; float: none; }
  .typeheader-2 .bottom2 .telephone ul,
  .typeheader-2 .bottom2 .signin-link { margin: 0; padding: 0; }
  .typeheader-2 .bottom2 .telephone ul { display: flex; align-items: center; gap: 24px; }
  .typeheader-2 .bottom2 .telephone ul li,
  .typeheader-2 .bottom2 .telephone ul li:first-child {
    display: inline-block;
    margin: 0;
    padding: 0;
  }
  .typeheader-2 .bottom2 .telephone ul li::after { display: none; }
  .typeheader-2 .middle3 { display: flex; align-items: center; justify-content: flex-end; gap: 24px; }
  .typeheader-2 .middle3 .shopping_cart { order: 2; float: none; }
  .typeheader-2 .middle3 .shopping_cart { flex: 0 0 auto; }
  .typeheader-2 .middle3 .shopping_cart .top_cart { display: flex; align-items: center; white-space: nowrap; }
  .typeheader-2 .middle3 .shopping_cart .top_cart .icon-c { flex: 0 0 40px; float: none; }
  .typeheader-2 .middle3 .shopping_cart .top_cart .shopcart-inner { float: none; white-space: nowrap; }
  .typeheader-2 .middle3 .wishlist-comp { order: 1; display: flex; float: none; margin: 0; }
}
@media (min-width: 1200px) and (max-width: 1649px) {
  .typeheader-2 .header-bottom > .container > .row { grid-template-columns: 260px minmax(0, 1fr) max-content; gap: 10px; }
  .typeheader-2 .header-bottom .bottom2,
  .typeheader-2 .bottom2 .telephone ul { gap: 14px; font-size: 12px; }
  .typeheader-2 .main-menu .megamenu > li > a { padding-left: 8px; padding-right: 8px; }
  .typeheader-2 .middle3 { gap: 14px; }
}
@media (min-width: 1200px) and (max-width: 1365px) {
  .typeheader-2 .header-bottom > .container > .row { grid-template-columns: 225px minmax(0, 1fr) max-content; }
  .typeheader-2 .bottom2 .telephone ul li:first-child { display: none; }
}

/* Football category panels: keep large country/club lists inside the viewport. */
.dc-football-clubs { max-height: min(480px, 65vh); overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; }
.dc-football-clubs .menu > ul > li > a { white-space: normal; line-height: 1.45; padding-top: 7px; padding-bottom: 7px; }

/* Keep the Premier League club list accessible on shorter screens. */
.dc-premier-clubs { max-height: min(480px, 65vh); overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; }

.dc-laliga-clubs { max-height: min(480px, 65vh); overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; }

.d2-team-slider .item a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:12px 6px; text-align:center; color:#333; }
.d2-team-slider .item img { display:block; width:90px !important; height:90px !important; object-fit:contain; opacity:1 !important; filter:none !important; }
.d2-team-slider .item span { font-size:12px; line-height:1.3; min-height:32px; max-width:130px; }
.d2-team-slider .item a:hover { color:#ff9600; }

.dc-ligue1-clubs { max-height: min(480px, 65vh); overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; }
.d2-team-slider .item a { opacity:1 !important; }

.d2-team-slider .item span { display:none !important; }
.d2-team-slider .item img { width:65px !important; height:65px !important; }
.d2-team-slider .item a { min-height:95px; }

/* Compact spacing for the team badge carousel. */
.slider-brands.d2-team-slider { padding: 8px 0; margin-top: 16px; margin-bottom: 28px; }
.d2-team-slider .item a { min-height: 76px; padding: 5px 3px; }
.d2-team-slider .contentslider { padding: 0 14px; }

.dc-footer-message { margin:0; color:#fff; text-align:center; font-size:14px; line-height:1.45; }
.dc-footer-message span { white-space:nowrap; }

.account-register #content .buttons { margin-bottom: 28px; }

.block-policy2 .dc-benefit-title { display:block; font-size:14px; font-weight:700; text-transform:uppercase; color:#333; line-height:1.3; }

/* Register page: compact fields and clear floating submit controls. */
.account-register #content form.form-horizontal .form-control { max-width: 580px; }
.account-register #content form.form-horizontal .buttons { display: flow-root; margin-bottom: 32px; }
@media (max-width: 767px) { .account-register #content form.form-horizontal .form-control { max-width: 100%; } }

.information-contact .dc-contact-note { background:#f7f8fa; border:1px solid #eceef1; border-radius:4px; padding:36px; color:#454b55; line-height:1.7; }
.information-contact .dc-contact-note__icon { display:inline-flex; align-items:center; justify-content:center; width:50px; height:50px; border-radius:50%; background:#fff0dc; color:#f28a00; font-size:22px; }
.information-contact .dc-contact-note h2 { margin:20px 0 14px; font-size:22px; color:#20252b; }
.information-contact .dc-contact-note p { max-width:540px; margin:0 0 14px; }
.information-contact .dc-contact-note a { color:#c66d00; overflow-wrap:anywhere; }
.information-contact .contact-form .buttons { display:flow-root; margin-bottom:32px; }
@media(max-width:767px){.information-contact .dc-contact-note { padding:24px; margin-bottom:28px; }}

/* Product option fields: compact on wide screens, fluid on mobile. */
.product-product #product select[name^='option['], .product-product #product input[type='text'][name^='option['], .product-product #product textarea[name^='option['] { width: 100%; max-width: 360px; }

/* Make selected badge checkboxes visible and keyboard accessible. */
.product-product #product .checkbox.option_image label { position: relative; }
.product-product #product .checkbox.option_image input[type="checkbox"]:checked + .option-content-box { outline: 3px solid #ff8a00; outline-offset: 2px; border-radius: 3px; }
.product-product #product .checkbox.option_image input[type="checkbox"]:checked + .option-content-box::after { content: "✓"; position: absolute; top: -6px; right: -6px; width: 19px; height: 19px; border-radius: 50%; background: #ef7900; color: #fff; font: bold 13px/19px Arial, sans-serif; text-align: center; box-shadow: 0 0 0 2px #fff; z-index: 2; }
.product-product #product .checkbox.option_image input[type="checkbox"]:focus + .option-content-box { outline: 3px solid #1473c9; outline-offset: 3px; }

/* D2 checkout and mini-cart alignment */
body.checkout-checkout #frfoot-onepage-checkout { width: calc(100% - 30px); max-width: 1650px; }
#cart .dropdown-menu .checkout { display: flex; align-items: stretch; gap: 8px; padding: 10px; }
#cart .dropdown-menu .checkout > a.btn { float: none !important; flex: 1 1 0; min-width: 0; margin: 0; padding: 10px 6px; text-align: center; white-space: normal; }
@media (max-width: 767px) { body.checkout-checkout #frfoot-onepage-checkout { width: 100%; } }

/* Keep checkout fields comfortable on wide desktop screens. */
@media (min-width: 992px) {
  body.checkout-checkout #frfoot-onepage-checkout .frfoot-checkout-main > .frfoot-card > .row { max-width: 850px; }
}

/* Widen the order summary column on desktop. */
@media (min-width: 992px) {
  body.checkout-checkout #frfoot-onepage-checkout .frfoot-checkout-layout { grid-template-columns: minmax(0, 1fr) minmax(390px, 32%); }
}

.dc-christmas-coupon { max-width: 1650px; margin: 28px auto; padding: 22px 30px; display: flex; align-items: center; gap: 24px; color: #fff; background: linear-gradient(110deg,#174735,#0d3025 68%,#173f30); border: 1px solid #b99350; border-radius: 6px; }
.dc-christmas-icon { font-size: 38px; color: #eacb8b; line-height: 1; }
.dc-christmas-copy { display: flex; flex: 1; flex-wrap: wrap; align-items: baseline; gap: 8px 18px; }
.dc-christmas-copy span { color: #eacb8b; font-weight: 700; letter-spacing: .12em; font-size: 12px; }
.dc-christmas-copy strong { font-size: 18px; }
.dc-christmas-copy small { color: #dce7dd; }
.dc-christmas-code { border: 1px dashed #eacb8b; border-radius: 4px; padding: 10px 20px; font-size: 18px; font-weight: 700; letter-spacing: .04em; }
@media(max-width:767px) { .dc-christmas-coupon { margin: 20px 12px; padding: 18px; gap: 12px; flex-wrap: wrap; } .dc-christmas-icon { font-size: 28px; } .dc-christmas-copy { min-width: 75%; } .dc-christmas-copy strong { font-size: 15px; } .dc-christmas-code { margin-left: 40px; font-size: 16px; } }

/* Give cart actions room above the footer. */
body.checkout-cart #content .buttons { display: flow-root; margin-bottom: 32px; }

/* Place real deal countdown below the product details. */
.deals-layout2 .item-time-w { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 22px; margin: 18px auto 0; padding: 12px 0 2px; border-top: 1px solid #eee; }
.deals-layout2 .item-time-w .time-title { text-align: left; }
.deals-layout2 .item-time-w .time-title span { display: block; font-weight: 700; }

/* Hide the public product view count. */
body.product-product .inner-box-viewed { display: none !important; }
