/* ===== Úrad v poriadku — komponenty aplikácie (konto, objednávky, administrácia, blog, recenzie, cookies).
   Prevzaté z AINO (A.I.N.O/src/AINO.Web/wwwroot/css/style.css); farby a písma berú z premenných témy v site.css.
   Načítava sa PRED site.css — tlačidlá, nadpisy a odkazy prepisuje téma webu. ===== */


*{box-sizing:border-box;}
/* atribút hidden vždy skryje prvok — aj keď má vlastné display (napr. fixed overlay).
   Bez tohto neviditeľný overlay (dialógy) blokuje kliky na stránke. */
[hidden]{display:none !important;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:var(--font-display);line-height:1.15;margin:0;}
p{margin:0;}
ul{margin:0;padding:0;list-style:none;}
section.section{padding:88px 24px;}
.section-inner{max-width:var(--maxw);margin:0 auto;}


/* ===== buttons ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 24px;border-radius:999px;font-weight:600;font-size:0.95rem;
  border:1px solid transparent;cursor:pointer;transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--grad);color:var(--on-accent);box-shadow:0 10px 24px -10px rgba(var(--accent-rgb),0.5);}
.btn-primary:hover{box-shadow:0 14px 30px -8px rgba(var(--accent-rgb),0.6);}
.btn-ghost{background:rgba(var(--ink-rgb),0.04);color:var(--text);border-color:var(--border-strong);}
.btn-ghost:hover{background:rgba(var(--ink-rgb),0.08);}
.btn-outline{background:transparent;color:var(--text);border-color:var(--border-strong);width:100%;}
/* tlačidlo na celú šírku (napr. hlavná akcia karty pod formulárom) */
.btn-block{display:flex;width:100%;}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);}
.btn-small{padding:9px 18px;font-size:0.85rem;}
.link-btn{color:var(--text-dim);font-weight:500;font-size:0.92rem;padding:8px 4px;}
.link-btn:hover{color:var(--text);}
.link-btn.light{color:var(--text-dim);}


/* ===== section headings ===== */
.section-tag{
  font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--accent);margin-bottom:10px;
}
.section h2{font-size:clamp(1.6rem, 3vw, 2.3rem);max-width:680px;margin-bottom:14px;}
.section-lead{color:var(--text-dim);max-width:560px;margin-bottom:12px;}


/* ===== features ===== */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;}
.fcard{
  background:var(--surface);
  border:1px solid var(--border);border-radius:var(--radius);padding:26px 22px;
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
  box-shadow:var(--card-shadow);
}
.fcard:hover{border-color:rgba(var(--accent-rgb),0.35);transform:translateY(-3px);}
.fcard-icon{
  width:42px;height:42px;display:flex;align-items:center;justify-content:center;
  border-radius:10px;background:rgba(var(--accent-rgb),0.08);font-size:1.2rem;margin-bottom:16px;
}
.fcard h3{font-size:1.05rem;margin-bottom:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.fcard p{color:var(--text-dim);font-size:0.92rem;}
.soon-tag{
  font-family:var(--font-mono);font-size:0.65rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;
  color:var(--warn-text);background:rgba(245,158,11,0.12);border:1px solid rgba(245,158,11,0.35);
  padding:3px 9px;border-radius:999px;
}


/* ===== page header (subpages) ===== */
.page-header{padding:64px 24px 12px;}
.page-header h1{font-size:clamp(2rem, 3.6vw, 2.7rem);margin:14px 0;max-width:680px;}


/* ===== legal pages ===== */
.legal-doc{max-width:760px;}
.legal-doc h2{font-size:1.25rem;margin:36px 0 12px;}
.legal-doc h2:first-child{margin-top:0;}
.legal-doc h3{font-size:1.02rem;margin:20px 0 8px;color:var(--text);}
.legal-doc p{color:var(--text-dim);margin-bottom:12px;}
.legal-doc ul{margin-bottom:12px;}
.legal-doc li{color:var(--text-dim);padding-left:18px;position:relative;margin-bottom:8px;}
.legal-doc li::before{content:"–";position:absolute;left:0;color:var(--text-faint);}
.legal-doc .legal-meta{
  background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:16px 20px;margin-bottom:32px;font-size:0.9rem;color:var(--text-dim);
}
.legal-doc .legal-meta p{margin-bottom:4px;}

@media (max-width: 820px){
  .contact-grid{grid-template-columns:1fr;}
}


/* ===== anti-spam honeypot — skryté pole, mimo toku aj čítačiek obrazovky ===== */
.hp-field{
  position:absolute !important;
  left:-9999px !important;
  top:auto;
  width:1px;height:1px;
  overflow:hidden;
}

/* ===== form validation / feedback ===== */
.field-validation-error{
  color:var(--err);font-size:0.82rem;font-weight:500;
}
.input-validation-error{
  border-color:var(--err) !important;background:rgba(185,28,28,0.05) !important;
}
.validation-summary-errors{
  margin-bottom:18px;padding:14px 18px;border-radius:var(--radius-sm);
  background:rgba(185,28,28,0.07);border:1px solid rgba(185,28,28,0.3);
  color:var(--err);font-size:0.9rem;
}
.validation-summary-errors ul{list-style:disc;padding-left:20px;}
.validation-summary-errors li{margin-bottom:4px;}
.validation-summary-valid{display:none;}
.form-success{
  margin-bottom:20px;padding:14px 18px;border-radius:var(--radius-sm);
  background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.4);
  color:var(--ok);font-size:0.92rem;font-weight:500;
}
.form-error{
  margin-bottom:20px;padding:14px 18px;border-radius:var(--radius-sm);
  background:rgba(185,28,28,0.08);border:1px solid rgba(185,28,28,0.35);
  color:var(--err);font-size:0.92rem;font-weight:500;
}


