/* Public pages styling (minimal, SEO-friendly, fast)
   Theme: clean white + configurable accent inspired by skolniprogram.cz
*/
:root{
  --p-pink:#e6007e;
  --p-green:#86c21f;
  /* Theme-friendly aliases */
  --p-accent: var(--p-pink);
  --p-secondary: var(--p-green);
  --p-accent-rgb: 230,0,126;
  --p-on-accent: #fff;
  --p-on-secondary: #fff;
  --p-text:#101828;
  --p-muted:#667085;
  --p-border:#e6e8ef;
  --p-bg:#fafbff;
  --p-card:#ffffff;
  --p-radius:18px;
  --p-pill:999px;
  --p-shadow:0 10px 22px rgba(16,24,40,.08);
}
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; background:var(--p-bg); color:var(--p-text);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}
a{ color:inherit; text-decoration:none; }

.ps-wrap{ width:min(1100px, calc(100% - 64px)); margin:0 auto; }
.ps-header{ position:sticky; top:0; z-index:20; background:rgba(255,255,255,.92); backdrop-filter: blur(6px); border-bottom:1px solid rgba(var(--p-accent-rgb),.16); }
.ps-header .ps-wrap{ display:flex; align-items:center; justify-content:space-between; padding:14px 0; gap:16px; }
.ps-brand{ display:flex; align-items:center; gap:12px; }
.ps-logo{ width:40px; height:40px; border-radius:12px; }
.ps-name{ font-weight:800; }
.ps-domain{ font-size:12px; color:var(--p-muted); margin-top:2px; }

