/* NutriPass before/after stories, scoped to #stories */
#stories .npba{--np:#1E6987;--np-cta:#00A0E3;--np-dark:#005578;--np-soft:#F5F8FB;--np-ease:cubic-bezier(0.16,1,0.3,1);
  display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:4px;
  padding:8px 4px 28px;margin:40px -4px 0;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
#stories .npba::-webkit-scrollbar{display:none}
#stories .npba__card{flex:0 0 min(400px,84vw);scroll-snap-align:start;background:#fff;border-radius:24px;padding:10px;
  box-shadow:0 2px 8px rgba(30,105,135,.10);transition:box-shadow .5s var(--np-ease),transform .5s var(--np-ease);display:flex;flex-direction:column}
@media (hover:hover){#stories .npba__card:hover{transform:translateY(-3px);box-shadow:0 8px 32px rgba(30,105,135,.15)}}

#stories .npba__frame{--pos:50%;position:relative;aspect-ratio:574/562;border-radius:16px;overflow:hidden;background:var(--np-soft);
  cursor:ew-resize;user-select:none;-webkit-user-select:none;touch-action:pan-x pan-y}
#stories .npba__frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
#stories .npba__before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
#stories .npba__frame.is-anim .npba__before,#stories .npba__frame.is-anim .npba__handle{transition:clip-path .7s var(--np-ease),left .7s var(--np-ease)}
#stories .npba__handle{position:absolute;top:0;bottom:0;left:var(--pos);width:0;z-index:2}
#stories .npba__handle::before{content:"";position:absolute;top:0;bottom:0;left:-1px;width:2px;background:#fff;box-shadow:0 0 12px rgba(0,85,120,.35)}
#stories .npba__knob{position:absolute;top:50%;left:0;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:9999px;background:#fff;
  color:var(--np);display:grid;place-items:center;box-shadow:0 4px 16px rgba(30,105,135,.25);touch-action:none;cursor:grab;
  transition:transform .4s var(--np-ease),box-shadow .4s var(--np-ease)}
#stories .npba__frame.is-drag .npba__knob{transform:scale(1.08);cursor:grabbing;box-shadow:0 8px 32px rgba(30,105,135,.35)}
#stories .npba__knob svg{width:26px;height:26px}
#stories .npba__tag{position:absolute;top:12px;z-index:1;padding:6px 12px;border-radius:9999px;font-size:12px;font-weight:600;letter-spacing:.08em;
  color:#fff;line-height:1;transition:opacity .3s var(--np-ease);pointer-events:none}
#stories .npba__tag--b{left:12px;background:rgba(0,85,120,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#stories .npba__tag--a{right:12px;background:var(--np-cta)}
#stories .npba__range{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
#stories .npba__frame:has(.npba__range:focus-visible) .npba__knob{box-shadow:0 0 0 4px rgba(0,160,227,.45),0 4px 16px rgba(30,105,135,.25)}

#stories .npba__body{padding:18px 10px 10px;display:flex;flex-direction:column;gap:10px;flex:1}
#stories .npba__top{display:flex;align-items:center;justify-content:space-between;gap:8px}
#stories .npba__no{font-size:13px;font-weight:600;color:var(--np);letter-spacing:.06em}
#stories .npba__prog{font-size:12px;font-weight:400;color:var(--np-dark);background:var(--np-soft);padding:6px 12px;border-radius:9999px}
#stories .npba__card h3{margin:0;font-size:22px;font-weight:600;color:var(--np-dark);line-height:1.2}
#stories .npba__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:2px 0 0;padding:0;list-style:none}
#stories .npba__stats li{background:var(--np-soft);border-radius:12px;padding:10px 8px;text-align:center;margin:0}
#stories .npba__stats b{display:block;font-size:18px;font-weight:600;color:var(--np);line-height:1.1;font-variant-numeric:tabular-nums}
#stories .npba__stats span{display:block;font-size:11px;color:#4a6b7a;margin-top:4px;line-height:1.2}

