/* Shared modern shell for public pages */
body.has-modern-shell{
  --bg:#07090d;
  --bg-secondary:#0c1016;
  --text:#f3ead4;
  --muted:#cbbf9f;
  --card:#10151d;
  --card-hover:#161d27;
  --line:rgba(255,210,0,.18);
  --accent:#ffd200;
  --accent-hover:#ffdf65;
  --accent2:#f59e0b;
  --accent2-hover:#fbbf24;
  --shadow:0 10px 24px rgba(0,0,0,.32);
  --shadow-lg:0 22px 48px rgba(0,0,0,.45);
  --shadow-accent:0 10px 26px rgba(245,158,11,.26);
  background:
    radial-gradient(140% 90% at 50% -10%,rgba(255,210,0,.08) 0%,rgba(255,210,0,0) 55%),
    linear-gradient(180deg,#06080c 0%,#0b1016 48%,#080b11 100%);
  color:var(--text);
}

body.has-modern-shell a{
  color:#ffd86d;
}

body.has-modern-shell a:hover{
  color:#ffe7a4;
}

body.has-modern-shell main .section{
  background:linear-gradient(180deg,rgba(10,13,18,.94),rgba(8,11,16,.94));
}

body.has-modern-shell main .section:nth-child(even){
  background:linear-gradient(180deg,rgba(12,15,21,.95),rgba(9,12,18,.95));
}

body.has-modern-shell .card,
body.has-modern-shell .feature,
body.has-modern-shell .prod,
body.has-modern-shell .product-card,
body.has-modern-shell details,
body.has-modern-shell .hours-card,
body.has-modern-shell .modal-content{
  background:linear-gradient(180deg,rgba(15,20,28,.95),rgba(10,14,20,.93));
  border:1px solid rgba(255,210,0,.18);
  color:#f3ead4;
  box-shadow:var(--shadow);
}

body.has-modern-shell .card:hover,
body.has-modern-shell .feature:hover,
body.has-modern-shell .prod:hover,
body.has-modern-shell .product-card:hover{
  border-color:rgba(255,210,0,.34);
  box-shadow:var(--shadow-lg);
}

body.has-modern-shell .product-card,
body.has-modern-shell .product-card:hover{
  transform:none;
}

body.has-modern-shell h1,
body.has-modern-shell h2,
body.has-modern-shell h3,
body.has-modern-shell strong{
  color:#f7e7bc;
}

body.has-modern-shell .muted,
body.has-modern-shell p,
body.has-modern-shell li,
body.has-modern-shell summary{
  color:#d6c9a9;
}

body.has-modern-shell .btn{
  border-radius:12px;
}

body.has-modern-shell .btn-outline,
body.has-modern-shell .btn-ghost{
  border:1px solid rgba(255,210,0,.24);
  background:rgba(255,255,255,.03);
  color:#f2e5c5;
}

body.has-modern-shell .btn-accent{
  background:linear-gradient(135deg,#ffd200,#f59e0b);
  color:#1a1300;
  border:1px solid #ffd200;
}

body.has-modern-shell .btn-outline:hover,
body.has-modern-shell .btn-ghost:hover,
body.has-modern-shell .btn-accent:hover{
  background:linear-gradient(135deg,#ffd200,#f59e0b);
  color:#1a1300;
  border-color:#ffd200;
}

body.has-modern-shell .badge,
body.has-modern-shell .product-badge{
  background:rgba(255,210,0,.12);
  border:1px solid rgba(255,210,0,.24);
  color:#ffd76b;
}

body.has-modern-shell input,
body.has-modern-shell select,
body.has-modern-shell textarea{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.14);
  color:#f3ead4;
}

body.has-modern-shell input:focus,
body.has-modern-shell select:focus,
body.has-modern-shell textarea:focus{
  border-color:rgba(255,210,0,.5);
  box-shadow:0 0 0 3px rgba(255,210,0,.14);
}

body.has-modern-shell .theme-toggle{
  border-color:rgba(255,210,0,.22);
  background:rgba(255,255,255,.08);
}

body.has-modern-shell header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(8,10,14,.92);
  border-bottom:1px solid rgba(255,255,255,.12);
  box-shadow:0 6px 18px rgba(0,0,0,.28);
}

body.has-modern-shell .nav{
  gap:12px;
  padding:10px 0;
}

body.has-modern-shell .brand-logo{
  height:34px !important;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.32));
}

