/* ============================================================
   SICILIAN GOODNESS - GLOBAL RESPONSIVE MENU V12 / FORCE MASTER V21.5.3
   Dedicated isolated menu asset. No dependency on old <details>.
   ============================================================ */

@keyframes sgV12DrawerIn{
  from{opacity:0;transform:translateX(18px) scale(.992)}
  to{opacity:1;transform:none}
}
@keyframes sgV12BackdropIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes sgV12BookingPulse{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(214,171,95,.48),0 10px 24px rgba(0,0,0,.18);filter:brightness(1)}
  50%{transform:scale(1.025);box-shadow:0 0 0 8px rgba(214,171,95,0),0 12px 30px rgba(0,0,0,.24);filter:brightness(1.12)}
}
}

/* Desktop: keep the site's normal desktop navigation. */
@media (min-width:1181px){
  .sg-v12-trigger,
  .sg-v12-drawer,
  .sg-v12-backdrop{display:none!important}
}

/* Mobile, tablet and narrow desktop/browser windows. */
@media (max-width:1180px){
  /* Once V12 is active, legacy mobile triggers cannot compete with it. */
  html.sg-v12-ready .siteHeader>details,
  html.sg-v12-ready .siteHeader>.navToggle,
  html.sg-v12-ready .siteHeader>.sg-menu-top-trigger-v4,
  html.sg-v12-ready .siteHeader>.sg-menu-v7-trigger{
    display:none!important;
  }

  html.sg-v12-ready .siteHeader>nav,
  html.sg-v12-ready .siteHeader>.nav{
    display:none!important;
  }

  /* Keep language selector in the HEADER, but reserve space for hamburger. */
  html.sg-v12-ready .siteHeader .headerActions{
    margin-left:auto!important;
    margin-right:66px!important;
  }
  html.sg-v12-ready .siteHeader .headerActions .outline{
    display:none!important;
  }

  /* Absolute positioning makes the hamburger independent from header layout. */
  .siteHeader>.sg-v12-trigger{
    box-sizing:border-box!important;
    display:grid!important;
    place-items:center!important;
    position:absolute!important;
    top:50%!important;
    right:14px!important;
    transform:translateY(-50%)!important;
    z-index:10080!important;
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(213,177,111,.48)!important;
    border-radius:15px!important;
    background:
      radial-gradient(circle at 35% 25%,rgba(213,177,111,.12),transparent 56%),
      linear-gradient(145deg,#17140f,#090908)!important;
    box-shadow:0 10px 26px rgba(0,0,0,.30),inset 0 0 18px rgba(182,138,69,.07)!important;
    cursor:pointer!important;
    appearance:none!important;
    -webkit-appearance:none!important;
  }

  .siteHeader>.sg-v12-trigger span,
  .siteHeader>.sg-v12-trigger::before,
  .siteHeader>.sg-v12-trigger::after{
    content:"";
    position:absolute!important;
    width:23px!important;
    height:2px!important;
    border-radius:99px!important;
    background:#e1c487!important;
    box-shadow:0 0 9px rgba(213,177,111,.28)!important;
    transition:transform .2s ease,opacity .16s ease!important;
  }
  .siteHeader>.sg-v12-trigger::before{transform:translateY(-7px)!important}
  .siteHeader>.sg-v12-trigger::after{transform:translateY(7px)!important}

  body.sg-v12-open .siteHeader>.sg-v12-trigger{
    position:fixed!important;
    top:18px!important;
    right:18px!important;
    transform:none!important;
    z-index:22020!important;
    border-radius:50%!important;
    background:#0c0b09!important;
  }
  body.sg-v12-open .siteHeader>.sg-v12-trigger::before{transform:rotate(45deg)!important}
  body.sg-v12-open .siteHeader>.sg-v12-trigger::after{transform:rotate(-45deg)!important}
  body.sg-v12-open .siteHeader>.sg-v12-trigger span{opacity:0!important}

  body>.sg-v12-backdrop{
    position:fixed!important;
    inset:0!important;
    z-index:21980!important;
    background:rgba(0,0,0,.43)!important;
    -webkit-backdrop-filter:blur(2px)!important;
    backdrop-filter:blur(2px)!important;
    animation:sgV12BackdropIn .18s ease both!important;
  }

  body>.sg-v12-drawer{
    box-sizing:border-box!important;
    position:fixed!important;
    top:72px!important;
    right:12px!important;
    left:auto!important;
    bottom:auto!important;
    z-index:22000!important;
    width:min(84vw,360px)!important;
    max-width:360px!important;
    height:auto!important;
    max-height:calc(100dvh - 88px)!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    color:#fff!important;
    border:1px solid rgba(213,177,111,.32)!important;
    border-radius:20px!important;
    background:
      radial-gradient(circle at 100% 0%,rgba(213,177,111,.11),transparent 25%),
      linear-gradient(180deg,#12100d 0%,#0b0a09 58%,#080807 100%)!important;
    box-shadow:-14px 18px 46px rgba(0,0,0,.42),0 18px 54px rgba(0,0,0,.28)!important;
    animation:sgV12DrawerIn .24s cubic-bezier(.2,.72,.2,1) both!important;
  }

  body>.sg-v12-drawer .sg-v12-scroll{
    box-sizing:border-box!important;
    max-height:calc(100dvh - 88px)!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    padding:13px 14px 14px!important;
  }
  body>.sg-v12-drawer .sg-v12-scroll::-webkit-scrollbar{display:none!important}

  body>.sg-v12-drawer .sg-v12-head{
    display:grid!important;
    grid-template-columns:minmax(110px,1fr) minmax(132px,.95fr)!important;
    align-items:center!important;
    gap:14px!important;
    min-height:54px!important;
    padding:0 2px 11px!important;
    border-bottom:1px solid rgba(255,255,255,.075)!important;
  }

  body>.sg-v12-drawer .sg-v12-logo{
    display:block!important;
    width:128px!important;
    max-width:100%!important;
    height:auto!important;
    filter:drop-shadow(0 0 10px rgba(213,177,111,.13))!important;
  }

  body>.sg-v12-drawer .sg-v12-tagline{
    display:block!important;
    text-align:right!important;
    color:#e8cc8a!important;
    font:italic 600 16px/1.07 Georgia,"Times New Roman",serif!important;
    letter-spacing:.012em!important;
    text-shadow:0 0 18px rgba(213,177,111,.16)!important;
  }
  body>.sg-v12-drawer .sg-v12-tagline small{
    display:block!important;
    margin-top:4px!important;
    color:#ab9568!important;
    font:700 8.3px/1.1 Arial,sans-serif!important;
    letter-spacing:.16em!important;
    text-transform:uppercase!important;
  }
  body>.sg-v12-drawer .sg-v12-tagline::after{
    content:"";
    display:block;
    width:44px;
    height:1px;
    margin:7px 0 0 auto;
    background:linear-gradient(90deg,transparent,rgba(213,177,111,.88));
  }

  body>.sg-v12-drawer .sg-v12-links{
    display:block!important;
    margin:0!important;
    padding:0!important;
  }
  body>.sg-v12-drawer .sg-v12-links>a{
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    position:relative!important;
    min-height:38px!important;
    padding:6px 26px 6px 6px!important;
    color:#f2eee6!important;
    text-decoration:none!important;
    text-transform:none!important;
    font:500 12.7px/1.2 Arial,sans-serif!important;
    letter-spacing:.012em!important;
    border-bottom:1px solid rgba(255,255,255,.065)!important;
    transition:color .16s ease,background .16s ease,padding .16s ease!important;
  }

  /* Only the requested dots before labels. No emoji/icon glyphs. */
  body>.sg-v12-drawer .sg-v12-links>a::before{
    content:""!important;
    width:4px!important;
    height:4px!important;
    margin-right:10px!important;
    flex:0 0 4px!important;
    border-radius:50%!important;
    background:#b99655!important;
    opacity:.58!important;
  }
  body>.sg-v12-drawer .sg-v12-links>a::after{
    content:""!important;
    position:absolute!important;
    right:9px!important;
    top:50%!important;
    width:6px!important;
    height:6px!important;
    border-top:1px solid #655b4b!important;
    border-right:1px solid #655b4b!important;
    transform:translateY(-50%) rotate(45deg)!important;
  }


  /* Franchising: one navigation item, with the former "Apri con noi" message integrated as a subtitle. */
  body>.sg-v12-drawer .sg-v12-links>a.sg-v12-franchising{
    min-height:48px!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
  }
  body>.sg-v12-drawer .sg-v12-franchising-copy{
    display:block!important;
    min-width:0!important;
  }
  body>.sg-v12-drawer .sg-v12-franchising-copy strong{
    display:block!important;
    color:#f2eee6!important;
    font:600 12.7px/1.15 Arial,sans-serif!important;
    letter-spacing:.012em!important;
  }
  body>.sg-v12-drawer .sg-v12-franchising-copy small{
    display:block!important;
    margin-top:3px!important;
    color:#b9a77f!important;
    font:500 9.8px/1.2 Arial,sans-serif!important;
    letter-spacing:.025em!important;
  }

  /* Booking: single primary CTA, now with clear Centro Giotto context. */
  body>.sg-v12-drawer .sg-v12-links>a.sg-v12-booking{
    min-height:54px!important;
    margin:5px 0 7px!important;
    padding:8px 30px 8px 10px!important;
    color:#17130d!important;
    border:1px solid rgba(255,255,255,.3)!important;
    border-radius:13px!important;
    background:linear-gradient(135deg,#d6ab5f,#f0ce86)!important;
    box-shadow:0 10px 24px rgba(0,0,0,.18)!important;
    animation:sgV12BookingPulse 1.55s ease-in-out infinite!important;
    transform-origin:center!important;
  }
  body>.sg-v12-drawer .sg-v12-booking-copy{display:block!important;min-width:0!important}
  body>.sg-v12-drawer .sg-v12-booking-copy strong{
    display:block!important;
    color:#17130d!important;
    font:900 14px/1.05 Arial,sans-serif!important;
    letter-spacing:.055em!important;
    text-transform:uppercase!important;
  }
  body>.sg-v12-drawer .sg-v12-booking-copy small{
    display:block!important;
    margin-top:4px!important;
    color:#4d3a1a!important;
    font:700 9.8px/1.15 Arial,sans-serif!important;
    letter-spacing:.015em!important;
    text-transform:none!important;
  }
  body>.sg-v12-drawer .sg-v12-links>a.sg-v12-booking::before{
    width:6px!important;height:6px!important;flex-basis:6px!important;background:#17130d!important;opacity:.78!important;
  }
  body>.sg-v12-drawer .sg-v12-links>a.sg-v12-booking::after{
    border-top-color:#4b3b20!important;
    border-right-color:#4b3b20!important;
  }
  body>.sg-v12-drawer .sg-v12-links>a.sg-v12-booking:hover,
  body>.sg-v12-drawer .sg-v12-links>a.sg-v12-booking:focus-visible{
    animation-play-state:paused!important;
    filter:brightness(1.08)!important;
  }

  /* Work with us and Reviews deliberately use the same hierarchy as ordinary links. */

  /* Delivery: no emoji. Use a restrained line icon consistent with the premium menu. */
  body>.sg-v12-drawer .sg-v12-links>a.sg-v12-delivery::before{display:none!important}
  body>.sg-v12-drawer .sg-v12-delivery-icon{
    width:15px!important;
    height:15px!important;
    margin-right:8px!important;
    flex:0 0 15px!important;
    fill:none!important;
    stroke:#c8a864!important;
    stroke-width:1.45!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }

  body>.sg-v12-drawer .sg-v12-brandline{
    margin:6px 0 0!important;
    padding:7px 9px!important;
    border:1px solid rgba(213,177,111,.22)!important;
    border-radius:13px!important;
    background:linear-gradient(100deg,rgba(213,177,111,.045),rgba(255,255,255,.006))!important;
  }
  body>.sg-v12-drawer .sg-v12-brandline strong{
    display:block!important;
    color:#dfc27f!important;
    font:13.6px/1.1 Georgia,"Times New Roman",serif!important;
  }
  body>.sg-v12-drawer .sg-v12-brandline span{
    display:block!important;
    margin-top:2px!important;
    color:#c7c0b6!important;
    font:9.9px/1.3 Arial,sans-serif!important;
  }

  body.sg-v12-open{overflow:hidden!important}
  body.sg-v12-open .menuFloat,
  body.sg-v12-open .locatorFloat,
  body.sg-v12-open .whatsappFloat{
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

@media(max-width:560px){
  html.sg-v12-ready .siteHeader .headerActions{
    margin-right:60px!important;
  }

  .siteHeader>.sg-v12-trigger{
    right:10px!important;
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
  }

  body>.sg-v12-drawer{
    top:66px!important;
    right:8px!important;
    width:min(88vw,318px)!important;
    max-width:318px!important;
    max-height:calc(100dvh - 76px)!important;
    border-radius:17px!important;
  }
  body>.sg-v12-drawer .sg-v12-scroll{
    max-height:calc(100dvh - 76px)!important;
    padding:10px 11px 11px!important;
  }
  body>.sg-v12-drawer .sg-v12-head{
    grid-template-columns:minmax(96px,1fr) minmax(116px,.95fr)!important;
    gap:9px!important;
    min-height:44px!important;
    padding-bottom:7px!important;
  }
  body>.sg-v12-drawer .sg-v12-logo{width:106px!important}
  body>.sg-v12-drawer .sg-v12-tagline{font-size:13.4px!important;line-height:1.04!important}
  body>.sg-v12-drawer .sg-v12-tagline small{font-size:7.5px!important;letter-spacing:.145em!important}
  body>.sg-v12-drawer .sg-v12-tagline::after{width:36px!important;margin-top:6px!important}
  body>.sg-v12-drawer .sg-v12-links>a{min-height:37px!important;padding-top:6px!important;padding-bottom:6px!important;font-size:12.1px!important}
  body>.sg-v12-drawer .sg-v12-links>a.sg-v12-booking{min-height:52px!important}
  body>.sg-v12-drawer .sg-v12-links>a.sg-v12-franchising{min-height:44px!important;padding-top:6px!important;padding-bottom:6px!important}
  body>.sg-v12-drawer .sg-v12-franchising-copy strong{font-size:12.1px!important}
  body>.sg-v12-drawer .sg-v12-franchising-copy small{font-size:9.2px!important}
}

@media(max-width:380px){
  html.sg-v12-ready .siteHeader .headerActions{
    display:none!important;
  }
  body>.sg-v12-drawer{
    width:calc(100vw - 14px)!important;
    right:7px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body>.sg-v12-drawer,
  body>.sg-v12-backdrop,
  body>.sg-v12-drawer .sg-v12-links>a.sg-v12-booking{
    animation:none!important;
  }
}