/* ===== auth pages (prihlásenie / registrácia / môj profil) ===== */
.auth-inner{max-width:760px;margin:0 auto;}
.auth-inner--stack{display:flex;flex-direction:column;gap:26px;}
.auth-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:32px;box-shadow:var(--card-shadow);
}
.auth-card--wide{max-width:100%;}
.auth-card > h2{font-size:1.2rem;margin-bottom:20px;}

/* Môj profil — karta na rovnakej šírke ako Objednávky / Zasadnutia (1160 px),
   formulár vnútri obmedzený kvôli čitateľnosti. */
.profil-inner{max-width:var(--maxw);margin:0 auto;display:flex;flex-direction:column;gap:26px;}
.profil-inner .auth-card{max-width:100%;}
.profil-inner form{max-width:820px;}

.form-section{border:none;padding:0;margin:0 0 24px;min-inline-size:0;}
.form-section legend{
  font-family:var(--font-mono);font-size:0.75rem;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--accent);padding:0;margin-bottom:16px;
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}
.samosprava-obec{display:grid;grid-template-columns:auto 1fr;gap:10px;}
.samosprava-poznamka{margin:0 0 14px;}
.form-grid .form-field--full{grid-column:1 / -1;}

.form-field select{
  font-family:var(--font-body);font-size:0.95rem;padding:11px 14px;border-radius:10px;
  border:1px solid var(--border-strong);background:var(--bg-alt);color:var(--text);
}
.form-field select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent);}
.form-field input[readonly],.form-field input:disabled{opacity:0.7;cursor:not-allowed;}
.form-hint{font-size:0.8rem;color:var(--text-faint);}

.form-check{display:flex;align-items:center;gap:9px;margin-bottom:18px;font-size:0.9rem;color:var(--text-dim);cursor:pointer;}
.form-check input{width:16px;height:16px;accent-color:var(--accent);}

.auth-alt{margin-top:16px;font-size:0.9rem;color:var(--text-dim);}
.auth-alt a{color:var(--accent);font-weight:600;}
.auth-alt a:hover{text-decoration:underline;}

/* ===== user menu (prihlásený používateľ): meno modré + ikona menu ===== */
.user-menu{position:relative;display:inline-flex;align-items:center;gap:8px;}

/* meno používateľa — modrý „pill" (len na zobrazenie, nie tlačidlo) */
.user-name-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:5px 12px 5px 5px;border-radius:999px;
  background:rgba(var(--accent-rgb),0.10);border:1px solid rgba(var(--accent-rgb),0.25);
  color:var(--accent);font-size:0.9rem;font-weight:600;
}
.user-avatar{
  width:26px;height:26px;border-radius:50%;flex:none;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--grad);color:var(--on-accent);font-weight:700;font-size:0.8rem;
}
.user-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* samostatná ikona menu — modrá */
.user-menu-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:999px;cursor:pointer;
  background:rgba(var(--accent-rgb),0.10);border:1px solid rgba(var(--accent-rgb),0.25);color:var(--accent);
  transition:background .15s ease,border-color .15s ease;
}
.user-menu-toggle:hover{background:rgba(var(--accent-rgb),0.18);}
.user-menu[data-open="true"] .user-menu-toggle{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}

