/*
 Theme Name:   Smash Child Theme
 Theme URI:    https://smash.axiomthemes.com/
 Description:  Smash Child Theme + Moving Padel brand customizations
 Author:       AxiomThemes / Moving Padel S.R.L.
 Template:     smash
 Version:      2.0
 Text Domain:  tennis-today
*/

/* =============================================================
   MP BRAND SYSTEM — Moving Padel Monza
   Versione consolidata — 2026-04-23
   ============================================================= */

/* ============================================================
   1. FONT + VARIABLES
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --mp-green:#8CC83C;
  --mp-green-dark:#6EA32C;
  --mp-green-light:#B6DC7F;
  --mp-navy:#0F4C5C;
  --mp-navy-dark:#0A3944;
  --mp-ink:#1E2A32;
  --mp-muted:#64748B;
  --mp-border:#E2E8F0;
  --mp-soft:#E8F5D6;
  --mp-danger:#EF4444;
  --mp-bg:#FFFFFF;
  --mp-radius:0.65rem;
  --mp-radius-lg:1rem;
  --mp-shadow-glow:0 10px 25px rgba(140,200,60,.35);
  --mp-shadow-card:0 1px 3px rgba(0,0,0,.08);
  --mp-shadow-card-lg:0 4px 20px rgba(15,76,92,.08);
  --mp-ease:cubic-bezier(.4,0,.2,1);
}

/* ============================================================
   2. TYPOGRAPHY BASE
   ============================================================ */
body,
body *:not(i):not([class*='fa-']):not([class*='icon-']):not([class*='elementor-icon']):not([class*='trx-icon']):not([class*='nsl-']):not([class*='dashicons']){
  font-family:'Inter','Helvetica Neue',Arial,sans-serif !important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
main h1, main h2, main h3, main h4, main h5, main h6,
article h1, article h2, article h3, article h4, article h5, article h6{
  color:var(--mp-navy);
  letter-spacing:-0.01em;
}
main h1, article h1{font-weight:800;letter-spacing:-0.02em}
article a:not(.button):not([class*='btn']):not([class*='elementor-button']){color:var(--mp-green-dark);transition:color .15s var(--mp-ease)}
article a:not(.button):not([class*='btn']):not([class*='elementor-button']):hover{color:var(--mp-green)}
::selection{background:var(--mp-green);color:#fff}

/* ============================================================
   3. BUTTONS (Elementor + WC + Gutenberg)
   ============================================================ */
.wp-block-button__link, .wp-block-button__link *,
.elementor-button, .elementor-button *, .elementor-button-link, .elementor-button-link *,
.elementor-button-text,
.wc-block-components-button, .wc-block-components-button *,
.woocommerce .button, .woocommerce .button *,
.woocommerce a.button, .woocommerce a.button *,
.woocommerce button.button, .woocommerce button.button *,
.woocommerce #respond input#submit,
.woocommerce .cart-collaterals .cart_totals .checkout-button,
.woocommerce a.button.alt, .woocommerce a.button.alt *,
.woocommerce ul.products li.product .button *{
  color:#fff !important;
}
.wp-block-button__link,
.elementor-button, .elementor-button-link,
.wc-block-components-button,
.woocommerce #respond input#submit,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce .cart-collaterals .cart_totals .checkout-button,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce-page a.button, .woocommerce-page button.button{
  background:var(--mp-green) !important;
  background-image:none !important;
  border:none !important;
  border-radius:var(--mp-radius) !important;
  padding:.75rem 1rem !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  box-shadow:var(--mp-shadow-glow);
  transition:background .15s var(--mp-ease),transform .15s var(--mp-ease);
}
.wp-block-button__link:hover,
.elementor-button:hover, .elementor-button-link:hover,
.wc-block-components-button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce .cart-collaterals .cart_totals .checkout-button:hover,
.woocommerce a.button.alt:hover,
.woocommerce ul.products li.product .button:hover{
  background:var(--mp-green-dark) !important;
  transform:translateY(-1px);
}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent !important;
  color:var(--mp-green-dark) !important;
  border:2px solid var(--mp-green) !important;
  box-shadow:none !important;
}
.elementor-button h2,.elementor-button h3,.elementor-button h4,
.elementor-button .elementor-heading-title{color:#fff !important}

/* ============================================================
   4. FORMS (focus ring brand)
   ============================================================ */
input:not([type='submit']):not([type='button']):focus,
select:focus, textarea:focus,
.wc-block-components-text-input input:focus{
  outline:none !important;
  border-color:var(--mp-green) !important;
  box-shadow:0 0 0 3px rgba(140,200,60,.2) !important;
}

/* ============================================================
   5. LAYOUT FOUNDATION (sticky footer via CSS Grid)
   ============================================================ */
html{height:auto !important}
body{
  min-height:100vh !important;
  display:grid !important;
  grid-template-rows:auto 1fr auto !important;
  grid-template-columns:100% !important;
  margin:0 !important;
}
body > .om-bar{grid-row:1 !important;width:100% !important}
body > .body_wrap{
  grid-row:2 !important;
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
}
body > #mp-legal-footer{grid-row:3 !important;width:100% !important}

/* ============================================================
   SIDEBAR — forza 2 colonne side-by-side su Shop/Tornei/Blog
   (Smash usa `sidebar_below` ma vogliamo sempre affiancata a destra)
   ============================================================ */
@media (min-width:1024px){
  body.woocommerce .page_content_wrap > .content_wrap,
  body.blog .page_content_wrap > .content_wrap,
  body.archive .page_content_wrap > .content_wrap,
  body.single .page_content_wrap > .content_wrap,
  body.page .page_content_wrap > .content_wrap{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 320px !important;
    gap:2rem !important;
    align-items:start !important;
  }
  body.woocommerce .page_content_wrap > .content_wrap > .content,
  body.blog .page_content_wrap > .content_wrap > .content,
  body.archive .page_content_wrap > .content_wrap > .content,
  body.single .page_content_wrap > .content_wrap > .content,
  body.page .page_content_wrap > .content_wrap > .content{
    float:none !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    grid-column:1 !important;
  }
  body.woocommerce .page_content_wrap > .content_wrap > .sidebar,
  body.blog .page_content_wrap > .content_wrap > .sidebar,
  body.archive .page_content_wrap > .content_wrap > .sidebar,
  body.single .page_content_wrap > .content_wrap > .sidebar,
  body.page .page_content_wrap > .content_wrap > .sidebar{
    float:none !important;
    width:100% !important;
    max-width:320px !important;
    margin:0 !important;
    grid-column:2 !important;
    position:sticky !important;
    top:90px !important;
  }
  body .page_content_wrap > .content_wrap > .clearfix{display:none !important}
}
@media (max-width:1023px){
  body .page_content_wrap > .content_wrap > .sidebar{
    float:none !important;
    width:100% !important;
    margin:2rem 0 0 !important;
  }
  body .page_content_wrap > .content_wrap > .content{
    float:none !important;
    width:100% !important;
  }
}
body > #popup-bar, body > .sc_layouts_panel, body > div[id^='popup-'],
#popup-bar, .sc_layouts_panel.sc_layouts_panel_right, .sc_layouts_panel.sc_layouts_panel_left{
  position:fixed !important;
  top:0 !important;
  right:-100vw !important;
  width:380px !important;
  max-width:90vw !important;
  height:100vh !important;
  z-index:9990 !important;
  transition:right .3s ease !important;
  background:#fff !important;
  overflow-y:auto !important;
  visibility:hidden !important;
  pointer-events:none !important;
  margin:0 !important;
}
#popup-bar.opened, #popup-bar.active, .sc_layouts_panel.opened, .sc_layouts_panel.active{
  right:0 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  box-shadow:-10px 0 30px rgba(0,0,0,.2) !important;
}

