@media (max-width: 900px){
  .tcp-nav{display:none}
  .tcp-menu-toggle{display:block}
  .tcp-brand-text small{display:none}
  .tcp-brand-text strong{font-size:18px}
  .tcp-grid-3,.tcp-grid-4,.tcp-split,.tcp-footer-grid{grid-template-columns:1fr}
  .tcp-hero{padding:90px 0}
}

@media (max-width: 900px){
  .tcp-header-inner{position:relative}
  .tcp-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--tcp-primary);padding:18px;border-radius:0 0 18px 18px;box-shadow:0 18px 36px rgba(6,21,54,.18)}
  .tcp-nav.is-open{display:block}
  .tcp-nav .tcp-menu,
  .tcp-nav ul{display:flex;flex-direction:column;align-items:flex-start;gap:0}
  .tcp-nav li{width:100%}
  .tcp-nav a{width:100%;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12)}
}


/* TCP 6.0.4 - Mobile menu visibility fix */
@media (max-width: 900px){
  .tcp-menu-toggle{
    display:block !important;
  }
  .tcp-nav{
    display:none;
  }
  .tcp-nav.is-open{
    display:block;
  }
}


/* TCP 6.0.5 - Premium mobile menu */
@media (max-width: 900px){
  .tcp-menu-toggle{
    display:flex !important;
    flex:0 0 48px;
  }

  .tcp-nav{
    display:block;
    position:absolute;
    left:auto;
    right:0;
    top:calc(100% + 12px);
    width:min(360px,92vw);
    background:linear-gradient(135deg,var(--tcp-primary),#05275e);
    padding:18px;
    border-radius:22px;
    box-shadow:0 24px 60px rgba(6,21,54,.34);
    border:1px solid rgba(255,255,255,.12);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px) scale(.98);
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease;
  }

  .tcp-nav.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
  }

  .tcp-nav .tcp-menu,
  .tcp-nav ul{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }

  .tcp-nav li{
    width:100%;
  }

  .tcp-nav a{
    width:100%;
    padding:14px 8px;
    border-bottom:1px solid rgba(255,255,255,.12);
    font-size:16px;
    font-weight:800;
  }

  .tcp-nav li:last-child a{
    border-bottom:0;
  }

  .tcp-header-inner > .tcp-btn{
    display:none;
  }

  .tcp-nav:after{
    content:"Prenota Campo";
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:18px;
    min-height:50px;
    border-radius:999px;
    background:var(--tcp-secondary);
    color:var(--tcp-primary);
    font-weight:900;
  }
}


/* TCP 6.0.6 - Premium mobile panel like mockup */
@media (max-width: 900px){
  .tcp-site-header:not(.show-hamburger-desktop) .tcp-menu-toggle,
  .tcp-menu-toggle{
    display:flex !important;
  }

  .tcp-header-inner{
    min-height:86px;
  }

  .tcp-brand{
    gap:14px;
  }

  .tcp-brand-text{
    padding-left:0;
  }

  .tcp-brand-text:before{
    display:none;
  }

  .tcp-nav{
    top:calc(100% + 14px);
    right:0;
    width:min(430px,92vw);
    padding:22px;
    border-radius:22px;
    background:
      radial-gradient(circle at 10% 0%, rgba(19,95,177,.38), transparent 44%),
      linear-gradient(135deg,#052d68 0%, #031b42 100%);
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 28px 70px rgba(3,27,66,.38);
  }

  .tcp-nav .tcp-menu,
  .tcp-nav ul{
    gap:0;
  }

  .tcp-nav li{
    position:relative;
  }

  .tcp-nav a{
    min-height:52px;
    padding:14px 36px 14px 44px;
    border-bottom:1px solid rgba(255,255,255,.12);
    color:#fff;
    font-size:15px;
    letter-spacing:.02em;
    text-transform:none;
  }

  .tcp-nav li:before{
    position:absolute;
    left:8px;
    top:50%;
    transform:translateY(-50%);
    color:var(--tcp-secondary);
    font-size:22px;
    line-height:1;
    z-index:1;
  }
  .tcp-nav li:nth-child(1):before{content:"⌂";}
  .tcp-nav li:nth-child(2):before{content:"▣";}
  .tcp-nav li:nth-child(3):before{content:"◈";}
  .tcp-nav li:nth-child(4):before{content:"◌";}
  .tcp-nav li:nth-child(5):before{content:"♕";}
  .tcp-nav li:nth-child(6):before{content:"▤";}
  .tcp-nav li:nth-child(7):before{content:"▧";}
  .tcp-nav li:nth-child(8):before{content:"✉";}

  .tcp-nav li:after{
    content:"›";
    position:absolute;
    right:8px;
    top:50%;
    transform:translateY(-50%);
    color:#fff;
    opacity:.9;
    font-size:30px;
    line-height:1;
  }

  .tcp-nav:after{
    content:"▣  Prenota Campo";
    min-height:54px;
    margin-top:20px;
    border-radius:999px;
    background:linear-gradient(135deg,var(--tcp-secondary),#7fbd13);
    color:var(--tcp-primary);
    box-shadow:0 12px 28px rgba(168,214,41,.22);
    letter-spacing:.02em;
  }
}

/* V7.3.8 mobile top spacing guard */
@media (max-width:900px){
  body{
    padding-top:0!important;
  }
  .tcp-header-wrap + .tcp-main,
  .tcp-header-wrap + main{
    margin-top:0!important;
  }
}

/* V7.3.9 final mobile spacing guard */
@media(max-width:900px){
  body{padding-top:0!important}
  .tcp-main{padding-top:0!important}
}
