/* PSINDR — styly appky pro WordPress shortcode [psindr_app]
   Tokeny sladěny s Mazlíkovna Design System 4.0 (--maz-* hodnoty). */

  #psindr-app-root{
    --turquoise-dark:#006C72;
    --turquoise:#0FA3A6;
    --honey:#FFB21A;
    --honey-dark:#E8990C;
    --cream:#FFF7E6;
    --ink:#0F172A;
    --gray:#6B7280;
    --white:#FFFFFF;
    --surface-soft:#F6FAFA;
    --border:#DDE8E8;
    --success:#168F6A;
    --warning:#D97706;
    --danger:#C2413A;
    --info:#2779BD;
    --radius-lg:24px;
    --radius-md:16px;
    --radius-sm:10px;
    --shadow:0 12px 30px rgba(15,23,42,.07);
    --shadow-float:0 20px 50px rgba(15,23,42,.14);
  }
  #psindr-app-root *{box-sizing:border-box;}
  #psindr-app-root{
    font-family:'Poppins',sans-serif;
    background:var(--cream);
    color:var(--ink);
    min-height:100vh;
    -webkit-font-smoothing:antialiased;
  }
  /* Ochrana proti přepsání stylem WordPress šablony — šablony mívají
     vlastní (často serifové) písmo a barvy pro h1/h2/h3/p/a s vyšší
     specificitou než třídy pluginu. Tento blok appce garantuje vlastní
     vzhled bez ohledu na aktivní téma. */
  #psindr-app-root, #psindr-app-root h1, #psindr-app-root h2, #psindr-app-root h3,
  #psindr-app-root p, #psindr-app-root a, #psindr-app-root span, #psindr-app-root div,
  #psindr-app-root button, #psindr-app-root input, #psindr-app-root select,
  #psindr-app-root textarea, #psindr-app-root label, #psindr-app-root li{
    font-family:'Poppins',sans-serif !important;
  }
  #psindr-app-root button{font-family:inherit;cursor:pointer;border:none;}
  #psindr-app-root input,#psindr-app-root select,#psindr-app-root textarea{font-family:inherit;}
  #psindr-app-root a{color:inherit;}

  /* ---------- layout shell ---------- */
  #app{max-width:1180px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;}

  header.top{
    position:sticky;top:0;z-index:40;
    background:var(--white);
    border-bottom:1px solid rgba(15,23,42,0.06);
    padding:12px 20px;
    display:flex;align-items:center;justify-content:space-between;
    gap:12px;
  }
  .logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:20px;color:var(--turquoise-dark);}
  .logo .paw{font-size:22px;}
  .logo small{display:block;font-weight:500;font-size:11px;color:var(--gray);letter-spacing:.02em;}

  nav.tabs{display:flex;gap:6px;flex-wrap:wrap;}
  .tab-btn{
    padding:8px 14px;border-radius:999px;font-weight:600;font-size:13.5px;
    background:transparent;color:var(--gray);transition:.15s;
  }
  .tab-btn.active{background:var(--turquoise-dark);color:#fff;}
  .tab-btn:hover:not(.active){background:var(--cream);color:var(--ink);}

  .species-strip{display:flex;gap:6px;padding:0 20px 10px;background:var(--white);flex-wrap:wrap;}
  .species-pill{
    display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;
    font-size:13px;font-weight:600;background:var(--cream);color:var(--turquoise-dark);
    border:1.5px solid transparent;
  }
  .species-pill.active{border-color:var(--turquoise);background:#fff;}

  main{flex:1;padding:24px 20px 60px;}
  .center-col{max-width:440px;margin:0 auto;}

  footer.bottom{
    text-align:center;padding:22px 20px;font-size:12.5px;color:var(--gray);
    border-top:1px solid rgba(15,23,42,0.06);
  }
  footer.bottom a{color:var(--turquoise-dark);font-weight:600;text-decoration:none;}

  h1,h2,h3{font-family:'Poppins',sans-serif;margin:0 0 6px;color:var(--ink);}
  h1{font-size:28px;font-weight:800;}
  h2{font-size:21px;font-weight:700;}
  h3{font-size:16px;font-weight:700;}
  p.lead{color:var(--gray);font-size:14.5px;margin-top:0;}

  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:13px 22px;border-radius:999px;font-weight:700;font-size:14.5px;
    transition:.15s transform, .15s box-shadow;
  }
  .btn:active{transform:scale(.97);}
  .btn-primary{background:var(--honey);color:var(--ink);}
  .btn-primary:hover{background:var(--honey-dark);}
  .btn-outline{background:#fff;border:1.5px solid rgba(15,23,42,0.15);color:var(--ink);}
  .btn-outline:hover{border-color:var(--turquoise);}
  .btn-ghost{background:transparent;color:var(--turquoise-dark);}
  .btn-danger{background:#fff;color:var(--danger);border:1.5px solid rgba(228,87,46,.3);}
  .btn-block{width:100%;}
  .btn-sm{padding:8px 14px;font-size:13px;border-radius:999px;}

  .card-panel{background:#fff;border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow);}

  /* ---------- onboarding / species select ---------- */
  .onboard-hero{text-align:center;padding:40px 10px 10px;}
  .onboard-hero .paw-big{font-size:46px;}
  .field{margin-bottom:16px;}
  .field label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px;}
  .field input, .field select, .field textarea{
    width:100%;padding:12px 14px;border-radius:var(--radius-sm);
    border:1.5px solid rgba(15,23,42,0.12);font-size:14.5px;background:#fff;
  }
  .field input:focus, .field select:focus, .field textarea:focus{
    outline:3px solid var(--turquoise);outline-offset:1px;border-color:var(--turquoise);
  }
  #psindr-app-root button:focus-visible, #psindr-app-root a:focus-visible{
    outline:3px solid var(--turquoise);outline-offset:2px;
  }
  .field textarea{resize:vertical;min-height:80px;}
  .hint{font-size:12px;color:var(--gray);margin-top:5px;}
  .warn-box{
    background:#FFF3E0;border:1.5px solid #FFB21A55;border-radius:var(--radius-sm);
    padding:12px 14px;font-size:13.5px;color:#7A4B00;margin:10px 0;
  }
  .error-box{
    background:#FDECEA;border:1.5px solid #C2413A55;border-radius:var(--radius-sm);
    padding:12px 14px;font-size:13.5px;color:#8A2A11;margin:10px 0;
  }
  .checkbox-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;}
  .checkbox-row input{width:18px;height:18px;margin-top:2px;flex-shrink:0;}
  .checkbox-row span{font-size:13.5px;color:var(--ink);}

  .species-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;margin-top:20px;}
  .species-tile{
    background:#fff;border-radius:var(--radius-lg);padding:26px 10px;text-align:center;
    box-shadow:var(--shadow);transition:.15s transform;
  }
  .species-tile:hover{transform:translateY(-3px);}
  .species-tile .emoji{font-size:38px;display:block;margin-bottom:8px;}
  .species-tile .label{font-weight:700;font-size:14.5px;}

  /* ---------- my animals ---------- */
  .animal-row{
    display:flex;gap:14px;align-items:center;background:#fff;border-radius:var(--radius-md);
    padding:14px;box-shadow:var(--shadow);margin-bottom:12px;
  }
  .avatar{
    width:56px;height:56px;border-radius:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
    font-size:26px;color:#fff;
  }
  .animal-row .info{flex:1;min-width:0;}
  .animal-row .name{font-weight:700;font-size:15px;}
  .animal-row .meta{font-size:12.5px;color:var(--gray);}
  .status-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;}
  .status-aktivni{background:#E4F7EF;color:#0B7A45;}
  .status-pozastaveno{background:#F1F0F0;color:var(--gray);}
  .status-ceka_na_schvaleni{background:#FFF3D6;color:#946200;}
  .status-zamitnuto{background:#FDECEA;color:#8A2A11;}
  .row-actions{display:flex;gap:6px;flex-wrap:wrap;}

  /* ---------- swipe deck ---------- */
  .deck-wrap{position:relative;height:520px;max-width:400px;margin:0 auto;}
  .card{
    position:absolute;inset:0;background:#fff;border-radius:26px;overflow:hidden;
    box-shadow:0 18px 40px rgba(15,23,42,.18);
    display:flex;flex-direction:column;touch-action:none;user-select:none;
    transition:transform .25s ease, opacity .25s ease;
  }
  .card-photo{
    height:60%;position:relative;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--turquoise),var(--turquoise-dark));
  }
  .card-photo .emoji-big{font-size:100px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.15));}
  .card-photo .paw-print{position:absolute;opacity:.14;font-size:150px;transform:rotate(-15deg);}
  .verify-badge{
    position:absolute;top:12px;left:12px;background:rgba(255,255,255,.92);color:var(--turquoise-dark);
    font-size:11.5px;font-weight:700;padding:5px 10px;border-radius:999px;display:flex;align-items:center;gap:4px;
  }
  /* Sponzorovaný/zvýrazněný profil — záměrně JINÝ vizuální jazyk než Trust badge
     (prostý text, ne zelený/tyrkysový odznak), aby si to uživatel nespletl
     s ověřením. Pravidlo DS 4.0: "Premium tarif není Trust badge." */
  .sponsor-badge{
    position:absolute;top:12px;right:12px;background:rgba(15,23,42,.55);color:#fff;
    font-size:10.5px;font-weight:600;padding:4px 9px;border-radius:6px;letter-spacing:.02em;
  }
  .swipe-stamp{
    position:absolute;top:24px;font-size:26px;font-weight:800;padding:6px 14px;border-radius:10px;
    border:4px solid; opacity:0; transform:rotate(-18deg);
  }
  .stamp-like{right:20px;color:#0B7A45;border-color:#0B7A45;}
  .stamp-nope{left:20px;color:var(--danger);border-color:var(--danger);}
  .card-info{padding:16px 18px;flex:1;display:flex;flex-direction:column;gap:6px;}
  .card-info .name-line{display:flex;align-items:baseline;gap:8px;}
  .card-info .name-line .n{font-size:19px;font-weight:800;}
  .card-info .name-line .age{font-size:15px;color:var(--gray);font-weight:600;}
  .card-info .breed-line{font-size:13.5px;color:var(--gray);}
  .tag-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px;}
  .tag{background:var(--cream);color:var(--turquoise-dark);font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;}

  .deck-empty{
    height:520px;max-width:400px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;background:#fff;border-radius:26px;box-shadow:var(--shadow);padding:30px;
  }
  .deck-empty .emoji{font-size:50px;margin-bottom:10px;}

  .swipe-actions{display:flex;justify-content:center;gap:18px;margin-top:22px;}
  .round-btn{
    width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    font-size:22px;box-shadow:0 6px 16px rgba(15,23,42,.15);background:#fff;
  }
  .round-btn.nope{color:var(--danger);}
  .round-btn.like{background:var(--honey);color:var(--ink);width:66px;height:66px;font-size:26px;}
  .round-btn.super{color:var(--turquoise);}
  .round-btn:active{transform:scale(.92);}
  .kbd-hint{text-align:center;font-size:12px;color:var(--gray);margin-top:14px;}

  /* ---------- match overlay ---------- */
  .match-overlay{
    position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:100;
    display:flex;align-items:center;justify-content:center;padding:20px;
  }
  .match-overlay.hidden{display:none;}
  .match-box{background:transparent;text-align:center;color:#fff;max-width:360px;}
  .match-box .heart{font-size:70px;color:var(--honey);animation:pop .5s ease;}
  @keyframes pop{0%{transform:scale(.3);opacity:0;}60%{transform:scale(1.15);}100%{transform:scale(1);opacity:1;}}
  .match-box h2{color:#fff;font-size:26px;margin-top:10px;}
  .match-box p{color:#E5E7EB;font-size:14.5px;}
  .match-pair{display:flex;justify-content:center;gap:-10px;margin:16px 0;}
  .match-pair .avatar{width:74px;height:74px;font-size:34px;border:4px solid #fff;margin:0 -10px;}

  /* ---------- matches / chat ---------- */
  .match-card{
    display:flex;gap:12px;align-items:center;background:#fff;border-radius:var(--radius-md);
    padding:12px;box-shadow:var(--shadow);margin-bottom:10px;
  }
  .match-card .info{flex:1;min-width:0;}
  .match-card .title{font-weight:700;font-size:14.5px;}
  .match-card .sub{font-size:12.5px;color:var(--gray);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

  .chat-wrap{display:flex;flex-direction:column;height:70vh;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;}
  .chat-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid rgba(15,23,42,.06);}
  .chat-header .info{flex:1;}
  .chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;}
  .msg{max-width:75%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.4;}
  .msg.mine{align-self:flex-end;background:var(--turquoise-dark);color:#fff;border-bottom-right-radius:4px;}
  .msg.theirs{align-self:flex-start;background:var(--cream);color:var(--ink);border-bottom-left-radius:4px;}
  .msg .ts{display:block;font-size:10px;opacity:.7;margin-top:3px;}
  .chat-input-row{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(15,23,42,.06);}
  .chat-input-row input{flex:1;padding:12px 14px;border-radius:999px;border:1.5px solid rgba(15,23,42,.12);}
  .chat-empty{color:var(--gray);text-align:center;font-size:13.5px;padding:30px 10px;}

  /* ---------- safety ---------- */
  .rule-list{list-style:none;padding:0;margin:0;}
  .rule-list li{
    display:flex;gap:12px;padding:14px 0;border-bottom:1px solid rgba(15,23,42,.06);
  }
  .rule-list li:last-child{border-bottom:none;}
  .rule-list .n{font-weight:800;color:var(--turquoise);font-size:18px;flex-shrink:0;}
  table.age-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:14px;}
  table.age-table th, table.age-table td{text-align:left;padding:8px 10px;border-bottom:1px solid rgba(15,23,42,.06);}
  table.age-table th{color:var(--gray);font-size:12px;text-transform:uppercase;letter-spacing:.03em;}

  .toast{
    position:fixed;bottom:22px;left:50%;transform:translateX(-50%);
    background:var(--ink);color:#fff;padding:12px 20px;border-radius:999px;font-size:13.5px;font-weight:600;
    box-shadow:0 10px 24px rgba(0,0,0,.25);z-index:200;opacity:0;pointer-events:none;transition:opacity .2s, transform .2s;
  }
  .toast.show{opacity:1;transform:translateX(-50%) translateY(-6px);}

  .empty-state{text-align:center;padding:40px 20px;color:var(--gray);}
  .empty-state .emoji{font-size:40px;display:block;margin-bottom:10px;}

  /* ---------- photo upload ---------- */
  .photo-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;margin-top:12px;}
  .photo-thumb{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:1/1;background:var(--cream);}
  .photo-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
  .photo-thumb .cover-tag{position:absolute;bottom:4px;left:4px;background:rgba(15,23,42,.75);color:#fff;font-size:9.5px;font-weight:700;padding:2px 6px;border-radius:6px;}
  .photo-thumb .thumb-actions{position:absolute;top:3px;right:3px;display:flex;gap:3px;}
  .photo-thumb .thumb-actions button{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.92);font-size:11px;display:flex;align-items:center;justify-content:center;}
  .photo-thumb .thumb-actions button.danger{color:var(--danger);}
  .photo-add-btn{
    aspect-ratio:1/1;border:2px dashed rgba(15,23,42,.18);border-radius:12px;
    display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;
    color:var(--gray);font-size:12px;font-weight:600;cursor:pointer;background:#fff;
  }
  .photo-add-btn:hover{border-color:var(--turquoise);color:var(--turquoise-dark);}

  /* ---------- completeness meter ---------- */
  .completeness-wrap{margin:10px 0 16px;}
  .completeness-bar{height:8px;border-radius:999px;background:var(--cream);overflow:hidden;}
  .completeness-fill{height:100%;background:linear-gradient(90deg,var(--turquoise),var(--honey));border-radius:999px;transition:width .3s;}
  .completeness-label{font-size:12px;color:var(--gray);margin-top:5px;display:flex;justify-content:space-between;}
  .mini-complete{font-size:11px;color:var(--turquoise-dark);font-weight:700;}

  /* ---------- card photo nav ---------- */
  .photo-tap-zone{position:absolute;top:0;bottom:0;width:32%;z-index:5;}
  .photo-tap-zone.left{left:0;}
  .photo-tap-zone.right{right:0;}
  .photo-dots{position:absolute;top:8px;left:8px;right:8px;display:flex;gap:4px;z-index:6;}
  .photo-dot{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.45);}
  .photo-dot.active{background:#fff;}
  .card-info{cursor:pointer;}

  /* ---------- detail overlay ---------- */
  .detail-overlay{
    position:fixed;inset:0;background:rgba(15,23,42,.6);z-index:110;
    display:flex;align-items:flex-end;justify-content:center;
  }
  .detail-overlay.hidden{display:none;}
  .detail-box{
    background:#fff;width:100%;max-width:460px;max-height:88vh;overflow-y:auto;
    border-radius:26px 26px 0 0;padding:0 0 20px;
  }
  @media (min-width:640px){
    .detail-overlay{align-items:center;}
    .detail-box{border-radius:26px;max-height:80vh;}
  }
  .detail-close{
    position:sticky;top:10px;float:right;margin-right:10px;width:34px;height:34px;border-radius:50%;
    background:rgba(15,23,42,.55);color:#fff;font-size:16px;z-index:5;
  }
  .detail-gallery{height:280px;position:relative;background:linear-gradient(135deg,var(--turquoise),var(--turquoise-dark));}
  .detail-gallery img{width:100%;height:100%;object-fit:cover;}
  .detail-thumbs{display:flex;gap:6px;padding:10px 16px;overflow-x:auto;}
  .detail-thumbs img{width:56px;height:56px;object-fit:cover;border-radius:10px;flex-shrink:0;cursor:pointer;opacity:.6;}
  .detail-thumbs img.active{opacity:1;outline:2px solid var(--turquoise);}
  .detail-content{padding:14px 20px 4px;}
  .detail-actions{display:flex;justify-content:center;gap:16px;padding:14px 20px 6px;}

  /* ---------- badges on tabs ---------- */
  .tab-btn{position:relative;}
  .tab-badge{
    position:absolute;top:-2px;right:2px;background:var(--danger);color:#fff;font-size:10px;font-weight:800;
    min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 3px;
  }

  /* ---------- premium / likes ---------- */
  .plan-badge{font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:999px;background:#FFF3D6;color:#946200;}
  .premium-cta{
    background:linear-gradient(135deg,var(--honey),var(--honey-dark));border-radius:var(--radius-lg);
    padding:22px;text-align:center;color:var(--ink);margin-bottom:16px;
  }
  .premium-cta h3{margin-bottom:6px;}
  .blurred{filter:blur(9px);pointer-events:none;user-select:none;}
  .likes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;}
  .like-tile{background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);}
  .like-tile .ph{height:120px;background:linear-gradient(135deg,var(--turquoise),var(--turquoise-dark));display:flex;align-items:center;justify-content:center;font-size:40px;position:relative;}
  .like-tile .ph img{width:100%;height:100%;object-fit:cover;}
  .like-tile .body{padding:10px;}
  .like-tile .body .n{font-weight:700;font-size:13.5px;}
  .like-tile .body .b{font-size:11.5px;color:var(--gray);}

  /* ---------- icebreakers ---------- */
  .icebreakers{display:flex;gap:6px;flex-wrap:wrap;padding:10px 14px 0;}
  .icebreaker-chip{
    background:var(--cream);color:var(--turquoise-dark);font-size:12px;font-weight:600;
    padding:7px 12px;border-radius:999px;text-align:left;max-width:100%;
  }
  .icebreaker-chip:hover{background:#EAF7F7;}

  .invite-btn{display:flex;align-items:center;gap:6px;background:var(--cream);color:var(--turquoise-dark);
    padding:8px 14px;border-radius:999px;font-weight:700;font-size:13px;white-space:nowrap;}

  /* ---------- pricing ---------- */
  .pricing-card{border:1.5px solid rgba(15,23,42,.1);border-radius:var(--radius-md);padding:16px;margin-bottom:14px;}
  .pricing-card h3{display:flex;align-items:center;gap:8px;font-size:15px;}
  .pricing-card .save-tag{background:#E4F7EF;color:#0B7A45;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:999px;}
  .pricing-card .price{font-size:24px;font-weight:800;color:var(--turquoise-dark);margin:6px 0 10px;}
  .pricing-card .price span{font-size:12px;font-weight:600;color:var(--gray);}
  .pricing-card ul{margin:0 0 12px;padding-left:18px;font-size:12.5px;color:var(--gray);}
  .pricing-card ul li{margin-bottom:3px;}
  .admin-note{background:#FDECEA;border:1.5px solid #C2413A44;border-radius:var(--radius-sm);padding:12px 14px;font-size:13px;color:#8A2A11;margin-bottom:14px;}

  @media (max-width:640px){
    header.top{flex-direction:column;align-items:flex-start;gap:10px;}
    nav.tabs{width:100%;overflow-x:auto;}
  }

/* ============================================================
   Psindr 0.3 — brand, jednoduchost a responzivita
   ============================================================ */
#psindr-app-root{
  width:100%;
  min-height:auto;
  background:linear-gradient(180deg,#F6FAFA 0%,#FFF7E6 100%);
  overflow-x:hidden;
}
#psi-app{width:100%;max-width:1180px;margin:0 auto;min-height:clamp(680px,85vh,980px);display:flex;flex-direction:column;}
header.top{min-height:86px;padding:10px clamp(14px,2vw,24px);}
.brand-home{background:transparent!important;padding:0!important;flex:0 0 auto;line-height:0;border-radius:12px;}
.brand-logo{display:block;width:clamp(132px,15vw,190px);height:auto;max-height:68px;object-fit:contain;}
.welcome-logo{display:block;width:min(330px,82vw);height:auto;margin:0 auto 18px;}
#psindr-app-root main{width:100%;padding:clamp(18px,3vw,34px) clamp(14px,3vw,28px) 70px;}
#psindr-app-root .center-col{width:100%;max-width:680px;}
#psindr-app-root .card-panel,#psindr-app-root .animal-row,#psindr-app-root .species-tile{border:1px solid var(--border);}
#psindr-app-root .btn{min-height:44px;border-radius:16px;}
#psindr-app-root .btn-primary{box-shadow:0 8px 18px rgba(255,178,26,.22);}
#psindr-app-root .field input,#psindr-app-root .field select,#psindr-app-root .field textarea{min-height:50px;font-size:16px;}
#psindr-app-root .field textarea{min-height:110px;}
#psindr-app-root nav.tabs{justify-content:center;flex:1;}
#psindr-app-root .tab-btn{min-height:42px;white-space:nowrap;}
#psindr-app-root .invite-btn{min-height:44px;border:1px solid var(--border);}
#psindr-app-root .species-strip{position:sticky;top:86px;z-index:30;padding-top:8px;border-bottom:1px solid var(--border);}
#psindr-app-root .animal-row{align-items:flex-start;}
#psindr-app-root .row-actions{justify-content:flex-end;max-width:340px;}
#psindr-app-root .deck-wrap{height:min(610px,calc(100vh - 245px));min-height:500px;}
#psindr-app-root .card-photo{min-height:280px;}

@media (max-width:900px){
  header.top{display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand invite" "tabs tabs";align-items:center;}
  .brand-home{grid-area:brand;justify-self:start;}
  nav.tabs{grid-area:tabs;width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:4px 0 2px;scrollbar-width:thin;}
  .invite-btn{grid-area:invite;}
  #psindr-app-root .species-strip{top:132px;overflow-x:auto;flex-wrap:nowrap;}
  #psindr-app-root .species-pill{flex:0 0 auto;}
  #psindr-app-root .animal-row{display:grid;grid-template-columns:64px 1fr;}
  #psindr-app-root .row-actions{grid-column:1/-1;max-width:none;justify-content:flex-start;}
}

@media (max-width:640px){
  #psindr-app-root{background:#F6FAFA;}
  #psi-app{min-height:100svh;}
  header.top{position:sticky;top:0;display:flex;flex-direction:row;align-items:center;min-height:66px;padding:8px 12px;}
  .brand-logo{width:132px;max-height:52px;}
  .invite-btn{margin-left:auto;padding:9px 11px;font-size:0;min-width:44px;}
  .invite-btn::after{content:'Pozvat';font-size:12px;}
  nav.tabs{
    position:fixed;left:0;right:0;bottom:0;z-index:100;
    background:#fff;border-top:1px solid var(--border);box-shadow:0 -10px 30px rgba(15,23,42,.08);
    display:grid!important;grid-template-columns:repeat(6,minmax(54px,1fr));gap:0;padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));overflow:visible;
  }
  .tab-btn{min-width:0!important;min-height:48px!important;padding:5px 3px!important;border-radius:12px!important;font-size:10.5px!important;line-height:1.15;white-space:normal!important;}
  .tab-btn.active{background:var(--turquoise-dark)!important;}
  #psindr-app-root .species-strip{top:66px;padding:8px 12px;}
  #psindr-app-root main{padding:18px 12px calc(92px + env(safe-area-inset-bottom));}
  #psindr-app-root h1{font-size:26px;line-height:1.2;}
  #psindr-app-root h2{font-size:21px;line-height:1.25;}
  .onboard-hero{padding:18px 0 8px;}
  .welcome-logo{width:min(290px,90vw);margin-bottom:10px;}
  .species-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .species-tile{padding:20px 8px;border-radius:18px;}
  .animal-row{grid-template-columns:54px 1fr;padding:12px;}
  .avatar{width:54px;height:54px;}
  .row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;}
  .row-actions .btn{width:100%;padding:9px 8px;font-size:12px;}
  .deck-wrap{height:calc(100svh - 230px)!important;min-height:470px!important;max-height:650px;}
  .card{border-radius:22px;}
  .detail-box{max-height:92svh;border-radius:22px 22px 0 0;}
  .likes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  footer.bottom{padding-bottom:94px;}
}

@media (max-width:380px){
  .brand-logo{width:116px;}
  .tab-btn{font-size:9.5px!important;}
  .species-grid{grid-template-columns:1fr 1fr;}
  .row-actions{grid-template-columns:1fr;}
}

@media (prefers-reduced-motion:reduce){
  #psindr-app-root *,#psindr-app-root *::before,#psindr-app-root *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important;}
}

/* ---------- profesionální patička Psindr ---------- */
#psindr-app-root .psindr-footer{
  background:#fff;
  color:var(--ink);
  text-align:left;
  padding:0;
  border-top:1px solid var(--border);
}
#psindr-app-root .psindr-footer-main{
  max-width:1180px;
  margin:0 auto;
  padding:42px 28px 34px;
  display:grid;
  grid-template-columns:minmax(220px,1.25fr) minmax(200px,.9fr) minmax(240px,1fr);
  gap:44px;
  align-items:start;
}
#psindr-app-root .psindr-footer-brand img{
  display:block;
  width:190px;
  max-width:100%;
  height:auto;
  margin:0 0 14px;
}
#psindr-app-root .psindr-footer-brand p,
#psindr-app-root .psindr-footer-contact p{
  margin:0;
  color:var(--gray);
  font-size:14px;
  line-height:1.65;
  max-width:330px;
}
#psindr-app-root .psindr-footer h2{
  margin:2px 0 12px;
  font-size:17px;
  line-height:1.3;
  font-weight:750;
  color:var(--turquoise-dark);
}
#psindr-app-root .psindr-footer-mail{
  display:inline-flex;
  margin-top:12px;
  color:var(--turquoise-dark);
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  overflow-wrap:anywhere;
}
#psindr-app-root .psindr-footer-mail:hover,
#psindr-app-root .psindr-footer-links a:hover{
  color:var(--turquoise);
  text-decoration:underline;
}
#psindr-app-root .psindr-footer-links{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:9px;
}
#psindr-app-root .psindr-footer-links a{
  color:var(--ink);
  font-size:14px;
  line-height:1.45;
  font-weight:550;
  text-decoration:none;
}
#psindr-app-root .psindr-footer-bottom{
  background:var(--turquoise-dark);
  color:#fff;
  padding:15px 28px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px 22px;
  font-size:12.5px;
  line-height:1.5;
  text-align:center;
}
#psindr-app-root .psindr-footer-bottom a{
  color:#fff;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
}
#psindr-app-root .psindr-footer-account{opacity:.9;}

