/* SVILUPPOFOOD V33 - accessibility, mobile navigation and visual contrast */

/* ---------- HD brand logo ---------- */
.sf-top .sf-brand img[src*="logo-sviluppofood"]{
  width:258px !important;
  height:auto !important;
  max-height:54px !important;
  object-fit:contain;
}
.sf-footer-exact img[src*="logo-sviluppofood"]{
  width:230px !important;
  height:auto !important;
  max-height:50px !important;
  object-fit:contain;
}

/* ---------- Mobile navigation: one reliable implementation across every page ---------- */
.sf-top{position:relative;z-index:5000 !important;}
.sf-top .sf-wrap{position:relative;}
.sf-mobile{
  cursor:pointer !important;
  position:relative;
  z-index:5002;
  touch-action:manipulation;
}
@media (max-width:900px){
  .sf-top .sf-menu,
  .sf-top .sf-check{display:none !important;}
  .sf-top .sf-mobile{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    margin-left:auto !important;
    min-width:74px;
    min-height:42px;
    padding:11px 14px !important;
    background:#050505 !important;
    color:#fff !important;
    border:1px solid #fff !important;
    font:900 10px/1 Arial,Helvetica,sans-serif !important;
    letter-spacing:.08em;
    cursor:pointer;
  }
  .sf-top .sf-mobile.open{
    background:#ff008c !important;
    border-color:#ff008c !important;
    color:#fff !important;
  }
  .sf-top .sf-menu.open{
    display:flex !important;
    position:absolute !important;
    top:72px !important;
    left:0 !important;
    right:0 !important;
    width:auto !important;
    max-height:calc(100vh - 82px);
    overflow:auto;
    margin:0 !important;
    padding:8px !important;
    background:#050505 !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:0 18px 45px rgba(0,0,0,.55);
    z-index:5001 !important;
  }
  .sf-top .sf-menu.open a{
    display:flex !important;
    align-items:center;
    min-height:48px;
    padding:13px 15px !important;
    margin:0 !important;
    border:0 !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
    color:#fff !important;
    background:transparent !important;
    font-size:11px !important;
    line-height:1.2 !important;
    white-space:normal !important;
  }
  .sf-top .sf-menu.open a:last-child{border-bottom:0 !important;}
  .sf-top .sf-menu.open a:hover,
  .sf-top .sf-menu.open a.active{
    color:#ff008c !important;
    background:rgba(255,0,140,.06) !important;
  }
  .sf-top .sf-menu.open a.active{box-shadow:inset 3px 0 0 #ff008c;}
}

/* ---------- Contrast: readable body copy everywhere ---------- */
.sf-site-page .content p,
.sf-site-page .v11-section p,
.sf-site-page .fr-section p,
.sf-site-page .cases p,
.sf-site-page .where-section p{
  color:#f0f0f0 !important;
}
.sf-site-page .v11-card p,
.sf-site-page .fr-card p,
.sf-site-page .case-card p,
.sf-site-page .blog-card p,
.sf-site-page .feature p,
.sf-site-page .franchise-step p{
  color:#ededed !important;
}
.sf-site-page .content.white p,
.sf-site-page .content.white .lead,
.sf-site-page .content.white .feature p,
.sf-site-page .fr-section.white p{
  color:#111 !important;
}

/* Services page: light reading surface + true black body copy as requested */
.sf-page-servizi .content:not(.white){
  background:#f7f3ef !important;
  color:#111 !important;
}
.sf-page-servizi .content:not(.white) h2,
.sf-page-servizi .content:not(.white) h3,
.sf-page-servizi .content:not(.white) .lead,
.sf-page-servizi .content:not(.white) p{
  color:#111 !important;
}
.sf-page-servizi .content:not(.white) .eyebrow,
.sf-page-servizi .content:not(.white) .feature b{
  color:#ff008c !important;
}
.sf-page-servizi .content:not(.white) .feature{
  background:#fff !important;
  border-color:#d9d4cf !important;
}
.sf-page-servizi .content.white p,
.sf-page-servizi .content.white .lead{
  color:#111 !important;
}

/* Contact form labels, fields and helper copy: high contrast without changing form logic */
.form-box label{color:#fff !important;}
.form-box input,.form-box textarea,.form-box select{
  color:#fff !important;
  background:#111 !important;
  border-color:#555 !important;
}
.form-box input::placeholder,.form-box textarea::placeholder{color:#aaa !important;opacity:1;}
.form-box > p{color:#ddd !important;}
.form-box > p a{color:#ff008c !important;}

/* Light sections retain black copy */
.white p,.sf-site-page .white p{color:#111 !important;}

/* ---------- Homepage product photography ---------- */
.sf-format img{
  object-fit:cover !important;
  object-position:center !important;
}

@media (max-width:620px){
  .sf-top .sf-brand img[src*="logo-sviluppofood"]{
    width:205px !important;
    max-height:48px !important;
  }
}


/* ================= V34 — CHI SIAMO + CONTATTI WOW ================= */
.sf-page-chi .page-hero{
  background-image:url('images/chi-sala-riunioni-sviluppofood.jpg') !important;
  background-size:cover !important;
  background-position:center center !important;
}
.sf-page-chi .page-hero:before{
  background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.48) 48%,rgba(0,0,0,.18) 100%) !important;
}

/* Contact hero: original fast-casual concept created for SviluppoFood */
.sf-page-contatti .page-hero{
  min-height:580px !important;
  background-image:url('images/contatti-fast-casual-wow.png') !important;
  background-size:cover !important;
  background-position:center center !important;
}
.sf-page-contatti .page-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.55) 42%,rgba(0,0,0,.14) 100%);
  z-index:0;
  pointer-events:none;
}
.sf-page-contatti .page-hero .container{z-index:2;}
.sf-page-contatti .content{
  background:linear-gradient(135deg,#f7f4ef 0%,#ffffff 55%,#f2eee9 100%) !important;
  color:#111 !important;
  position:relative;
}
.sf-page-contatti .content:before{
  content:"CONTATTI · FORMAT · FRANCHISING · RETAIL";
  display:block;
  color:#ff008c;
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
  margin:0 auto 28px;
  max-width:1200px;
  padding:0 25px;
}
.sf-page-contatti .content .eyebrow{color:#ff008c !important;}
.sf-page-contatti .content h2,.sf-page-contatti .content p{color:#111 !important;}
.sf-page-contatti .content .pink{color:#ff008c !important;}
.sf-page-contatti .content > .container{position:relative;z-index:1;}
.sf-page-contatti .content .two-col{align-items:stretch;}
.sf-page-contatti .content .two-col > div:first-child{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:25px 0;
}
.sf-page-contatti .content .two-col > div:first-child > p{max-width:600px;}
.sf-page-contatti .content .two-col > div:first-child > p:nth-of-type(2){
  margin-top:26px;
  font-size:18px !important;
  font-weight:800;
}
.sf-page-contatti .sf-contact-email{
  color:#111 !important;
  text-decoration:none;
  border-bottom:2px solid #ff008c;
  padding-bottom:4px;
}
.sf-page-contatti .sf-contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}
.sf-page-contatti .sf-contact-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 18px;
  text-decoration:none;
  text-transform:uppercase;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  border:1px solid #111;
  color:#111;
  background:#fff;
}
.sf-page-contatti .sf-contact-actions a.primary{
  background:#ff008c;
  border-color:#ff008c;
  color:#fff;
}
.sf-page-contatti .form-box{
  box-shadow:0 24px 70px rgba(0,0,0,.16);
  border-color:#222 !important;
}
.sf-page-contatti .where-section{
  background:#0b0b0b !important;
  color:#fff !important;
  border-top:0 !important;
  position:relative;
  overflow:hidden;
}
.sf-page-contatti .where-section:before{
  content:"";
  position:absolute;
  width:420px;height:420px;
  right:-160px;top:-180px;
  background:radial-gradient(circle,rgba(255,0,140,.24),rgba(255,0,140,0) 70%);
  pointer-events:none;
}
.sf-page-contatti .where-copy p{color:#ddd !important;}
.sf-page-contatti .where-copy h2{color:#fff !important;}
.sf-page-contatti .sf-address,.sf-page-contatti .sf-address strong{color:#fff !important;}
.sf-page-contatti .where-map{box-shadow:0 18px 50px rgba(0,0,0,.28);}

@media(max-width:900px){
  .sf-page-contatti .page-hero{min-height:500px !important;}
  .sf-page-contatti .content:before{padding:0 16px;}
}
@media(max-width:620px){
  .sf-page-contatti .page-hero{min-height:470px !important;background-position:60% center !important;}
  .sf-page-contatti .content:before{font-size:8px;letter-spacing:.12em;margin-bottom:20px;padding:0 16px;}
  .sf-page-contatti .sf-contact-actions{display:grid;grid-template-columns:1fr;}
  .sf-page-contatti .sf-contact-actions a{width:100%;}
}