.body_wrap, .body_wrap > .page_wrap, .page_wrap{
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
}
.page_wrap > .content_wrap, .content_wrap{
  flex:1 1 auto !important;
  min-height:0 !important;
}
.body_wrap > footer.footer_wrap, footer.footer_wrap{
  margin-top:auto !important;
  flex-shrink:0 !important;
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  width:100% !important;
}

/* ============================================================
   6. HEADER + TOP PANEL (sticky sitewide)
   ============================================================ */
/* Top panel sticky bianco — breakout da .page_wrap boxed */
.top_panel{
  position:sticky !important;
  top:0 !important;
  z-index:900 !important;
  background:#fff !important;
  border-bottom:1px solid var(--mp-border) !important;
  box-shadow:0 1px 3px rgba(15,76,92,.04) !important;
  backdrop-filter:none !important;
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}
/* Disabilita cloni fixed-on-scroll Smash */
.top_panel_fixed_wrap, .sc_layouts_row_fixed_wrap_clone, .sc_layouts_row_fixed_clone,
body > .sc_layouts_row_fixed_on{display:none !important}
/* Kill Smash parent olive background su scheme_* rows (parent theme) */
.top_panel [class*="scheme_"].sc_layouts_row,
.top_panel .sc_layouts_row_fixed_placeholder,
.top_panel .elementor-section,
.top_panel .elementor-element.elementor-section,
.top_panel .elementor-top-section{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}
/* Row desktop: mostra solo 5cfcf3a, nascondi e981164 duplicata */
.top_panel .sc_layouts_row{display:block !important}
.elementor-25260 .elementor-element.elementor-element-e981164{display:none !important}
/* Responsive rows visibility */
.top_panel .sc_layouts_hide_on_wide.sc_layouts_hide_on_desktop.sc_layouts_hide_on_notebook{display:none !important}
@media (max-width:1023px){
  .top_panel .sc_layouts_hide_on_wide.sc_layouts_hide_on_desktop.sc_layouts_hide_on_notebook{display:flex !important;align-items:center !important}
  .top_panel .sc_layouts_hide_on_mobile{display:none !important}
}
@media (min-width:1024px){
  .top_panel .sc_layouts_hide_on_mobile{display:flex !important}
}
/* Altezza banda 64px desktop, 50px mobile */
.top_panel, .top_panel > .elementor,
.top_panel .sc_layouts_row_type_compact,
.top_panel .sc_layouts_row_type_compact > .elementor-container,
.top_panel .sc_layouts_row > .elementor-container,
.top_panel .elementor-container{
  min-height:64px !important;
}
@media (max-width:768px){
  .top_panel, .top_panel > .elementor,
  .top_panel .sc_layouts_row_type_compact,
  .top_panel .sc_layouts_row_type_compact > .elementor-container,
  .top_panel .sc_layouts_row > .elementor-container,
  .top_panel .elementor-container{min-height:50px !important}
}
/* Azzera padding Elementor rows header */
.elementor-25260 .elementor-element.elementor-element-5cfcf3a,
.elementor-25260 .elementor-element.elementor-element-e981164,
.elementor-25260 .elementor-element.elementor-element-589feba,
.elementor-25260 .elementor-element.elementor-element-0e01654{
  padding-top:4px !important;
  padding-bottom:4px !important;
  padding-left:24px !important;
  padding-right:24px !important;
}
@media (max-width:767px){
  .elementor-25260 .elementor-element.elementor-element-5cfcf3a,
  .elementor-25260 .elementor-element.elementor-element-e981164,
  .elementor-25260 .elementor-element.elementor-element-589feba,
  .elementor-25260 .elementor-element.elementor-element-0e01654{
    padding-left:16px !important;
    padding-right:16px !important;
  }
}
/* Centratura verticale widgets */
body .top_panel .elementor-container{display:flex !important;align-items:center !important}
body .top_panel .elementor-column,
body .top_panel .elementor-column-wrap,
body .top_panel .elementor-widget-wrap,
body .top_panel .sc_layouts_item,
body .top_panel .sc_layouts_column{display:flex !important;align-items:center !important}
body .top_panel .elementor-widget{
  align-self:center !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
body .top_panel .sc_layouts_logo{display:flex !important;align-items:center !important;line-height:1 !important}
/* Logo 48px desktop, 36px mobile */
.elementor-25260 .elementor-element .logo_image,
.top_panel .sc_layouts_logo img,
.top_panel .custom-logo{
  max-height:48px !important;
  width:auto !important;
  transition:none !important;
}
@media (max-width:768px){
  .elementor-25260 .elementor-element .logo_image,
  .top_panel .sc_layouts_logo img,
  .top_panel .custom-logo{max-height:36px !important}
}

/* ============================================================
   7. MENU (navigation)
   ============================================================ */
ul#menu_main.sc_layouts_menu_nav,
.sc_layouts_menu_nav.menu_main_nav{
  display:flex !important;align-items:center;margin:0 !important;padding:0 !important;
}
ul#menu_main.sc_layouts_menu_nav > li,
.sc_layouts_menu_nav.menu_main_nav > li{padding:0 !important;margin:0 !important}
ul#menu_main.sc_layouts_menu_nav > li > a,
.sc_layouts_menu_nav.menu_main_nav > li > a,
body .top_panel ul#menu_main > li > a{
  font-size:18px !important;
  line-height:1 !important;
  padding:22px 20px !important;
  font-weight:600 !important;
  letter-spacing:.03em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  display:flex !important;
  align-items:center !important;
  font-family:'Inter',sans-serif !important;
  color:var(--mp-navy) !important;
  transition:color .15s var(--mp-ease);
  position:relative;
}
@media (max-width:1400px){
  ul#menu_main.sc_layouts_menu_nav > li > a,
  .sc_layouts_menu_nav.menu_main_nav > li > a{font-size:16px !important;padding:22px 14px !important}
}
@media (max-width:1100px){
  ul#menu_main.sc_layouts_menu_nav > li > a,
  .sc_layouts_menu_nav.menu_main_nav > li > a{font-size:14px !important;padding:16px 10px !important}
}
body ul#menu_main.sc_layouts_menu_nav > li:hover > a,
body ul#menu_main.sc_layouts_menu_nav > li.current-menu-item > a,
body ul#menu_main.sc_layouts_menu_nav > li.current_page_item > a,
body ul#menu_main.sc_layouts_menu_nav > li.current-menu-ancestor > a{color:var(--mp-green) !important}
ul#menu_main.sc_layouts_menu_nav > li.current-menu-item > a::after,
ul#menu_main.sc_layouts_menu_nav > li.current_page_item > a::after{
  content:'';position:absolute;left:20px;right:20px;bottom:10px;
  height:2px;background:var(--mp-green);border-radius:1px;display:block;
}
@media (max-width:1400px){
  ul#menu_main.sc_layouts_menu_nav > li.current-menu-item > a::after,
  ul#menu_main.sc_layouts_menu_nav > li.current_page_item > a::after{left:14px;right:14px;bottom:10px}
}

