/*
Theme Name: Akanthit Scéna
Theme URI: https://scena.akanthit.com
Author: Mário Petrejevskyj / AKANTHIT
Description: Umělecká divadelní téma pro Akanthit Scénu. Tmavá galerie s reflektorem, šafránový akcent, malířské fotky. Plně editovatelná přes Customizer, integrovaný prodej a kontrola vstupenek (pluginy divadlo-prodej a divadlo-skener).
Version: 1.2.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: akanthit-scena
*/

:root{
  --ink:#0E1116;
  --ink-soft:#161A21;
  --bone:#F2EDE4;
  --bone-dim:#9A968D;
  --saffron:#E8A33D;
  --line:rgba(242,237,228,.14);
  --display:'Fraunces',serif;
  --body:'Inter',system-ui,sans-serif;
  --mono:'JetBrains Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--bone);font-family:var(--body);font-weight:300;line-height:1.6;overflow-x:hidden;position:relative}
a{color:inherit}
img{max-width:100%;display:block}

/* reflektor */
.as-spotlight{position:fixed;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(circle 460px at var(--mx,50%) var(--my,28%),
    rgba(232,163,61,.16),rgba(232,163,61,.06) 38%,transparent 66%);
  transition:background .12s ease-out;mix-blend-mode:screen}
/* ambientná vrstva – pomaly „dýcha" aj bez pohybu myši */
.as-spotlight::after{content:"";position:absolute;inset:0;
  background:radial-gradient(circle 620px at var(--mx,50%) var(--my,28%),
    rgba(232,163,61,.07),transparent 60%);
  animation:asBreath 7s ease-in-out infinite alternate}
@keyframes asBreath{from{opacity:.55}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.as-spotlight{display:none}}

.as-wrap{max-width:1180px;margin:0 auto;padding:0 32px;position:relative;z-index:2}

/* hlavička */
.as-header{padding:34px 0;display:flex;justify-content:space-between;align-items:baseline}
.as-logo{font-family:var(--mono);font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:var(--bone);text-decoration:none}
.as-logo b{color:var(--saffron);font-weight:500}
.as-nav{display:flex;gap:38px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-left:60px;align-items:center}
.as-nav a{color:var(--bone-dim);text-decoration:none;transition:color .25s}
.as-nav a:hover{color:var(--saffron)}
/* WP menu položky */
.as-nav .menu-item{position:relative;list-style:none}
/* rozbaľovacie podmenu (O nás → Kontakt) */
.as-nav .as-has-sub,.as-nav .menu-item-has-children{position:relative}
.as-nav .as-sub,.as-nav .sub-menu{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);
  background:var(--ink2,#161A21);border:1px solid rgba(255,255,255,.1);border-radius:10px;
  padding:10px 4px;min-width:150px;display:flex;flex-direction:column;gap:2px;
  opacity:0;visibility:hidden;transition:.22s;z-index:60;
  box-shadow:0 18px 40px rgba(0,0,0,.5)}
.as-nav .as-has-sub:hover .as-sub,
.as-nav .menu-item-has-children:hover .sub-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(4px)}
.as-nav .as-sub a,.as-nav .sub-menu a{padding:9px 18px;white-space:nowrap;display:block;text-align:center}
.as-nav .as-sub::before,.as-nav .sub-menu::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}
.as-nav .as-has-sub>a::after,.as-nav .menu-item-has-children>a::after{content:" ▾";font-size:9px;opacity:.6}

/* hero */
.as-hero{padding:6vh 0 10vh;position:relative}
.as-hero-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--saffron);margin-bottom:22px}
.as-hero h1{font-family:var(--display);font-weight:600;font-size:clamp(3.4rem,10vw,8.5rem);line-height:.94;letter-spacing:-.02em}
.as-hero h1 em{font-style:italic;font-weight:600;color:var(--saffron)}
.as-hero-sub{margin-top:40px;max-width:460px;font-size:1.05rem;color:var(--bone-dim);font-weight:300;line-height:1.7}
.as-hero-meta{margin-top:54px;display:flex;gap:38px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--bone-dim);flex-wrap:wrap}
.as-hero-meta span b{color:var(--bone);font-weight:500;display:block;font-size:15px;margin-bottom:4px}

/* program */
.as-program{padding:8vh 0 12vh}
.as-sec-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:8px}
.as-sec-head h2{font-family:var(--display);font-weight:300;font-size:2rem;font-style:italic}
.as-sec-head .as-count{font-family:var(--mono);font-size:12px;color:var(--bone-dim);letter-spacing:.1em}