.ps-nav{ display:flex; align-items:center; gap:12px; }
.ps-navlink{ padding:10px 14px; border-radius:var(--p-pill); border:1px solid rgba(16,24,40,.10); background:#fff; box-shadow:0 8px 18px rgba(16,24,40,.04); font-weight:700; }
.ps-navlink:hover{ border-color: rgba(var(--p-accent-rgb),.30); color:var(--p-accent); box-shadow: var(--p-shadow); }
.ps-navlink.active{ border-color: rgba(var(--p-accent-rgb),.55); color:var(--p-accent); }

.ps-lang{ display:flex; gap:8px; margin-left:6px; }
.ps-langchip{ padding:8px 10px; border-radius:var(--p-pill); border:1px solid rgba(16,24,40,.10); background:#fff; color:var(--p-muted); font-weight:800; font-size:12px; }
.ps-langchip.active{ border-color: rgba(var(--p-accent-rgb),.55); color:var(--p-accent); }

.ps-theme-select{ padding:8px 10px; border-radius:var(--p-pill); border:1px solid rgba(16,24,40,.10); background:#fff; color:var(--p-muted); font-weight:800; font-size:12px; }
.ps-theme-select:focus{ outline:none; border-color: rgba(var(--p-accent-rgb),.35); }
.ps-theme-label{ display:inline-flex; align-items:center; height:34px; line-height:34px; margin-right:8px; font-size:13px; color:#666; }
.ps-theme-select{ vertical-align:middle; }


.ps-main{ padding:28px 0 40px; }
.ps-hero{ display:grid; grid-template-columns: 1.2fr .8fr; gap:18px; align-items:start; }
@media (max-width: 900px){ .ps-hero{ grid-template-columns:1fr; } }
.ps-hero h1{ margin:0 0 10px; font-size:40px; letter-spacing:-.02em; }
.ps-hero-sub{ margin:0 0 18px; color:var(--p-muted); line-height:1.55; font-size:16px; }
.ps-cta{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:18px; }

.ps-btn{ display:inline-flex; align-items:center; justify-content:center; padding:12px 18px; border-radius:var(--p-pill); font-weight:800; border:0; }
.ps-btn-primary{ background:var(--p-accent); color:var(--p-on-accent); }
.ps-btn-secondary{ background:var(--p-secondary); color:var(--p-on-secondary); }

.ps-bullets{ display:grid; grid-template-columns:1fr; gap:10px; }
.ps-bullet{ padding:14px 16px; border-radius:var(--p-radius); border:1px solid var(--p-border); background:#fff; box-shadow:0 6px 18px rgba(16,24,40,.05); }
.ps-bullet-title{ font-weight:900; margin-bottom:4px; }
.ps-bullet-desc{ color:var(--p-muted); line-height:1.5; }

.ps-card{ border-radius:var(--p-radius); border:1px solid var(--p-border); background:#fff; box-shadow:var(--p-shadow); padding:18px; }
.ps-card-title{ font-weight:900; font-size:18px; margin-bottom:6px; }
.ps-card-desc{ color:var(--p-muted); line-height:1.55; margin-bottom:10px; }
.ps-link{ color:var(--p-accent); font-weight:800; }

.ps-h1{ margin:0 0 14px; font-size:28px; letter-spacing:-.02em; }
.ps-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:14px; }
@media (max-width: 900px){ .ps-grid{ grid-template-columns:1fr; } }
.ps-tcard{ display:block; border-radius:var(--p-radius); border:1px solid var(--p-border); background:#fff; padding:16px; box-shadow:0 6px 18px rgba(16,24,40,.05); }
.ps-tcard:hover{ border-color: rgba(var(--p-accent-rgb),.28); box-shadow:var(--p-shadow); }
.ps-tname{ font-weight:900; margin-bottom:6px; }
.ps-tmeta{ color:var(--p-muted); font-size:13px; margin-bottom:4px; }
.ps-tcta{ margin-top:10px; color:var(--p-accent); font-weight:900; }

.ps-empty{ padding:14px 16px; border-radius:var(--p-radius); border:1px dashed rgba(16,24,40,.18); color:var(--p-muted); }

.ps-footer{ border-top:1px solid rgba(16,24,40,.08); color:var(--p-muted); padding:18px 0; font-size:13px; }

/* --- New Home (skolniprogram-like) --- */
.ph-hero{background:#fff;}
.ph-slider-wrap{padding:22px 0 0;}
.ph-slider{position:relative;border-radius:0;overflow:hidden;box-shadow:none;min-height:520px;background:#000;}
.ph-track{display:flex;width:100%;height:100%;transition:transform .6s ease;will-change:transform;}
.ph-slide{position:relative;flex:0 0 100%;min-height:520px;}
.ph-media{position:absolute;inset:0;}
.ph-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.05);}
.ph-overlay{position:absolute;inset:0;display:flex;align-items:center;}
.ph-overlay .ps-wrap{width:min(1100px, calc(100% - 64px));margin:0 auto;}
.ph-overlay:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.72) 44%,rgba(255,255,255,0) 78%);} 
.ph-copy{position:relative;z-index:2;max-width:560px;padding:44px 0;}
.ph-title{font-size:42px;line-height:1.05;margin:0 0 14px;color:#111827;letter-spacing:-.02em;}
.ph-sub{font-size:16px;line-height:1.6;margin:0 0 18px;color:#374151;}
.ph-cta{display:flex;gap:12px;align-items:center;}
.ph-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;background:var(--p-accent);color:var(--p-on-accent);font-weight:800;text-decoration:none;box-shadow:0 10px 22px rgba(var(--p-accent-rgb),.25);} 
.ph-btn:hover{transform:translateY(-1px);}
.ph-dots{display:flex;gap:8px;justify-content:center;margin:14px 0 0;padding:0 0 10px;}
.ph-dot{width:10px;height:10px;border-radius:999px;border:0;background:#e5e7eb;cursor:pointer;}
.ph-dot.active{background:var(--p-accent);}

.ph-features{padding:22px 0 0;}
.ph-featgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.ph-feat{background:transparent;border:0;border-radius:0;padding:6px 10px;text-align:center;box-shadow:none;} 
.ph-icircle{width:74px;height:74px;border-radius:999px;border:5px solid rgba(var(--p-accent-rgb),.25);display:flex;align-items:center;justify-content:center;margin:0 auto 10px;color:var(--p-accent);} 
.ph-ftitle{font-weight:900;color:#111827;margin:0 0 6px;}
.ph-fdesc{font-size:13px;line-height:1.45;color:#475467;}

.ph-lists{padding:26px 0 34px;}
.ph-lgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.ph-list{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;} 
.ph-lhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.ph-ltitle{font-weight:900;color:#111827;}
.ph-lall{color:var(--p-accent);text-decoration:none;font-weight:800;}
.ph-lall:hover{text-decoration:underline;}
.ph-cards{display:flex;flex-direction:column;gap:10px;}
.ph-card{display:block;text-decoration:none;border:1px solid #eef2f7;border-radius:16px;padding:12px 12px;background:#fff;}
.ph-card:hover{border-color:rgba(var(--p-accent-rgb),.25);box-shadow:0 10px 22px rgba(16,24,40,.07);transform:translateY(-1px);} 
.ph-cardname{font-weight:800;color:#111827;margin-bottom:4px;}
.ph-cardmeta{font-size:13px;color:#475467;}

@media (max-width: 980px){
  .ph-featgrid{grid-template-columns:repeat(2,1fr);}
  .ph-lgrid{grid-template-columns:1fr;}
  .ph-slider{min-height:360px;}
  .ph-slide{min-height:360px;}
  .ph-title{font-size:34px;}
}
@media (max-width: 520px){
  .ph-copy{padding:26px 18px;}
  .ph-title{font-size:28px;}
  .ph-slider{border-radius:0;min-height:360px;}
}


/* Theme selector label */
.ps-theme-label{font-size:12px;color:#667085;margin-left:12px;margin-right:8px;white-space:nowrap;}



/* Steps / web-app style CTA */
.ph-steps{padding-top:18px;}
.ph-stepgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.ph-step{background:#fff;border:1px solid #eef2f7;border-radius:18px;padding:14px;box-shadow:0 6px 18px rgba(17,24,39,.05);}
.ph-step-num{width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:800;background:#111827;color:#fff;margin-bottom:10px;}
.ph-step-title{font-weight:800;margin-bottom:6px;}
.ph-step-desc{color:#4b5563;font-size:14px;line-height:1.4;margin-bottom:12px;}
.ph-step-btn{width:100%;justify-content:center;}

/* Burger button */
.ps-burger{display:none;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;margin-left:auto;}
.ps-burger span{display:block;width:20px;height:2px;background:#111827;border-radius:2px;}
.ps-burger span+span{margin-top:4px;}


/* ===== Home quick flow (steps) ===== */
.ph-steps{margin-top:18px;}
.ph-stepgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px;}
.ph-step{background:#fff;border:1px solid #eef2f7;border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:8px;}
.ph-step-num{width:32px;height:32px;border-radius:12px;border:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;font-weight:800;}
.ph-step-title{font-weight:800;font-size:16px;}
.ph-step-desc{color:#6b7280;font-size:14px;line-height:1.35;flex:1;}
.ph-step-btn{width:100%;justify-content:center;}


/* ===== Responsive tweaks (Public) ===== */
.ps-burger{display:none;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;margin-left:auto;}
.ps-burger span{display:block;width:20px;height:2px;background:#111827;border-radius:2px;}
.ps-burger span + span{margin-top:4px;}

@media (max-width: 1024px){
  .ps-header .ps-wrap{position:relative;gap:10px;padding:10px 12px;}
  .ps-burger{display:inline-flex;}

  /* Collapse nav into a tap-friendly dropdown */
  .ps-nav{position:absolute;left:12px;right:12px;top:calc(100% + 8px);display:none;flex-direction:column;align-items:stretch;gap:8px;padding:12px;background:#fff;border:1px solid #eef2f7;border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,0.06);z-index:60;}
  body.ps-menu-open .ps-nav{display:flex;}

  .ps-link,.ps-navlink{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;font-size:16px;border:1px solid #eef2f7;border-radius:14px;background:#fff;}

  .ps-lang{margin-left:0;gap:6px;flex-wrap:wrap;}
  .ps-theme-label{margin-left:0;}
  .ps-theme-select{width:100%;}

  /* iPad landscape: keep layouts clean at 2 columns */
  .ph-featgrid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ph-stepgrid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width: 560px){
  .ps-domain{display:none;}
  .ph-hero{padding:22px 0;}
  .ph-hero-title{font-size:26px;}
  .ph-hero-sub{font-size:14px;}
  .ph-stepgrid{grid-template-columns:1fr;}
}