body.has-modern-shell .menu{
  display:flex;
  align-items:center;
  gap:10px;
}

body.has-modern-shell .menu .btn{
  border:none;
  background:transparent;
  color:#e8dbc0;
  min-height:34px;
  padding:6px 10px;
  font-weight:500;
  border-radius:0;
  box-shadow:none;
}

body.has-modern-shell .menu .btn:hover{
  background:transparent;
  color:#ffd86d;
  box-shadow:none;
  transform:none;
}

body.has-modern-shell .menu .btn-accent{
  color:#ffd86d;
  font-weight:700;
}

body.has-modern-shell .theme-toggle{
  display:none !important;
}

body.has-modern-shell .menu-toggle{
  display:none;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  background:rgba(6,8,12,.55);
  color:#f0dfb1;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

body.has-modern-shell .menu-toggle-lines{
  width:20px;
  height:14px;
  position:relative;
  display:block;
}

body.has-modern-shell .menu-toggle-lines::before,
body.has-modern-shell .menu-toggle-lines::after,
body.has-modern-shell .menu-toggle-lines span{
  content:'';
  position:absolute;
  left:0;
  width:100%;
  height:2px;
  background:currentColor;
  transition:transform .25s ease,opacity .25s ease;
}

body.has-modern-shell .menu-toggle-lines::before{top:0}
body.has-modern-shell .menu-toggle-lines span{top:6px}
body.has-modern-shell .menu-toggle-lines::after{top:12px}

body.has-modern-shell .menu-toggle.is-open .menu-toggle-lines::before{
  transform:translateY(6px) rotate(45deg);
}

body.has-modern-shell .menu-toggle.is-open .menu-toggle-lines span{
  opacity:0;
}

body.has-modern-shell .menu-toggle.is-open .menu-toggle-lines::after{
  transform:translateY(-6px) rotate(-45deg);
}

/* Footer: vedi footer.css */

/* Delivery notice tab + popup */
body.has-modern-shell .delivery-notice-tab{
  position:fixed;
  right:14px;
  bottom:18px;
  z-index:1400;
  border:1px solid rgba(255,210,0,.45);
  background:linear-gradient(135deg,#ffd200,#f59e0b);
  color:#1a1300;
  border-radius:999px;
  min-height:42px;
  padding:0 16px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 14px 32px rgba(0,0,0,.35);
}

body.mp-popup-open,
html.mp-popup-open{
  overflow:hidden;
  height:100%;
}

body.mp-popup-open .delivery-notice-tab{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

body.has-modern-shell .delivery-notice-popup,
body.has-modern-shell .offer-pop.fuel-pop{
  position:fixed;
  inset:0;
  z-index:1600;
}

body.has-modern-shell .delivery-notice-popup{
  display:none;
  align-items:center;
  justify-content:center;
  padding:16px;
  padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px));
  background:rgba(0,0,0,.65);
  backdrop-filter:blur(4px);
  overflow:hidden;
  overscroll-behavior:contain;
}

body.has-modern-shell .delivery-notice-popup.is-open{
  display:flex;
}

body.has-modern-shell .delivery-notice-card{
  width:min(720px,96vw);
  border:1px solid rgba(255,210,0,.34);
  border-radius:14px;
  background:linear-gradient(165deg,rgba(8,10,14,.98),rgba(17,22,30,.94));
  color:#f3ead4;
  box-shadow:0 26px 60px rgba(0,0,0,.5);
  padding:20px;
}

body.has-modern-shell .delivery-notice-card--full{
  width:min(920px,96vw);
  max-width:100%;
  max-height:min(92dvh,calc(100dvh - 24px));
  padding:22px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-y;
}

body.has-modern-shell .delivery-notice-top{
  display:grid;
  grid-template-columns:1.35fr .9fr;
  gap:16px;
  align-items:stretch;
  margin-bottom:14px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(255,210,0,.22);
}

body.has-modern-shell .delivery-notice-title-row{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:8px;
}

body.has-modern-shell .delivery-notice-icon{
  flex:0 0 44px;
  height:44px;
  width:44px;
  border-radius:50%;
  border:2px solid rgba(255,210,0,.5);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  line-height:1;
}

body.has-modern-shell .delivery-notice-card h3{
  margin:0;
  color:#ffd86d;
  font-size:clamp(22px,2.4vw,30px);
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.2px;
}

body.has-modern-shell .delivery-notice-lead{
  margin:0;
  color:#e7dcc2;
  line-height:1.65;
  max-width:60ch;
}

body.has-modern-shell .delivery-notice-card p{
  margin:0 0 12px;
  color:#e7dcc2;
  line-height:1.7;
}

body.has-modern-shell .delivery-notice-card .delivery-notice-strong{
  color:#ffd86d;
  font-weight:700;
}

body.has-modern-shell .delivery-notice-image{
  border-radius:10px;
  overflow:hidden;
  border:1px solid rgba(255,210,0,.3);
  min-height:160px;
}

body.has-modern-shell .delivery-notice-image img{
  display:block;
  width:100%;
  height:100%;
  min-height:160px;
  object-fit:cover;
}

body.has-modern-shell .delivery-notice-benefits{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}

body.has-modern-shell .delivery-notice-benefits div{
  border:1px solid rgba(255,210,0,.2);
  background:rgba(255,210,0,.05);
  border-radius:10px;
  padding:12px;
  color:#e7dcc2;
  font-size:14px;
  line-height:1.45;
  text-align:left;
}

body.has-modern-shell .delivery-notice-benefits strong{
  display:block;
  margin-bottom:4px;
  color:#ffd86d;
  font-size:18px;
  line-height:1;
}

body.has-modern-shell .delivery-notice-benefit-wide{
  grid-column:1 / -1;
  text-align:center;
  background:rgba(255,210,0,.08);
  border-color:rgba(255,210,0,.32);
}

body.has-modern-shell .delivery-notice-cta-note{
  margin:0 0 12px;
  color:#e7dcc2;
  font-size:14px;
  line-height:1.5;
  text-align:center;
}

body.has-modern-shell .delivery-notice-actions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  margin-top:4px;
  flex-wrap:wrap;
}