.as-piece{display:grid;grid-template-columns:64px 96px 1.4fr 1fr auto;gap:30px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:padding-left .4s cubic-bezier(.2,.7,.3,1);position:relative;text-decoration:none;color:inherit}
.as-piece:hover{padding-left:18px}
.as-piece-no{font-family:var(--mono);font-size:13px;color:var(--saffron)}
.as-piece-photo{width:96px;height:120px;position:relative}
.as-piece-photo img{width:100%;height:100%;object-fit:cover;filter:url(#as-brush) grayscale(.25) contrast(1.05);-webkit-mask:radial-gradient(120% 130% at 50% 45%,#000 42%,rgba(0,0,0,.5) 62%,transparent 78%);mask:radial-gradient(120% 130% at 50% 45%,#000 42%,rgba(0,0,0,.5) 62%,transparent 78%);transition:filter .5s ease,transform .6s cubic-bezier(.2,.7,.3,1)}
.as-piece:hover .as-piece-photo img{filter:url(#as-brush) grayscale(0) contrast(1.08) saturate(1.05);transform:scale(1.04)}
.as-piece-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(80% 60% at 50% 100%,rgba(232,163,61,.18),transparent 70%);mix-blend-mode:screen}
.as-piece-title{font-family:var(--display);font-size:clamp(1.6rem,3.2vw,2.5rem);font-weight:300;line-height:1.05}
.as-piece-title small{display:block;font-family:var(--body);font-size:.8rem;color:var(--bone-dim);margin-top:10px;letter-spacing:.04em;font-weight:300}
.as-piece-meta{font-family:var(--mono);font-size:12px;color:var(--bone-dim);letter-spacing:.06em;line-height:1.8}
.as-piece-meta b{color:var(--bone);font-weight:500}
.as-piece-cta{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--bone);padding:13px 22px;border-radius:100px;white-space:nowrap;transition:background .3s,color .3s;text-decoration:none}
.as-piece:hover .as-piece-cta{background:var(--saffron)}
.as-piece:hover .as-piece-title{color:var(--saffron)}

/* manifest */
.as-manifesto{padding:14vh 0;text-align:center;border-top:1px solid var(--line)}
.as-manifesto p{font-family:var(--display);font-weight:300;font-style:italic;font-size:clamp(1.8rem,4.5vw,3.4rem);line-height:1.25;max-width:900px;margin:0 auto;letter-spacing:-.01em}
.as-manifesto p em{font-style:italic;color:var(--saffron)}
.as-manifesto .as-by{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--saffron);margin-top:40px}

/* pätička */
.as-footer{border-top:1px solid var(--line);padding:60px 0 50px}
.as-foot-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;align-items:flex-end}
.as-foot-grid h3{font-family:var(--display);font-size:2.4rem;font-weight:300;font-style:italic;line-height:1.15}
.as-foot-links{display:flex;gap:26px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.as-foot-links a{color:var(--bone-dim);text-decoration:none;transition:color .25s}
.as-foot-links a:hover{color:var(--saffron)}
.as-foot-fine{margin-top:46px;font-family:var(--mono);font-size:11px;color:var(--bone-dim);letter-spacing:.06em;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* obsah stránok (page.php) */
.as-page{padding:6vh 0 12vh;max-width:820px}
/* stránka poďakování po nákupu – vycentrovať na střed */
.as-page:has(.dvpf-thanks){max-width:none;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh}
.as-page:has(.dvpf-thanks) .as-prose{width:100%;display:flex;justify-content:center}
.as-page h1{font-family:var(--display);font-weight:300;font-size:clamp(2.4rem,6vw,4rem);line-height:1;margin-bottom:40px;letter-spacing:-.01em}
.as-page .as-prose{font-size:1.05rem;line-height:1.8;color:#d7d3ca}
.as-page .as-prose h1{font-family:var(--display);font-style:italic;font-weight:300;font-size:2rem;margin:36px 0 16px;color:var(--bone);line-height:1.2}
.as-page .as-prose h2{font-family:var(--display);font-style:italic;font-weight:300;font-size:1.8rem;margin:40px 0 16px;color:var(--bone)}
.as-page .as-prose h3{font-size:1.2rem;margin:28px 0 12px;color:var(--bone);font-weight:500}
.as-page .as-prose p{margin-bottom:18px}
.as-page .as-prose a{color:var(--saffron);text-decoration:underline}
.as-page .as-prose ul,.as-page .as-prose ol{margin:0 0 18px 22px}
.as-page .as-prose li{margin-bottom:8px}
.as-page .as-prose strong{color:var(--bone);font-weight:500}
.as-page .as-prose table{width:100%;border-collapse:collapse;margin:18px 0}
.as-page .as-prose th,.as-page .as-prose td{border:1px solid var(--line);padding:10px 14px;text-align:left}

/* reveal */
.as-rv{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.3,1);animation:asRevealFailsafe 0s linear 1.2s forwards}
.as-rv.in{opacity:1;transform:none}
/* poistka: ak JS nepridá .in (pomalé/zlyhanie), obsah sa aj tak zobrazí */
@keyframes asRevealFailsafe{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.as-rv{opacity:1;transform:none;animation:none}}

@media(max-width:760px){
  .as-nav{display:none}
  .as-hero{padding:2vh 0 8vh}
  .as-hero-eyebrow{margin-bottom:16px;letter-spacing:.22em}
  .as-piece{grid-template-columns:40px 80px 1fr;gap:14px}
  .as-piece-meta,.as-piece-cta{grid-column:2 / -1}
  .as-piece-cta{justify-self:start;margin-top:6px}
  .as-piece-photo{width:80px;height:100px}
  .as-hero-meta{gap:24px}
}

/* ===== Integrácia pluginu divadlo-prodej do témy Scéna (šafrán namiesto červenej) ===== */
.dvpf, .dvpe-list, .dvpe-detail{
  --dvp-red:#E8A33D; --dvp-red-deep:#c8842a;
  --dvp-bg:#0E1116; --dvp-panel:#161A21;
  --dvp-text:#F2EDE4; --dvp-muted:#9A968D;
  --r:#E8A33D; --rd:#c8842a; --bg:#0E1116; --panel:#161A21; --tx:#F2EDE4; --mut:#9A968D;
}
.dvpf-btn, .dvpe-buy, .dvpe-btn{
  font-family:var(--mono) !important;letter-spacing:.1em;text-transform:uppercase;font-size:13px !important;
}
.dvpe-detail .dvpe-head h1, .dvpf-event-head h2{font-family:var(--display) !important;font-weight:300}

/* Detail podujatia – uvoľni úzky rámec stránky, nech hero ide od kraja ku kraju */
.as-wrap-event{max-width:none;padding:0}
.as-page-event{max-width:none;padding:0}
.as-page-event .as-prose{font-size:1.05rem}

/* === Detail podujatia: hlavička v pruhu NAD cover kartou === */
body.as-event-detail .as-wrap-header{
  position:static;
  max-width:1180px;margin:0 auto;padding:0 32px;
}
body.as-event-detail .as-header{
  position:relative;z-index:5;
  padding:26px 0 20px;
}
body.as-event-detail .as-logo,
body.as-event-detail .as-nav a{
  color:#F2EDE4;
}
body.as-event-detail .as-logo b{color:var(--saffron)}
body.as-event-detail .as-nav a:hover{color:var(--saffron)}

/* mobilné menu – nech je vždy dostupné (návrat späť) */
@media(max-width:760px){
  .as-header{flex-wrap:wrap;gap:6px 10px;padding:20px 0}
  .as-nav{display:flex;gap:18px;font-size:11px;margin-left:0;flex-wrap:wrap;width:100%;margin-top:6px}
  body.as-event-detail .as-header{padding:18px 20px}
  .as-logo{font-size:12px}
  /* na mobile podmenu inline, bez hoveru */
  .as-nav .as-sub,.as-nav .sub-menu{
    position:static;transform:none;opacity:1;visibility:visible;background:none;border:none;
    box-shadow:none;padding:0;min-width:0;flex-direction:row;display:inline-flex}
  .as-nav .as-sub a,.as-nav .sub-menu a{padding:0 0 0 14px}
  .as-nav .as-has-sub{display:inline-flex;gap:14px;align-items:center}
  .as-nav .as-has-sub>a::after,.as-nav .menu-item-has-children>a::after{content:""}
}

/* cover pod hlavičku (nižší stacking než header) */
body.as-event-detail .as-page-event{position:relative;z-index:1}

/* istota: na detaile je menu viditeľné aj na mobile */
@media(max-width:760px){
  body.as-event-detail .as-wrap-header{padding:0 18px}
  body.as-event-detail .as-header{padding:16px 0;flex-wrap:nowrap;align-items:center}
  body.as-event-detail .as-nav{display:flex;gap:14px;font-size:10px}
  body.as-event-detail .as-logo{font-size:11px}
}

/* Predajná/vstupenková stránka – širší rámec, nech sa plán vycentruje */
.as-page:has(.dvpf){max-width:none;padding-left:24px;padding-right:24px}
.as-wrap:has(.dvpf){max-width:1200px}

/* Meta dátum článku */
.as-post-meta{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:#9A968D;margin:0 0 24px}

/* Stránky a články na mobile – čitateľný padding */
@media(max-width:760px){
  .as-page{padding:4vh 4px 10vh}
  .as-page .as-prose{font-size:1rem;line-height:1.75}
  .as-page .as-prose h1{font-size:1.6rem}
  .as-page .as-prose h2{font-size:1.4rem}
}

/* Právne odkazy v pätičke */
.as-foot-legal{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin:30px 0 14px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}
.as-foot-legal a{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:#9A968D;text-decoration:none;transition:color .2s}
.as-foot-legal a:hover{color:var(--saffron)}
@media(max-width:760px){.as-foot-legal{gap:12px;font-size:11px}}

/* Plagát podujatia – na detaile pod tlačidlom vstupeniek */
.as-event-poster{margin:56px auto 0;max-width:560px;text-align:center}
.as-event-poster .as-poster-img{width:100%;height:auto;display:block;border:1px solid rgba(255,255,255,.10);border-radius:4px;box-shadow:0 24px 60px rgba(0,0,0,.55)}
@media(max-width:760px){.as-event-poster{margin-top:36px;max-width:100%}}

/* ===== Kontaktní formulář ===== */
.as-form-wrap{margin:34px 0 10px;max-width:720px}
.as-form-note{padding:14px 18px;border-radius:4px;margin-bottom:24px;font-size:.95rem;line-height:1.6}
.as-form-ok{background:rgba(232,163,61,.12);border:1px solid rgba(232,163,61,.45);color:var(--bone)}
.as-form-err{background:rgba(214,54,56,.12);border:1px solid rgba(214,54,56,.45);color:var(--bone)}
.as-form{display:flex;flex-direction:column;gap:20px}
.as-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.as-field{display:flex;flex-direction:column;gap:8px}
.as-field>span{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--bone-dim)}
.as-field>span b{color:var(--saffron);font-weight:400}
.as-field input,.as-field textarea{
  width:100%;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:3px;
  padding:13px 15px;color:var(--bone);font-family:var(--body);font-size:1rem;font-weight:300;
  transition:border-color .2s,background .2s}
.as-field input:focus,.as-field textarea:focus{outline:none;border-color:var(--saffron);background:rgba(255,255,255,.06)}
.as-field textarea{resize:vertical;min-height:130px;line-height:1.65}
.as-check{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;color:var(--bone-dim);line-height:1.55;cursor:pointer}
.as-check input{margin-top:3px;accent-color:var(--saffron);width:17px;height:17px;flex:0 0 auto;cursor:pointer}
.as-form-btn{
  align-self:flex-start;background:var(--saffron);color:#14181F;border:none;border-radius:3px;
  padding:15px 34px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:500;cursor:pointer;transition:filter .2s,transform .2s}
.as-form-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}
.as-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:760px){
  .as-form-row{grid-template-columns:1fr}
  .as-form-btn{align-self:stretch;text-align:center}
}

/* ===== Footer – kontaktní blok ===== */
.as-foot-contact{
  display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;
  padding-top:30px;border-top:1px solid var(--line)}
.as-contact-item{
  display:inline-flex;align-items:center;gap:10px;
  padding:11px 18px;border:1px solid var(--line);border-radius:999px;
  color:var(--bone);text-decoration:none;font-family:var(--mono);
  font-size:13px;letter-spacing:.03em;
  transition:border-color .25s,color .25s,background .25s,transform .2s}
.as-contact-item svg{flex:0 0 auto;opacity:.85;transition:opacity .25s}
.as-contact-item:hover{border-color:var(--saffron);color:var(--saffron);transform:translateY(-1px)}
.as-contact-item:hover svg{opacity:1}
.as-contact-wa:hover{border-color:#25D366;color:#25D366;background:rgba(37,211,102,.08)}
@media(max-width:760px){
  .as-foot-contact{gap:10px;margin-top:26px;padding-top:24px}
  .as-contact-item{width:100%;justify-content:flex-start;padding:13px 18px;font-size:14px}
}
