/* Intro PharmacyOne (inc/intro.php, js/p1-intro.js) — απλό, ~5″:
   0–0,9″ το λογότυπο εμφανίζεται · κύκλοι «ανασαίνουν» γύρω του · λάμψη περνά από πάνω του
   στο 1,6″ και 3,2″ · η γραμμή γεμίζει ως το 4,4″ · μετά η σελίδα μπαίνει. */

.co-intro { display: none; }
html.intro-on, html.intro-on body { overflow: hidden; }
html.intro-on .co-intro {
  display: block; position: fixed; inset: 0; z-index: 100000; overflow: hidden; cursor: pointer;
  background:
    radial-gradient(38rem 26rem at 50% 46%, rgba(0,168,73,.12), transparent 70%),
    radial-gradient(40rem 30rem at 85% 10%, rgba(18,181,172,.08), transparent 70%),
    #fff;
  transition: opacity .6s cubic-bezier(.4, 0, .2, 1);
  -webkit-tap-highlight-color: transparent;
}
html.intro-on .co-intro.is-out { opacity: 0; pointer-events: none; }
.co-intro:not(.is-play) * { animation-play-state: paused !important; }
html.intro-on #cookie-law-info-bar, html.intro-on .cookie-law-info-bar { visibility: hidden !important; }

.ci-stage { position: absolute; inset: 0; display: grid; place-items: center; grid-template: 100% / 100%; }
.ci-stage > * { grid-area: 1 / 1; }

/* Λογότυπο + φράση + γραμμή */
.ci-mark { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 18px;
  transition: transform .6s cubic-bezier(.4, 0, .2, 1); }
.co-intro.is-out .ci-mark { transform: scale(1.08); }
.ci-logo { position: relative; display: block; width: min(70vw, 300px); overflow: hidden; border-radius: 999px;
  opacity: 0; transform: scale(.86); filter: blur(8px);
  animation: ci-in .9s cubic-bezier(.22, 1, .36, 1) .15s both, ci-float 3.4s ease-in-out 1.1s infinite alternate; }
.ci-logo img { display: block; width: 100%; height: auto; }
/* λάμψη που περνά από πάνω */
.ci-logo::after { content: ""; position: absolute; top: -20%; bottom: -20%; left: -60%; width: 40%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.75), transparent); transform: skewX(-18deg);
  animation: ci-shine 1.1s ease-in-out 1.6s 2 both; animation-delay: 1.6s; }
@keyframes ci-in { to { opacity: 1; transform: none; filter: none; } }
@keyframes ci-float { from { translate: 0 -3px; } to { translate: 0 3px; } }
@keyframes ci-shine { 0% { left: -60%; } 60%, 100% { left: 130%; } }

.ci-tag { margin: 0; font: 600 clamp(.85rem, .8rem + .3vw, 1rem)/1 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: .14em; text-transform: uppercase; color: #0A7A74;
  opacity: 0; transform: translateY(8px); animation: ci-up .7s ease-out 1s both; }
@keyframes ci-up { to { opacity: 1; transform: none; } }

.ci-bar { display: block; width: min(56vw, 220px); height: 3px; border-radius: 3px; background: #E2E9F3; overflow: hidden;
  opacity: 0; animation: ci-up .5s ease-out .6s both; }
.ci-bar i { display: block; height: 100%; width: 100%; border-radius: inherit; background: linear-gradient(90deg, #1FD173, #12B5AC);
  transform-origin: left; transform: scaleX(0); animation: ci-fill 3.8s cubic-bezier(.45, .05, .35, 1) .6s both; }
@keyframes ci-fill { to { transform: scaleX(1); } }

/* Κύκλοι που «ανασαίνουν» */
.ci-ring { width: min(70vw, 300px); aspect-ratio: 1; border-radius: 50%; pointer-events: none;
  border: 2px solid rgba(0,168,73,.35); opacity: 0;
  animation: ci-ring 3s cubic-bezier(.2, .6, .3, 1) .5s infinite; }
.ci-ring-2 { animation-delay: 1.5s; border-color: rgba(18,181,172,.3); }
.ci-ring-3 { animation-delay: 2.5s; border-color: rgba(46,155,255,.22); }
@keyframes ci-ring { 0% { opacity: .9; transform: scale(.55); } 100% { opacity: 0; transform: scale(1.9); } }

/* Παράλειψη */
.ci-skip { position: absolute; right: clamp(1rem, 3vw, 2rem); top: clamp(1rem, 3vw, 2rem); z-index: 10;
  min-height: 44px; padding: .55rem 1.1rem; border-radius: 999px; cursor: pointer;
  font: 600 .95rem/1 "Inter", system-ui, sans-serif; color: #4C5C78; background: #fff;
  border: 1px solid #E2E9F3; opacity: 0; animation: ci-up .4s ease-out .8s both; }
.ci-skip:hover { color: #0B1220; border-color: #00A849; }
.ci-skip:focus-visible { outline: 2px solid #00A849; outline-offset: 3px; }

/* Η σελίδα μπαίνει */
html.intro-enter #page_wrapper { animation: p1-enter .7s cubic-bezier(.22, .61, .36, 1) both; }
@keyframes p1-enter { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
  html.intro-on .co-intro { display: none; }
  html.intro-on, html.intro-on body { overflow: auto; }
  html.intro-enter #page_wrapper { animation: none; }
}