@media(max-width:900px){
  body.has-modern-shell .delivery-notice-top{
    grid-template-columns:1fr;
  }

  body.has-modern-shell .delivery-notice-benefits{
    grid-template-columns:1fr;
  }

  body.has-modern-shell .delivery-notice-actions{
    flex-direction:column;
  }

  body.has-modern-shell .delivery-notice-actions .btn{
    width:100%;
    justify-content:center;
  }
}

@media(max-width:980px){
  body.has-modern-shell .nav{
    align-items:center;
    flex-wrap:nowrap;
  }

  body.has-modern-shell .menu-toggle{
    display:inline-flex;
    margin-left:auto;
  }

  body.has-modern-shell .menu{
    position:absolute;
    top:calc(100% + 10px);
    right:0;
    width:min(360px,92vw);
    display:none;
    flex-direction:column;
    align-items:stretch;
    padding:12px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:12px;
    background:rgba(8,10,14,.97);
    box-shadow:0 12px 30px rgba(0,0,0,.4);
    backdrop-filter:blur(8px);
  }

  body.has-modern-shell .menu.is-open{
    display:flex;
  }

  body.has-modern-shell .menu .btn,
  body.has-modern-shell .menu .theme-toggle{
    width:100%;
  }

  body.has-modern-shell .menu .btn{
    text-align:left;
    justify-content:flex-start;
    padding:10px 8px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }

  body.has-modern-shell .delivery-notice-tab{
    right:10px;
    bottom:12px;
    min-height:40px;
    padding:0 14px;
    font-size:13px;
  }

  body.has-modern-shell .delivery-notice-actions{
    flex-direction:column;
  }

  body.has-modern-shell .delivery-notice-actions .btn{
    width:100%;
    justify-content:center;
  }

}