#stories .npba-nav{display:flex;align-items:center;gap:20px;margin:4px 0 32px}
#stories .npba-nav__count{font-size:14px;font-weight:600;color:var(--np-dark,#005578);font-variant-numeric:tabular-nums;min-width:56px}
#stories .npba-nav__bar{flex:1;height:3px;border-radius:9999px;background:rgba(30,105,135,.15);overflow:hidden}
#stories .npba-nav__fill{display:block;height:100%;width:12.5%;border-radius:inherit;background:#1E6987;transition:width .5s cubic-bezier(0.16,1,0.3,1),transform .5s cubic-bezier(0.16,1,0.3,1);transform-origin:left}
#stories .npba-nav__btns{display:flex;gap:10px}
#stories .npba-nav button{width:48px;height:48px;border-radius:9999px;border:1.5px solid rgba(30,105,135,.25);background:#fff;color:#1E6987;
  display:grid;place-items:center;cursor:pointer;padding:0;transition:background .3s cubic-bezier(0.16,1,0.3,1),color .3s cubic-bezier(0.16,1,0.3,1),border-color .3s cubic-bezier(0.16,1,0.3,1),opacity .3s}
#stories .npba-nav button:hover:not(:disabled){background:#1E6987;color:#fff;border-color:#1E6987}
#stories .npba-nav button:disabled{opacity:.35;cursor:default}
#stories .npba-nav button:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(0,160,227,.35)}
#stories .npba-nav svg{width:18px;height:18px}
#stories .npba-hint{font-size:13px;color:#4a6b7a;margin:16px 0 0;display:flex;align-items:center;gap:8px}

@media (max-width:640px){
  #stories .npba{gap:14px;margin-top:28px}
  #stories .npba__card{padding:8px;border-radius:20px}
  #stories .npba__card h3{font-size:19px}
  #stories .npba__stats b{font-size:16px}
  #stories .npba-nav{gap:14px}
  #stories .npba-nav button{width:44px;height:44px}
}
@media (prefers-reduced-motion:reduce){
  #stories .npba__card,#stories .npba__knob,#stories .npba-nav__fill,#stories .npba__frame.is-anim .npba__before,#stories .npba__frame.is-anim .npba__handle{transition:none}
}

/* ===== Video testimonials: carousel + modal ===== */
#videos .npvid{--np-ease:cubic-bezier(0.16,1,0.3,1);display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:4px;
  padding:8px 4px 24px;margin-left:-4px;margin-right:-4px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