/* rozbaľovacie menu */
.user-menu-dropdown{
  position:absolute;top:calc(100% + 10px);right:0;min-width:200px;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);
  box-shadow:0 12px 34px -12px rgba(var(--ink-rgb),0.30);
  padding:6px;display:none;z-index:60;
}
.user-menu[data-open="true"] .user-menu-dropdown{display:block;}
.user-menu-dropdown a,
.user-menu-dropdown button{
  display:block;width:100%;text-align:left;
  padding:10px 12px;border-radius:8px;border:none;background:none;cursor:pointer;
  font-family:var(--font-body);font-size:0.92rem;font-weight:500;color:var(--text-dim);
}
.user-menu-dropdown a:hover,
.user-menu-dropdown button:hover{background:rgba(var(--accent-rgb),0.08);color:var(--accent);}
.user-menu-dropdown form{margin:0;border-top:1px solid var(--border);margin-top:4px;padding-top:4px;}
/* skupina „Administrácia" — oddelená čiarou a malým nadpisom */
.user-menu-group{
  display:block;margin-top:4px;padding:10px 12px 4px;border-top:1px solid var(--border);
  font-family:var(--font-mono);font-size:0.7rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-faint);
}



/* ===== košík — obsah ===== */
.cart-table{display:flex;flex-direction:column;border-top:1px solid var(--border);}
.cart-row{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding:16px 0;border-bottom:1px solid var(--border);
}
.cart-row-main{flex:1;min-width:180px;display:flex;flex-direction:column;gap:3px;}
.cart-row-name{font-weight:600;color:var(--text);}
.cart-row-meta{font-size:0.85rem;color:var(--text-faint);font-family:var(--font-mono);}
.cart-qty{display:flex;align-items:center;gap:8px;margin:0;}
.cart-qty input{
  width:66px;padding:8px 10px;border-radius:8px;border:1px solid var(--border-strong);
  background:var(--bg-alt);color:var(--text);font-family:var(--font-body);
}
.cart-row-sum{font-weight:700;min-width:90px;text-align:right;}
.cart-remove{
  background:none;border:none;cursor:pointer;font-size:1.4rem;line-height:1;
  color:var(--text-faint);padding:4px 8px;border-radius:8px;
}
.cart-remove:hover{color:var(--err);background:rgba(185,28,28,0.08);}
.cart-total{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:18px 0 4px;font-size:1.05rem;
}
.cart-total strong{font-size:1.35rem;font-family:var(--font-display);color:var(--accent);}
/* medzisúčet a zľava — drobné riadky nad konečnou cenou */
.cart-total--sub{padding:4px 0;font-size:0.92rem;color:var(--text-dim);}
.cart-total--zlava{color:var(--ok);}
.cart-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;}
.cart-actions form{margin:0;}
.orders-zlava{display:block;font-size:0.75rem;color:var(--ok);}

/* ===== pokladňa ===== */
.checkout-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;align-items:start;}
.checkout-grid > .validation-summary-errors{grid-column:1 / -1;}
.checkout-summary{position:sticky;top:90px;display:flex;flex-direction:column;gap:12px;}
.checkout-summary h2{font-size:1.1rem;margin-bottom:4px;}
.checkout-summary .btn{width:100%;}
.checkout-lines{display:flex;flex-direction:column;gap:8px;}
.checkout-lines li{display:flex;justify-content:space-between;gap:12px;font-size:0.92rem;color:var(--text-dim);}
.checkout-lines em{color:var(--text-faint);font-style:normal;}


/* ===== objednávky — tabuľka ===== */
.orders-inner{max-width:1160px;margin:0 auto;display:flex;flex-direction:column;gap:26px;}
.orders-scroll{overflow-x:auto;}                 /* na úzkych obrazovkách radšej skrolovať */

/* Celá tabuľka je JEDEN grid (riadky sú display:contents), takže stĺpce sú
   naprieč riadkami zarovnané. Šírka podľa obsahu (bez natiahnutia a medzier);
   „Položky" môžu rásť do voľného miesta. Číslo a dátum sú na jednom riadku. */
