/*
Theme Name: Ragnarok UltimWeb
Theme URI: https://ro.ultimweb.cz
Description: Herní šablona pro ro.ultimweb.cz v duchu klasických RO serverů (Talon Tales): půlnoční modř, zlato, fantasy serif v nadpisech, světlé karty novinek, ilustrace v organických tvarech. Dvojjazyčná (cs/en) přes Polylang. Bez page builderu.
Author: MabronRO Team
Author URI: https://ultimweb.cz
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: ragnarok
Domain Path: /languages
*/

/* ==========================================================================
   0. TOKENS
   ========================================================================== */
:root{
  --night:#0b1220;          /* pozadí */
  --night-2:#111a2e;        /* zvednuté plochy */
  --night-3:#182338;        /* karty na tmavém */
  --line:rgba(255,255,255,.09);
  --ink:#f4efe4;            /* text na tmavém – teplá bílá */
  --ink-muted:#a9b0c2;
  --gold:#e6b449;
  --gold-2:#f6d27a;
  --gold-deep:#b8862b;
  --gold-grad:linear-gradient(135deg,#f6d27a 0%,#e6b449 45%,#c9952f 100%);
  --ember:#e2624a;          /* varování / offline */
  --leaf:#63c98a;           /* online */
  --paper:#fbf7ee;          /* světlé karty */
  --paper-2:#f1ebdd;
  --paper-ink:#1b2233;
  --paper-muted:#5d6577;
  --radius:16px;
  --radius-lg:28px;
  --maxw:1180px;
  --display:'Cinzel',Georgia,'Times New Roman',serif;
  --body:'Nunito','Segoe UI',Roboto,Arial,sans-serif;
  --shadow:0 24px 60px -24px rgba(0,0,0,.6);
  --t:.3s cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
::selection{background:var(--gold);color:#1b1608;}
body{margin:0;background:var(--night);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{margin:0 0 .5em;line-height:1.15;font-family:var(--display);font-weight:700;letter-spacing:.01em;}
h1{font-size:2.2rem;}h2{font-size:1.7rem;}h3{font-size:1.15rem;}h4{font-size:1rem;}
p{margin:0 0 1em;color:var(--ink-muted);}
code,kbd{font-family:Consolas,Menlo,monospace;font-size:.9em;background:rgba(255,255,255,.06);border:1px solid var(--line);padding:.1em .4em;border-radius:6px;color:var(--ink);}
.sheet code,.sheet kbd,.section-paper code,.section-paper kbd{background:rgba(27,34,51,.06);border-color:rgba(27,34,51,.15);color:var(--paper-ink);}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.topbar .container,.header-inner{max-width:1440px;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--gold);color:#1b1608;padding:12px 22px;font-weight:700;z-index:1000;}
.skip-link:focus{left:0;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px;}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}}

/* jemný "hvězdný prach" v pozadí */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(1px 1px at 20% 30%,rgba(255,255,255,.25),transparent 60%),radial-gradient(1px 1px at 70% 60%,rgba(255,255,255,.2),transparent 60%),radial-gradient(1.5px 1.5px at 40% 80%,rgba(230,180,73,.25),transparent 60%),radial-gradient(1px 1px at 85% 20%,rgba(255,255,255,.2),transparent 60%),radial-gradient(1px 1px at 10% 70%,rgba(255,255,255,.15),transparent 60%);
  opacity:.7;}
.site-main{position:relative;z-index:1;}

/* ==========================================================================
   1. BUTTONS
   ========================================================================== */
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 26px;border-radius:12px;font-weight:800;font-size:.95rem;border:1px solid transparent;cursor:pointer;font-family:var(--body);letter-spacing:.01em;transition:transform var(--t),box-shadow var(--t),background var(--t),border-color var(--t);text-transform:none;}
.btn svg{width:17px;height:17px;flex-shrink:0;}
.btn-gold{background:var(--gold-grad);color:#1b1608;box-shadow:0 10px 30px -10px rgba(230,180,73,.7),inset 0 1px 0 rgba(255,255,255,.4);}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 16px 40px -10px rgba(230,180,73,.85),inset 0 1px 0 rgba(255,255,255,.4);}
.btn-outline{background:rgba(255,255,255,.04);border:1px solid rgba(230,180,73,.5);color:var(--gold-2);}
.btn-outline:hover{background:rgba(230,180,73,.12);transform:translateY(-2px);}
.btn-dark{background:var(--night-3);border:1px solid var(--line);color:var(--ink);}
.btn-dark:hover{border-color:rgba(230,180,73,.5);transform:translateY(-2px);}
.btn-sm{padding:9px 16px;font-size:.85rem;border-radius:10px;}
.btn-lg{padding:16px 34px;font-size:1.05rem;border-radius:14px;}

/* ==========================================================================
   2. HEADER
   ========================================================================== */
.topbar{background:rgba(0,0,0,.35);border-bottom:1px solid var(--line);font-size:.8rem;color:var(--ink-muted);position:relative;z-index:101;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:34px;gap:16px;}
.topbar .tb-status{display:flex;align-items:center;gap:8px;}
.topbar .tb-status i{width:8px;height:8px;border-radius:50%;background:var(--leaf);box-shadow:0 0 10px var(--leaf);display:inline-block;}
.topbar .tb-status i.off{background:var(--ember);box-shadow:0 0 10px var(--ember);}
.topbar .tb-right{display:flex;align-items:center;gap:14px;}
.lang-switch{display:flex;gap:2px;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:8px;padding:2px;}
.lang-switch a,.lang-switch span{padding:2px 9px;border-radius:6px;font-weight:800;font-size:.75rem;letter-spacing:.06em;color:var(--ink-muted);}
.lang-switch .current-lang a,.lang-switch a.is-current{background:var(--gold);color:#1b1608;}
.lang-switch a:hover{color:var(--ink);}

.site-header{position:sticky;top:0;z-index:100;background:rgba(11,18,32,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.header-inner{display:flex;align-items:center;gap:32px;height:78px;}
.site-branding a{display:flex;align-items:center;gap:12px;}
.brand-mark{width:44px;height:44px;border-radius:12px;background:var(--gold-grad);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px -8px rgba(230,180,73,.6);flex-shrink:0;}
.brand-mark svg{width:26px;height:26px;color:#1b1608;}
.site-title-text{display:flex;flex-direction:column;line-height:1;}
.site-title-text strong{font-family:var(--display);font-size:1.25rem;letter-spacing:.06em;color:var(--gold-2);text-transform:uppercase;}
.site-tagline{font-size:.72rem;color:var(--ink-muted);margin-top:4px;letter-spacing:.04em;}
.primary-nav ul{display:flex;gap:4px;align-items:center;}
.primary-nav a{display:inline-block;padding:10px 16px;border-radius:10px;font-weight:700;font-size:.93rem;color:var(--ink-muted);transition:color var(--t),background var(--t);white-space:nowrap;}
.primary-nav a:hover{color:var(--ink);background:rgba(255,255,255,.05);}
.primary-nav .current-menu-item > a,.primary-nav .current_page_item > a,.primary-nav .current-menu-ancestor > a{color:var(--gold-2);}
.header-cta{display:flex;align-items:center;gap:10px;margin-left:auto;}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:44px;height:44px;color:var(--ink);cursor:pointer;}
.menu-toggle span{display:block;width:18px;height:2px;background:var(--ink);margin:4px auto;transition:var(--t);}
.menu-toggle.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.menu-toggle.is-open span:nth-child(2){opacity:0;}
.menu-toggle.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
@media (max-width:1060px){
  .primary-nav{position:fixed;left:16px;right:16px;top:122px;background:var(--night-2);border:1px solid var(--line);border-radius:var(--radius);padding:14px;transform:translateY(-10px);opacity:0;pointer-events:none;transition:var(--t);box-shadow:var(--shadow);}
  .primary-nav.is-open{opacity:1;transform:none;pointer-events:auto;}
  .primary-nav ul{flex-direction:column;align-items:stretch;gap:2px;}
  .menu-toggle{display:block;}
  .header-cta .btn-outline{display:none;}
}
@media (max-width:640px){.site-title-text{display:none;}.header-inner{gap:12px;height:68px;}.topbar .tb-status span.txt{display:none;}}

/* ==========================================================================
   3. HERO
   ========================================================================== */
.hero{position:relative;padding:calc(clamp(40px,5.5vh,88px) + 100px) 0 calc(clamp(44px,6.5vh,100px) + 100px);overflow:hidden;isolation:isolate;}
.hero-bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center 62%;filter:saturate(.85);}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,18,32,.55) 0%,rgba(11,18,32,.82) 55%,var(--night) 100%),radial-gradient(60% 60% at 70% 40%,rgba(230,180,73,.18),transparent 70%);}
.hero-grid{display:grid;grid-template-columns:1fr;gap:0;align-items:center;}
.hero-kicker{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 10px;border-radius:100px;background:rgba(0,0,0,.35);border:1px solid rgba(230,180,73,.35);font-size:.82rem;font-weight:700;color:var(--gold-2);letter-spacing:.04em;margin-bottom:16px;}
.hero-kicker i{width:8px;height:8px;border-radius:50%;background:var(--leaf);box-shadow:0 0 12px var(--leaf);}
.hero-kicker i.off{background:var(--ember);box-shadow:0 0 12px var(--ember);}
.hero h1{font-size:clamp(2.1rem,3.2vw,3.4rem);line-height:1.12;margin:0 0 16px;text-shadow:0 4px 30px rgba(0,0,0,.5);}
.hero h1 em{font-style:normal;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero-sub{font-size:1.05rem;max-width:640px;margin:0 0 24px;color:#d7d3c8;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px;}
.hero-facts{display:flex;gap:10px;flex-wrap:wrap;}
.fact{padding:9px 14px;border-radius:12px;background:rgba(0,0,0,.35);border:1px solid var(--line);backdrop-filter:blur(8px);}
.fact strong{display:block;font-family:var(--display);font-size:1.12rem;color:var(--gold-2);line-height:1.1;}
.fact span{font-size:.78rem;color:var(--ink-muted);letter-spacing:.02em;}
/* ilustrace v organickém tvaru – jako na Talon Tales */
.hero-art{position:relative;min-height:clamp(280px,40vh,420px);display:flex;align-items:center;justify-content:center;}
.blob{width:min(440px,100%);aspect-ratio:1/1.05;background-size:cover;background-position:center;border-radius:58% 42% 55% 45% / 45% 55% 45% 55%;box-shadow:var(--shadow),0 0 0 6px rgba(230,180,73,.18),0 0 0 14px rgba(230,180,73,.06);animation:blob 14s ease-in-out infinite alternate;position:relative;}
.blob::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(200deg,rgba(230,180,73,.15),transparent 55%);}
@keyframes blob{0%{border-radius:58% 42% 55% 45% / 45% 55% 45% 55%;}100%{border-radius:45% 55% 42% 58% / 55% 45% 55% 45%;}}
.status-card{position:absolute;right:-8px;bottom:-4px;width:250px;background:var(--paper);color:var(--paper-ink);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.06);}
.status-card h4{font-family:var(--body);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--paper-muted);margin:0 0 10px;font-weight:800;}
.status-card .row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;padding:5px 0;border-bottom:1px dashed rgba(0,0,0,.08);}
.status-card .row:last-child{border-bottom:0;}
.status-card .row b{font-weight:800;}
.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:100px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;}
.pill.on{color:#1d7a43;background:rgba(99,201,138,.2);}
.pill.off{color:#a8311f;background:rgba(226,98,74,.18);}
.status-card .big{font-family:var(--display);font-size:1.6rem;color:var(--gold-deep);}
.hero-chip{position:absolute;padding:9px 14px;border-radius:100px;background:var(--paper);color:var(--paper-ink);font-size:.8rem;font-weight:800;box-shadow:var(--shadow);display:flex;align-items:center;gap:8px;animation:float 6s ease-in-out infinite;}
.hero-chip svg{width:16px;height:16px;color:var(--gold-deep);}
.chip-a{top:6%;left:-2%;}.chip-b{top:38%;right:-4%;animation-delay:1.6s;}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}
@media (max-width:980px){
  .hero{padding:64px 0 80px;}
  .hero-grid{grid-template-columns:1fr;text-align:center;}
  .hero-sub{margin:0 auto 30px;}
  .hero-actions,.hero-facts{justify-content:center;}
  .hero-art{margin-top:40px;min-height:0;}
  .status-card{position:static;width:100%;margin-top:20px;}
  .hero-chip{display:none;}
}

/* ==========================================================================
   4. SECTIONS & CARDS
   ========================================================================== */
.section{padding:96px 0;position:relative;}
.section-paper{background:var(--paper);color:var(--paper-ink);}
.section-paper p{color:var(--paper-muted);}
.section-paper h2,.section-paper h3{color:var(--paper-ink);}
.section-head{max-width:680px;margin:0 auto 52px;text-align:center;}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--gold);font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:14px;}
.eyebrow::before,.eyebrow::after{content:"";width:28px;height:1px;background:var(--gold);opacity:.6;}
.section-paper .eyebrow{color:var(--gold-deep);}
.section-head h2{font-size:clamp(1.9rem,4vw,2.7rem);}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;}