/* Menu span color (Smash wraps text in <span>) */
body ul#menu_main.sc_layouts_menu_nav > li > a > span,
body .sc_layouts_menu_nav.menu_main_nav > li > a > span,
body .top_panel ul#menu_main > li > a > span{color:inherit !important}
body ul#menu_main.sc_layouts_menu_nav > li:hover > a > span,
body ul#menu_main.sc_layouts_menu_nav > li.current-menu-item > a > span,
body ul#menu_main.sc_layouts_menu_nav > li.current_page_item > a > span,
body ul#menu_main.sc_layouts_menu_nav > li.current-menu-ancestor > a > span{color:var(--mp-green) !important}
ul#menu_main .menu-open-match > a > span{color:var(--mp-green) !important}
/* Open Match voce speciale */
ul#menu_main .menu-open-match > a{color:var(--mp-green) !important;font-weight:700 !important}
.menu-open-match > a::before{background:var(--mp-danger) !important}
/* Submenu dropdown */
ul#menu_main.sc_layouts_menu_nav li ul.sub-menu{
  background:#fff !important;border:1px solid var(--mp-border);
  border-radius:var(--mp-radius);box-shadow:0 10px 30px rgba(15,76,92,.1);
}
ul#menu_main.sc_layouts_menu_nav li ul.sub-menu li a{color:var(--mp-navy) !important;font-weight:500 !important}
ul#menu_main.sc_layouts_menu_nav li ul.sub-menu li:hover > a{color:var(--mp-green) !important;background:rgba(140,200,60,.08) !important}
/* Burger mobile */
.top_panel .sc_layouts_menu_mobile_button,
.top_panel [class*='menu_mobile'] a,
.top_panel [class*='menu_mobile'] button{color:var(--mp-navy) !important}
.top_panel [class*='burger'] span,
.top_panel [class*='burger']::before,
.top_panel [class*='burger']::after{background:var(--mp-navy) !important}
.top_panel [class*='menu_mobile'] svg,
.top_panel [class*='burger'] svg{fill:var(--mp-navy) !important}
.top_panel [class*='menu_mobile'] svg path,
.top_panel [class*='burger'] svg path{stroke:var(--mp-navy) !important;fill:var(--mp-navy) !important}
/* Social icons header */
.top_panel .socials_share .social_icon,
.top_panel .sc_layouts_item_icon{color:var(--mp-navy) !important;transition:color .15s var(--mp-ease)}
.top_panel .socials_share .social_icon:hover,
.top_panel .sc_layouts_item_icon:hover{color:var(--mp-green) !important}