#videos .npvid::-webkit-scrollbar{display:none}
#videos .npvid>.video{flex:0 0 calc((100% - 60px)/4);scroll-snap-align:start;min-width:0}
@media (max-width:1024px){#videos .npvid>.video{flex-basis:calc((100% - 40px)/3)}}
@media (max-width:760px){#videos .npvid>.video{flex-basis:min(320px,78vw)}#videos .npvid{gap:14px}}
#videos .npvid .video__thumb{box-shadow:0 2px 8px rgba(30,105,135,.10)}
#videos .npvid .video:focus-visible{outline:none}
#videos .npvid .video:focus-visible .video__thumb{box-shadow:0 0 0 4px rgba(0,160,227,.45)}
#videos .npba-nav{display:flex;align-items:center;gap:20px;margin:4px 0 0}
#videos .npba-nav[hidden]{display:none}
#videos .npba-nav__count{font-size:14px;font-weight:600;color:#005578;font-variant-numeric:tabular-nums;min-width:56px}
#videos .npba-nav__bar{flex:1;height:3px;border-radius:9999px;background:rgba(30,105,135,.15);overflow:hidden}
#videos .npba-nav__fill{display:block;height:100%;border-radius:inherit;background:#1E6987;transition:width .5s cubic-bezier(0.16,1,0.3,1)}
#videos .npba-nav__btns{display:flex;gap:10px}
#videos .npba-nav button{width:48px;height:48px;border-radius:9999px;border:1.5px solid rgba(30,105,135,.25);background:#fff;color:#1E6987;
  display:grid;place-items:center;cursor:pointer;padding:0;transition:background .3s cubic-bezier(0.16,1,0.3,1),color .3s cubic-bezier(0.16,1,0.3,1),border-color .3s cubic-bezier(0.16,1,0.3,1),opacity .3s}
#videos .npba-nav button:hover:not(:disabled){background:#1E6987;color:#fff;border-color:#1E6987}
#videos .npba-nav button:disabled{opacity:.35;cursor:default}
#videos .npba-nav button:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(0,160,227,.35)}
#videos .npba-nav svg{width:18px;height:18px}
@media (max-width:640px){#videos .npba-nav{gap:14px}#videos .npba-nav button{width:44px;height:44px}}

html.npvid-lock{overflow:hidden}
.npvid-modal{position:fixed;inset:0;z-index:1000000;display:grid;place-items:center;padding:20px;background:rgba(0,40,58,.82);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .3s cubic-bezier(0.16,1,0.3,1);font-family:Geologica,sans-serif}
.npvid-modal[hidden]{display:none}
.npvid-modal.is-open{opacity:1}
.npvid-modal__box{position:relative;width:min(960px,100%);transform:translateY(16px) scale(.98);transition:transform .45s cubic-bezier(0.16,1,0.3,1)}
.npvid-modal.is-open .npvid-modal__box{transform:none}
.npvid-modal__frame{aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#005578;box-shadow:0 24px 64px rgba(0,40,58,.45)}
.npvid-modal__frame iframe{display:block;width:100%;height:100%;border:0}
.npvid-modal__title{margin:14px 4px 0;color:#fff;font-size:16px;font-weight:600;line-height:1.35}
.npvid-modal__x{position:absolute;top:-56px;right:0;width:44px;height:44px;border-radius:9999px;border:0;background:#fff;color:#1E6987;
  display:grid;place-items:center;cursor:pointer;padding:0;box-shadow:0 4px 16px rgba(30,105,135,.25);transition:transform .3s cubic-bezier(0.16,1,0.3,1)}
.npvid-modal__x:hover{transform:scale(1.06)}
.npvid-modal__x:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(0,160,227,.5)}
.npvid-modal__x svg{width:20px;height:20px}

/* ===== Κινητό: σταθερή μπάρα CTA ===== */
.npsb{display:none}
@media (max-width:768px){
  .npsb{--h:76px;display:flex;gap:10px;align-items:center;position:fixed;left:0;right:0;bottom:0;z-index:99998;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);
    -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 -6px 24px rgba(30,105,135,.14);
    transform:translateY(110%);transition:transform .45s cubic-bezier(0.16,1,0.3,1);font-family:Geologica,sans-serif}
  .npsb.is-on{transform:none}
  .npsb__cta{flex:1;min-height:52px;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 18px;border-radius:9999px;
    background:#00A0E3;color:#fff!important;font-size:15px;font-weight:600;line-height:1.2;text-decoration:none!important;
    box-shadow:0 6px 18px rgba(0,160,227,.30);transition:background .3s cubic-bezier(0.16,1,0.3,1),transform .3s cubic-bezier(0.16,1,0.3,1)}
  .npsb__cta:active{transform:scale(.98);background:#1E6987}
  .npsb__tel{flex:0 0 52px;height:52px;border-radius:9999px;display:grid;place-items:center;color:#1E6987;background:#F5F8FB;
    border:1.5px solid rgba(30,105,135,.22)}
  .npsb__tel svg{width:22px;height:22px}
  .npsb a:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(0,160,227,.4)}
  /* Τα υπάρχοντα πλωτά κουμπιά ανεβαίνουν όσο φαίνεται η μπάρα */
  #nutripass-call-btn-auto,#floating-chatbot-button-default,#nutripass-book-now-btn,#qodef-back-to-top,.cky-btn-revisit-wrapper{transition:translate .45s cubic-bezier(0.16,1,0.3,1)}
  html.npsb-on #nutripass-call-btn-auto,html.npsb-on #floating-chatbot-button-default,html.npsb-on #nutripass-book-now-btn,
  html.npsb-on #qodef-back-to-top,html.npsb-on .cky-btn-revisit-wrapper{translate:0 calc(-76px - env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){.npsb,.npvid-modal,.npvid-modal__box{transition:none}}

/* Κριτικές Google, #testimonials */
#testimonials .nprev-badge{display:inline-flex;align-items:center;gap:10px;margin:24px 0 0;padding:10px 18px 10px 12px;border-radius:9999px;background:#fff;
  box-shadow:0 2px 8px rgba(30,105,135,.10);text-decoration:none;color:#005578;font-size:14px;transition:box-shadow .4s cubic-bezier(0.16,1,0.3,1),transform .4s cubic-bezier(0.16,1,0.3,1)}
#testimonials .nprev-badge:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(30,105,135,.16)}
#testimonials .nprev-badge__g{display:grid;place-items:center;width:28px;height:28px;border-radius:9999px;background:#F5F8FB}
#testimonials .nprev-badge__g svg{width:16px;height:16px}
#testimonials .nprev-badge__score{font-size:18px;font-weight:600;color:#005578;font-variant-numeric:tabular-nums}
#testimonials .nprev-badge__txt{font-weight:400;color:#1E6987}
#testimonials .nprev-stars{display:inline-flex;gap:2px;color:#F5B400}
#testimonials .nprev-stars svg{width:16px;height:16px}
#testimonials .nprev{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0 0}
#testimonials .nprev__card{margin:0;background:#fff;border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:16px;
  box-shadow:0 2px 8px rgba(30,105,135,.10);transition:box-shadow .5s cubic-bezier(0.16,1,0.3,1),transform .5s cubic-bezier(0.16,1,0.3,1)}
@media (hover:hover){#testimonials .nprev__card:hover{transform:translateY(-3px);box-shadow:0 8px 32px rgba(30,105,135,.15)}}
#testimonials .nprev__card blockquote{margin:0;padding:0;border:0;font-size:16px;line-height:1.6;font-weight:300;color:#0f3a4d;flex:1;quotes:none}
#testimonials .nprev__card blockquote::before,#testimonials .nprev__card blockquote::after{content:none}
#testimonials .nprev__card figcaption{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid rgba(30,105,135,.12)}
#testimonials .nprev__av{width:40px;height:40px;flex:none;border-radius:9999px;background:#1E6987;color:#fff;display:grid;place-items:center;font-weight:600;font-size:16px}
#testimonials .nprev__card figcaption>span:nth-child(2){display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
#testimonials .nprev__card strong{font-size:15px;font-weight:600;color:#005578}
#testimonials .nprev__card figcaption>span:nth-child(2) span{font-size:12px;color:#4a6b7a}
#testimonials .nprev__g svg{width:18px;height:18px;display:block}
#testimonials .nprev-more{display:inline-flex;align-items:center;margin:28px 0 0;padding:14px 26px;border-radius:9999px;border:1.5px solid rgba(30,105,135,.25);
  color:#1E6987;font-weight:600;font-size:15px;text-decoration:none;transition:background .3s cubic-bezier(0.16,1,0.3,1),color .3s cubic-bezier(0.16,1,0.3,1),border-color .3s cubic-bezier(0.16,1,0.3,1)}
#testimonials .nprev-more:hover{background:#1E6987;color:#fff;border-color:#1E6987}
@media (max-width:1024px){#testimonials .nprev{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){
  #testimonials .nprev{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:24px -4px 0;padding:6px 4px 18px;overscroll-behavior-x:contain}
  #testimonials .nprev::-webkit-scrollbar{display:none}
  #testimonials .nprev__card{flex:0 0 min(320px,84vw);scroll-snap-align:start;padding:22px;border-radius:20px}
  #testimonials .nprev-badge{flex-wrap:wrap;font-size:13px}
}
@media (prefers-reduced-motion:reduce){#testimonials .nprev__card,#testimonials .nprev-badge{transition:none}}
#testimonials .nprev,#testimonials .nprev *,#testimonials .nprev-badge,#testimonials .nprev-more{font-family:Geologica,sans-serif}
.npcta{display:flex;flex-direction:column;align-items:center;gap:10px;margin:8px auto 0;text-align:center;font-family:Geologica,sans-serif}
.npcta__btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 32px;border-radius:9999px;background:#00A0E3;color:#fff!important;font:600 16px/1.2 Geologica,sans-serif;text-decoration:none!important;box-shadow:0 4px 16px rgba(0,160,227,.28);transition:background .3s cubic-bezier(0.16,1,0.3,1),transform .3s cubic-bezier(0.16,1,0.3,1),box-shadow .3s cubic-bezier(0.16,1,0.3,1)}
.npcta__btn:hover{background:#1E6987;transform:translateY(-2px);box-shadow:0 8px 24px rgba(30,105,135,.28)}
.npcta__btn:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(0,160,227,.4)}
.npcta__note{margin:0;font:400 14px/1.4 Geologica,sans-serif;color:#4a6b7a}
#testimonials .npcta{margin-top:28px}
@media (max-width:640px){.npcta__btn{width:100%;max-width:360px}#testimonials .nprev-badge{white-space:nowrap;font-size:13px}}
@media (prefers-reduced-motion:reduce){.npcta__btn{transition:none}}

@media (max-width:640px){#testimonials .nprev-badge{flex-wrap:nowrap;gap:8px;padding:10px 14px 10px 10px}}
@media (max-width:374px){#testimonials .nprev-badge{flex-wrap:wrap}}