/* Novinky – světlé karty jako Talon Tales */
.news-card{background:#fff;color:var(--paper-ink);border-radius:var(--radius);overflow:hidden;border:1px solid rgba(0,0,0,.06);box-shadow:0 10px 30px -18px rgba(0,0,0,.35);display:flex;flex-direction:column;transition:transform var(--t),box-shadow var(--t);}
.news-card:hover{transform:translateY(-6px);box-shadow:0 24px 44px -20px rgba(0,0,0,.4);}
.news-card .thumb{aspect-ratio:16/8;background:linear-gradient(135deg,var(--night-2),var(--night-3));background-size:cover;background-position:center;position:relative;}
.news-card .thumb::after{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:var(--gold-grad);}
.news-card .body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1;}
.news-card time{font-size:.8rem;color:var(--paper-muted);font-weight:700;letter-spacing:.04em;display:flex;align-items:center;gap:6px;}
.news-card time svg{width:14px;height:14px;}
.news-card h3{font-size:1.25rem;margin:8px 0 10px;}
.news-card h3 a:hover{color:var(--gold-deep);}
.news-card p{flex:1;font-size:.95rem;}
.news-card .more{color:var(--gold-deep);font-weight:800;font-size:.9rem;display:inline-flex;align-items:center;gap:6px;}
.news-card .more svg{width:14px;height:14px;}