/* ============================================================
   8. OM-BAR (Open Match CTA bar sticky sopra header)
   ============================================================ */
.om-bar{
  position:relative;z-index:901;margin:0 !important;
  padding:12px 24px !important;
  width:100% !important;max-width:100% !important;box-sizing:border-box !important;
  background:linear-gradient(135deg,var(--mp-navy) 0%,var(--mp-navy-dark) 100%) !important;
  color:#f5f5f5;
  text-align:center;
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;
}
.om-bar::before{
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--mp-green),transparent) !important;
}
.om-bar .om-dot{width:10px;height:10px;background:var(--mp-danger);border-radius:50%;box-shadow:0 0 8px rgba(239,68,68,.6);animation:om-p 1.8s ease-in-out infinite;flex-shrink:0}
@keyframes om-p{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}
.om-bar .om-title{color:#f5f5f5;font-size:1rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin:0}
.om-bar .om-sub{color:rgba(255,255,255,.7);font-size:.8rem;margin:0}
.om-bar .om-btn{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--mp-green) !important;color:#fff !important;
  font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;
  padding:8px 20px;border-radius:50px;text-decoration:none !important;
  box-shadow:var(--mp-shadow-glow);
  transition:background .2s,transform .2s;white-space:nowrap;
}
.om-bar .om-btn:hover{background:var(--mp-green-dark) !important;transform:translateY(-1px)}
.om-bar .om-social{display:flex;align-items:center;gap:10px;margin-left:auto !important;margin-right:0 !important}
.om-bar .om-social a{color:rgba(255,255,255,.6);transition:color .2s;display:flex;text-decoration:none !important}
.om-bar .om-social a:hover{color:var(--mp-green) !important}
@media (max-width:768px){
  .om-bar{padding:8px 14px !important;gap:8px}
  .om-bar .om-sub{display:none}
  .om-bar .om-title{font-size:.8rem}
  .om-bar .om-btn{font-size:.7rem;padding:6px 14px}
  .om-bar .om-social{margin-left:0 !important}
  .om-bar .om-social svg{width:14px;height:14px}
}

/* ============================================================
   9. FOOTER (override inline #272702 → navy, labels → verde)
   ============================================================ */
