/* Playpolis — cozy curated boutique. Κρεμ βάση + μέντα/teal. Φωτεινό, στρογγυλό, WCAG AA. */

:root {
  --krem: #faf7f0;
  --karta: #fffdf8;
  --krem-vathi: #f2ecdf;
  --menta: #2fa389;
  --menta-hover: #3ab89a;
  --menta-vathi: #1f6f5d;
  --menta-skoteino: #143d34;
  --melani: #26302c;
  --melani-apalo: #5c6660;
  --gramma: #d9d0bf;
  --gramma-apalo: #ece5d6;
  --korali: #d9743f;
  --kokkino: #c14b3a;
  --skia-s: 0 1px 2px rgba(38,48,44,.06), 0 2px 8px rgba(38,48,44,.05);
  --skia-m: 0 6px 22px rgba(38,48,44,.09);
  --skia-l: 0 18px 48px rgba(38,48,44,.14);
  --r-s: 8px;
  --r-m: 14px;
  --r-l: 22px;
  --r-pill: 999px;
  --plates: 1180px;
  --kef-fmy: 'Manrope', 'Noto Sans', system-ui, sans-serif;
  --sma-fmy: 'Noto Sans', system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body.pp-body {
  margin: 0;
  font-family: var(--sma-fmy);
  font-size: 16px;
  line-height: 1.6;
  color: var(--melani);
  background: var(--krem);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--menta-vathi); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3, h4 { font-family: var(--kef-fmy); color: var(--melani); line-height: 1.18; margin: 0 0 .5em; font-weight: 800; letter-spacing: -.01em; }
p { margin: 0 0 1em; }
button { font-family: inherit; cursor: pointer; }

.pp-visually-hidden, .pp-parakampsi {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.pp-parakampsi:focus {
  position: fixed; top: 12px; left: 12px; width: auto; height: auto;
  clip: auto; background: var(--menta); color: #fff; padding: 10px 16px; border-radius: var(--r-s); z-index: 200;
}

.pp-kirio { display: block; }
.pp-tmima { max-width: var(--plates); margin: 0 auto; padding: 46px 16px; }
.pp-tmima-koryfi { margin-bottom: 26px; position: relative; }
.pp-tmima-koryfi h2 { font-size: clamp(1.5rem, 3.4vw, 2.1rem); margin-bottom: .18em; }
.pp-tmima-koryfi p { color: var(--melani-apalo); margin: 0; max-width: 60ch; }
.pp-tmima-oli { position: absolute; right: 0; top: 4px; font-weight: 600; color: var(--menta-vathi); }
@media (max-width: 640px){ .pp-tmima-oli { position: static; display: inline-block; margin-top: 8px; } }

/* ---- κουμπιά ---- */
.pp-koumpi {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--kef-fmy); font-weight: 700; font-size: .96rem;
  padding: 11px 20px; border-radius: var(--r-pill); border: 1.5px solid transparent;
  transition: transform .12s ease, background .16s ease, box-shadow .16s ease; text-decoration: none;
}
.pp-koumpi:hover { text-decoration: none; transform: translateY(-1px); }
.pp-koumpi-plires { background: var(--menta); color: #fff; box-shadow: 0 6px 16px rgba(47,163,137,.28); }
.pp-koumpi-plires:hover { background: var(--menta-hover); color: #fff; }
.pp-koumpi-plires[disabled] { background: var(--gramma); box-shadow: none; cursor: not-allowed; color: #fff; transform: none; }
.pp-koumpi-perigramma { background: transparent; color: var(--menta-vathi); border-color: var(--gramma); }
.pp-koumpi-perigramma:hover { border-color: var(--menta); background: #fff; color: var(--menta-vathi); }
.pp-koumpi-megalo { padding: 14px 28px; font-size: 1.02rem; }
.pp-koumpi-plati { width: 100%; }
.pp-koumpi-fos { background: #fff; color: var(--menta-skoteino); }
.pp-koumpi-fos:hover { background: var(--krem); color: var(--menta-skoteino); }
.pp-koumpi-fos-perigramma { background: transparent; color: #fff; border-color: rgba(255,255,255,.55); }
.pp-koumpi-fos-perigramma:hover { background: rgba(255,255,255,.12); color: #fff; }

.pp-eikonidio {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: var(--r-pill);
  border: 1.5px solid transparent; background: transparent; color: var(--melani); position: relative;
}
.pp-eikonidio:hover { background: var(--krem-vathi); }
.pp-eikonidio svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ---- σήματα / chips ---- */
.pp-simadi { position: absolute; top: 12px; font-family: var(--kef-fmy); font-weight: 800; font-size: .74rem; padding: 4px 10px; border-radius: var(--r-pill); z-index: 2; }
.pp-simadi-ekpt { left: 12px; background: var(--kokkino); color: #fff; }
.pp-simadi-neo { right: 12px; background: var(--menta); color: #fff; }
.pp-simadi.pp-inline { position: static; display: inline-block; }
.pp-chip { display: inline-block; font-size: .74rem; font-weight: 700; padding: 3px 10px; border-radius: var(--r-pill); }
.pp-chip-kain { background: #e7f4ef; color: var(--menta-vathi); }
.pp-chip-metax { background: #f6ecdd; color: #9a6a2a; }

/* ---- grids ---- */
.pp-grid { display: grid; gap: 22px; }
.pp-grid-3 { grid-template-columns: repeat(3, 1fr); }
.pp-grid-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 960px){ .pp-grid-4 { grid-template-columns: repeat(2, 1fr); } .pp-grid-3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px){ .pp-grid-4, .pp-grid-3 { grid-template-columns: 1fr; } }

/* ================= HEADER ================= */
.pp-kefalida { background: var(--krem); border-bottom: 1px solid var(--gramma-apalo); position: sticky; top: 0; z-index: 90; }
.pp-taula { text-align: center; font-size: .82rem; color: var(--menta-skoteino); background: #e7f4ef; padding: 7px 16px; }
.pp-taula strong { color: var(--menta-vathi); }
.pp-kef-panw { max-width: var(--plates); margin: 0 auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 14px 16px 8px; }
.pp-menou-koumpi { display: none; grid-column: 1; justify-self: start; flex-direction: column; gap: 4px; }
.pp-menou-koumpi span { width: 20px; height: 2px; background: var(--melani); border-radius: 2px; }
.pp-marka { grid-column: 2; display: flex; flex-direction: column; align-items: center; text-align: center; text-decoration: none; }
.pp-marka:hover { text-decoration: none; }
.pp-marka-simeio { color: var(--menta); font-size: 1.1rem; line-height: 1; margin-bottom: 2px; }
.pp-marka-onoma { font-family: var(--kef-fmy); font-weight: 800; font-size: 1.6rem; letter-spacing: .01em; color: var(--melani); }
.pp-marka-slok { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--melani-apalo); margin-top: 1px; }
.pp-kef-drasis { grid-column: 3; justify-self: end; display: flex; align-items: center; gap: 4px; }
.pp-kalathi-perioxi { position: relative; }
.pp-kalathi-metritis { position: absolute; top: 4px; right: 4px; min-width: 18px; height: 18px; padding: 0 4px; background: var(--korali); color: #fff; border-radius: var(--r-pill); font-size: .68rem; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.pp-kef-nav { border-top: 1px solid var(--gramma-apalo); }
.pp-kef-nav ul { max-width: var(--plates); margin: 0 auto; padding: 0 16px; list-style: none; display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 6px; }
.pp-kef-nav a { display: inline-block; padding: 11px 14px; font-family: var(--kef-fmy); font-weight: 600; font-size: .93rem; color: var(--melani); border-bottom: 2.5px solid transparent; }
.pp-kef-nav a:hover { text-decoration: none; color: var(--menta-vathi); }
.pp-kef-nav a.pp-nav-on { color: var(--menta-vathi); border-bottom-color: var(--menta); }

/* overlay αναζήτησης */
.pp-anazitisi-overlay { position: absolute; left: 0; right: 0; top: 100%; background: var(--karta); border-bottom: 1px solid var(--gramma-apalo); box-shadow: var(--skia-m); padding: 24px 16px 28px; z-index: 95; animation: pp-drop .22s ease; }
.pp-anazitisi-overlay[hidden] { display: none; }
@keyframes pp-drop { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.pp-anazitisi-form { max-width: 720px; margin: 0 auto; display: flex; gap: 10px; align-items: center; }
.pp-anazitisi-form input { flex: 1; padding: 14px 18px; font-size: 1.05rem; border: 1.5px solid var(--gramma); border-radius: var(--r-pill); background: var(--krem); color: var(--melani); }
.pp-anazitisi-form input:focus { outline: none; border-color: var(--menta); background: #fff; }
.pp-anazitisi-ypo { max-width: 720px; margin: 10px auto 0; text-align: center; color: var(--melani-apalo); font-size: .9rem; }

/* mini καλάθι popover */
.pp-mini-kalathi { position: absolute; right: 0; top: calc(100% + 10px); width: 340px; max-width: 90vw; background: var(--karta); border: 1px solid var(--gramma-apalo); border-radius: var(--r-m); box-shadow: var(--skia-l); padding: 16px; z-index: 96; animation: pp-drop .18s ease; }
.pp-mini-kalathi[hidden] { display: none; }
.pp-mini-kalathi::before { content: ""; position: absolute; top: -7px; right: 20px; width: 13px; height: 13px; background: var(--karta); border-left: 1px solid var(--gramma-apalo); border-top: 1px solid var(--gramma-apalo); transform: rotate(45deg); }
.pp-mini-koryfi { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 10px; }
.pp-mini-koryfi strong { font-family: var(--kef-fmy); }
.pp-mini-n { font-size: .82rem; color: var(--melani-apalo); }
.pp-mini-adeio { font-size: .9rem; color: var(--melani-apalo); margin: 6px 0; }
.pp-mini-lista { list-style: none; margin: 0 0 12px; padding: 0; max-height: 260px; overflow: auto; }
.pp-mini-eidos { display: grid; grid-template-columns: 46px 1fr auto; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--gramma-apalo); }
.pp-mini-eidos img { border-radius: var(--r-s); }
.pp-mini-tit { font-size: .84rem; line-height: 1.3; }
.pp-mini-pos { font-size: .78rem; color: var(--melani-apalo); grid-column: 2; }
.pp-mini-timi { font-weight: 700; font-size: .86rem; }
.pp-mini-synolo { display: flex; justify-content: space-between; align-items: baseline; margin: 4px 0 12px; font-size: 1.05rem; }
.pp-mini-synolo strong { font-family: var(--kef-fmy); }
.pp-mini-drasis { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pp-mini-drasis .pp-koumpi { padding: 10px; font-size: .88rem; }

/* συρτάρι κινητού */
.pp-drawer { position: fixed; inset: 0; z-index: 120; }
.pp-drawer[hidden] { display: none; }
.pp-drawer-pisw { position: absolute; inset: 0; background: rgba(20,25,22,.42); }
.pp-drawer-panel { position: absolute; top: 0; left: 0; bottom: 0; width: 82%; max-width: 340px; background: var(--krem); box-shadow: var(--skia-l); padding: 18px; overflow-y: auto; animation: pp-slide .24s ease; }
@keyframes pp-slide { from { transform: translateX(-100%); } to { transform: none; } }
.pp-drawer-koryfi { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.pp-drawer-panel nav ul { list-style: none; margin: 0; padding: 0; }
.pp-drawer-panel nav a { display: block; padding: 13px 8px; font-family: var(--kef-fmy); font-weight: 600; border-bottom: 1px solid var(--gramma-apalo); color: var(--melani); }

/* ================= HERO (magazine spread) ================= */
.pp-iroas { max-width: var(--plates); margin: 0 auto; padding: 52px 16px 40px; display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; align-items: center; }
.pp-iroas-etiketa { display: inline-block; font-family: var(--kef-fmy); font-weight: 700; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--menta-vathi); background: #e7f4ef; padding: 6px 14px; border-radius: var(--r-pill); margin-bottom: 18px; }
.pp-iroas-tit { font-size: clamp(2.1rem, 5.2vw, 3.4rem); line-height: 1.06; margin-bottom: .3em; }
.pp-dropcap { float: left; font-family: var(--kef-fmy); font-weight: 800; font-size: 3.1em; line-height: .74; margin: .06em .12em 0 0; color: var(--menta); }
.pp-iroas-lead { font-size: 1.12rem; color: var(--melani-apalo); max-width: 46ch; }
.pp-pullquote { margin: 22px 0; padding: 8px 0 8px 20px; border-left: 3px solid var(--menta); font-family: var(--kef-fmy); font-style: italic; font-size: 1.16rem; color: var(--melani); font-weight: 600; }
.pp-iroas-drasis { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 8px; }
.pp-iroas-noimo { font-size: .88rem; color: var(--melani-apalo); }
.pp-iroas-karta { background: var(--karta); border: 1px solid var(--gramma-apalo); border-radius: var(--r-l); box-shadow: var(--skia-m); overflow: hidden; position: relative; }
.pp-iroas-karta-etiketa { position: absolute; top: 16px; left: 16px; z-index: 2; background: var(--melani); color: #fff; font-family: var(--kef-fmy); font-weight: 700; font-size: .74rem; padding: 6px 12px; border-radius: var(--r-pill); }
.pp-iroas-karta-foto { display: block; }
.pp-iroas-karta-foto img { width: 100%; aspect-ratio: 16/11; object-fit: cover; }
.pp-iroas-karta-soma { padding: 20px 22px 24px; }
.pp-iroas-karta-tit { font-size: 1.4rem; margin: 4px 0 8px; }
.pp-iroas-karta-tit a { color: var(--melani); }
.pp-iroas-karta-soma p { color: var(--melani-apalo); font-size: .95rem; }
.pp-iroas-karta-timi { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; }
.pp-iroas-karta-timi .pp-timi-nea { font-size: 1.5rem; }
@media (max-width: 860px){ .pp-iroas { grid-template-columns: 1fr; gap: 32px; padding-top: 36px; } }

/* ================= κάρτα προϊόντος ================= */
.pp-karta { background: var(--karta); border: 1px solid var(--gramma-apalo); border-radius: var(--r-m); overflow: hidden; display: flex; flex-direction: column; box-shadow: var(--skia-s); transition: transform .14s ease, box-shadow .16s ease; }
.pp-karta:hover { transform: translateY(-3px); box-shadow: var(--skia-m); }
.pp-karta-foto { position: relative; display: block; background: var(--krem-vathi); }
.pp-karta-foto img { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.pp-karta-foto .pp-chip { position: absolute; bottom: 12px; left: 12px; box-shadow: var(--skia-s); }
.pp-karta-soma { padding: 14px 16px 18px; display: flex; flex-direction: column; flex: 1; }
.pp-karta-meta { font-size: .76rem; letter-spacing: .04em; text-transform: uppercase; color: var(--menta-vathi); font-weight: 700; }
.pp-karta-tit { font-size: 1.02rem; margin: 5px 0 10px; line-height: 1.25; font-weight: 700; }
.pp-karta-tit a { color: var(--melani); }
.pp-karta-tit a:hover { color: var(--menta-vathi); text-decoration: none; }
.pp-karta-timi { display: flex; align-items: baseline; gap: 9px; margin-bottom: 12px; }
.pp-timi-nea { font-family: var(--kef-fmy); font-weight: 800; font-size: 1.22rem; color: var(--melani); }
.pp-timi-palia { text-decoration: line-through; color: var(--melani-apalo); font-size: .92rem; }
.pp-karta .pp-add { margin-top: auto; width: 100%; }

/* add κατάσταση */
.pp-add.pp-egine { background: var(--menta-vathi); }
.pp-add.pp-egine .pp-add-etiketa::after { content: " ✓"; }

/* ---- δώρο ---- */
.pp-doro-karta { display: flex; align-items: flex-start; gap: 8px; margin: 12px 0 0; padding: 9px 11px; background: linear-gradient(180deg, #eef7f2, #e7f4ef); border: 1px dashed var(--menta); border-radius: var(--r-s); font-size: .78rem; color: var(--menta-skoteino); line-height: 1.35; }
.pp-doro-kordela svg { width: 20px; height: 20px; fill: none; stroke: var(--menta); stroke-width: 1.6; stroke-linejoin: round; flex-shrink: 0; }
.pp-doro-kordela-megali svg { width: 34px; height: 34px; }
.pp-doro-txt { flex: 1; }
.pp-doro-home, .pp-doro-pdp { display: flex; align-items: center; gap: 18px; background: linear-gradient(120deg, #eef7f2, #fffdf8); border: 1.5px dashed var(--menta); border-radius: var(--r-l); padding: 22px 26px; box-shadow: var(--skia-s); }
.pp-doro-tmima { max-width: var(--plates); margin: 0 auto 46px; padding: 0 16px; }
.pp-doro-soma strong { font-family: var(--kef-fmy); font-size: 1.2rem; display: block; margin-bottom: 3px; }
.pp-doro-soma p { margin: 0; color: var(--melani-apalo); font-size: .95rem; }
.pp-doro-pdp { margin-top: 14px; padding: 16px 18px; }
.pp-doro-pdp .pp-doro-soma strong { font-size: 1.02rem; }

/* ---- τμήματα tiles ---- */
.pp-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.pp-tile { display: flex; flex-direction: column; background: var(--karta); border: 1px solid var(--gramma-apalo); border-radius: var(--r-m); overflow: hidden; box-shadow: var(--skia-s); transition: transform .14s ease, box-shadow .16s ease; }
.pp-tile:hover { transform: translateY(-3px); box-shadow: var(--skia-m); text-decoration: none; }
.pp-tile-foto img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.pp-tile-soma { padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 4px; }
.pp-tile-soma strong { font-family: var(--kef-fmy); font-size: 1.3rem; color: var(--melani); }
.pp-tile-count { font-size: .82rem; font-weight: 700; color: var(--menta-vathi); }
.pp-tile-lead { color: var(--melani-apalo); font-size: .92rem; margin-top: 3px; }
@media (max-width: 760px){ .pp-tiles { grid-template-columns: 1fr; } }

/* ---- editorial ---- */
.pp-editorial { background: var(--krem-vathi); }
.pp-editorial-in { max-width: 900px; margin: 0 auto; padding: 60px 16px; text-align: center; }
.pp-editorial-mega { font-family: var(--kef-fmy); font-weight: 700; font-size: clamp(1.4rem, 3.4vw, 2rem); line-height: 1.32; color: var(--melani); margin-bottom: .6em; }
.pp-editorial-ypo { color: var(--melani-apalo); max-width: 60ch; margin: 0 auto; }

/* ---- ιστορίες κάρτες ---- */
.pp-istoria-karta { display: flex; flex-direction: column; background: var(--karta); border: 1px solid var(--gramma-apalo); border-radius: var(--r-m); overflow: hidden; box-shadow: var(--skia-s); transition: transform .14s ease, box-shadow .16s ease; }
.pp-istoria-karta:hover { transform: translateY(-3px); box-shadow: var(--skia-m); text-decoration: none; }
.pp-istoria-foto { position: relative; display: block; }
.pp-istoria-foto img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.pp-istoria-etiketa { position: absolute; top: 12px; left: 12px; background: rgba(255,255,255,.94); color: var(--menta-skoteino); font-family: var(--kef-fmy); font-weight: 700; font-size: .72rem; padding: 5px 12px; border-radius: var(--r-pill); }
.pp-istoria-soma { padding: 16px 18px 20px; display: flex; flex-direction: column; }
.pp-istoria-soma time { font-size: .76rem; color: var(--melani-apalo); letter-spacing: .04em; }
.pp-istoria-soma strong { font-family: var(--kef-fmy); font-size: 1.14rem; margin: 5px 0 7px; color: var(--melani); line-height: 1.25; }
.pp-istoria-lead { color: var(--melani-apalo); font-size: .92rem; }
.pp-istoria-more { margin-top: 10px; font-weight: 700; color: var(--menta-vathi); font-size: .88rem; }

/* ---- inverse mint strip ---- */
.pp-strip { background: linear-gradient(135deg, var(--menta-skoteino), var(--menta-vathi)); color: #eef7f2; }
.pp-strip-in { max-width: 820px; margin: 0 auto; padding: 62px 16px; text-align: center; }
.pp-strip-etiketa { display: inline-block; font-family: var(--kef-fmy); font-weight: 700; font-size: .76rem; letter-spacing: .14em; text-transform: uppercase; color: #bfe6d8; margin-bottom: 12px; }
.pp-strip-in h2 { color: #fff; font-size: clamp(1.6rem, 4vw, 2.4rem); }
.pp-strip-in p { color: #d5ece3; max-width: 56ch; margin: 0 auto 22px; }
.pp-strip-drasis { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ================= κατάλογος ================= */
.pp-katalogos-koryfi { max-width: var(--plates); margin: 0 auto; padding: 34px 16px 8px; }
.pp-katalogos-koryfi h1 { font-size: clamp(1.8rem, 4vw, 2.6rem); margin: 8px 0 .2em; }
.pp-katalogos-lead { color: var(--melani-apalo); max-width: 62ch; }
.pp-diadromi { font-size: .82rem; color: var(--melani-apalo); }
.pp-diadromi a { color: var(--melani-apalo); }
.pp-diadromi span { margin: 0 6px; opacity: .6; }
.pp-katalogos-korpi { max-width: var(--plates); margin: 0 auto; padding: 18px 16px 56px; display: grid; grid-template-columns: 1fr 268px; gap: 34px; align-items: start; }
.pp-apotelesmata-bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; color: var(--melani-apalo); }
.pp-facets-toggle { display: none; }
.pp-facets { position: sticky; top: 150px; background: var(--karta); border: 1px solid var(--gramma-apalo); border-radius: var(--r-m); padding: 20px; box-shadow: var(--skia-s); }
.pp-facet { padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--gramma-apalo); }
.pp-facet:last-of-type { border-bottom: 0; }
.pp-facet h3 { font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; color: var(--melani); margin-bottom: 10px; }
.pp-facet-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.pp-facet-links a { display: flex; justify-content: space-between; padding: 7px 10px; border-radius: var(--r-s); color: var(--melani); font-size: .92rem; }
.pp-facet-links a:hover { background: var(--krem); text-decoration: none; }
.pp-facet-links a.pp-on { background: #e7f4ef; color: var(--menta-vathi); font-weight: 700; }
.pp-facet-n { color: var(--melani-apalo); font-size: .82rem; }
.pp-facet-timi { display: flex; align-items: center; gap: 8px; }
.pp-facet-timi input { width: 100%; padding: 9px 10px; border: 1.5px solid var(--gramma); border-radius: var(--r-s); background: var(--krem); font-size: .9rem; }
.pp-facet-timi input:focus { outline: none; border-color: var(--menta); background: #fff; }
.pp-select { width: 100%; padding: 10px 12px; border: 1.5px solid var(--gramma); border-radius: var(--r-s); background: var(--krem); font-family: inherit; font-size: .92rem; color: var(--melani); }
.pp-facet-check { display: flex; align-items: center; gap: 9px; font-size: .92rem; margin-bottom: 16px; cursor: pointer; }
.pp-facet-check input { width: 17px; height: 17px; accent-color: var(--menta); }
.pp-facet-koumpia { display: flex; flex-direction: column; gap: 10px; align-items: center; }
.pp-facet-katharise { font-size: .86rem; color: var(--melani-apalo); }
.pp-kena { padding: 40px 0; color: var(--melani-apalo); }
@media (max-width: 900px){
  .pp-katalogos-korpi { grid-template-columns: 1fr; }
  .pp-facets-toggle { display: inline-flex; }
  .pp-facets { position: static; order: -1; margin-bottom: 8px; }
  .pp-facets[data-facets]:not(.pp-anoixto) { display: none; }
}

/* ================= PDP ================= */
.pp-pdp { max-width: 960px; margin: 0 auto; padding: 22px 16px 60px; }
.pp-pdp-media { margin: 14px 0 26px; }
.pp-pdp-kyria { position: relative; background: var(--krem-vathi); border-radius: var(--r-l); overflow: hidden; border: 1px solid var(--gramma-apalo); }
.pp-pdp-kyria img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.pp-pdp-thumbs { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.pp-pdp-thumb { width: 74px; height: 74px; padding: 0; border: 2px solid var(--gramma-apalo); border-radius: var(--r-s); overflow: hidden; background: var(--krem-vathi); }
.pp-pdp-thumb img { width: 100%; height: 100%; object-fit: cover; }
.pp-pdp-thumb.pp-on { border-color: var(--menta); }
.pp-pdp-kyfali { margin-bottom: 26px; }
.pp-pdp-meta { font-size: .84rem; text-transform: uppercase; letter-spacing: .04em; color: var(--menta-vathi); font-weight: 700; display: inline-flex; align-items: center; gap: 8px; }
.pp-pdp-tit { font-size: clamp(1.6rem, 3.8vw, 2.4rem); margin: 8px 0 .3em; }
.pp-pdp-timi { display: flex; align-items: baseline; gap: 12px; margin-bottom: 6px; }
.pp-pdp-timi .pp-timi-nea { font-size: 1.9rem; }
.pp-pdp-apothema { font-size: .9rem; color: var(--melani-apalo); margin-bottom: 16px; }
.pp-diathesimo { color: var(--menta-vathi); font-weight: 700; }
.pp-exantlimeno { color: var(--kokkino); font-weight: 700; }
.pp-pdp-agora { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.pp-posotita { display: inline-flex; align-items: center; border: 1.5px solid var(--gramma); border-radius: var(--r-pill); overflow: hidden; background: var(--krem); }
.pp-pos-koumpi { width: 42px; height: 46px; border: 0; background: transparent; font-size: 1.3rem; color: var(--melani); }
.pp-pos-koumpi:hover { background: var(--krem-vathi); }
.pp-pos-input { width: 44px; height: 46px; border: 0; text-align: center; background: transparent; font-family: var(--kef-fmy); font-weight: 700; font-size: 1.02rem; color: var(--melani); }
.pp-pos-input:focus { outline: none; }

/* ακορντεόν */
.pp-pdp-akornteon { border-top: 1px solid var(--gramma-apalo); margin-bottom: 26px; }
.pp-ak-item { border-bottom: 1px solid var(--gramma-apalo); }
.pp-ak-koryfi { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 18px 4px; background: transparent; border: 0; font-family: var(--kef-fmy); font-weight: 700; font-size: 1.05rem; color: var(--melani); text-align: left; }
.pp-ak-simadi { position: relative; width: 16px; height: 16px; flex-shrink: 0; }
.pp-ak-simadi::before, .pp-ak-simadi::after { content: ""; position: absolute; background: var(--menta); border-radius: 2px; transition: transform .2s ease; }
.pp-ak-simadi::before { top: 7px; left: 0; width: 16px; height: 2px; }
.pp-ak-simadi::after { top: 0; left: 7px; width: 2px; height: 16px; }
.pp-ak-item.pp-open .pp-ak-simadi::after { transform: scaleY(0); }
.pp-ak-soma { display: none; padding: 0 4px 20px; color: var(--melani-apalo); }
.pp-ak-item.pp-open .pp-ak-soma { display: block; }
.pp-prodiag { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 24px; margin: 0; }
.pp-prodiag div { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--gramma-apalo); }
.pp-prodiag dt { color: var(--melani-apalo); margin: 0; }
.pp-prodiag dd { margin: 0; font-weight: 600; color: var(--melani); text-align: right; }
@media (max-width: 560px){ .pp-prodiag { grid-template-columns: 1fr; } }
.pp-pdp-simeioma { display: flex; flex-direction: column; gap: 6px; background: #e7f4ef; border-radius: var(--r-m); padding: 20px 24px; margin-bottom: 20px; }
.pp-simeioma-etiketa { font-family: var(--kef-fmy); font-weight: 700; font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; color: var(--menta-vathi); }
.pp-pdp-simeioma p { margin: 0; color: var(--menta-skoteino); }

/* ================= καλάθι σελίδα ================= */
.pp-kalathi-grid { display: grid; grid-template-columns: 1fr 340px; gap: 30px; align-items: start; }
.pp-kalathi-seira { display: grid; grid-template-columns: 90px 1fr auto auto auto; gap: 16px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--gramma-apalo); }
.pp-kalathi-foto img { border-radius: var(--r-s); width: 90px; height: 90px; object-fit: cover; background: var(--krem-vathi); }
.pp-kalathi-plir { display: flex; flex-direction: column; gap: 3px; }
.pp-kalathi-tit { font-family: var(--kef-fmy); font-weight: 700; color: var(--melani); }
.pp-kalathi-meta { font-size: .82rem; color: var(--melani-apalo); }
.pp-kalathi-monada { font-size: .82rem; color: var(--melani-apalo); }
.pp-kalathi-epim { font-family: var(--kef-fmy); font-weight: 800; min-width: 92px; text-align: right; }
.pp-kalathi-diagr { width: 38px; height: 38px; border: 0; background: transparent; border-radius: var(--r-pill); color: var(--melani-apalo); }
.pp-kalathi-diagr:hover { background: #f6e3df; color: var(--kokkino); }
.pp-kalathi-diagr svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; margin: 0 auto; }
.pp-kalathi-synopsi { background: var(--karta); border: 1px solid var(--gramma-apalo); border-radius: var(--r-m); padding: 24px; box-shadow: var(--skia-s); position: sticky; top: 150px; }
.pp-kalathi-synopsi h2 { font-size: 1.3rem; }
.pp-kalathi-dorean { font-size: .88rem; background: var(--krem-vathi); padding: 10px 14px; border-radius: var(--r-s); color: var(--melani-apalo); }
.pp-kalathi-dorean.pp-ok { background: #e7f4ef; color: var(--menta-vathi); }
.pp-synopsi-seira { display: flex; justify-content: space-between; padding: 9px 0; color: var(--melani-apalo); }
.pp-synopsi-seira strong { color: var(--melani); font-family: var(--kef-fmy); }
.pp-synopsi-synolo { border-top: 1px solid var(--gramma-apalo); margin-top: 6px; padding-top: 14px; font-size: 1.2rem; }
.pp-synopsi-synolo span { color: var(--melani); font-weight: 700; }
.pp-kalathi-synopsi .pp-koumpi { margin-top: 14px; }
.pp-synopsi-synexeia { display: block; text-align: center; margin-top: 14px; font-size: .9rem; }
.pp-kena-selida { text-align: center; padding: 50px 16px; }
.pp-kena-selida h1 { font-size: 1.8rem; }
.pp-kena-selida p { color: var(--melani-apalo); }
@media (max-width: 820px){ .pp-kalathi-grid { grid-template-columns: 1fr; } .pp-kalathi-synopsi { position: static; } }
@media (max-width: 560px){ .pp-kalathi-seira { grid-template-columns: 66px 1fr auto; grid-row-gap: 8px; } .pp-kalathi-foto img { width: 66px; height: 66px; } .pp-posotita { grid-column: 2 / -1; justify-self: start; } .pp-kalathi-epim { grid-column: 2; } .pp-kalathi-diagr { grid-column: 3; grid-row: 1; } }

/* ================= ταμείο ================= */
.pp-tameio-grid { display: grid; grid-template-columns: 1fr 360px; gap: 30px; align-items: start; }
.pp-fset { border: 1px solid var(--gramma-apalo); border-radius: var(--r-m); padding: 20px 22px; margin: 0 0 20px; background: var(--karta); }
.pp-fset legend { font-family: var(--kef-fmy); font-weight: 800; font-size: 1.1rem; padding: 0 8px; }
.pp-fset label { display: block; font-size: .88rem; font-weight: 600; color: var(--melani); margin-bottom: 12px; }
.pp-fset input, .pp-fset textarea { width: 100%; margin-top: 5px; padding: 11px 13px; border: 1.5px solid var(--gramma); border-radius: var(--r-s); background: var(--krem); font-family: inherit; font-size: .96rem; color: var(--melani); }
.pp-fset input:focus, .pp-fset textarea:focus { outline: none; border-color: var(--menta); background: #fff; }
.pp-fset-diplo { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pp-radio { display: flex; align-items: center; gap: 10px; font-weight: 500 !important; padding: 4px 0; }
.pp-radio input { width: auto !important; margin: 0 !important; accent-color: var(--menta); }
.pp-tameio-synopsi { background: var(--karta); border: 1px solid var(--gramma-apalo); border-radius: var(--r-m); padding: 24px; box-shadow: var(--skia-s); position: sticky; top: 150px; }
.pp-tameio-synopsi h2 { font-size: 1.2rem; }
.pp-tameio-eidi { list-style: none; margin: 0 0 14px; padding: 0; }
.pp-tameio-eidi li { display: grid; grid-template-columns: auto 1fr auto; gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--gramma-apalo); font-size: .88rem; }
.pp-te-pos { color: var(--menta-vathi); font-weight: 700; }
.pp-te-timi { font-weight: 700; }
.pp-tameio-noimo { font-size: .82rem; color: var(--melani-apalo); text-align: center; margin: 12px 0 0; }
.pp-sfalmata { background: #f8e6e2; border: 1px solid #e6b8ae; border-radius: var(--r-m); padding: 14px 18px; margin-bottom: 20px; color: var(--kokkino); }
.pp-sfalmata ul { margin: 0; padding-left: 18px; }
@media (max-width: 820px){ .pp-tameio-grid { grid-template-columns: 1fr; } .pp-tameio-synopsi { position: static; } .pp-fset-diplo { grid-template-columns: 1fr; } }

/* ================= ευχαριστούμε ================= */
.pp-efxaristo { background: var(--krem-vathi); min-height: 62vh; display: flex; align-items: center; }
.pp-efxaristo-in { max-width: 640px; margin: 0 auto; padding: 60px 16px; text-align: center; }
.pp-efxaristo-simadi { display: inline-flex; align-items: center; justify-content: center; width: 62px; height: 62px; border-radius: var(--r-pill); background: var(--menta); color: #fff; font-size: 1.8rem; margin-bottom: 18px; }
.pp-efxaristo-in h1 { font-size: clamp(1.6rem, 4vw, 2.3rem); }
.pp-efxaristo-kodikos { font-size: 1.02rem; color: var(--melani-apalo); }
.pp-efxaristo-kodikos strong { color: var(--menta-vathi); }
.pp-efxaristo-lead { color: var(--melani-apalo); }
.pp-efxaristo-kouti { background: var(--karta); border: 1px solid var(--gramma-apalo); border-radius: var(--r-m); padding: 22px 24px; margin: 22px 0; text-align: left; box-shadow: var(--skia-s); }
.pp-efxaristo-kouti h2 { font-size: 1.12rem; }
.pp-efxaristo-synolo { margin: 6px 0 0; }
.pp-efxaristo-doro { font-size: .92rem; color: var(--menta-vathi); font-weight: 600; }
.pp-efxaristo-drasis { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-top: 18px; }

/* ================= άρθρο ================= */
.pp-arthro { max-width: 760px; margin: 0 auto; padding: 22px 16px 60px; }
.pp-arthro-koryfi { text-align: center; margin: 18px 0 22px; }
.pp-arthro-etiketa { display: inline-block; font-family: var(--kef-fmy); font-weight: 700; font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; color: var(--menta-vathi); background: #e7f4ef; padding: 5px 14px; border-radius: var(--r-pill); }
.pp-arthro-koryfi h1 { font-size: clamp(1.7rem, 4.4vw, 2.6rem); margin: 14px 0 .2em; }
.pp-arthro-koryfi time { color: var(--melani-apalo); font-size: .88rem; }
.pp-arthro-iroas { border-radius: var(--r-l); overflow: hidden; margin-bottom: 28px; border: 1px solid var(--gramma-apalo); }
.pp-arthro-iroas img { width: 100%; aspect-ratio: 2/1; object-fit: cover; }
.pp-arthro-soma { font-size: 1.06rem; }
.pp-arthro-lead { font-size: 1.24rem; font-family: var(--kef-fmy); font-weight: 600; line-height: 1.4; color: var(--melani); margin-bottom: 1em; }
.pp-arthro-ypografi { font-style: italic; color: var(--melani-apalo); margin-top: 1.4em; }
.pp-arthro-alla { padding-left: 0; padding-right: 0; }

/* ================= about ================= */
.pp-sxetika-in { max-width: var(--plates); margin: 0 auto; padding: 30px 16px 40px; display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: start; }
.pp-sxetika-keimeno { font-size: 1.06rem; }
.pp-sxetika-plevra img { border-radius: var(--r-l); border: 1px solid var(--gramma-apalo); margin-bottom: 18px; aspect-ratio: 4/3; object-fit: cover; width: 100%; }
.pp-sxetika-arithmoi { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pp-sxetika-arithmoi li { background: var(--karta); border: 1px solid var(--gramma-apalo); border-radius: var(--r-m); padding: 16px; text-align: center; }
.pp-sxetika-arithmoi strong { display: block; font-family: var(--kef-fmy); font-size: 1.7rem; color: var(--menta-vathi); }
.pp-sxetika-arithmoi span { font-size: .82rem; color: var(--melani-apalo); }
@media (max-width: 820px){ .pp-sxetika-in { grid-template-columns: 1fr; } }

/* ================= επικοινωνία ================= */
.pp-epik-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.pp-epik-kouti { background: var(--karta); border: 1px solid var(--gramma-apalo); border-radius: var(--r-m); padding: 22px 24px; box-shadow: var(--skia-s); }
.pp-epik-kouti h2 { font-size: 1.1rem; margin-bottom: .3em; }
.pp-epik-kouti p { margin: 0 0 .4em; }
.pp-epik-mikro { font-size: .86rem; color: var(--melani-apalo); }
@media (max-width: 640px){ .pp-epik-grid { grid-template-columns: 1fr; } }

/* ================= νομικά ================= */
.pp-nomiko { max-width: 820px; margin: 0 auto; padding: 20px 16px 60px; }
.pp-nomiko-in h2 { font-size: 1.24rem; margin: 1.4em 0 .4em; }
.pp-nomiko-in ul { padding-left: 20px; }
.pp-nomiko-in li { margin-bottom: 8px; }
.pp-nomiko-link { color: var(--menta-vathi); font-weight: 600; }
.pp-cookie-pinakas { width: 100%; border-collapse: collapse; margin: 12px 0; }
.pp-cookie-pinakas th, .pp-cookie-pinakas td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--gramma-apalo); font-size: .92rem; }
.pp-cookie-pinakas th { font-family: var(--kef-fmy); background: var(--krem-vathi); }

/* ================= 404 ================= */
.pp-404-arithmos { display: block; font-family: var(--kef-fmy); font-weight: 800; font-size: clamp(4rem, 14vw, 7rem); color: var(--menta); opacity: .35; line-height: 1; }

/* ================= footer ================= */
.pp-yposelido { background: #1c2621; color: #cdd6d0; margin-top: 30px; }
.pp-pay-strip { max-width: var(--plates); margin: 0 auto; padding: 22px 16px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; border-bottom: 1px solid rgba(255,255,255,.08); }
.pp-pay-titlos { font-family: var(--kef-fmy); font-weight: 700; color: #fff; }
.pp-pay-lista { list-style: none; display: flex; gap: 8px; flex-wrap: wrap; margin: 0; padding: 0; }
.pp-pay-chip { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: var(--r-s); padding: 6px 12px; font-size: .8rem; font-weight: 600; color: #e7ece8; }
.pp-pay-couriers { margin-left: auto; font-size: .84rem; color: #9fb0a7; }
.pp-ypo-grid { max-width: var(--plates); margin: 0 auto; padding: 40px 16px; display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 30px; }
.pp-ypo-marka .pp-marka-onoma { color: #fff; font-size: 1.4rem; }
.pp-ypo-marka p { color: #9fb0a7; font-size: .9rem; max-width: 40ch; }
.pp-ypo-epikoinonia a { color: #cdd6d0; }
.pp-ypo-stili h4 { font-family: var(--kef-fmy); color: #fff; font-size: .96rem; margin-bottom: 12px; }
.pp-ypo-stili ul { list-style: none; margin: 0; padding: 0; }
.pp-ypo-stili li { margin-bottom: 9px; }
.pp-ypo-stili a { color: #9fb0a7; font-size: .9rem; }
.pp-ypo-stili a:hover { color: var(--menta-hover); }
.pp-ypo-nomika { max-width: var(--plates); margin: 0 auto; padding: 20px 16px 34px; border-top: 1px solid rgba(255,255,255,.08); }
.pp-ypo-nomika p { color: #83938a; font-size: .8rem; margin: 0 0 4px; }
@media (max-width: 820px){ .pp-ypo-grid { grid-template-columns: 1fr 1fr; } .pp-pay-couriers { margin-left: 0; width: 100%; } }
@media (max-width: 520px){ .pp-ypo-grid { grid-template-columns: 1fr; } }

/* ================= cookie banner ================= */
.pp-cookie { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 130; display: flex; justify-content: center; }
.pp-cookie[hidden] { display: none; }
.pp-cookie-soma { max-width: 720px; background: var(--karta); border: 1px solid var(--gramma-apalo); border-radius: var(--r-l); box-shadow: var(--skia-l); padding: 18px 22px; display: flex; align-items: center; gap: 20px; }
.pp-cookie-soma p { margin: 0; font-size: .88rem; color: var(--melani-apalo); }
.pp-cookie-soma p strong { color: var(--melani); }
.pp-cookie-koumpia { display: flex; gap: 10px; flex-shrink: 0; }
.pp-cookie-koumpia .pp-koumpi { padding: 9px 16px; font-size: .86rem; }
@media (max-width: 620px){ .pp-cookie-soma { flex-direction: column; align-items: stretch; text-align: center; } .pp-cookie-koumpia { justify-content: center; } }

/* ---- τμήματα headings row επιλογές/προσφορές/ιστορίες ---- */
.pp-epiloges, .pp-tmimata, .pp-prosfores-row, .pp-istories-row { }

/* body scroll-lock */
body.pp-locked { overflow: hidden; }