/* Vlastnosti – ikona vlevo, text vpravo (Talon styl) */
.feature{display:flex;gap:18px;align-items:flex-start;padding:22px;border-radius:var(--radius);background:var(--night-3);border:1px solid var(--line);transition:transform var(--t),border-color var(--t);}
.feature:hover{transform:translateY(-4px);border-color:rgba(230,180,73,.45);}
.feature-icon{width:56px;height:56px;border-radius:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 30%,var(--gold-2),var(--gold-deep));box-shadow:0 10px 24px -10px rgba(230,180,73,.7);}
.feature-icon svg{width:26px;height:26px;color:#1b1608;}
.feature h3{margin-bottom:6px;color:var(--gold-2);}
.feature p{margin:0;font-size:.95rem;}

/* Kroky */
.step{padding:26px;border-radius:var(--radius);background:#fff;border:1px solid rgba(0,0,0,.06);box-shadow:0 10px 30px -20px rgba(0,0,0,.3);position:relative;}
.step .num{font-family:var(--display);font-size:2.4rem;color:var(--gold);line-height:1;margin-bottom:10px;}
.step h3{font-size:1.1rem;}
.step p{margin:0;font-size:.93rem;}

/* Balíčky mincí */
.pack{padding:30px 26px;border-radius:var(--radius-lg);background:var(--night-3);border:1px solid var(--line);display:flex;flex-direction:column;position:relative;transition:transform var(--t),border-color var(--t);}
.pack:hover{transform:translateY(-6px);border-color:rgba(230,180,73,.5);}
.pack.is-featured{background:linear-gradient(180deg,rgba(230,180,73,.14),var(--night-3) 60%);border-color:rgba(230,180,73,.6);}
.pack .badge{position:absolute;top:-13px;left:26px;padding:5px 12px;border-radius:100px;background:var(--gold-grad);color:#1b1608;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
.pack h3{font-family:var(--body);color:var(--ink-muted);font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;}
.pack .coins{font-family:var(--display);font-size:2.6rem;color:var(--gold-2);line-height:1.1;margin:6px 0 2px;}
.pack .coins small{font-family:var(--body);font-size:.9rem;color:var(--ink-muted);margin-left:6px;}
.pack .price{font-size:1.2rem;font-weight:800;margin-bottom:18px;}
.pack ul{display:flex;flex-direction:column;gap:9px;margin-bottom:26px;}
.pack li{display:flex;gap:10px;font-size:.92rem;color:var(--ink-muted);}
.pack li::before{content:"◆";color:var(--gold);font-size:.7rem;margin-top:.35em;}
.pack .btn{margin-top:auto;justify-content:center;}

/* CTA pás */
.cta{margin-top:100px;border-radius:var(--radius-lg);padding:56px 48px;background:var(--gold-grad);color:#1b1608;display:flex;align-items:center;gap:32px;flex-wrap:wrap;position:relative;overflow:hidden;}
.cta::before{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.18);}
.cta h2{color:#1b1608;margin-bottom:6px;}
.cta p{color:rgba(27,22,8,.75);margin:0;}
.cta .copy{flex:1 1 320px;position:relative;}
.cta .btn{position:relative;background:#1b1608;color:var(--gold-2);flex-shrink:0;}
.cta .btn:hover{background:#000;}
@media (max-width:760px){.cta{margin-top:48px;padding:40px 24px;text-align:center;flex-direction:column;}.cta .copy{flex-basis:auto;}}

/* ==========================================================================
   5. STRÁNKY (page.php) – obsah v „pergamenové" kartě
   ========================================================================== */
.page-hero{padding:64px 0 40px;text-align:center;position:relative;}
.page-hero h1{font-size:clamp(2rem,4.5vw,3rem);}
.page-hero .lead{max-width:620px;margin:0 auto;font-size:1.08rem;}
.page-body{padding:0 0 96px;}
.sheet{background:var(--paper);color:var(--paper-ink);border-radius:var(--radius-lg);padding:clamp(24px,4vw,56px);max-width:900px;margin:0 auto;box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.06);position:relative;overflow:hidden;}
.sheet.is-wide{max-width:var(--maxw);}
.sheet::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:5px;background:var(--gold-grad);}
.entry-content > *{margin-bottom:1.15em;}
.entry-content h2{font-size:1.5rem;margin-top:2em;padding-top:1em;border-top:1px solid rgba(0,0,0,.08);color:var(--paper-ink);}
.entry-content h2:first-child{margin-top:0;padding-top:0;border-top:0;}
.entry-content h3{font-size:1.15rem;margin-top:1.5em;color:var(--paper-ink);}
.entry-content p,.entry-content li{color:#3a4152;font-size:1.02rem;}
.entry-content strong{color:var(--paper-ink);}
.entry-content a{color:var(--gold-deep);text-decoration:underline;text-decoration-color:rgba(184,134,43,.35);text-underline-offset:3px;font-weight:700;}
.entry-content a:hover{text-decoration-color:var(--gold-deep);}
.entry-content ul:not([class*="woocommerce"]):not([class*="order_details"]),.entry-content ol:not([class*="woocommerce"]):not([class*="order_details"]){padding-left:0;list-style:none;display:flex;flex-direction:column;gap:.5em;}
.entry-content ul:not([class*="woocommerce"]):not([class*="order_details"]) li{padding-left:1.6em;position:relative;}
.entry-content ul:not([class*="woocommerce"]):not([class*="order_details"]) li::before{content:"◆";position:absolute;left:0;top:.15em;color:var(--gold-deep);font-size:.75em;}
.entry-content ol:not([class*="woocommerce"]):not([class*="order_details"]){counter-reset:kroky;}
.entry-content ol:not([class*="woocommerce"]):not([class*="order_details"]) li{counter-increment:kroky;padding-left:2.6em;position:relative;}
.entry-content ol:not([class*="woocommerce"]):not([class*="order_details"]) li::before{content:counter(kroky);position:absolute;left:0;top:.05em;width:1.8em;height:1.8em;border-radius:50%;background:var(--gold-grad);color:#1b1608;font-weight:900;font-size:.85em;display:flex;align-items:center;justify-content:center;}
.entry-content figure{margin:0 0 1.5em;}
.entry-content img{border-radius:var(--radius);max-height:360px;width:100%;object-fit:cover;display:block;margin:0 auto;}
.post-hero{margin:0 0 1.5em;overflow:hidden;border-radius:var(--radius-lg);}
.post-hero img{width:100%;max-height:320px;object-fit:cover;display:block;border-radius:0;}
.entry-content .ro-box,.entry-content .wp-block-group.ro-box{border:1px solid rgba(184,134,43,.35);border-radius:var(--radius);padding:1.3em 1.5em;background:var(--paper-2);}
.entry-content .ro-box h3{margin-top:0;}
.entry-content .ro-box p:last-child{margin-bottom:0;}
.entry-content .ro-hint{font-size:.9rem;opacity:.75;}
.entry-content table{width:100%;border-collapse:collapse;font-size:.95rem;}
.entry-content th,.entry-content td{padding:.6em .7em;border-bottom:1px solid rgba(0,0,0,.08);text-align:left;}

/* Plugin ro-ucet + WooCommerce na pergamenu */
.sheet .ro-box{border:1px solid rgba(184,134,43,.35) !important;border-radius:var(--radius) !important;padding:1.5em 1.7em !important;background:var(--paper-2) !important;margin:1.3em 0 !important;}
.sheet .ro-box h3{margin-top:0;}
.sheet .ro-box h4{color:var(--gold-deep);font-family:var(--body);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin:1.5em 0 .4em;}
.sheet .ro-form label{display:block;margin:.8em 0 .3em;font-weight:800;font-size:.92rem;color:var(--paper-ink);}
.sheet .ro-form input[type=text],.sheet .ro-form input[type=password],.sheet .ro-form input[type=email],.sheet .ro-form select,.sheet .woocommerce input.input-text,.sheet .woocommerce select,.sheet .woocommerce textarea{width:100%;max-width:460px;padding:12px 14px;border-radius:10px !important;background:#fff !important;border:1px solid rgba(0,0,0,.15) !important;color:var(--paper-ink);font-family:var(--body);font-size:.95rem;}
.sheet .ro-form input:focus,.sheet .ro-form select:focus{outline:none;border-color:var(--gold-deep) !important;box-shadow:0 0 0 3px rgba(230,180,73,.25);}
.sheet .ro-form .ro-hint{font-size:.83rem;color:var(--paper-muted);opacity:1;margin:.25em 0 0;}
.sheet .ro-form button,.sheet .woocommerce .button,.sheet .woocommerce button.button{margin-top:1.2em;padding:13px 26px !important;border-radius:12px !important;border:0;background:var(--gold-grad) !important;color:#1b1608 !important;font-weight:800;font-family:var(--body);cursor:pointer;box-shadow:0 10px 30px -10px rgba(230,180,73,.7);transition:transform var(--t);}
.sheet .ro-form button:hover,.sheet .woocommerce .button:hover{transform:translateY(-2px);}
.sheet .ro-msg{padding:.9em 1.1em;border-radius:10px;margin:1em 0;border:1px solid;font-weight:600;}
.sheet .ro-msg.ok{background:rgba(99,201,138,.15) !important;color:#1d7a43 !important;border-color:rgba(99,201,138,.45) !important;}
.sheet .ro-msg.err{background:rgba(226,98,74,.12) !important;color:#a8311f !important;border-color:rgba(226,98,74,.4) !important;}
.sheet .ro-tab{width:100%;border-collapse:collapse;font-size:.95rem;}
.sheet .ro-tab th,.sheet .ro-tab td{padding:.6em .7em;border-bottom:1px solid rgba(0,0,0,.08) !important;text-align:left;}
.sheet .ro-tab th{color:var(--paper-muted);font-weight:800;opacity:1 !important;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;}
.sheet .ro-pill{display:inline-block;padding:.15em .7em;border-radius:100px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;}
.sheet .ro-pill.on{background:rgba(99,201,138,.2) !important;color:#1d7a43 !important;}
.sheet .ro-pill.off{background:rgba(0,0,0,.06) !important;color:var(--paper-muted) !important;opacity:1 !important;}
.sheet .ro-pill.ban{background:rgba(226,98,74,.15) !important;color:#a8311f !important;}
.sheet .ro-cash{font-family:var(--display);font-size:1.6em;color:var(--gold-deep);}
.sheet details summary{cursor:pointer;color:var(--gold-deep);font-weight:800;}
.sheet .ro-status{display:flex;gap:1.2em;flex-wrap:wrap;justify-content:center;font-size:.92rem;}
.sheet .ro-dot.on{background:var(--leaf) !important;}
.sheet .ro-dot.off{background:var(--ember) !important;}
.sheet .woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1.2em;}
.sheet .woocommerce-MyAccount-navigation li a{display:inline-block;padding:8px 14px;border-radius:10px;background:var(--paper-2);border:1px solid rgba(0,0,0,.08);font-weight:700;font-size:.9rem;color:var(--paper-ink);}
.sheet .woocommerce-MyAccount-navigation li.is-active a{background:var(--gold-grad);border-color:transparent;color:#1b1608;}
.sheet .woocommerce-MyAccount-content{margin-top:0;}
.sheet .woocommerce table.shop_table{border:0;border-collapse:collapse;}
.sheet .woocommerce table.shop_table th,.sheet .woocommerce table.shop_table td{border:0;border-bottom:1px solid rgba(0,0,0,.08);}
.sheet .woocommerce-message,.sheet .woocommerce-info,.sheet .woocommerce-error{border-top-color:var(--gold-deep);background:var(--paper-2);border-radius:10px;}
.sheet .ro-checkout-account{margin:1.5em 0;padding:1.3em 1.5em;border-radius:var(--radius);background:var(--paper-2);border:1px solid rgba(184,134,43,.35);}

/* ==========================================================================
   6. FOOTER
   ========================================================================== */
.site-footer{position:relative;z-index:1;border-top:1px solid var(--line);padding:64px 0 32px;background:linear-gradient(180deg,var(--night),#070c17);}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px;}
.footer-brand p{max-width:300px;font-size:.95rem;}
.footer-col h4{font-family:var(--body);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:16px;font-weight:800;}
.footer-col ul{display:flex;flex-direction:column;gap:10px;}
.footer-col a,.footer-col li{color:var(--ink-muted);font-size:.93rem;transition:color var(--t);}
.footer-col a:hover{color:var(--gold-2);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--line);font-size:.83rem;color:var(--ink-muted);flex-wrap:wrap;gap:12px;}
.footer-disclaimer{font-size:.76rem;color:var(--ink-muted);opacity:.65;max-width:780px;margin-top:16px;line-height:1.55;}

/* ==========================================================================
   7. UTILITIES / 404 / RESPONSIVE
   ========================================================================== */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease;}
[data-reveal].is-visible{opacity:1;transform:none;}
.back-to-top{position:fixed;right:22px;bottom:28px;width:46px;height:46px;border-radius:12px;background:var(--gold-grad);border:0;color:#1b1608;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px -8px rgba(230,180,73,.6);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity var(--t),transform var(--t);z-index:90;cursor:pointer;}
.back-to-top.is-visible{opacity:1;transform:none;pointer-events:auto;}
.back-to-top svg{width:20px;height:20px;}
.error-404{padding:120px 0;text-align:center;}
.error-404 h1{font-size:clamp(3rem,10vw,7rem);background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
@media (max-width:980px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}.grid-2{grid-template-columns:1fr;}.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:620px){.grid-3,.grid-4{grid-template-columns:1fr;}.footer-grid{grid-template-columns:1fr;}.section{padding:64px 0;}.page-hero{padding:40px 0 24px;}}
body.admin-bar .site-header{top:32px;}
@media (max-width:782px){body.admin-bar .site-header{top:46px;}}

/* Shortcode [ro_balicky] na pergamenových stránkách (/mince/, /coins/).
   Karty .pack jsou stavěné na tmavé pozadí, proto je obalíme tmavým pásem –
   jinak by trčely na světlém podkladu .entry-content. */
.ro-balicky-sekce{
  background:linear-gradient(180deg,var(--night-2),var(--night));
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:34px 28px;
  margin:28px 0 32px;
  color:var(--ink);
  /* Sirku resi rozsireni .sheet u strankek s balicky (viz nize), ne full-bleed pres
     100vw - ten zahrnuje i sirku scrollbaru a delal vodorovne pretekani. */
}
.ro-balicky-sekce .pack{background:var(--night-3);}
.ro-balicky-sekce .pack h3,
.ro-balicky-sekce .pack li{color:var(--ink-muted);}
.ro-balicky-sekce .pack .price{color:var(--ink);}
@media(max-width:860px){
  .ro-balicky-sekce{padding:22px 16px;margin-left:-8px;margin-right:-8px;}
}

/* Tlačítko košíku v hlavičce (zobrazí se jen když v košíku něco je). */
.ro-cart{display:inline-flex;align-items:center;gap:6px;}
.ro-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;
  padding:0 5px;border-radius:100px;background:var(--gold-grad);color:#1b1608;font-size:.72rem;font-weight:900;}


/* Stranky s balicky mincí (/mince/ a /coins/) dostanou sirsi list, aby karty mely
   stejnou sirku jako na uvodni strance. Bezny text uvnitr zustava citelne uzky. */
/* Sirku listu resi .sheet.is-wide (page.php), text uvnitr drzime citelne uzky. */
body.page-id-9 .entry-content > :not(.ro-balicky-sekce),
body.page-id-48 .entry-content > :not(.ro-balicky-sekce){max-width:820px;}
/* Sekce s balicky: vytahnout z vnitrniho odsazeni listu na celou jeho sirku */
/* Sekce jde az k okraji listu; .sheet ma overflow:hidden, takze ji orizne
   podle zaoblenych rohu a nevznikaji utrzene pruhy. */
.sheet .ro-balicky-sekce{margin-left:calc(-1 * clamp(24px,4vw,56px));
  margin-right:calc(-1 * clamp(24px,4vw,56px));border-radius:0;border-left:0;border-right:0;}
.ro-balicky-sekce .section-head{text-align:center;margin-bottom:26px;}
.ro-balicky-sekce .section-head h2{color:var(--ink);font-size:clamp(1.5rem,3vw,2rem);margin:6px 0 8px;}
.ro-balicky-sekce .section-head p{color:var(--ink-muted);max-width:560px;margin:0 auto;}

/* Kupon v kosiku: WooCommerce sem dava input + tlacitko vedle sebe, ale nase
   pravidlo pro .sheet input davalo width:100%, takze se rozjely na ruzne vysky. */
.woocommerce .coupon{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.sheet .woocommerce .coupon input.input-text,
.woocommerce form.woocommerce-cart-form .coupon input#coupon_code{
  width:auto;min-width:160px;max-width:220px;margin:0;flex:0 1 auto;
}
.woocommerce .coupon .button{margin:0;white-space:nowrap;flex:0 0 auto;}

/* Radek s akcemi kosiku at se na uzkem displeji lame citelne */
.woocommerce form.woocommerce-cart-form td.actions{display:flex;flex-wrap:wrap;gap:12px;
  align-items:center;justify-content:space-between;}

/* Pojistka proti vodorovnemu pretekani (utrzene pruhy pod obsahem) */
html,body{overflow-x:hidden;}

/* --- Košík: tabulka na celou šířku, bez prázdného sloupce s náhledem --------
   Balíčky mincí nemají obrázek produktu, takže sloupec s náhledem zůstával prázdný
   a tabulka se tlačila doprava. Skryjeme ho a necháme tabulku roztáhnout. */
.woocommerce table.shop_table.cart{width:100%;table-layout:auto;}
.woocommerce table.shop_table.cart td.product-thumbnail,
.woocommerce table.shop_table.cart th.product-thumbnail{display:none;}
.woocommerce table.shop_table.cart td.product-remove,
.woocommerce table.shop_table.cart th.product-remove{width:44px;text-align:center;padding-left:0;}
.woocommerce table.shop_table.cart td.product-name{text-align:left;width:auto;}
.woocommerce table.shop_table.cart th{text-align:left;}
.woocommerce table.shop_table.cart td.product-price,
.woocommerce table.shop_table.cart td.product-subtotal,
.woocommerce table.shop_table.cart th.product-price,
.woocommerce table.shop_table.cart th.product-subtotal{text-align:right;white-space:nowrap;}
.woocommerce table.shop_table.cart td.product-quantity{width:130px;}
.woocommerce table.shop_table.cart td.product-quantity input.qty{width:100%;max-width:110px;text-align:center;}
@media(max-width:640px){
  .woocommerce table.shop_table.cart td.product-quantity{width:auto;}
}
.btn-icon{padding:9px 10px;display:inline-flex;align-items:center;justify-content:center;}

/* ================= Poringi bezici pres hranici banneru (24.9.2026) =================
   Cistě CSS pixel-art, zadna licencovana grafika. Bezi tam a zpet po spodnim okraji
   .hero, presne na hranici tmave/svetle casti. */
.hero-poring-row{
  position:absolute; left:0; right:0; bottom:-6px; height:70px; z-index:5;
  overflow:hidden; pointer-events:none;
}
.hero-poring{
  position:absolute; bottom:0; width:54px; height:46px;
  animation:poringRun 34s ease-in-out infinite, poringHop 1.3s ease-in-out infinite;
  filter:drop-shadow(0 4px 6px rgba(0,0,0,.4));
  transform-style:preserve-3d;
}
.hero-poring .p-body{
  position:absolute; left:4px; top:12px; width:46px; height:32px;
  background:linear-gradient(178deg,#ffe6cd 0%,#ffb6a4 26%,#f4788e 60%,#dd5170 100%);
  clip-path:polygon(
    20% 100%,80% 100%, 92% 90%, 100% 70%, 100% 45%, 92% 22%, 78% 8%, 55% 0%,
    45% 0%, 22% 8%, 8% 22%, 0 45%, 0 70%, 8% 90%
  );
  box-shadow:inset -6px 7px 10px rgba(150,40,65,.35), inset 5px -6px 9px rgba(255,255,255,.45);
}
.hero-poring .p-bubble{
  position:absolute; right:2px; top:0; width:10px; height:10px; border-radius:50%;
  background:radial-gradient(circle at 32% 28%, #fff 0%, #ffb0a0 45%, #dd5170 100%);
  box-shadow:0 1px 2px rgba(0,0,0,.25);
}
.hero-poring .p-eye{position:absolute; top:26px; width:4px; height:5px; background:#2a1012; border-radius:1px 1px 2px 2px;}
.hero-poring .p-eye::after{content:"";position:absolute; top:.5px; left:.5px; width:1.5px; height:1.5px; background:#fff;}
.hero-poring .p-eye.l{left:17px;} .hero-poring .p-eye.r{left:31px;}
.hero-poring .p-mouth{
  position:absolute; left:20px; top:33px; width:11px; height:8px; border-radius:50%;
  border:2px solid transparent; border-bottom-color:#8a2f42; box-sizing:border-box;
}
.hero-poring.hp2{animation-delay:-7s, -.3s;}
.hero-poring.hp3{animation-delay:-13s, -.6s;}
.hero-poring.stationary{
  left:auto; right:50px; animation:poringHop 1.3s ease-in-out infinite; animation-delay:-1s;
  transform:perspective(280px) rotateY(0deg);
}

@keyframes poringRun{
  0%{left:-5%; transform:perspective(280px) rotateY(0deg);}
  45%{left:92%; transform:perspective(280px) rotateY(0deg);}
  50%{left:92%; transform:perspective(280px) rotateY(180deg);}
  95%{left:-5%; transform:perspective(280px) rotateY(180deg);}
  100%{left:-5%; transform:perspective(280px) rotateY(360deg);}
}
@keyframes poringHop{
  0%,100%{translate:0 0;}
  50%{translate:0 -12px;}
}
@media (max-width:480px){.hero-poring-row{display:none;}}