.elementor-element-44d4e244 > .elementor-widget-container > div,
.elementor-element-44d4e244 [style*='#272702'],
.elementor-element-44d4e244 [style*='background:#272702']{
  background:linear-gradient(135deg,var(--mp-navy) 0%,var(--mp-navy-dark) 100%) !important;
  color:#F2F7E4 !important;
}
.elementor-element-44d4e244 [style*='color:#9fd087'],
.elementor-element-44d4e244 [style*='color: #9fd087']{color:var(--mp-green) !important}
.elementor-element-44d4e244 a[style*='#9fd087'],
.elementor-element-44d4e244 a[style*='background:#9fd087']{
  background:var(--mp-green) !important;color:#fff !important;box-shadow:var(--mp-shadow-glow) !important;
}
.elementor-element-44d4e244 a[style*='#9fd087']:hover{background:var(--mp-green-dark) !important}
.elementor-element-44d4e244 [style*='color:rgba(244,244,237'],
.elementor-element-44d4e244 p[style*='rgba(244,244,237'],
.elementor-element-44d4e244 div[style*='rgba(244,244,237']{color:#CBD5E1 !important}
.elementor-element-44d4e244 [style*='background:#1a1a1a'],
.elementor-element-44d4e244 [style*='background: #1a1a1a']{
  background:rgba(10,57,68,.85) !important;color:rgba(242,247,228,.7) !important;
}
.elementor-element-44d4e244 [style*='background:#1a1a1a'] a{color:var(--mp-green-light) !important}
.elementor-element-44d4e244 [style*='max-width:1280px'][style*='margin:0 auto']{padding-bottom:24px !important}

/* Legal bar fuori da <footer> */
#mp-legal-footer{
  background:var(--mp-navy-dark) !important;
  color:rgba(242,247,228,.65) !important;
  border-top:1px solid rgba(255,255,255,.05) !important;
  margin:0 !important;
  padding:14px 20px !important;
  font-family:'Inter',sans-serif !important;
  font-size:12px !important;
  line-height:1.5 !important;
  text-align:center !important;
  display:block !important;
}
#mp-legal-footer a{
  color:rgba(182,220,127,.95) !important;
  text-decoration:none !important;
  transition:color .15s var(--mp-ease);
}
#mp-legal-footer a:hover{color:var(--mp-green) !important;text-decoration:underline !important}

/* ============================================================
   10. SHOP WOOCOMMERCE (product card, filters, cart, checkout)
   ============================================================ */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce-Price-amount.amount{color:var(--mp-navy) !important;font-weight:700 !important}
.woocommerce ul.products li.product{
  border-radius:var(--mp-radius-lg) !important;
  box-shadow:var(--mp-shadow-card);
  border:1px solid var(--mp-border);
  transition:box-shadow .2s var(--mp-ease),transform .2s var(--mp-ease);
}
.woocommerce ul.products li.product:hover{
  box-shadow:0 8px 24px rgba(15,76,92,.12);
  transform:translateY(-2px);
}
.woocommerce-message, .woocommerce-info,
.woocommerce-noreviews, p.no-comments{
  border-top-color:var(--mp-green) !important;
  background:#F7FBEC !important;
  border-radius:var(--mp-radius) !important;
}
.woocommerce-message::before, .woocommerce-info::before{color:var(--mp-green-dark) !important}
.woocommerce-error{
  border-top-color:var(--mp-danger) !important;
  background:#FEF2F2 !important;
  border-radius:var(--mp-radius) !important;
}
.woocommerce-cart table.cart th,
.woocommerce-checkout .woocommerce-checkout-review-order-table th{
  color:var(--mp-navy);text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;font-weight:600;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  border:1px solid var(--mp-border) !important;
  border-radius:var(--mp-radius) !important;
  padding:.65rem .8rem !important;
}
.onsale,.wc-block-components-product-sale-badge{
  background:var(--mp-green) !important;color:#fff !important;
  border-radius:999px !important;font-weight:700 !important;letter-spacing:.04em;
  text-transform:uppercase;font-size:.7rem !important;padding:4px 10px !important;
}
.woocommerce .woocommerce-breadcrumb{color:var(--mp-muted)}
.woocommerce .woocommerce-breadcrumb a{color:var(--mp-green-dark) !important}
.mpshop-home h2{color:var(--mp-navy) !important}
.mpshop-home .mpshop-cta{background:var(--mp-green) !important;border-radius:var(--mp-radius) !important;box-shadow:var(--mp-shadow-glow) !important}
.mpshop-home .mpshop-cta:hover{background:var(--mp-green-dark) !important}