.orders-table{
  display:grid;
  grid-template-columns:auto auto minmax(150px,1fr) auto auto auto;
  min-width:640px;
}
.orders-table--admin{
  grid-template-columns:auto auto minmax(140px,1fr) auto auto auto auto;
}
.orders-head,.orders-row{display:contents;}

/* Bunky sú rovnako vysoké (grid ich naťahuje) a obsah je vertikálne v strede —
   spodná čiara riadka tak sedí pod všetkými akciami (Detail/Stiahnuť/Zmazať,
   resp. odkazy faktúry), nech je stĺpec akcií akokoľvek vysoký. */
.orders-head > span,
.orders-row > span{
  padding:14px 18px 14px 0;border-bottom:1px solid var(--border);
  display:flex;flex-direction:column;justify-content:center;min-height:46px;
}
.orders-head > span:last-child,
.orders-row > span:last-child{padding-right:0;}
.orders-row > span > .status-badge{align-self:flex-start;}

.orders-head > span{
  font-size:0.75rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-faint);
  font-family:var(--font-mono);border-bottom:1px solid var(--border-strong);
}
.orders-row > span{font-size:0.9rem;}
.orders-row:hover > span{background:rgba(var(--accent-rgb),0.03);}
.orders-row a{color:var(--accent);font-weight:600;}
.orders-cislo,.orders-datum{white-space:nowrap;}   /* číslo objednávky aj dátum na jednom riadku */
.orders-suma{text-align:right;white-space:nowrap;align-items:flex-end;}
.orders-row form{margin:0;}
.orders-status-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0;}
.orders-status-form select{
  width:100%;padding:7px 10px;border-radius:8px;border:1px solid var(--border-strong);
  background:var(--bg-alt);color:var(--text);font-family:var(--font-body);font-size:0.85rem;cursor:pointer;
}

/* faktúra v stĺpci „Faktúra" — akcie ako textové odkazy (šetrí miesto) */
.faktura-box{display:flex;flex-direction:column;align-items:flex-start;gap:3px;}
.faktura-form,.faktura-box form{margin:0;}
.faktura-link{
  background:none;border:none;padding:0;margin:0;cursor:pointer;text-align:left;
  font-family:var(--font-body);font-size:0.82rem;color:var(--accent);text-decoration:underline;
}
.faktura-link:hover{color:var(--accent-2);}
.faktura-link--danger{color:var(--err);}
.faktura-link--danger:hover{color:var(--err);}
.faktura-name{font-size:0.85rem;font-weight:600;color:var(--accent);text-decoration:underline;word-break:break-all;}
.faktura-none{font-size:0.82rem;color:var(--text-faint);}
.faktura-sent{font-size:0.72rem;color:var(--text-faint);font-family:var(--font-mono);margin-bottom:2px;}
.faktura-detail .faktura-box{gap:6px;}

/* ===== stav objednávky — odznak ===== */
.status-badge{
  display:inline-block;padding:4px 10px;border-radius:999px;
  font-size:0.75rem;font-weight:600;font-family:var(--font-mono);white-space:nowrap;
}
.status-badge--new{background:rgba(var(--accent-rgb),0.16);color:var(--accent-strong);}
.status-badge--sent{background:rgba(234,179,8,0.16);color:var(--warn-text);}
.status-badge--review{background:rgba(124,58,237,0.12);color:var(--violet);}
.status-badge--pending{background:rgba(245,158,11,0.15);color:var(--warn-text);}
.status-badge--paid{background:rgba(16,185,129,0.15);color:var(--ok);}
.status-badge--error{background:rgba(220,38,38,0.12);color:var(--err);}

/* ===== detail objednávky ===== */
.order-head{margin-bottom:18px;}
.order-details{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0 0 8px;font-size:0.92rem;}
.order-details dt{color:var(--text-faint);}
.order-details dd{margin:0;color:var(--text);}
.order-admin{margin-top:24px;padding-top:18px;border-top:1px solid var(--border);}
.order-admin h2{font-size:1.05rem;margin-bottom:12px;}



.admin-filter{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;}
.admin-filter .form-field{margin-bottom:0;flex:1 1 180px;min-width:150px;}
.admin-filter-actions{display:flex;gap:10px;flex-wrap:wrap;}