/* Na stránce s [psindr_app] schová ukázkovou/powered-by patičku aktivní šablony.
   Ostatní stránky webu tím nejsou dotčené. */
body.psindr-app-page .site-footer,
body.psindr-app-page footer#colophon,
body.psindr-app-page .site-info,
body.psindr-app-page .powered-by,
body.psindr-app-page .wp-block-site-info,
body.psindr-app-page .footer-default,
body.psindr-app-page .footer-widgets,
body.psindr-app-page .wp-site-blocks > footer{
  display:none !important;
}
body.psindr-app-page #psindr-app-root .psindr-footer{
  display:block !important;
}

@media (max-width:900px){
  #psindr-app-root .psindr-footer-main{
    grid-template-columns:1fr 1fr;
    gap:32px 38px;
  }
  #psindr-app-root .psindr-footer-brand{grid-column:1 / -1;}
}
@media (max-width:620px){
  #psindr-app-root .psindr-footer-main{
    grid-template-columns:1fr;
    padding:34px 22px 28px;
    gap:28px;
  }
  #psindr-app-root .psindr-footer-brand{grid-column:auto;}
  #psindr-app-root .psindr-footer-brand img{width:165px;}
  #psindr-app-root .psindr-footer-bottom{
    flex-direction:column;
    gap:5px;
    padding:16px 20px 94px;
  }
}