/* Price slider brand */
.widget_price_filter .ui-slider .ui-slider-range,
.widget_price_filter .ui-slider.ui-widget-content,
.woocommerce .price_slider .ui-slider-range,
.wc-block-price-filter .wc-block-price-filter__range-input-progress{background:var(--mp-green) !important}
.widget_price_filter .ui-slider .ui-slider-handle,
.woocommerce .price_slider .ui-slider-handle{
  background:var(--mp-navy) !important;border:2px solid #fff !important;
  box-shadow:0 2px 6px rgba(15,76,92,.3) !important;
}
.widget_price_filter .price_slider_amount .button{
  background:var(--mp-green) !important;color:#fff !important;border-radius:var(--mp-radius) !important;
}
/* PW Gift Cards button */
.pwgc-redeem-button, button.pwgc-redeem-button,
input.pwgc-redeem-button, .pwgc-apply-gift-card-button,
a.pwgc-apply-gift-card-button{
  background:var(--mp-green) !important;
  color:#fff !important;border:none !important;
  border-radius:var(--mp-radius) !important;
  font-family:'Inter',sans-serif !important;font-weight:600 !important;
  padding:.75rem 1rem !important;box-shadow:var(--mp-shadow-glow) !important;
}
.pwgc-redeem-button:hover, .pwgc-apply-gift-card-button:hover{background:var(--mp-green-dark) !important}
/* Cart widget */
.widget_shopping_cart .buttons .button,
.widget_shopping_cart .buttons a.button,
.wc-block-mini-cart__footer-actions .wc-block-components-button{
  background:var(--mp-green) !important;color:#fff !important;border-radius:var(--mp-radius) !important;
}
.widget_shopping_cart .buttons .button.checkout,
.widget_shopping_cart .buttons a.button.checkout{
  background:transparent !important;color:var(--mp-navy) !important;border:2px solid var(--mp-navy) !important;
}
/* Messaggi checkout */
.woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-form-coupon-toggle .woocommerce-info{
  background:#F2F7E4 !important;
  border-top:3px solid var(--mp-green) !important;
  border-radius:var(--mp-radius) !important;
  color:var(--mp-navy);
}
.woocommerce-form-login-toggle .woocommerce-info a,
.woocommerce-form-coupon-toggle .woocommerce-info a{color:var(--mp-green-dark) !important;font-weight:600}

/* ============================================================
   11. MY ACCOUNT (login + register + dashboard)
   ============================================================ */
/* Forza full-width: nascondi la colonna sidebar e centra il contenuto */
.woocommerce-account:not(.logged-in) .page_content_wrap > .content_wrap{
  display:block !important;max-width:1180px !important;margin:0 auto !important;
}
.woocommerce-account:not(.logged-in) .content_wrap > .content,
.woocommerce-account:not(.logged-in) .content_wrap .content{
  width:100% !important;max-width:100% !important;
  float:none !important;margin:0 auto !important;padding:0 !important;
}
.woocommerce-account:not(.logged-in) .content_wrap > .sidebar,
.woocommerce-account:not(.logged-in) .content_wrap aside.sidebar,
.woocommerce-account:not(.logged-in) .content_wrap aside.widget-area{
  display:none !important;width:0 !important;
}
.woocommerce-account:not(.logged-in) .post_content,
.woocommerce-account:not(.logged-in) .entry-content{margin:0 auto !important;max-width:none !important}
.woocommerce-account .woocommerce{max-width:none !important;margin:0 auto !important}