/* akcie v riadku tabuľky nahrávok */
.zaznam-akcie{display:flex;flex-direction:column;align-items:flex-start;gap:3px;}
.zaznam-akcie form{margin:0;}
.zaznam-akcie a{font-size:0.82rem;color:var(--accent);text-decoration:underline;font-weight:600;}
.zaznam-akcie-danger{
  background:none;border:none;padding:0;margin:0;cursor:pointer;
  font-family:var(--font-body);font-size:0.82rem;color:var(--err);text-decoration:underline;
}
.cart-actions .btn.zaznam-akcie-danger{
  border:1px solid var(--border-strong);padding:13px 24px;border-radius:999px;text-decoration:none;font-weight:600;
}
.cart-actions .btn.zaznam-akcie-danger:hover{border-color:var(--err);color:var(--err);}

.zaznam-player{width:100%;margin:4px 0 18px;border-radius:var(--radius-sm);}
video.zaznam-player{max-height:420px;background:#000;}
.zaznam-zrusit{margin-top:12px;}

/* ===== recenzie zákazníkov ===== */
.recenzie-suhrn{
  display:flex;align-items:center;gap:26px;flex-wrap:wrap;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:26px 30px;box-shadow:var(--card-shadow);
}
.recenzie-suhrn-cislo{font-family:var(--font-display);font-size:2.8rem;font-weight:700;line-height:1;}
.recenzie-suhrn-cislo span{font-size:1.1rem;color:var(--text-faint);font-weight:500;}
.recenzie-suhrn-text{color:var(--text-dim);font-size:0.95rem;margin:4px 0 0;}
/* hviezdičky = jediná teplá farba stránky (amber, ako motto) */
.recenzia-hviezdy{color:var(--warn);letter-spacing:2px;font-size:1.05rem;line-height:1;}
.recenzia-hviezdy--velke{font-size:1.5rem;}
.recenzie-grid{margin-top:28px;}
.recenzia-card{display:flex;flex-direction:column;}
.recenzia-card blockquote{margin:12px 0 14px;color:var(--text);font-size:0.95rem;line-height:1.6;flex:1;}
.recenzia-meta{font-size:0.82rem;color:var(--text-faint);margin:0;}
.recenzia-meta strong{color:var(--text-dim);}
.recenzie-strankovanie{display:flex;gap:8px;justify-content:center;margin:28px 0 0;}
.recenzie-strankovanie a{
  min-width:38px;padding:8px 12px;text-align:center;border-radius:10px;
  border:1px solid var(--border-strong);color:var(--text);font-weight:600;font-size:0.9rem;
}
.recenzie-strankovanie a:hover{border-color:var(--accent);color:var(--accent);}
.recenzie-strankovanie a.is-active{background:var(--grad);color:var(--on-accent);border-color:transparent;}
.recenzie-form{max-width:760px;margin:48px auto 0;}
.recenzie-form .form-check{align-items:flex-start;margin-bottom:6px;}
.recenzie-form .form-check input{margin-top:3px;flex-shrink:0;}
.recenzie-form .form-hint{margin-bottom:18px;}
.orders-table--recenzie{grid-template-columns:auto minmax(150px,auto) auto minmax(220px,1fr) auto auto;}
.recenzia-admin-text{font-size:0.85rem;color:var(--text-dim);white-space:pre-line;}
@media (max-width: 720px){
  .recenzie-suhrn{padding:20px;}
  .recenzie-suhrn-cislo{font-size:2.2rem;}
}


/* ===== poradňa — články ===== */
.blog-card{display:flex;flex-direction:column;}
.blog-card h2{font-size:1.08rem;line-height:1.35;margin-bottom:10px;}
.blog-card h2 a:hover{color:var(--accent);}
.blog-card p{flex:1;}
.blog-card .vstup-link{margin-top:14px;font-size:0.9rem;}
.clanok-meta{font-size:0.82rem;color:var(--text-faint);font-family:var(--font-mono);margin:8px 0 0;}
.blog-card .clanok-meta{flex:0;}
/* telo článku z Markdownu — nadväzuje na .legal-doc (odseky, h2, odrážky) */
.clanok-obsah a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;}
.clanok-obsah a:hover{color:var(--accent-2);}
.clanok-obsah strong{color:var(--text);}
.clanok-obsah ol{list-style:decimal;padding-left:22px;margin-bottom:12px;}
.clanok-obsah ol li{padding-left:4px;}
.clanok-obsah ol li::before{content:none;}   /* číslovaný zoznam nemá mať pomlčku z .legal-doc */
.clanok-obsah blockquote{
  margin:0 0 14px;padding:12px 18px;border-left:3px solid var(--accent);
  background:var(--bg-alt);border-radius:0 var(--radius-sm) var(--radius-sm) 0;
}
.clanok-obsah blockquote p{margin:0;color:var(--text);}
.clanok-obsah table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:0.92rem;}
.clanok-obsah th,.clanok-obsah td{
  padding:10px 12px;border:1px solid var(--border);text-align:left;vertical-align:top;color:var(--text-dim);
}
.clanok-obsah th{background:var(--bg-alt);color:var(--text);font-weight:600;}
.clanok-obsah code{font-family:var(--font-mono);font-size:0.88em;}
.clanok-koncept a{text-decoration:underline;}
.clanok-cta{margin-top:36px;}
.clanok-md{white-space:pre-wrap;}            /* v editore článku sa dlhé odseky zalamujú */
.orders-table--blog{grid-template-columns:minmax(220px,1.2fr) minmax(220px,1fr) auto auto auto;}
.orders-table--cennik{grid-template-columns:minmax(200px,1.2fr) auto auto minmax(160px,auto) auto auto;}