/* ===== Mobile: popup, modali, touch ===== */
@media (max-width: 768px) {
  body.has-modern-shell .delivery-notice-popup,
  body.has-modern-shell .offer-pop.fuel-pop {
    align-items: center;
    justify-content: center;
    padding: max(8px, env(safe-area-inset-top, 0px)) 8px max(8px, env(safe-area-inset-bottom, 0px));
    overflow: hidden;
  }

  body.has-modern-shell .delivery-notice-card,
  body.has-modern-shell .delivery-notice-card--full {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 16px 14px;
    max-height: min(90dvh, calc(100dvh - 16px));
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  body.has-modern-shell .delivery-notice-title-row {
    flex-wrap: wrap;
  }

  body.has-modern-shell .delivery-notice-card h3 {
    font-size: clamp(18px, 5vw, 24px);
  }

  body.has-modern-shell .delivery-notice-lead,
  body.has-modern-shell .delivery-notice-benefits div {
    font-size: 13px;
  }

  body.has-modern-shell .delivery-notice-tab {
    right: max(8px, env(safe-area-inset-right, 0px));
    bottom: max(10px, env(safe-area-inset-bottom, 0px));
    max-width: calc(100vw - 16px);
    font-size: 12px;
    padding: 0 12px;
    z-index: 1200;
  }

  body.has-modern-shell .modal,
  body.has-modern-shell .modern-popup {
    align-items: flex-start;
    justify-content: flex-start;
    padding: max(10px, env(safe-area-inset-top, 0px)) 10px max(10px, env(safe-area-inset-bottom, 0px));
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.has-modern-shell .modal-content,
  body.has-modern-shell .modern-popup-content {
    width: 100%;
    max-width: 100%;
    max-height: calc(100dvh - 20px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0 auto;
    padding: 20px 16px;
  }

  body.has-modern-shell .modern-popup-header {
    padding: 20px 16px 16px;
  }

  body.has-modern-shell .modern-popup-body {
    padding: 16px;
  }

  body.has-modern-shell .modern-popup-actions {
    flex-direction: column;
  }

  body.has-modern-shell .modern-popup-btn,
  body.has-modern-shell .modal .btn {
    width: 100%;
    min-height: 44px;
    justify-content: center;
  }

  body.has-modern-shell .product-card,
  body.has-modern-shell .prod,
  body.has-modern-shell .card {
    min-width: 0;
  }

  body.has-modern-shell .lightbox {
    padding: 12px;
    padding-top: max(12px, env(safe-area-inset-top, 0px));
  }

  body.has-modern-shell .lightbox img {
    max-width: 100%;
    max-height: calc(100dvh - 72px);
  }

  body.has-modern-shell .lightbox-close {
    top: max(10px, env(safe-area-inset-top, 0px));
    right: 10px;
    width: 44px;
    height: 44px;
    font-size: 24px;
  }

  body.has-modern-shell .product-hero,
  body.has-modern-shell .contact-grid,
  body.has-modern-shell .hours-grid {
    grid-template-columns: 1fr !important;
  }

  body.has-modern-shell .features-grid,
  body.has-modern-shell .products-grid {
    grid-template-columns: 1fr;
  }

  body.has-modern-shell .specs-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.has-modern-shell input,
  body.has-modern-shell select,
  body.has-modern-shell textarea,
  body.has-modern-shell .btn {
    min-height: 44px;
    font-size: 16px;
  }

  body.has-modern-shell .wrap {
    width: min(100%, 96vw);
    padding-left: 14px;
    padding-right: 14px;
  }
}

@media (max-width: 480px) {
  body.has-modern-shell .delivery-notice-popup,
  body.has-modern-shell .offer-pop,
  body.has-modern-shell .fuel-pop {
    padding-left: 8px;
    padding-right: 8px;
  }

  body.has-modern-shell .delivery-notice-card,
  body.has-modern-shell .delivery-notice-card--full {
    padding: 14px 12px;
    border-radius: 12px;
  }

  body.has-modern-shell .delivery-notice-image {
    min-height: 120px;
  }

  body.has-modern-shell .delivery-notice-image img {
    min-height: 120px;
  }

  body.has-modern-shell .delivery-notice-benefits strong {
    font-size: 16px;
  }

  body.has-modern-shell .delivery-notice-tab {
    font-size: 11px;
    min-height: 38px;
    padding: 0 10px;
  }
}
