.site-header {
    display: none;
}

.site-footer {
    display: none;
}


.ygp {
  --c:#FF6B6B; --cd:#E85555; --cl:#FFF0F0;
  --dk:#1A1A2E; --ch:#2C3E50; --cr:#FDF8F3;
  --wm:#FAF5EE; --mu:#8A9BB0; --gn:#4CAF50; --wh:#FFFFFF;
  font-family:"DM Sans","Helvetica Neue",Arial,sans-serif;
  color:#2C3E50; -webkit-font-smoothing:antialiased; line-height:1.5;
}
.ygp *, .ygp *::before, .ygp *::after { box-sizing:border-box; }
.ygp img { display:block; max-width:100%; height:auto; }
.ygp a { text-decoration:none; color:inherit; }
.ygp ul { list-style:none; margin:0; padding:0; }

/* NAV */
.ygp-nav {
  position:fixed !important; top:0 !important; left:0 !important; right:0 !important;
  z-index:99999 !important; height:64px;
  transition:background .3s, box-shadow .3s; background:transparent;
}
.ygp-nav.on {
  background:rgba(253,248,243,.97) !important;
  backdrop-filter:blur(12px); box-shadow:0 1px 0 rgba(0,0,0,.08);
}
.ygp-nav-inner {
  max-width:1080px; margin:0 auto; height:100%;
  padding:0 40px;
  display:flex !important; align-items:center; justify-content:space-between;
}
.ygp-nav img { height:38px !important; width:auto !important; }
.ygp-nav-btn {
  display:inline-block !important; background:#FF6B6B !important;
  color:#fff !important; padding:10px 22px !important; border-radius:100px !important;
  font-family:"DM Sans",sans-serif !important; font-size:14px !important;
  font-weight:600 !important; line-height:1.4 !important; border:none !important;
  transition:background .2s, transform .15s; white-space:nowrap; cursor:pointer;
}
.ygp-nav-btn:hover { background:#E85555 !important; transform:translateY(-1px); }

.ygp-nav-logo { display:flex; align-items:center; flex-shrink:0; }
.ygp-nav-menu {
  display:flex; align-items:center; gap:24px;
  margin:0 !important; padding:0 !important; list-style:none;
}
.ygp-nav-menu a {
  font-size:14px; font-weight:600; color:#2C3E50 !important;
  white-space:nowrap; transition:color .2s;
}
.ygp-nav-menu a:hover { color:#FF6B6B !important; }

/* Su mobile nascondo il menu orizzontale: lo spazio è poco e arriverà
   comunque la barra fissa di download in basso, come su single-ricette.php */
@media (max-width:900px) {
  .ygp-nav-menu { display:none !important; }
}

/* HERO */
.ygp-hero {
  background: radial-gradient(120% 100% at 78% 35%, #3A1730 0%, #241128 35%, #170D1E 70%, #120A18 100%) !important;
  padding:110px 40px 90px !important; position:relative; overflow:hidden;
}
.ygp-hero::before,
.ygp-hero::after {
  content:''; position:absolute; border-radius:50%;
  filter:blur(90px); z-index:1; pointer-events:none;
}
.ygp-hero::before { width:560px; height:560px; background:rgba(255,107,107,.22); top:-180px; right:-160px; }
.ygp-hero::after  { width:460px; height:460px; background:rgba(255,142,83,.16); bottom:-180px; left:-140px; }

/* "riflettore" morbido dietro l'immagine hero, per farla risaltare */
.ygp-hero-img { position:relative; }
.ygp-hero-img::before {
  content:''; position:absolute; top:50%; left:50%;
  width:120%; height:120%; transform:translate(-50%,-50%);
  background: radial-gradient(circle, rgba(255,255,255,.85) 0%, rgba(255,247,240,.4) 45%, transparent 72%);
  z-index:0; pointer-events:none; filter:blur(4px);
}
.ygp-hero-img img { position:relative; z-index:1; }
.ygp-inner { max-width:1080px; margin:0 auto; }
.ygp-hero-row {
  display:flex !important; flex-wrap:wrap !important;
  gap:48px; align-items:center; position:relative; z-index:2;
}
.ygp-hero-text { flex:1 1 380px !important; min-width:280px; }
.ygp-hero-img { flex:1 1 340px !important; min-width:260px; display:flex !important; justify-content:center; align-items:center; }
.ygp-hero-img img { width:100% !important; max-width:460px !important; height:auto !important; display:block !important; }

.ygp-pill {
  display:inline-flex !important; align-items:center; gap:8px;
  background:rgba(255,107,107,.16); color:#FFA5A5; padding:7px 16px; border-radius:100px;
  font-size:13px; font-weight:700; margin-bottom:20px !important; line-height:1.4;
  border:1px solid rgba(255,107,107,.3);
}
.ygp-h1 {
  font-family:"Playfair Display",Georgia,serif !important;
  font-size:clamp(34px,4vw,58px) !important; font-weight:900 !important;
  line-height:1.08 !important; color:#FFFFFF !important; margin:0 0 16px !important; padding:0 !important;
}
.ygp-h1 em { font-style:italic; color:#FF6B6B; }
.ygp-sub {
  font-size:clamp(15px,1.5vw,18px); font-style:italic;
  color:#FFFFFF; opacity:.55; line-height:1.6; margin:0 0 26px !important;
}
.ygp-list { margin:0 0 28px !important; padding:0 !important; }
.ygp-list li {
  display:flex !important; align-items:center; gap:12px;
  font-size:15px; font-weight:500; margin-bottom:12px !important; color:#F3EDF0;
}
.ygp-ico {
  width:36px; height:36px; flex-shrink:0; background:rgba(255,255,255,.08);
  border-radius:10px; display:flex !important; align-items:center; justify-content:center;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14), 0 2px 8px rgba(0,0,0,.25);
}
.ygp-ico svg { width:18px; height:18px; }

/* STORE BUTTONS */
.ygp-store-row { display:flex !important; flex-wrap:wrap; gap:10px; margin-bottom:16px !important; }
.ygp-store {
  display:flex !important; align-items:center; gap:10px;
  background:#1A1A2E !important; color:#fff !important;
  padding:12px 18px !important; border-radius:13px !important;
  box-shadow:0 4px 14px rgba(26,26,46,.18); transition:transform .15s, box-shadow .15s;
  font-family:"DM Sans",sans-serif !important; border:none !important;
  text-decoration:none !important;
}
.ygp-store:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(26,26,46,.24); }
.ygp-store.r { background:#FF6B6B !important; box-shadow:0 4px 14px rgba(255,107,107,.28); }
.ygp-store.r:hover { box-shadow:0 8px 22px rgba(255,107,107,.4); }
.ygp-store svg { width:22px; height:22px; flex-shrink:0; }
.ygp-store-t { display:flex !important; flex-direction:column; line-height:1.2; }
.ygp-store-t small { font-size:10px; opacity:.65; color:#fff !important; display:block; }
.ygp-store-t strong { font-size:13px; font-weight:700; color:#fff !important; display:block; }
.ygp-store.w { background:#fff !important; }
.ygp-store.w .ygp-store-t small { color:#E85555 !important; }
.ygp-store.w .ygp-store-t strong { color:#FF6B6B !important; }


.ygp-store-badge {
  display:inline-flex; line-height:0; border-radius:13px; overflow:hidden;
  box-shadow:0 4px 14px rgba(26,26,46,.18);
  transition:transform .15s, box-shadow .15s;
}
.ygp-store-badge:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(26,26,46,.24); }
.ygp-store-badge img { height:48px; width:auto; display:block; }

@media (max-width:700px) {
  .ygp-store-badge { width:100%; justify-content:center; }
}

.ygp-promise-badge {
  display:inline-flex; align-items:center; gap:6px;
  background:#4CAF50; color:#FFFFFF;
  font-size:14px; font-weight:800;
  padding:10px 20px; border-radius:100px;
  margin-top:2px;
  border:none;
  box-shadow:0 4px 14px rgba(76,175,80,.35);
}
.ygp-promise-check { color:#6FCF73; }
.ygp-promise-badge strong { font-weight:800; }

@media (max-width:700px) {
  .ygp-promise-badge { margin:4px auto 0; }
}

/* STATS */
.ygp-stats { background:#1A1A2E !important; padding:56px 40px !important; }
.ygp-stats-grid { display:flex !important; flex-wrap:wrap; justify-content:space-around; gap:28px 20px; max-width:1080px; margin:0 auto; }
.ygp-stat { text-align:center; flex:1 1 140px; max-width:180px; }
.ygp-stat-ico {
  display:flex !important; align-items:center; justify-content:center;
  width:44px; height:44px; margin:0 auto 12px !important;
  background:rgba(255,107,107,.12); border-radius:12px;
}
.ygp-stat-ico svg { width:22px; height:22px; }
.ygp-stat-n { font-size:clamp(26px,3.2vw,38px) !important; font-weight:700 !important; color:#FF6B6B !important; line-height:1; margin:0 0 6px !important; letter-spacing:-1px; font-family:"DM Sans",sans-serif !important; display:block; }
.ygp-stat-l { font-size:12px; color:rgba(255,255,255,.5) !important; letter-spacing:.4px; display:block; line-height:1.4; }

@media (max-width:700px) {
  .ygp-stats-grid { display:grid !important; grid-template-columns:repeat(2,1fr); gap:32px 16px; }
  .ygp-stat { max-width:none; }
  .ygp-stat-ai { grid-column:1 / -1; }
}
/* FREE STRIP */
.ygp-strip { background:linear-gradient(120deg,#FF6B6B 0%,#FF8E53 100%) !important; padding:28px 40px !important; text-align:center; position:relative; overflow:hidden; }
.ygp-strip-pill {
  display:inline-flex !important; align-items:center; justify-content:center;
  gap:12px; flex-wrap:wrap;
  background:rgba(255,255,255,.18); border:1.5px solid rgba(255,255,255,.35);
  padding:14px 28px; border-radius:100px; position:relative; z-index:1;
}
.ygp-strip-pill p { font-size:16px !important; font-weight:600 !important; color:#fff !important; margin:0 !important; line-height:1.4; }
.ygp-strip-pill strong { font-size:18px !important; font-weight:800 !important; color:#fff !important; }
.ygp-strip-tail { display:inline; }

@media (max-width:700px) {
  .ygp-strip-tail { display:block; margin-top:4px; }
}
/* FEATURES */
.ygp-features { background:#FDF8F3 !important; padding:90px 40px !important; }
.ygp-fh { text-align:center; margin-bottom:50px; }
.ygp-lbl { display:inline-block; font-size:11px; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:#FF6B6B; margin-bottom:10px; }
.ygp-fh h2 { font-family:"Playfair Display",Georgia,serif !important; font-size:clamp(26px,3.5vw,42px) !important; font-weight:900 !important; color:#1A1A2E !important; line-height:1.15; margin:0 0 12px !important; }
.ygp-fh h2 em { font-style:italic; color:#FF6B6B; }
.ygp-fh p { font-size:16px; font-weight:500; color:#5C6B7A !important; max-width:380px; margin:0 auto !important; line-height:1.6; }
.ygp-fgrid { display:flex !important; flex-wrap:wrap; gap:20px; max-width:1080px; margin:0 auto; }
.ygp-fc {
  flex:1 1 240px !important; background:#fff !important; border-radius:20px;
  padding:32px 24px; text-align:center;
  box-shadow:0 2px 12px rgba(0,0,0,.05); transition:transform .2s, box-shadow .2s;
  position:relative; overflow:hidden;
}
.ygp-fc:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(0,0,0,.09); }
.ygp-fc::after { content:""; position:absolute; bottom:0; left:0; right:0; height:3px; background:#FF6B6B; transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.ygp-fc:hover::after { transform:scaleX(1); }
.ygp-fc svg { width:36px; height:36px; margin:0 auto 16px; display:block !important; }
.ygp-fc h3 { font-family:"Playfair Display",Georgia,serif !important; font-size:21px !important; font-weight:700 !important; color:#1A1A2E !important; margin:0 0 10px !important; }
.ygp-fc p { font-size:15px; font-weight:500; color:#4A5A6A !important; line-height:1.65; margin:0 !important; }

@media (max-width:700px) {
  .ygp-fc h3 { font-size:20px !important; }
  .ygp-fc p { font-size:15.5px; font-weight:600; color:#3C4A58 !important; }
}

/* CTA */
.ygp-cta { background:#FF6B6B !important; padding:76px 40px !important; text-align:center; }
.ygp-cta h2 { font-family:"Playfair Display",Georgia,serif !important; font-size:clamp(26px,3.5vw,42px) !important; font-weight:900 !important; color:#fff !important; margin:0 0 10px !important; }
.ygp-cta-sub { font-size:16px; color:rgba(255,255,255,.75) !important; margin:0 0 30px !important; }
.ygp-cta .ygp-store-row { justify-content:center; margin-bottom:16px !important; }
.ygp-cta-note { font-size:13px; color:rgba(255,255,255,.7) !important; font-weight:500; margin:0 !important; }

/* COLLAB */
.ygp-collab { background:#FAF5EE !important; padding:86px 40px !important; }
.ygp-collab-inner { max-width:1080px; margin:0 auto; }
.ygp-collab-row { display:flex !important; flex-wrap:wrap; gap:48px; align-items:flex-start; }
.ygp-collab-text { flex:1 1 280px !important; }
.ygp-collab-text h2 { font-family:"Playfair Display",Georgia,serif !important; font-size:clamp(22px,2.8vw,32px) !important; font-weight:900 !important; color:#1A1A2E !important; line-height:1.2; margin:0 0 12px !important; }
.ygp-collab-text h2 em { font-style:italic; color:#FF6B6B; }
.ygp-collab-text p { font-size:15px; color:#8A9BB0; line-height:1.7; margin:0 !important; }
.ygp-form-box { flex:1.4 1 320px !important; background:#fff !important; border-radius:18px; padding:30px; box-shadow:0 4px 22px rgba(0,0,0,.06); }
.ygp-form-box > p { font-size:13px; color:#8A9BB0; line-height:1.6; margin:0 !important; }
.ygp-form-box code { display:inline-block; margin-top:8px; background:#FDF8F3; padding:5px 10px; border-radius:6px; font-size:12px; }
.ygp-form-box .wpcf7-form p { margin:0 !important; }
.ygp-form-box .wpcf7-form input[type=text],
.ygp-form-box .wpcf7-form input[type=email],
.ygp-form-box .wpcf7-form textarea {
  width:100% !important; border:1.5px solid #E8E2DB !important; border-radius:10px !important;
  padding:11px 13px !important; font-size:14px !important; font-family:inherit !important;
  color:#2C3E50 !important; background:#FDF8F3 !important;
  margin-bottom:11px !important; outline:none !important; display:block !important;
  transition:border-color .2s;
}
.ygp-form-box .wpcf7-form input:focus,
.ygp-form-box .wpcf7-form textarea:focus { border-color:#FF6B6B !important; }
.ygp-form-box .wpcf7-form textarea { min-height:90px; resize:vertical; }
.ygp-form-box .wpcf7-form input[type=submit] {
  width:100% !important; background:#FF6B6B !important; color:#fff !important;
  font-weight:700 !important; font-size:15px !important; border:none !important;
  border-radius:10px !important; padding:13px !important; cursor:pointer;
  transition:background .2s, transform .15s; font-family:inherit !important;
}
.ygp-form-box .wpcf7-form input[type=submit]:hover { background:#E85555 !important; transform:translateY(-1px); }

/* FOOTER */
.ygp-footer { background:#1A1A2E !important; padding:44px 40px !important; text-align:center; }
.ygp-footer img { height:36px !important; width:auto !important; margin:0 auto 12px !important; opacity:.92; }
.ygp-footer-tag { font-style:italic; font-size:14px; color:rgba(255,255,255,.6) !important; margin:0 0 18px !important; display:block; }
.ygp-footer-links { display:flex !important; justify-content:center; flex-wrap:wrap; gap:4px; margin:0 0 20px !important; }
.ygp-footer-links a { font-size:13px; font-weight:600; color:rgba(255,255,255,.75) !important; padding:0 8px; transition:color .2s; }
.ygp-footer-links a:hover { color:#FF6B6B !important; }
.ygp-footer-links span { color:rgba(255,255,255,.25) !important; font-size:13px; }

.ygp-footer-legal {
  display:flex !important; justify-content:center; align-items:center;
  flex-wrap:wrap; row-gap:6px;
  font-size:12.5px; color:rgba(255,255,255,.55) !important;
  margin:0 0 22px !important; padding-top:20px;
  border-top:1px solid rgba(255,255,255,.08);
}
.ygp-footer-legal a { color:rgba(255,255,255,.7) !important; font-weight:600; transition:color .2s; }
.ygp-footer-legal a:hover { color:#FF6B6B !important; }
.ygp-footer-dot { color:rgba(255,255,255,.25) !important; margin:0 9px; }

.ygp-footer-copy { font-size:12.5px; color:rgba(255,255,255,.4) !important; margin:0 !important; display:block; white-space:nowrap; }
.ygp-footer-heart { color:#FF6B6B; }

@media (max-width:600px) {
  .ygp-footer-copy { white-space:normal; }
  .ygp-footer-legal { font-size:11.5px; }
  .ygp-footer-dot { margin:0 6px; }
}
/* RESPONSIVE */
@media (max-width:700px) {
  .ygp-nav { padding:0 20px; }
  .ygp-hero { padding:96px 20px 60px !important; }
  .ygp-hero-text { order:1; text-align:center; }
  .ygp-hero-img { order:2; }
  .ygp-list li { justify-content:center; }
  .ygp-store-row { flex-direction:column; align-items:stretch; }
  .ygp-store { width:100% !important; justify-content:center; }
  .ygp-cta .ygp-store-row { align-items:center; }
  .ygp-cta .ygp-store { width:auto !important; }
  .ygp-strip { padding:20px !important; }
  .ygp-strip-pill { border-radius:16px; padding:12px 18px; flex-direction:column; gap:6px; }
  .ygp-stats { padding:40px 20px !important; }
  .ygp-features { padding:64px 20px !important; }
  .ygp-fc { flex:1 1 100% !important; }
  .ygp-cta { padding:60px 20px !important; }
  .ygp-collab { padding:64px 20px !important; }
}



/* ULTIME RICETTE — CAROSELLO */
.ygp-latest { background:#FDF8F3 !important; padding:80px 0 90px !important; overflow:hidden; }
.ygp-latest .ygp-fh { padding:0 40px; }

.ygp-carousel {
  position:relative; width:100%; overflow:hidden;
  margin-top:44px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%);
}
.ygp-carousel-track {
  display:flex; gap:20px; width:max-content;
  animation: ygScroll 42s linear infinite;
}
.ygp-carousel:hover .ygp-carousel-track { animation-play-state:paused; }

@keyframes ygScroll {
  from { transform:translateX(0); }
  to   { transform:translateX(-50%); }
}

.ygp-rcard {
  flex:0 0 220px; width:220px; background:#fff; border-radius:16px;
  overflow:hidden; box-shadow:0 3px 14px rgba(0,0,0,.06);
  text-decoration:none !important; display:block;
  transition:transform .2s, box-shadow .2s;
}
.ygp-rcard:hover { transform:translateY(-4px); box-shadow:0 10px 26px rgba(0,0,0,.10); }
.ygp-rcard-img { width:100%; height:150px; background:#f0ece5; overflow:hidden; position:relative; }
.ygp-rcard-img img { width:100%; height:100%; object-fit:cover; display:block !important; }
.ygp-rcard-cat {
  position:absolute; top:10px; left:10px;
  background:#FF6B6B; color:#fff !important; font-size:11px; font-weight:700;
  padding:4px 10px; border-radius:100px; line-height:1;
}
.ygp-rcard-body { padding:14px 16px 16px; }
.ygp-rcard-title {
  font-family:"DM Sans",sans-serif !important; font-size:14.5px !important;
  font-weight:700 !important; color:#1A1A2E !important; line-height:1.35;
  margin:0 !important; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

.ygp-carousel-skeleton {
  flex:0 0 220px; width:220px; height:206px; border-radius:16px;
  background:linear-gradient(90deg,#f0ece5 25%,#f7f3ec 37%,#f0ece5 63%);
  background-size:400% 100%; animation:ygShimmer 1.4s ease infinite;
}
@keyframes ygShimmer { 0%{background-position:100% 0} 100%{background-position:0 0} }

@media (max-width:700px) {
  .ygp-latest { padding:64px 0 70px !important; }
  .ygp-latest .ygp-fh { padding:0 20px; }
  .ygp-rcard, .ygp-carousel-skeleton { flex-basis:170px; width:170px; }
  .ygp-rcard-img { height:120px; }
}
/* BARRA FISSA DOWNLOAD — nascosta di default, compare dal basso dopo 2s (via JS) */
.ygp-fixedbar {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 99998;
  height: 84px;
  background: linear-gradient(120deg, #FF6B6B 0%, #FF8E53 100%);
  box-shadow: 0 -8px 24px rgba(0,0,0,.18);
  transition: transform .45s ease, opacity .45s ease;
  overflow: visible;
  transform: translateY(120%);
  opacity: 0;
  pointer-events: none;
}
.ygp-fixedbar.yg-active {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.ygp-fixedbar.yg-active.is-hidden {
  transform: translateY(120%);
  opacity: 0;
  pointer-events: none;
}

.ygp-fixedbar-inner {
  max-width: 1200px; height: 100%; margin: 0 auto;
  padding: 0 28px;
  display: flex; align-items: center; gap: 16px;
  position: relative;
}

/* Lo chef è posizionato in modo assoluto per non far crescere la barra.
   !important necessario: la regola base ".ygp img { height:auto }" ha
   specificità più alta (classe+tag) e altrimenti sovrascrive l'altezza qui. */
.ygp-fixedbar-chef {
  position: absolute !important;
  right: 350px !important;
  bottom: 0;
  height: 128px !important;
  width: auto !important;
  max-width: none !important;
  flex-shrink: 0;
  filter: drop-shadow(0 6px 10px rgba(0,0,0,.22));
  user-select: none; pointer-events: none;
}

.ygp-fixedbar-content {
  flex: 1 1 auto; min-width: 0;
  display: flex; align-items: center; gap: 12px;
}
.ygp-fixedbar-free {
  display: inline-flex; align-items: center; width: fit-content; flex-shrink: 0;
  background: #4CAF50;
  color: #fff !important;
  font-size: 12px; font-weight: 800; letter-spacing: .4px;
  padding: 6px 13px; border-radius: 100px;
  white-space: nowrap;
  box-shadow: 0 2px 6px rgba(0,0,0,.15);
}
.ygp-fixedbar-text {
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(15px, 1.6vw, 19px);
  letter-spacing: -.1px;
  line-height: 1.25;
}
.ygp-fixedbar-text-main {
  font-weight: 900;
  color: #1A1A2E !important;
}
.ygp-fixedbar-text-accent {
  font-style: italic;
  font-weight: 800;
  color: #FFFFFF !important;
}

.ygp-fixedbar-btns { display: flex; gap: 12px; flex-shrink: 0; margin-left: auto; }
.ygp-fixedbar-badge {
  display: inline-flex; line-height: 0; border-radius: 10px; overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,.2);
  transition: transform .15s ease;
}
.ygp-fixedbar-badge:hover { transform: translateY(-2px); }
.ygp-fixedbar-badge img { height: 48px; width: auto; display: block; }

/* Spazio extra in fondo pagina per non far coprire l'ultima sezione dalla barra */
.ygp-collab { padding-bottom: 110px !important; }

@media (max-width: 700px) {
  /* Card ancorata al bordo inferiore, niente più margini che la fanno "volare" */
  .ygp-fixedbar {
    height: auto;
    left: 0; right: 0; bottom: 0;
    border-radius: 20px 20px 0 0;
    box-shadow: 0 -8px 26px rgba(0,0,0,.25);
    transform: translateY(100%);
  }
  .ygp-fixedbar.yg-active { transform: translateY(0); }
  .ygp-fixedbar.yg-active.is-hidden { transform: translateY(100%); }

  .ygp-fixedbar-inner {
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    min-height: 136px;
    padding: 18px 18px 20px 104px; /* spazio a sx per la testa dello chef */
    gap: 10px;
  }

  /* La testa "buca" il bordo superiore: SOLO altezza fissa + bottom,
     mai top e bottom insieme (altrimenti l'immagine si stira). */
  .ygp-fixedbar-chef {
    position: absolute !important;
    right: auto !important; left: 4px;
    bottom: 0; top: auto !important;
    height: 123px !important;
    width: auto !important;
    max-width: none !important;
  }

  .ygp-fixedbar-content {
    flex-direction: column; align-items: flex-start; gap: 6px;
  }
  .ygp-fixedbar-free { font-size: 12px; padding: 6px 13px; }
  .ygp-fixedbar-text { font-size: 18px; line-height: 1.3; }
  .ygp-fixedbar-btns {
    margin-left: 0; gap: 6px; width: 100%;
    justify-content: center;
    margin-top: 6px;
  }
  .ygp-fixedbar-badge img { height: 38px; }

  .ygp-collab { padding-bottom: 166px !important; }
}
.ygp-collab-lead { font-size:15.5px !important; color:#4A5A6A !important; font-weight:500; }

.ygp-collab-benefits {
  margin: 22px 0 26px !important;
  padding: 0 !important;
  display: flex; flex-direction: column; gap: 12px;
}
.ygp-collab-benefits li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 14.5px; font-weight: 600; color: #1A1A2E;
  line-height: 1.4;
}
.ygp-collab-check {
  flex-shrink: 0; width: 22px; height: 22px;
  background: #FF6B6B; color: #fff;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 800; margin-top: 1px;
}

.ygp-collab-cta-line {
  font-size: 14px !important; font-weight: 700 !important;
  color: #E85555 !important; margin: 0 !important;
}

/* Fix robustezza box form: centrato, non "storto" su schermi larghi */
.ygp-form-box {
  width: 100%;
  max-width: 480px;
  margin: 0 !important;
}

@media (max-width: 900px) {
  .ygp-form-box { max-width: 100%; margin: 0 auto !important; }
}



/* GRIGLIA CATEGORIA RICETTE — card compatte, più visibili per schermata */
.ygc-wrap {
  max-width: 1200px; margin: 0 auto;
  padding: 130px 24px 80px;
  font-family: "DM Sans", "Helvetica Neue", Arial, sans-serif;
}

.ygc-head { text-align: center; margin-bottom: 32px; }
.ygc-title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(26px, 3.5vw, 40px);
  font-weight: 900;
  color: #1A1A2E;
  margin: 0 0 8px;
}
.ygc-desc { font-size: 14px; color: #8A9BB0; max-width: 480px; margin: 0 auto; }

.ygc-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.ygc-card {
  display: block; text-decoration: none !important;
  background: #fff; border-radius: 14px; overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
  transition: transform .2s, box-shadow .2s;
}
.ygc-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,0,0,.09); }

.ygc-card-img { width: 100%; aspect-ratio: 4/3; background: #F0ECE5; overflow: hidden; }
.ygc-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ygc-card-noimg { width: 100%; height: 100%; background: #F0ECE5; }

.ygc-card-body { padding: 10px 12px 12px; }
.ygc-card-title {
  font-size: 13.5px; font-weight: 700; color: #1A1A2E;
  line-height: 1.32; margin: 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}

.ygc-pagination { display: flex; justify-content: center; margin-top: 36px; }
.ygc-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; margin: 0 3px;
  border-radius: 8px; font-size: 13px; font-weight: 600;
  color: #1A1A2E; background: #fff; text-decoration: none !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.ygc-pagination .page-numbers.current { background: #FF6B6B; color: #fff; }

.ygc-empty { text-align: center; color: #8A9BB0; padding: 60px 0; }

@media (max-width: 900px) {
  .ygc-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; }
}

@media (max-width: 600px) {
  .ygc-wrap { padding: 96px 14px 60px; }
  .ygc-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .ygc-card-body { padding: 8px 9px 10px; }
  .ygc-card-title { font-size: 12.5px; }
}


/* Hamburger menu mobile per la nav globale (categorie) */
.ygp-nav-burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 34px; height: 34px;
  background: none; border: none; cursor: pointer;
  padding: 0;
}
.ygp-nav-burger span {
  display: block; height: 2px; width: 100%;
  background: #1A1A2E; border-radius: 2px;
  transition: transform .25s ease, opacity .25s ease;
}
.ygp-nav-burger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ygp-nav-burger.is-open span:nth-child(2) { opacity: 0; }
.ygp-nav-burger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 900px) {
  .ygp-nav-burger { display: flex; }
  .ygp-nav-menu {
    display: none !important;
    position: absolute; top: 64px; left: 0; right: 0;
    flex-direction: column !important;
    background: rgba(253,248,243,.98);
    backdrop-filter: blur(12px);
    padding: 8px 24px 20px;
    box-shadow: 0 8px 20px rgba(0,0,0,.08);
    gap: 4px !important;
  }
  .ygp-nav-menu.is-open { display: flex !important; }
  .ygp-nav-menu li { width: 100%; }
  .ygp-nav-menu a { display: block; padding: 12px 4px; border-bottom: 1px solid rgba(0,0,0,.05); }
}


.ygc-desc h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 20px;
  font-weight: 900;
  color: #1A1A2E;
  margin: 0 0 8px;
}
.ygc-desc p {
  font-size: 14px;
  color: #8A9BB0;
  line-height: 1.6;
  margin: 0;
}

html, body {
  margin: 0 !important;
  padding: 0 !important;
}
#page, .site-content, .site {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

















* { box-sizing: border-box; }

.yg-page { max-width:480px; margin:0 auto; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; padding-bottom:40px; }

/* BREADCRUMB */
.yg-breadcrumb { font-size:12px; color:#999; padding:10px 16px; }
.yg-breadcrumb a { color:#999; text-decoration:none; }
.yg-breadcrumb a:hover { text-decoration:underline; }
.yg-breadcrumb span { color:#333; font-weight:600; }

/* HERO */
.yg-hero-wrap { position:relative; overflow:hidden; height:260px; margin-top:-1px; }
.yg-hero { width:100%; height:260px; object-fit:cover; display:block; }
.yg-hero-title { font-size:22px; font-weight:800; color:#000; margin:16px 16px 8px; }

.yg-hero-chips { display:flex; gap:6px; flex-wrap:wrap; padding:0 16px 10px; }
.yg-hero-chip { background:#f0f0f0; border-radius:20px; padding:4px 10px; font-size:12px; color:#333; font-weight:600; text-decoration:none; }
.yg-hero-chip.cat { background:#FF6B6B; color:#fff; }

/* SEZIONI */
.yg-section { padding:14px 16px; }
.yg-section h2 { font-size:16px; font-weight:700; color:#000; margin:0 0 10px; }
.yg-section p { font-size:14px; color:#555; line-height:1.6; margin:0; }

/* LISTE INGREDIENTI */
.yg-ingredients-list { list-style:none; margin:0; padding:12px; background:#f9f9f9; border-radius:12px; }
.yg-ingredients-list li { font-size:14px; color:#000; padding:7px 0; border-bottom:1px solid #eee; padding-left:16px; position:relative; }
.yg-ingredients-list li:last-child { border-bottom:none; }
.yg-ingredients-list li::before { content:''; position:absolute; left:0; top:14px; width:6px; height:6px; border-radius:50%; background:#FF6B6B; }

/* LISTA PROCEDIMENTO */
.yg-steps-list { margin:0; padding-left:0; list-style:none; counter-reset:step-counter; }
.yg-steps-list li { counter-increment:step-counter; display:flex; gap:10px; margin-bottom:10px; align-items:flex-start; font-size:14px; color:#333; line-height:1.5; }
.yg-steps-list li::before {
  content: counter(step-counter);
  width:26px; height:26px; border-radius:50%; background:#FF6B6B; color:#fff;
  font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0;
}

/* GRID (mobile: tutto impilato, ordine naturale nel DOM) */
.yg-grid { display:block; }
.yg-col-main { min-width:0; }
.yg-col-side { margin-top:0; }

/* Su mobile mostro ingredienti solo nella versione "mobile" (dentro col-main), nascondo quella sidebar */
.yg-desktop-only-ingredienti { display:none; }
.yg-mobile-only-ingredienti { display:block; }

/* ===== APP BANNER (sidebar) — community + feature list, NIENTE bottoni qui ===== */
.yg-app-banner {
  margin: 0 16px 16px;
  background: linear-gradient(160deg, #FF6B6B 0%, #FF8A5C 100%);
  border-radius: 20px;
  padding: 24px 22px;
  color: #fff;
  text-align: center;
  box-shadow: 0 12px 28px rgba(255,107,107,0.30);
}
.yg-app-banner-payoff {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.6px;
  opacity: 1;
  margin-bottom: 12px;
  text-transform: uppercase;
  line-height: 1.35;
}
.yg-app-banner-title {
  font-size: 20px;
  font-weight: 800;
  line-height: 1.25;
  margin-bottom: 6px;
}
.yg-app-banner-sub {
  font-size: 13.5px;
  opacity: 0.92;
  line-height: 1.5;
  margin: 0 auto;
  max-width: 260px;
}

/* FEATURE LIST dentro il banner */
.yg-app-banner-features {
  list-style: none;
  margin: 20px 0 2px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 13px;
  text-align: left;
}
.yg-app-banner-features li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14.5px;
  font-weight: 600;
  color: #fff;
  line-height: 1.3;
}
.yg-feature-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(255,255,255,0.95);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FF6B6B;
}
.yg-feature-icon svg {
  width: 24px;
  height: 24px;
}

/* ===== DESKTOP ===== */
@media (min-width: 768px) {
  .yg-page { max-width:1100px; }

  .yg-hero-wrap { height:420px; border-radius:0 0 20px 20px; }
  .yg-hero { height:420px; }
  .yg-hero-title { font-size:32px; }

  .yg-grid {
    display:grid;
    grid-template-columns: 1fr 360px;
    gap:32px;
    align-items:start;
    padding:0 16px;
  }

  .yg-col-side {
    position:sticky;
    top:24px;
  }

  /* Su desktop: nascondo ingredienti dentro col-main, mostro quelli in sidebar */
  .yg-mobile-only-ingredienti { display:none; }
  .yg-desktop-only-ingredienti { display:block; }

  .yg-col-side .yg-section {
    background:#fff;
    border:1px solid #f0f0f0;
    border-radius:16px;
    box-shadow:0 4px 20px rgba(0,0,0,0.06);
    padding:20px;
    margin-bottom:16px;
  }

  .yg-app-banner { margin:0; }
}



/* CORRELATI */
.yg-correlati-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.yg-correlati-card {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  border-radius: 12px;
  overflow: hidden;
  background: #f9f9f9;
  border: 1px solid #f0f0f0;
}
.yg-correlati-img {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: #eee;
}
.yg-correlati-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.yg-correlati-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  background: linear-gradient(135deg, #f0f0f0 0%, #e5e5e5 100%);
}
.yg-correlati-title {
  padding: 8px 10px;
  font-size: 13px;
  font-weight: 600;
  color: #000;
  line-height: 1.3;
}

@media (min-width: 768px) {
  .yg-correlati-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* CAROSELLO */
.yg-carousel {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.yg-carousel::-webkit-scrollbar { display: none; }
.yg-carousel-slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
}
.yg-carousel-slide .yg-hero,
.yg-carousel-slide video.yg-hero {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
  background: #000;
}
@media (min-width: 768px) {
  .yg-carousel-slide .yg-hero,
  .yg-carousel-slide video.yg-hero {
    height: 420px;
  }
}
.yg-carousel-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  padding: 10px 0;
  background: #fff;
}
.yg-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ddd;
  transition: background 0.2s;
}
.yg-dot.active {
  background: #FF6B6B;
}




/* FRECCE CAROSELLO */
.yg-hero-wrap { position: relative; } /* già presente sopra, verifica non sia duplicato */

.yg-carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: rgba(0,0,0,0.4);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 5;
  user-select: none;
}
.yg-carousel-arrow:hover { background: rgba(0,0,0,0.6); }
.yg-arrow-prev { left: 12px; }
.yg-arrow-next { right: 12px; }

/* CONTATORE */
.yg-carousel-counter {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(0,0,0,0.55);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 20px;
  z-index: 5;
}

/* Drag-to-scroll mouse (desktop) */
.yg-carousel {
  cursor: grab;
}
.yg-carousel.yg-dragging {
  cursor: grabbing;
  scroll-snap-type: none; /* durante il drag disattivo lo snap per un movimento fluido */
}


/* HEADER MINIMALE */
.yg-mini-header {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 12px 16px;
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
}
.yg-mini-logo-link {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.yg-mini-logo {
  height: 34px;
  width: auto;
  display: block;
}
.yg-mini-categories {
  display: flex;
  align-items: center;
  gap: 14px;
  overflow-x: auto;
  scrollbar-width: none;
}
.yg-mini-categories::-webkit-scrollbar { display: none; }
.yg-mini-categories a {
  font-size: 13px;
  font-weight: 600;
  color: #555;
  text-decoration: none;
  white-space: nowrap;
}
.yg-mini-categories a:hover { color: #FF6B6B; }

/* BADGE STORE — solo nella barra fissa in basso, ridotti */
.yg-badge-icon-sm {
  height: 44px;
  width: auto;
  display: block;
}

/* Spazio extra in fondo pagina per non far coprire i contenuti dalla barra fissa.
   La barra ora ha: padding 12+12, pill testo ~28px, gap 10px, riga bottoni ~26px
   => altezza reale ~110px su mobile. Teniamo margine di sicurezza. */
.yg-page {
  padding-bottom: 165px;
}

/* BARRA FISSA DOWNLOAD APP */
.yg-fixed-appbar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background: #fff;
  border-top: 1px solid #eee;
  box-shadow: 0 -4px 16px rgba(0,0,0,0.08);
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}
.yg-fixed-appbar-text {
  display: inline-block;
  font-size: 14px;
  font-weight: 800;
  color: #1a1a1a;
  letter-spacing: -0.1px;
  background: #FFF0EE;
  padding: 7px 16px;
  border-radius: 20px;
}
.yg-fixed-appbar-text strong {
  color: #FF6B6B;
}
.yg-fixed-appbar-btns {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
}
.yg-fixed-btn {
  display: inline-flex;
  line-height: 0;
}

@media (min-width: 768px) {
  .yg-fixed-appbar {
    flex-direction: row;
    justify-content: center;
    gap: 20px;
    padding: 12px 24px;
  }
  .yg-page {
    /* su desktop la barra è su una riga sola, meno alta */
    padding-bottom: 90px;
  }
}

/* GRIGLIA CATEGORIA RICETTE — card compatte, più visibili per schermata */
.ygc-wrap {
  max-width: 1200px; margin: 0 auto;
  padding: 130px 24px 80px;
  font-family: "DM Sans", "Helvetica Neue", Arial, sans-serif;
}

.ygc-head { text-align: center; margin-bottom: 32px; }
.ygc-title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(26px, 3.5vw, 40px);
  font-weight: 900;
  color: #1A1A2E;
  margin: 0 0 8px;
}
.ygc-desc { font-size: 14px; color: #8A9BB0; max-width: 480px; margin: 0 auto; }

.ygc-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.ygc-card {
  display: block; text-decoration: none !important;
  background: #fff; border-radius: 14px; overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
  transition: transform .2s, box-shadow .2s;
}
.ygc-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,0,0,.09); }

.ygc-card-img { width: 100%; aspect-ratio: 4/3; background: #F0ECE5; overflow: hidden; }
.ygc-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ygc-card-noimg { width: 100%; height: 100%; background: #F0ECE5; }

.ygc-card-body { padding: 10px 12px 12px; }
.ygc-card-title {
  font-size: 13.5px; font-weight: 700; color: #1A1A2E;
  line-height: 1.32; margin: 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}

.ygc-pagination { display: flex; justify-content: center; margin-top: 36px; }
.ygc-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; margin: 0 3px;
  border-radius: 8px; font-size: 13px; font-weight: 600;
  color: #1A1A2E; background: #fff; text-decoration: none !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.ygc-pagination .page-numbers.current { background: #FF6B6B; color: #fff; }

.ygc-empty { text-align: center; color: #8A9BB0; padding: 60px 0; }

@media (max-width: 900px) {
  .ygc-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; }
}

@media (max-width: 600px) {
  .ygc-wrap { padding: 96px 14px 60px; }
  .ygc-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .ygc-card-body { padding: 8px 9px 10px; }
  .ygc-card-title { font-size: 12.5px; }
}