/* ===== administrácia — rozcestník a používatelia ===== */
.admin-dlazdice{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;}
.admin-dlazdica{
  display:flex;flex-direction:column;gap:6px;padding:24px;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--card-shadow);color:var(--text);transition:border-color .15s ease,transform .15s ease;
}
.admin-dlazdica:hover{border-color:var(--accent);transform:translateY(-2px);}
.admin-dlazdica-cislo{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--accent);line-height:1;}
.admin-dlazdica > span:last-child{font-size:0.88rem;color:var(--text-dim);}
.orders-table--pouzivatelia{grid-template-columns:minmax(200px,1.2fr) minmax(130px,auto) minmax(180px,1fr) minmax(160px,auto) auto auto;}
.orders-table--pouzivatelia small{display:block;color:var(--text-dim);font-size:0.82rem;}
.orders-table--kalendar{grid-template-columns:minmax(110px,auto) minmax(240px,1.4fr) minmax(200px,1fr) auto auto;}
.orders-table--kalendar small{display:block;color:var(--text-dim);font-size:0.82rem;}
.orders-table--prehlad{grid-template-columns:auto minmax(100px,auto) minmax(260px,1.6fr) minmax(110px,auto) minmax(110px,auto) auto auto;}
.orders-table--prehlad small{display:block;color:var(--text-dim);font-size:0.82rem;}
.orders-table--predpisy{grid-template-columns:minmax(220px,1.4fr) auto auto minmax(120px,auto) minmax(150px,auto);}
.orders-table--predpisy small{display:block;color:var(--text-dim);font-size:0.82rem;}
.orders-table--zdroje{grid-template-columns:minmax(200px,1.2fr) minmax(90px,auto) minmax(120px,auto) auto minmax(160px,1fr);}
.orders-table--zdroje small{display:block;color:var(--text-dim);font-size:0.82rem;}
.orders-table--prehlad-tyzdne{grid-template-columns:minmax(160px,1fr) auto minmax(160px,1fr) minmax(120px,auto);}
.orders-table--prehlad-tyzdne small{display:block;color:var(--text-dim);font-size:0.82rem;}
.prehlad-nahlad{display:block;width:100%;height:900px;border:1px solid var(--border);border-radius:10px;background:#fff;margin-top:12px;}
.pouzivatel-stav{gap:6px;}
@media (max-width: 720px){
  .clanok-obsah table{display:block;overflow-x:auto;}
}

.zaznam-krok{display:block;margin-top:4px;font-size:0.78rem;color:var(--text-dim);}
.vstup-link{color:var(--accent);text-decoration:underline;text-underline-offset:3px;font-weight:500;}
.vstup-link:hover{color:var(--accent-2);}
.skill-md{font-family:var(--font-mono);font-size:0.82rem;line-height:1.5;white-space:pre;overflow:auto;}
.skill-vyber{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}
@media (max-width:720px){.skill-vyber{grid-template-columns:1fr;}}

@media (max-width: 720px){
  .admin-filter .form-field{flex-basis:100%;}
}


/* ===== súhlas s cookies ===== */
.cookie-consent[hidden]{display:none;}

.cookie-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:200;
  background:var(--surface);border-top:1px solid var(--border-strong);
  box-shadow:0 -12px 30px -18px rgba(var(--ink-rgb),0.35);
}
.cookie-bar-inner{
  max-width:var(--maxw);margin:0 auto;padding:18px 24px;
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
}
.cookie-bar-text{flex:1;min-width:260px;font-size:0.9rem;color:var(--text-dim);}
.cookie-bar-title{font-family:var(--font-display);font-weight:600;color:var(--text);font-size:1rem;margin-bottom:4px;}
.cookie-bar-link{
  display:inline-block;margin-top:8px;font-size:0.85rem;color:var(--accent);
  text-decoration:underline;font-weight:500;
}
.cookie-bar-link:hover{color:var(--accent-2);}
.cookie-bar-actions{
  display:flex;flex-direction:column;gap:8px;align-items:stretch;
  min-width:220px;flex:none;
}
.cookie-btn{white-space:nowrap;width:100%;}