/* ============================================================
   PSINDR 0.4 — standalone PWA application shell
   ============================================================ */
html:has(body.psindr-standalone-shell),body.psindr-standalone-shell{margin:0!important;padding:0!important;background:#F6FAFA!important;min-height:100%;}
body.psindr-standalone-shell{overflow-x:hidden;}
body.psindr-standalone-shell #wpadminbar{position:fixed;}
body.psindr-standalone-shell #psindr-app-root{width:100%;min-height:100dvh;}
body.psindr-standalone-shell #psi-app{width:100%;max-width:none;min-height:100dvh;display:flex;flex-direction:column;}
body.psindr-standalone-shell #psi-app>main{width:100%;}
body.psindr-standalone-shell .center-col{max-width:1120px;width:100%;}
body.psindr-standalone-shell.admin-bar header.top{top:32px;}
@media(max-width:782px){body.psindr-standalone-shell.admin-bar header.top{top:46px;}}

#psindr-app-root svg{width:1.15em;height:1.15em;display:block;fill:currentColor;}
#psindr-app-root .top-actions{display:flex;align-items:center;gap:8px;margin-left:auto;}
#psindr-app-root .install-btn,#psindr-app-root .invite-btn{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--turquoise-dark);font-weight:750;font-size:13px;}
#psindr-app-root .install-btn{background:var(--cream);}
#psindr-app-root .hidden{display:none!important;}
#psindr-app-root .tab-btn{display:flex;align-items:center;gap:7px;min-height:44px;}
#psindr-app-root .tab-icon{display:inline-flex;font-size:17px;}
#psindr-app-root .tab-label{display:inline-block;}

/* Přihlašovací obrazovka */
#psindr-app-root .auth-screen{min-height:calc(100dvh - 180px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);align-items:center;gap:64px;padding:48px 32px;max-width:1120px;margin:0 auto;}
#psindr-app-root .auth-visual{max-width:610px;}
#psindr-app-root .auth-logo{width:min(390px,85%);height:auto;display:block;margin:0 0 28px;}
#psindr-app-root .auth-visual h1{font-size:clamp(34px,4.1vw,58px);line-height:1.08;letter-spacing:-.035em;margin-bottom:18px;}
#psindr-app-root .auth-visual>p{font-size:18px;line-height:1.65;color:var(--gray);max-width:590px;}
#psindr-app-root .auth-trust{display:flex;align-items:center;gap:10px;margin-top:25px;color:var(--turquoise-dark);font-weight:650;font-size:14px;}
#psindr-app-root .auth-trust span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#EAF7F7;flex:0 0 auto;}
#psindr-app-root .auth-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:32px;box-shadow:var(--shadow-float);}
#psindr-app-root .auth-card h2{font-size:27px;}
#psindr-app-root .auth-form{display:flex;flex-direction:column;gap:8px;margin-top:22px;}
#psindr-app-root .auth-form label{font-size:13px;font-weight:700;margin-top:7px;}
#psindr-app-root .auth-form input[type=text],#psindr-app-root .auth-form input[type=password]{width:100%;height:52px;border:1.5px solid var(--border);border-radius:14px;padding:0 15px;background:#fff;font-size:16px;}
#psindr-app-root .auth-form input:focus{outline:3px solid rgba(15,163,166,.24);border-color:var(--turquoise);}
#psindr-app-root .auth-remember{display:flex;align-items:center;gap:8px;font-weight:500!important;margin:7px 0 10px!important;}
#psindr-app-root .auth-remember input{width:18px;height:18px;}
#psindr-app-root .auth-submit{min-height:52px;border-radius:14px;}
#psindr-app-root .auth-link,#psindr-app-root .auth-secondary{display:block;text-align:center;margin-top:16px;color:var(--turquoise-dark);font-size:13.5px;font-weight:700;text-decoration:none;}
#psindr-app-root .auth-secondary{margin-top:10px;padding:12px;border:1px solid var(--border);border-radius:13px;}
#psindr-app-root .auth-family{text-align:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--border);font-size:12.5px;color:var(--gray);}
#psindr-app-root .auth-family a{color:var(--turquoise-dark);font-weight:700;text-decoration:none;}

/* Premium stránka */
#psindr-app-root .premium-page{max-width:1000px;margin:0 auto;}
#psindr-app-root .premium-hero{text-align:center;max-width:700px;margin:4px auto 30px;}
#psindr-app-root .premium-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--turquoise-dark);font-weight:800;background:#EAF7F7;border-radius:999px;padding:8px 13px;margin-bottom:14px;}
#psindr-app-root .premium-hero h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.025em;}
#psindr-app-root .premium-hero p{color:var(--gray);font-size:16px;line-height:1.6;}
#psindr-app-root .premium-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;}
#psindr-app-root .premium-grid .pricing-card{background:#fff;margin:0;padding:24px;position:relative;display:flex;flex-direction:column;box-shadow:var(--shadow);}
#psindr-app-root .premium-grid .pricing-card ul{flex:1;line-height:1.65;}
#psindr-app-root .pricing-card.featured{border:2px solid var(--honey);transform:translateY(-8px);box-shadow:var(--shadow-float);}
#psindr-app-root .popular-label{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--honey);color:var(--ink);border-radius:999px;padding:6px 12px;font-size:11px;font-weight:850;white-space:nowrap;}
#psindr-app-root .premium-note{display:flex;align-items:flex-start;gap:12px;margin:28px auto 0;padding:18px 20px;max-width:720px;background:#EAF7F7;border-radius:16px;color:var(--turquoise-dark);font-size:13.5px;line-height:1.55;}
#psindr-app-root .premium-note>svg{flex:0 0 auto;font-size:25px;}

/* Jemnější moderní profily a chat */
#psindr-app-root .animal-row{border:1px solid var(--border);box-shadow:0 8px 24px rgba(15,23,42,.055);}
#psindr-app-root .card{border:1px solid rgba(255,255,255,.45);will-change:transform;}
#psindr-app-root .chat-wrap{height:min(72dvh,760px);border:1px solid var(--border);}
#psindr-app-root .chat-header{background:linear-gradient(180deg,#fff,#F9FCFC);}
#psindr-app-root .chat-input-row{background:#fff;position:sticky;bottom:0;}
#psindr-app-root .chat-input-row input{min-height:48px;background:#F6FAFA;}

@media(max-width:1020px){
  #psindr-app-root .auth-screen{grid-template-columns:1fr;gap:25px;max-width:660px;padding:34px 24px;}
  #psindr-app-root .auth-visual{text-align:center;margin:0 auto;}
  #psindr-app-root .auth-logo{margin:0 auto 20px;width:min(330px,80%);}
  #psindr-app-root .auth-trust{justify-content:center;}
  #psindr-app-root .premium-grid{grid-template-columns:1fr;max-width:620px;margin:0 auto;}
  #psindr-app-root .pricing-card.featured{transform:none;}
}

@media(max-width:640px){
  body.psindr-standalone-shell #psindr-app-root .center-col{max-width:100%;}
  #psindr-app-root .auth-screen{min-height:auto;padding:22px 14px 110px;gap:18px;}
  #psindr-app-root .auth-visual h1{font-size:31px;}
  #psindr-app-root .auth-visual>p{font-size:15px;}
  #psindr-app-root .auth-logo{width:min(260px,78%);}
  #psindr-app-root .auth-card{padding:23px 18px;border-radius:20px;}
  #psindr-app-root .top-actions{gap:5px;}
  #psindr-app-root .install-btn,#psindr-app-root .invite-btn{width:44px;padding:0;justify-content:center;}
  #psindr-app-root .install-btn span,#psindr-app-root .invite-btn span{display:none;}
  #psindr-app-root nav.tabs{grid-template-columns:repeat(7,minmax(45px,1fr));}
  #psindr-app-root .tab-btn{flex-direction:column;gap:2px;justify-content:center;min-height:55px!important;padding:4px 1px!important;}
  #psindr-app-root .tab-icon{font-size:18px;}
  #psindr-app-root .tab-label{font-size:8.8px;line-height:1;}
  #psindr-app-root .premium-page{padding-bottom:10px;}
  #psindr-app-root .premium-grid .pricing-card{padding:21px 18px;}
  #psindr-app-root .chat-wrap{height:calc(100dvh - 188px);border-radius:18px;}
}

/* 0.4.1 — právní krok před GoPay */
.legal-checkout{padding-top:52px;max-width:720px;margin:0 auto}.checkout-summary{display:flex;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid var(--border,#dde8e8);border-radius:16px;background:var(--soft,#f6fafa);margin:14px 0 20px}.legal-consent{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--border,#dde8e8);font-size:14px;line-height:1.5;cursor:pointer}.legal-consent input{width:22px;height:22px;flex:0 0 auto;margin-top:1px}.legal-consent a{color:var(--primary,#006c72);font-weight:700}.checkout-hint{font-size:12px;line-height:1.5;color:var(--gray,#6b7280);margin-top:12px}.premium-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}@media(max-width:767px){.checkout-summary{flex-direction:column;gap:4px}.legal-consent{font-size:13px}.legal-checkout{padding-top:44px}}

/* Psindr 0.5.0 – právní patička a CMP */
.footer-link-button{appearance:none;border:0;background:transparent;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cookie-panel{position:fixed;inset:0;z-index:100000;display:flex;align-items:flex-end;justify-content:center;padding:18px;background:rgba(15,23,42,.38);backdrop-filter:blur(4px)}
.cookie-panel.hidden{display:none}
.cookie-card{width:min(760px,100%);background:#fff;border:1px solid #dbe7e7;border-radius:24px;padding:22px;box-shadow:0 24px 70px rgba(15,23,42,.28)}
.cookie-card h2{margin:0 0 8px;color:#006C72;font-size:24px}.cookie-card p{margin:0 0 14px;color:#4b5563}
.cookie-card label{display:flex;gap:10px;align-items:flex-start;padding:9px 0;font-weight:600}.cookie-card input{width:20px;height:20px;accent-color:#006C72}
.cookie-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin:16px 0 10px}
@media(max-width:640px){.cookie-panel{padding:0;align-items:flex-end}.cookie-card{border-radius:22px 22px 0 0;padding:18px}.cookie-actions{display:grid;grid-template-columns:1fr}.cookie-actions .btn{width:100%}}


/* PWA instalační výzva – Psindr 0.5.2 */
#psindr-app-root .ps-install-promo{max-width:1440px;margin:0 auto;padding:28px clamp(18px,4vw,56px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;background:linear-gradient(135deg,#eaf8f8 0%,#fff8e8 100%);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
#psindr-app-root .ps-install-promo-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:var(--turquoise-dark);color:#fff;box-shadow:0 10px 30px rgba(0,108,114,.2)}
#psindr-app-root .ps-install-promo-icon svg{width:30px;height:30px;fill:currentColor}
#psindr-app-root .ps-install-kicker{display:block;color:var(--turquoise-dark);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px}
#psindr-app-root .ps-install-promo h2{font-size:clamp(21px,2.3vw,29px);line-height:1.2;margin:0 0 7px;color:var(--ink)}
#psindr-app-root .ps-install-promo p{margin:0;max-width:670px;color:var(--muted);font-size:14px;line-height:1.55}
#psindr-app-root .ps-install-store-buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
#psindr-app-root .ps-store-button{min-width:178px;min-height:58px;border:0;border-radius:15px;padding:8px 14px;display:flex;align-items:center;gap:11px;text-align:left;background:#0f172a;color:#fff;cursor:pointer;box-shadow:0 8px 24px rgba(15,23,42,.16);transition:transform .18s ease,box-shadow .18s ease}
#psindr-app-root .ps-store-button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(15,23,42,.22)}
#psindr-app-root .ps-store-button:focus-visible{outline:3px solid var(--honey);outline-offset:3px}
#psindr-app-root .ps-store-button small{display:block;font-size:9px;letter-spacing:.08em;opacity:.8;line-height:1.15}
#psindr-app-root .ps-store-button strong{display:block;font-size:17px;line-height:1.25}
#psindr-app-root .ps-store-symbol{font-size:24px;line-height:1;width:26px;text-align:center}
#psindr-app-root .ps-store-ios{background:#062f32}
#psindr-app-root .ps-install-help{max-width:560px;padding:34px 30px}
#psindr-app-root .ps-install-help-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#eaf8f8;color:var(--turquoise-dark);margin-bottom:15px}
#psindr-app-root .ps-install-help-icon svg{width:28px;height:28px;fill:currentColor}
#psindr-app-root .ps-install-help h2{font-size:26px;margin:0 0 18px}
#psindr-app-root .ps-install-help ol{padding-left:23px;margin:0 0 18px}
#psindr-app-root .ps-install-help li{margin:10px 0;line-height:1.55}
#psindr-app-root .ps-install-note{padding:13px 15px;border-radius:12px;background:var(--cream);color:var(--muted);font-size:13px}
@media(max-width:900px){#psindr-app-root .ps-install-promo{grid-template-columns:auto 1fr}#psindr-app-root .ps-install-store-buttons{grid-column:1/-1;justify-content:center}#psindr-app-root .ps-store-button{flex:1;max-width:260px}}
@media(max-width:560px){#psindr-app-root .ps-install-promo{grid-template-columns:1fr;text-align:center;padding:26px 15px}#psindr-app-root .ps-install-promo-icon{margin:auto}#psindr-app-root .ps-install-store-buttons{display:grid;width:100%}#psindr-app-root .ps-store-button{width:100%;max-width:none;justify-content:center;text-align:left}#psindr-app-root .ps-install-help{padding:28px 20px}}
