/* Φόρμα κράτησης του plugin «Κρατήσεις».
   Όλα κάτω από .kr και με πρόθεμα kr-, ώστε να μην επηρεάζει (ούτε να επηρεάζεται από) το CSS του site.
   Τα χρώματα/γραμματοσειρές έρχονται από τις μεταβλητές --k-* (Πίνακας → Εμφάνιση στο site). Το site μπορεί
   να τις αλλάξει και μόνο του, π.χ. .kr{--k-display:"Oswald",sans-serif} */
.kr{
  --k-accent:#5B6067; --k-on-accent:#fff;
  --k-bg:#F4F4F1; --k-chip:#E8E8E4; --k-field:#fff; --k-fg:#0D0D0F; --k-mute:#55575C; --k-line:#0D0D0F; --k-off:#AEAFAA;
  --k-danger:#B3261E; --k-radius:0px;
  --k-mono:ui-monospace,"JetBrains Mono",Menlo,Consolas,monospace;
  box-sizing:border-box;position:relative;min-width:0;background:var(--k-bg);color:var(--k-fg);border:2px solid var(--k-line);
  border-radius:var(--k-radius);font-family:var(--k-font);font-size:16px;line-height:1.5;text-align:left;overflow:hidden}
.kr *,.kr *::before,.kr *::after{box-sizing:border-box}
.kr [hidden]{display:none!important}
:where(.kr button){font:inherit;color:inherit;cursor:pointer;margin:0}
.kr :focus-visible{outline:2px solid var(--k-accent);outline-offset:2px}
:where(.kr h2,.kr h3){margin:0;font-family:var(--k-display);text-transform:uppercase;letter-spacing:0}

.kr-head{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--k-line);color:var(--k-bg)}
.kr-head h2{flex:1;font-size:28px;line-height:1;font-weight:800;color:inherit}
.kr-tag{font:12px var(--k-mono);opacity:.75;letter-spacing:.06em}
.kr-back{background:none;border:2px solid currentColor;color:inherit;width:34px;height:34px;flex:0 0 34px;font-size:15px;border-radius:calc(var(--k-radius)*.5)}
.kr-back:hover{background:var(--k-bg);color:var(--k-line)}
.kr-progress{height:6px;background:color-mix(in srgb,var(--k-fg) 18%,transparent)}
.kr-progress i{display:block;height:100%;width:20%;background:var(--k-accent);transition:width .3s}
.kr-flow,.kr-success{padding:20px}
.kr-picked{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}
.kr-pick{font:12px var(--k-mono);background:var(--k-accent);color:var(--k-on-accent);border:0;padding:6px 9px;border-radius:calc(var(--k-radius)*.5)}
.kr-step{margin-top:14px}
.kr-step:first-of-type{margin-top:0}
.kr-ask{font:500 12px var(--k-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;display:flex;justify-content:space-between;gap:12px}
.kr-ask b{font-weight:500;color:var(--k-mute);letter-spacing:.04em;text-transform:none}
.kr-ask:focus{outline:none}
.kr-list{display:grid;border:2px solid var(--k-line);border-radius:calc(var(--k-radius)*.6);overflow:hidden}
.kr-row{display:flex;align-items:baseline;gap:12px;width:100%;text-align:left;font-weight:600;font-size:17px;line-height:1.2;background:var(--k-bg);border:0;border-bottom:2px solid var(--k-line);padding:16px 18px}
.kr-row:last-child{border-bottom:0}
.kr-row span{flex:1}
.kr-row small{font:12px var(--k-mono);color:var(--k-mute)}
.kr-row b{font-weight:800;font-size:26px;line-height:1;font-family:var(--k-display)}
.kr-row:hover,.kr-row[aria-pressed="true"]{background:var(--k-accent);color:var(--k-on-accent)}
.kr-row:hover small,.kr-row[aria-pressed="true"] small{color:inherit;opacity:.8}

.kr-cal{border:2px solid var(--k-line);padding:12px;border-radius:calc(var(--k-radius)*.6)}
.kr-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;font-weight:800;font-size:22px;font-family:var(--k-display);text-transform:uppercase}
.kr-cal-nav{background:none;border:2px solid var(--k-line);width:36px;height:36px;font-size:20px;line-height:1;border-radius:calc(var(--k-radius)*.5)}
.kr-cal-nav:hover:not(:disabled){background:var(--k-line);color:var(--k-bg)}
.kr-cal-nav:disabled{opacity:.25;cursor:default}
.kr-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.kr-dow span{text-align:center;font:11px var(--k-mono);letter-spacing:.06em;color:var(--k-mute);padding-block:4px;text-transform:uppercase}
.kr-day{aspect-ratio:1.15;max-width:100%;min-width:0;font-weight:600;font-size:15px;font-variant-numeric:tabular-nums;background:var(--k-chip);border:2px solid transparent;border-radius:calc(var(--k-radius)*.5);padding:0}
.kr-day:hover:not(:disabled){border-color:var(--k-line)}
.kr-day[aria-pressed="true"]{background:var(--k-accent);color:var(--k-on-accent)}
.kr-day.kr-today{box-shadow:inset 0 -3px 0 var(--k-fg)}
.kr-day:disabled{background:transparent;color:var(--k-off);cursor:default;text-decoration:line-through}