.cookie-modal{
  position:fixed;inset:0;z-index:210;
  background:rgba(var(--ink-rgb),0.55);backdrop-filter:blur(2px);
  display:flex;align-items:center;justify-content:center;padding:24px;
}
.cookie-modal[hidden]{display:none;}
.cookie-modal-card{
  position:relative;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow-glow);
  width:100%;max-width:520px;max-height:85vh;overflow-y:auto;padding:28px;
}
.cookie-modal-card h2{font-size:1.25rem;margin-bottom:10px;padding-right:28px;}
.cookie-modal-close{
  position:absolute;top:14px;right:16px;background:none;border:none;cursor:pointer;
  font-size:1.6rem;line-height:1;color:var(--text-faint);padding:4px 8px;border-radius:8px;
}
.cookie-modal-close:hover{color:var(--text);background:rgba(var(--ink-rgb),0.05);}
.cookie-modal-lead{font-size:0.9rem;color:var(--text-dim);margin-bottom:20px;}
.cookie-modal-lead a{color:var(--accent);text-decoration:underline;}

.cookie-cat{padding:14px 0;border-top:1px solid var(--border);}
.cookie-cat-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  font-weight:600;color:var(--text);
}
label.cookie-cat-head{cursor:pointer;}
.cookie-cat-name{font-size:0.95rem;}
.cookie-cat-always{font-family:var(--font-mono);font-size:0.72rem;color:var(--text-faint);}
.cookie-cat-desc{margin-top:6px;font-size:0.85rem;color:var(--text-dim);}

.cookie-switch{position:relative;display:inline-flex;flex:none;width:42px;height:24px;}
.cookie-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;}
.cookie-switch-track{
  position:absolute;inset:0;border-radius:999px;background:var(--border-strong);
  transition:background .15s ease;
}
.cookie-switch-track::before{
  content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(var(--ink-rgb),0.3);transition:transform .15s ease;
}
.cookie-switch input:checked + .cookie-switch-track{background:var(--accent);}
.cookie-switch input:checked + .cookie-switch-track::before{transform:translateX(18px);}
.cookie-switch input:focus-visible + .cookie-switch-track{outline:2px solid var(--accent);outline-offset:2px;}

.cookie-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;}

/* tabuľka v zásadách cookies */
.cookie-table{width:100%;border-collapse:collapse;margin:12px 0 18px;font-size:0.88rem;}
.cookie-table th,.cookie-table td{
  text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:top;
}
.cookie-table th{color:var(--text-faint);font-family:var(--font-mono);font-size:0.75rem;text-transform:uppercase;letter-spacing:0.04em;}
.cookie-table td:first-child{font-family:var(--font-mono);font-size:0.82rem;color:var(--text);white-space:nowrap;}

@media (max-width: 720px){
  .cookie-bar-inner{padding:16px 18px;gap:14px;}
  .cookie-bar-actions{width:100%;}
  .cookie-bar-actions .cookie-btn{flex:1;}
  .cookie-table td:first-child{white-space:normal;}
}

@media (max-width: 900px){
  .checkout-grid{grid-template-columns:1fr;}
  .checkout-summary{position:static;}
}