/* Hero */
.woocommerce-account .woocommerce::before{
  content:'Il tuo account Moving Padel';
  display:block;font-weight:800;letter-spacing:-0.02em;
  font-size:clamp(2rem, 4vw, 2.75rem);
  color:var(--mp-navy);text-align:center;
  margin:3.5rem auto 1.25rem;max-width:720px;
}
.woocommerce-account .woocommerce::after{
  content:'Accedi o registrati una sola volta per prenotare i campi, acquistare nello shop e iscriverti ai tornei.';
  display:block;font-size:1rem;font-weight:400;
  color:var(--mp-muted);text-align:center;max-width:640px;
  margin:0 auto 5.5rem;line-height:1.6;
}
.woocommerce-account.logged-in .woocommerce::before,
.woocommerce-account.logged-in .woocommerce::after{content:none !important;display:none !important}
/* Layout flex cards */
html body.woocommerce-account div#customer_login,
html body.woocommerce-account div#customer_login.u-columns,
html body.woocommerce-account div#customer_login.col2-set{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:1.5rem !important;
  max-width:980px !important;
  margin:1.5rem auto 3rem !important;
  padding:0 1rem !important;
  float:none !important;
  clear:both !important;
  width:auto !important;
  box-sizing:border-box !important;
}
html body.woocommerce-account div#customer_login > div,
html body.woocommerce-account div#customer_login > div.u-column1,
html body.woocommerce-account div#customer_login > div.u-column2,
html body.woocommerce-account div#customer_login > div.col-1,
html body.woocommerce-account div#customer_login > div.col-2{
  flex:1 1 0 !important;
  width:auto !important;
  max-width:none !important;
  float:none !important;
  clear:none !important;
  margin:0 !important;
  align-self:stretch !important;
  min-width:0 !important;
  background:#fff !important;
  border:1px solid var(--mp-border) !important;
  border-radius:.75rem !important;
  box-shadow:var(--mp-shadow-card-lg) !important;
  padding:2rem !important;
  transition:box-shadow .2s;
  box-sizing:border-box;
}
html body.woocommerce-account div#customer_login > div:hover{box-shadow:0 8px 30px rgba(15,76,92,0.12) !important}
@media (max-width:768px){
  html body.woocommerce-account div#customer_login{flex-direction:column !important}
}
/* Titoli */
.woocommerce-account #customer_login h2,
.woocommerce-account .u-column1 h2,
.woocommerce-account .u-column2 h2{
  font-size:1.5rem !important;font-weight:800 !important;
  color:var(--mp-navy) !important;letter-spacing:-0.01em !important;
  margin:0 0 1rem !important;padding-bottom:.75rem !important;
  border-bottom:2px solid var(--mp-green) !important;display:inline-block !important;
}
/* Form fields */
.woocommerce-account form .form-row{margin:0 0 1rem !important}
.woocommerce-account form .form-row label{
  font-size:.82rem !important;font-weight:600 !important;
  color:var(--mp-navy) !important;letter-spacing:.04em !important;
  text-transform:uppercase !important;margin-bottom:.35rem !important;display:block !important;
}
.woocommerce-account form .form-row input.input-text,
.woocommerce-account form .form-row input[type='text'],
.woocommerce-account form .form-row input[type='email'],
.woocommerce-account form .form-row input[type='password']{
  font-size:15px !important;padding:.75rem 1rem !important;
  border:1px solid var(--mp-border) !important;
  border-radius:.65rem !important;background:#fff !important;
  color:var(--mp-navy) !important;width:100% !important;box-sizing:border-box !important;
}
/* Submit buttons */
.woocommerce-account form button[type='submit'],
.woocommerce-account form .woocommerce-button,
.woocommerce-account form button.button,
.woocommerce-account form .woocommerce-form-login__submit,
.woocommerce-account form .woocommerce-form-register__submit{
  background:var(--mp-green) !important;color:#fff !important;border:none !important;
  border-radius:.65rem !important;padding:.85rem 1.5rem !important;
  font-weight:700 !important;font-size:.95rem !important;letter-spacing:.03em !important;
  text-transform:uppercase !important;box-shadow:var(--mp-shadow-glow) !important;
  cursor:pointer;width:100% !important;margin-top:1rem !important;display:block !important;
}
.woocommerce-account form button[type='submit']:hover,
.woocommerce-account form .woocommerce-button:hover{
  background:var(--mp-green-dark) !important;transform:translateY(-1px);
}
.woocommerce-account form .woocommerce-form__label-for-checkbox{
  font-size:.9rem !important;color:var(--mp-muted) !important;
  display:inline-flex !important;align-items:center !important;gap:.5rem !important;cursor:pointer;
}
.woocommerce-account .lost_password{margin-top:1rem;text-align:right}
.woocommerce-account .lost_password a,
.woocommerce-account .woocommerce-LostPassword a{
  color:var(--mp-green-dark) !important;
  font-size:.9rem !important;font-weight:600 !important;text-decoration:none !important;
}
.woocommerce-account .lost_password a:hover{color:var(--mp-green) !important;text-decoration:underline !important}
.woocommerce-account .woocommerce-privacy-policy-text{
  font-size:.82rem !important;color:var(--mp-muted) !important;
  line-height:1.5 !important;margin-top:1rem !important;
}
.woocommerce-account .woocommerce-privacy-policy-text a{color:var(--mp-green-dark) !important;font-weight:600 !important;text-decoration:underline !important}
/* Nextend social login */
.mp-social-sep{
  text-align:center !important;margin:1.25rem 0 .75rem !important;
  position:relative !important;color:var(--mp-muted) !important;
  font-size:.8rem !important;font-weight:500 !important;
  letter-spacing:.1em !important;text-transform:uppercase !important;
}
.mp-social-sep::before,.mp-social-sep::after{
  content:'' !important;position:absolute !important;top:50% !important;
  width:calc(50% - 2rem) !important;height:1px !important;background:var(--mp-border) !important;
}
.mp-social-sep::before{left:0}.mp-social-sep::after{right:0}
.woocommerce-account .nsl-container{margin:.5rem 0 1rem !important}
.woocommerce-account .nsl-container-buttons{display:flex !important;flex-direction:column !important;gap:.5rem !important}
.woocommerce-account .nsl-container-buttons a{border-radius:.65rem !important;font-weight:600 !important}
.woocommerce-account .nsl-container-buttons a:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(15,76,92,.15) !important}
/* Dashboard logged-in */
.woocommerce-account .woocommerce-MyAccount-navigation{
  background:#fff !important;border:1px solid var(--mp-border) !important;
  border-radius:.75rem !important;padding:1rem !important;
  box-shadow:var(--mp-shadow-card-lg) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0}