.kr-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:6px}
.kr-slots > .kr-hint{grid-column:1/-1;margin:0}
.kr-opt{font:500 13px var(--k-mono);padding:11px 12px;background:var(--k-chip);border:2px solid transparent;border-radius:calc(var(--k-radius)*.5)}
.kr-opt:hover{border-color:var(--k-line)}
.kr-opt[aria-pressed="true"]{background:var(--k-accent);color:var(--k-on-accent)}
.kr-slot{text-align:center;padding-inline:0}
.kr-hint{font-size:14px;color:var(--k-mute);margin:0 0 10px}

.kr-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kr-fields .kr-full{grid-column:1/-1}
.kr-fields label{display:block;font:500 11px var(--k-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--k-mute);margin-bottom:5px}
.kr-fields input{width:100%;font-size:16px;font-family:var(--k-font);color:#0D0D0F;background:var(--k-field);border:2px solid var(--k-line);padding:11px 12px;border-radius:calc(var(--k-radius)*.5);margin:0}
.kr-fields input:focus{outline:none;border-color:var(--k-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--k-accent) 30%,transparent)}
.kr-fields input[aria-invalid="true"]{border-color:var(--k-danger)}
@media (max-width:480px){.kr-fields{grid-template-columns:1fr}}
.kr-hp{position:absolute;left:-9999px}
.kr-privacy{font-size:12px;color:var(--k-mute);margin:14px 0 0;line-height:1.55}
.kr-privacy a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.kr-err{margin:14px 0 0;font-size:14px;color:var(--k-danger);font-weight:500}
.kr-fields .kr-err{margin:8px 0 0}

.kr-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:500 13px/1 var(--k-mono);letter-spacing:.08em;text-transform:uppercase;padding:15px 20px;
  border:2px solid var(--k-accent);background:var(--k-accent);color:var(--k-on-accent);border-radius:calc(var(--k-radius)*.6);text-decoration:none}
.kr-btn:hover{filter:brightness(.9)}
.kr-btn:disabled{opacity:.45;cursor:default}
.kr-btn.kr-ghost{background:transparent;color:var(--k-fg);border-color:var(--k-line)}
.kr-btn.kr-ghost:hover{background:var(--k-line);color:var(--k-bg);filter:none}
.kr-wide{width:100%;margin-top:18px}
.kr-ctas{display:flex;gap:10px;flex-wrap:wrap}

.kr-check{font-weight:800;font-size:64px;line-height:1;font-family:var(--k-display);color:var(--k-accent)}
.kr-success h3{font-size:42px;margin:10px 0 12px;font-weight:800}
.kr-success h3:focus{outline:none}
.kr-success dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:18px 0 22px;font-size:15px}
.kr-success dt{font:11px var(--k-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--k-mute);padding-top:3px}
.kr-success dd{margin:0;font-weight:600}

.kr-soon{padding:20px}
.kr-soon p{margin:0 0 14px}

/* ---------- σελίδες του plugin (αλλαγή ώρας, ακύρωση, απόρρητο) ---------- */
.kr-page-body{margin:0;background:var(--k-page,#E8E8E4);color:#0D0D0F;font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}
.kr-page{max-width:720px;margin:0 auto;padding:40px max(16px,env(safe-area-inset-right,0px)) 72px max(16px,env(safe-area-inset-left,0px))}
.kr-page-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.kr-page-top b{font-size:20px;font-weight:800;letter-spacing:-.01em}
.kr-page-top a{color:inherit;font-size:14px}
.kr-page .kr{padding:24px}
.kr-page .kr-success{padding:0}
.kr-days{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:14px}
.kr-days .kr-opt{display:grid;min-width:56px;text-align:center;padding:8px 6px}
.kr-days .kr-opt span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;opacity:.8}
.kr-days .kr-opt b{font-size:20px;font-weight:700}
.kr-prose h1{font-size:clamp(34px,6vw,52px);line-height:1;margin:6px 0 16px}
.kr-prose h2{font-size:22px;margin:30px 0 8px}
.kr-prose a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* ---------- τιμοκατάλογος (kratiseis_products) ---------- */
.kr-shop{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.kr-card{display:flex;flex-direction:column;background:var(--k-bg);color:var(--k-fg);border:2px solid var(--k-line);border-radius:var(--k-radius);overflow:hidden;font-family:var(--k-font)}
.kr-card-img{aspect-ratio:1;background:var(--k-chip);display:grid;place-items:center;overflow:hidden;border-bottom:2px solid var(--k-line)}
.kr-card-img img{width:100%;height:100%;object-fit:cover}
.kr-card-img svg{width:62%;height:auto}
.kr-card-body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;flex:1}
.kr-card-body h3{margin:0;font-weight:800;font-size:22px;line-height:1.05;font-family:var(--k-display);text-transform:uppercase}
.kr-card-body p{margin:0;color:var(--k-mute);font-size:14px}
.kr-price{margin-top:auto;padding-top:6px;font-weight:800;font-size:28px;line-height:1;font-family:var(--k-display);font-variant-numeric:tabular-nums}
@media (max-width:520px){.kr-shop{grid-template-columns:1fr 1fr;gap:10px}.kr-card-body{padding:12px}}
@media (prefers-reduced-motion:reduce){.kr-progress i{transition:none}}
.kr-page .kr-success h3{font-size:clamp(28px,7vw,40px)}