/* ===== responsive ===== */
@media (max-width: 720px){
  .form-grid{grid-template-columns:1fr;}
  .user-name{max-width:120px;}
}

/* ===== prekrytie „Pracujem…“ po odoslaní formulára (pracujem.js) =====
   Prekrytie zachytáva kliky hneď, viditeľné je až po 200 ms — rýchle akcie tak neblikajú. */
.pracujem{
  position:fixed;inset:0;z-index:300;
  display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(9,12,20,0.45);backdrop-filter:blur(2px);
  cursor:progress;
  animation:pracujem-objav .2s ease .2s both;
}
/* atribút hidden musí prekonať display:flex, inak by neviditeľné prekrytie blokovalo stránku */
.pracujem[hidden]{display:none;}
.pracujem-box{
  width:100%;max-width:380px;text-align:center;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--card-shadow);padding:28px 26px 24px;
}
.pracujem-koliesko{
  display:inline-block;width:44px;height:44px;margin-bottom:14px;
  border:4px solid var(--surface-2);border-top-color:var(--accent);border-radius:50%;
  animation:pracujem-tocenie .8s linear infinite;
}
.pracujem-text{font-size:0.95rem;font-weight:500;color:var(--text);}
.pracujem-priebeh{display:flex;align-items:center;gap:10px;margin-top:16px;}
.pracujem-priebeh[hidden]{display:none;}
.pracujem-priebeh-pruh{
  flex:1;height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden;
}
.pracujem-priebeh-pruh span{
  display:block;height:100%;width:0;background:var(--grad);transition:width .2s ease;
}
.pracujem-priebeh-percenta{
  min-width:3.2em;text-align:right;font-family:var(--font-mono);font-size:0.82rem;color:var(--text-dim);
}
@keyframes pracujem-objav{from{opacity:0;}to{opacity:1;}}
@keyframes pracujem-tocenie{to{transform:rotate(360deg);}}
/* aj pri obmedzenom pohybe musí byť vidno, že sa niečo deje — len pomalšie */
@media (prefers-reduced-motion: reduce){
  .pracujem-koliesko{animation-duration:2.4s;}
}


/* ===== administrácia — procesy na pozadí + lišta filtra ===== */
.admin-prehlad{display:flex;flex-direction:column;gap:22px;}
.admin-nadpis{font-size:1.2rem;margin-top:8px;}
.admin-nadpis-poznamka{margin-left:8px;font-family:var(--font-mono);font-size:0.72rem;font-weight:400;color:var(--text-faint);}
.admin-worker h3{font-size:1rem;margin-bottom:12px;}
.admin-poznamka{margin-left:6px;font-size:0.84rem;color:var(--text-dim);}
.admin-chyba{color:var(--err);}
.admin-dlazdice--procesy{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));}
.admin-dlazdica--prazdna .admin-dlazdica-cislo{color:var(--text-faint);}
.admin-dlazdica--varovanie{border-color:rgba(185,28,28,0.45);}
.admin-dlazdica--varovanie .admin-dlazdica-cislo,
.admin-dlazdica--varovanie > span:last-child{color:var(--err);}
.filter-info{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-bottom:18px;padding:12px 18px;
  border-radius:var(--radius-sm);background:rgba(var(--accent-rgb),0.07);border:1px solid rgba(var(--accent-rgb),0.25);
  font-size:0.9rem;color:var(--text);
}
.filter-info a{color:var(--accent);font-weight:500;text-decoration:underline;text-underline-offset:3px;}



/* ---------- administrácia: žiadosti, e-maily, nastavenia ---------- */
.orders-table--ziadosti{grid-template-columns:minmax(200px,1.2fr) minmax(150px,1fr) minmax(170px,1fr) auto auto;}
.orders-table--emaily{grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) auto auto auto;}
.orders-table--ziadosti small,.orders-table--emaily small{display:block;color:var(--text-dim);font-size:0.82rem;}
.ziadost-sprava{white-space:pre-wrap;}
.ziadost-emaily{list-style:none;padding:0;margin:0;display:grid;gap:8px;}
.email-telo{white-space:pre-wrap;word-break:break-word;font-size:0.88rem;background:rgba(var(--ink-rgb),0.05);padding:16px;border-radius:10px;max-height:600px;overflow:auto;}