.woocommerce-account .woocommerce-MyAccount-navigation ul li{border-bottom:1px solid var(--mp-border);margin:0;padding:0}
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child{border-bottom:none}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{
  display:block !important;padding:.75rem 1rem !important;
  color:var(--mp-navy) !important;font-weight:600 !important;font-size:.95rem !important;
  text-decoration:none !important;border-radius:.5rem !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{background:rgba(140,200,60,.08) !important;color:var(--mp-green-dark) !important}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active > a{background:var(--mp-green) !important;color:#fff !important}
.woocommerce-account .woocommerce-MyAccount-content{
  background:#fff !important;border:1px solid var(--mp-border) !important;
  border-radius:.75rem !important;padding:1.5rem !important;
  box-shadow:var(--mp-shadow-card-lg) !important;
}
.woocommerce-account table.shop_table,
.woocommerce-account .woocommerce-orders-table{
  border-collapse:separate !important;border-spacing:0;
  border:1px solid var(--mp-border);border-radius:var(--mp-radius);overflow:hidden;
}


/* Page content container — rispetta Smash container width */
body.body_style_wide .content_wrap,
body.body_style_boxed .content_wrap{
  max-width:var(--theme-var-page, 1290px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:24px !important;
  padding-right:24px !important;
  width:100% !important;
  box-sizing:border-box !important;
}
body.body_style_fullscreen .content_wrap,
body.body_style_fullwide .content_wrap{
  max-width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
@media (max-width:768px){
  body.body_style_wide .content_wrap,
  body.body_style_boxed .content_wrap{
    padding-left:14px !important;
    padding-right:14px !important;
  }
}

/* === END MP BRAND SYSTEM === */

/* === MP-MOBILE-STACK-FIX (auto, do not edit between markers) === */
@media (max-width:768px){
  html body.woocommerce-account div#customer_login,
  html body.woocommerce-account div#customer_login.u-columns,
  html body.woocommerce-account div#customer_login.col2-set{
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:wrap !important;
  }
  html body.woocommerce-account div#customer_login > div,
  html body.woocommerce-account div#customer_login > div.u-column1,
  html body.woocommerce-account div#customer_login > div.u-column2,
  html body.woocommerce-account div#customer_login > div.col-1,
  html body.woocommerce-account div#customer_login > div.col-2{
    width:100% !important;
    max-width:100% !important;
    float:none !important;
    clear:both !important;
  }
}
/* === /MP-MOBILE-STACK-FIX === */
/* === MP-MOBILE-HEADER-FIX (auto, do not edit between markers) === */
@media (max-width:768px){
  /* Logo piu' grande su mobile (batte Elementor post-25260, spec 0,4,1) */
  .elementor-element .elementor-widget-container .sc_layouts_logo img.logo_image{
    max-height:60px !important;
    max-width:none !important;
    height:auto !important;
    width:auto !important;
  }
  /* Hamburger: icona a 3 barre pulita (sostituisce il box navy pieno rotto) */
  .top_panel [class*="burger"] .sc_layouts_iconed_text_icon{
    position:relative !important;
    display:inline-block !important;
    width:28px !important;
    height:20px !important;
    background:transparent !important;
    vertical-align:middle !important;
  }
  .top_panel [class*="burger"] .sc_layouts_iconed_text_icon::before,
  .top_panel [class*="burger"] .sc_layouts_iconed_text_icon::after{
    content:"" !important;
    font-family:inherit !important;
    position:absolute !important;
    left:0 !important; right:0 !important; width:auto !important;
    height:3px !important;
    border-radius:2px !important;
    background:var(--mp-navy, #0f4c5c) !important;
    margin:0 !important;
  }
  .top_panel [class*="burger"] .sc_layouts_iconed_text_icon::before{
    top:1px !important;
    box-shadow:0 8px 0 var(--mp-navy, #0f4c5c) !important;
  }
  .top_panel [class*="burger"] .sc_layouts_iconed_text_icon::after{
    bottom:1px !important; top:auto !important;
  }
  /* Dashboard my-account: nessun overflow orizzontale su mobile */
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content{
    box-sizing:border-box !important;
    max-width:100% !important;
  }
}
/* === /MP-MOBILE-HEADER-FIX === */

/* === MP-DASHBOARD-DESKTOP-FIX (auto, do not edit between markers) === */
@media (min-width:769px){
  /* Dashboard my-account desktop: sidebar + contenuto affiancati (flex), top-aligned.
     Risolve il float che faceva scendere il contenuto sotto il menu.
     IMPORTANTE: scoped a body.logged-in cosi' NON tocca la pagina di login
     (anch'essa woocommerce-account ma senza dashboard). */
  body.logged-in.woocommerce-account .woocommerce{
    display:flex !important;
    align-items:flex-start !important;
    gap:1.5rem !important;
  }
  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation{
    float:none !important;
    width:240px !important;
    flex:0 0 240px !important;
    box-sizing:border-box !important;
    margin:0 !important;
  }
  body.logged-in.woocommerce-account .woocommerce-MyAccount-content{
    float:none !important;
    width:auto !important;
    flex:1 1 auto !important;
    box-sizing:border-box !important;
    margin:0 !important;
  }
}
/* === /MP-DASHBOARD-DESKTOP-FIX === */
