/*
Theme Name: Kamenná bašta
Author: Kamenná bašta
Description: Remeselná WordPress téma pre predajňu na hrade Červený Kameň, WooCommerce a internú aplikáciu.
Version: 1.6.3
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: kamenna-basta-theme
*/
:root{--cream:#f8edcf;--paper:#fffaf0;--teal:#269b8c;--dark:#176e68;--ink:#183d39;--coral:#e97952;--stone:#d7c8a3;--line:rgba(24,61,57,.15);--shadow:0 22px 70px rgba(38,72,63,.12);--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"Trebuchet MS",Arial,sans-serif;line-height:1.6}body.admin-bar .site-header{top:32px}a{color:inherit}img{max-width:100%;height:auto}.kb-container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;z-index:999;top:12px;left:12px;width:auto;height:auto;clip:auto;padding:10px 14px;background:#fff}
.site-header{position:sticky;z-index:50;top:0;background:rgba(248,237,207,.9);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.header-inner{min-height:84px;display:flex;align-items:center;gap:24px}.site-branding{display:inline-flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}.brand-mark{width:46px;height:46px;display:grid;place-items:center;color:var(--teal);border:3px solid;border-radius:20px 20px 10px 10px;transform:rotate(-1deg);font:700 25px Georgia,serif}.brand-copy{display:grid;line-height:1;font-family:Georgia,serif;text-transform:uppercase;letter-spacing:.08em}.brand-copy small{font:9px Arial,sans-serif;letter-spacing:.2em;margin-top:6px}.custom-logo{max-height:58px;width:auto}.primary-nav ul{list-style:none;display:flex;align-items:center;gap:28px;margin:0;padding:0}.primary-nav a{text-decoration:none;font-size:14px;font-weight:700}.primary-nav a:hover{color:var(--dark)}.header-actions{display:flex;gap:10px}.menu-toggle{display:none;padding:0;border:0;color:var(--ink);background:transparent;font-size:26px;cursor:pointer}.button,.wp-element-button,button,input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 20px;border:1px solid var(--dark);border-radius:999px;color:#fff;background:var(--dark);font:inherit;font-weight:700;text-decoration:none;cursor:pointer;transition:.2s}.button:hover,.wp-element-button:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(23,110,104,.2)}.button-outline{color:var(--ink);background:transparent}.button-light{color:var(--ink);border-color:#fff;background:#fff}
.hero{position:relative;overflow:hidden;padding:clamp(72px,10vw,140px) 0 88px}.hero:before{content:"";position:absolute;width:580px;height:580px;right:-190px;top:-210px;border:1px solid rgba(38,155,140,.25);border-radius:45% 55% 58% 42%;transform:rotate(19deg)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(38px,7vw,92px)}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--dark);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.eyebrow:before{content:"";width:30px;height:2px;background:currentColor}.eyebrow.light{color:#fff}h1,h2,h3{margin:0 0 .5em;line-height:1.06;font-family:Georgia,"Times New Roman",serif;font-weight:500}h1{max-width:790px;font-size:clamp(54px,7.4vw,104px);letter-spacing:-.055em}h1 em{color:var(--dark);font-weight:inherit}h2{font-size:clamp(38px,5vw,66px);letter-spacing:-.04em}h3{font-size:26px}.page-title{font-size:clamp(42px,6vw,78px)}.hero-copy>p:not(.eyebrow){max-width:620px;margin:22px 0 32px;font-size:clamp(18px,2vw,22px)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-card{position:relative;min-height:540px;padding:38px;border-radius:46% 46% 28px 28px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--teal);color:#fff;box-shadow:var(--shadow);overflow:hidden}.hero-card:before{content:"";position:absolute;inset:19px;border:2px solid rgba(255,255,255,.5);border-radius:inherit}.hero-logo{position:absolute;z-index:1;inset:30px 55px 150px;width:calc(100% - 110px);height:calc(100% - 180px);object-fit:contain;mix-blend-mode:multiply}.hero-card-content{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:24px;border-radius:20px;background:rgba(23,110,104,.92)}.hero-card-content strong{display:block;font:27px Georgia,serif}.hero-card-content span{font-size:14px;opacity:.86}.hero-badge{position:absolute;z-index:3;right:-10px;top:70px;width:114px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--coral);color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transform:rotate(8deg)}
.trust-strip{border-block:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}.trust-item{padding:24px 30px;display:flex;align-items:center;gap:16px;border-right:1px solid var(--line)}.trust-item:last-child{border:0}.trust-icon{color:var(--dark);font-size:25px}.trust-item strong,.trust-item span{display:block}.trust-item span{font-size:13px;opacity:.72}.section{padding:clamp(82px,11vw,140px) 0}.section-head{max-width:760px;margin-bottom:48px}.section-head p{max-width:650px;font-size:18px}.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,8vw,110px);align-items:center}.stone-art{min-height:520px;position:relative;border-radius:160px 160px 28px 28px;background:var(--stone);overflow:hidden;box-shadow:var(--shadow)}.stone-art:before,.stone-art:after{content:"";position:absolute;border:3px solid var(--dark);opacity:.8}.stone-art:before{inset:20% 13% 15%;border-radius:44% 56% 40% 60%;transform:rotate(-12deg);box-shadow:80px -90px 0 -2px var(--stone),80px -90px 0 1px var(--dark),-75px 82px 0 -2px var(--stone),-75px 82px 0 1px var(--dark)}.stone-art:after{width:160px;height:100px;left:50%;top:45%;border-radius:50%;transform:translate(-50%,-50%) rotate(7deg)}.story-copy p{font-size:18px}.signature{display:inline-block;margin-top:18px;color:var(--dark);font:italic 25px Georgia,serif}
.products-section{background:var(--paper)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product-card{min-height:360px;padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);display:flex;flex-direction:column;transition:.25s}.product-card:hover{transform:translateY(-6px) rotate(-.3deg);box-shadow:var(--shadow)}.product-illustration{flex:1;display:grid;place-items:center;font-size:88px}.product-card:nth-child(2){background:#dcece1}.product-card:nth-child(3){background:#eed8c4}.product-card p{margin:0;opacity:.75}.card-link{margin-top:18px;color:var(--dark);font-weight:800;text-decoration:none}
.visit{position:relative;overflow:hidden;color:#fff;background:var(--dark)}.visit:after{content:"";position:absolute;width:440px;aspect-ratio:1;right:-120px;bottom:-250px;border:2px solid rgba(255,255,255,.2);border-radius:45% 55% 60% 40%}.visit-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.visit h2{color:#fff}.hours-card{padding:34px;color:var(--ink);background:var(--cream);border-radius:var(--radius);transform:rotate(1deg);box-shadow:0 28px 70px rgba(0,0,0,.16)}.hours-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}.open-dot{width:9px;height:9px;display:inline-block;margin-right:8px;border-radius:50%;background:var(--coral)}.app-teaser{text-align:center}.app-teaser-inner{position:relative;padding:clamp(44px,7vw,82px);border:1px solid var(--line);border-radius:34px;background:var(--paper);overflow:hidden}.app-teaser-inner:before{content:"KB";position:absolute;left:-20px;bottom:-88px;color:rgba(38,155,140,.07);font:220px/1 Georgia,serif}.app-teaser p{max-width:660px;margin:0 auto 28px;font-size:18px}.site-main>.entry,.page-shell{width:min(980px,calc(100% - 40px));margin:70px auto}.entry-content{font-size:17px}.app-page{width:min(1480px,calc(100% - 28px));margin:28px auto 70px}.app-page-header{width:min(1180px,100%);margin:54px auto 28px}.login-card{max-width:650px;margin:70px auto;padding:44px;text-align:center;background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow)}
.site-footer{padding:68px 0 28px;color:#eaf4ec;background:var(--ink)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px;padding-bottom:50px}.footer-brand{font:32px/1 Georgia,serif;text-transform:uppercase;letter-spacing:.08em}.footer-copy{max-width:400px;opacity:.74}.site-footer h3{font:13px/1 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:8px 0}.site-footer a{text-decoration:none}.footer-bottom{padding-top:24px;border-top:1px solid rgba(255,255,255,.13);display:flex;justify-content:space-between;font-size:13px;opacity:.65}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{padding:20px;border:1px solid var(--line);border-radius:24px;background:var(--paper)}.woocommerce span.onsale{background:var(--coral)}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{color:#fff;background:var(--dark);border-radius:999px}
@media(max-width:900px){body.admin-bar .site-header{top:46px}.menu-toggle{display:block}.primary-nav{position:absolute;inset:84px 0 auto;padding:24px;display:none;background:var(--cream);border-bottom:1px solid var(--line)}.primary-nav.is-open{display:block}.primary-nav ul{flex-direction:column;align-items:flex-start}.header-actions .button-outline{display:none}.hero-grid,.story-grid,.visit-grid{grid-template-columns:1fr}.hero-card{min-height:460px;max-width:580px;width:100%;margin-inline:auto}.cards{grid-template-columns:1fr}.product-card{min-height:300px}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid var(--line)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>:first-child{grid-column:1/-1}}
@media(max-width:580px){.kb-container{width:min(100% - 28px,1180px)}.header-inner{min-height:72px}.brand-copy{font-size:13px}.header-actions .button{display:none}.primary-nav{top:72px}.hero{padding-top:60px}.hero-card{min-height:380px;padding:20px}.hero-logo{inset:20px 36px 115px;width:calc(100% - 72px);height:calc(100% - 135px)}.hero-card-content{padding:17px}.hero-card-content strong{font-size:21px}.hero-badge{width:88px;right:0;top:40px;font-size:10px}.stone-art{min-height:380px}.footer-grid{grid-template-columns:1fr}.footer-grid>:first-child{grid-column:auto}.footer-bottom{display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}
/* Visitor account and future game */
.auth-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}.game-symbol{display:grid;place-items:center;width:76px;aspect-ratio:1;margin:0 auto 20px;border:2px solid var(--teal);border-radius:50%;color:var(--dark);font:42px Georgia,serif}.game-card{position:relative;min-height:440px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:50px;padding:clamp(38px,7vw,80px);overflow:hidden;border-radius:36px;color:#fff;background:var(--dark);box-shadow:var(--shadow)}.game-card h2{color:#fff}.game-card p{max-width:670px;font-size:18px}.game-card .eyebrow{color:#bce8df}.coming-badge{display:inline-flex;padding:10px 17px;border-radius:999px;color:var(--ink);background:var(--cream);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.game-tower{position:relative;min-height:300px;border:3px solid #8bd2c5;border-radius:48% 48% 20px 20px;display:grid;place-items:center;color:#bce8df;background:rgba(38,155,140,.16)}.game-tower:before{content:"";position:absolute;left:12%;right:12%;top:26%;border-top:3px solid currentColor;transform:rotate(-12deg)}.game-tower span{font:110px/1 Georgia,serif}.account-note{text-align:center;margin:24px 0}.account-note a{color:var(--dark);font-weight:700}.organisation-header{margin-top:26px}@media(max-width:700px){.game-card{grid-template-columns:1fr}.game-tower{min-height:230px}.visitor-login{padding:34px 24px}}
/* Mobile header: account access must always remain visible */
.account-icon{display:none;font-size:20px;line-height:1}@media(max-width:900px){.header-inner{gap:12px}.header-actions{order:2;margin-left:auto}.menu-toggle{order:3;width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px}.header-actions .shop-button{display:none}.header-actions .account-button{display:inline-flex;min-height:42px;padding:8px 14px;font-size:13px;white-space:nowrap}.primary-nav{inset:84px 0 auto}.primary-nav.is-open{box-shadow:0 18px 35px rgba(24,61,57,.12)}}@media(max-width:580px){.header-inner{min-height:72px}.brand-mark{width:42px;height:42px;font-size:22px}.brand-copy{font-size:12px}.brand-copy small{font-size:8px}.header-actions .account-button{display:inline-flex;min-height:40px;padding:7px 11px}.primary-nav{top:72px}.auth-actions{display:grid;grid-template-columns:1fr}.auth-actions .button{width:100%}.app-page-header{margin-top:34px}.login-card{margin:38px auto}}@media(max-width:370px){.site-branding{gap:8px}.brand-copy{font-size:11px}.brand-copy small{display:none}.header-actions .account-button{width:40px;padding:0}.account-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.account-icon{display:inline}.menu-toggle{width:40px;flex-basis:40px}}
/* High-contrast logo plaque */
.hero-logo-stage{position:absolute;z-index:1;inset:42px 66px 146px;display:grid;place-items:center;overflow:hidden;border-radius:48% 48% 26px 26px;background:#fff2d6;box-shadow:0 22px 48px rgba(24,61,57,.2),inset 0 0 0 1px rgba(24,61,57,.08);transform:rotate(-1deg)}.hero-logo-stage:after{content:"";position:absolute;inset:12px;pointer-events:none;border:1px solid rgba(38,155,140,.32);border-radius:inherit}.hero-logo-stage .hero-logo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;mix-blend-mode:normal;opacity:1;filter:none;transform:none}.hero-badge{right:16px;top:80px;width:104px;box-shadow:0 12px 28px rgba(94,49,30,.2)}@media(max-width:900px){.hero-logo-stage{inset:38px 62px 136px}}@media(max-width:580px){.hero-logo-stage{inset:28px 34px 108px;border-radius:48% 48% 20px 20px}.hero-logo-stage .hero-logo{position:absolute;inset:0;width:100%;height:100%;max-width:none;transform:none}.hero-badge{right:8px;top:48px;width:84px}}
/* Live opening hours from fully covered calendar slots */
.kb-live-hours h4{margin:24px 0 5px;font:700 12px/1.2 "Trebuchet MS",Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--dark)}.kb-today-status{display:flex;align-items:center;gap:14px;margin:20px 0 8px;padding:17px;border-radius:17px;background:rgba(24,61,57,.07)}.kb-today-status>i{width:13px;height:13px;flex:0 0 13px;border-radius:50%;background:var(--stone);box-shadow:0 0 0 5px rgba(215,200,163,.28)}.kb-today-status.is-open>i{background:var(--teal);box-shadow:0 0 0 5px rgba(38,155,140,.18)}.kb-today-status.is-later>i{background:var(--coral);box-shadow:0 0 0 5px rgba(233,121,82,.17)}.kb-today-status span,.kb-opening-day>span{display:flex;flex-direction:column}.kb-today-status small,.kb-opening-day small{font-size:12px;opacity:.68}.kb-today-status strong{font-size:18px}.kb-opening-day{align-items:center}.kb-opening-day b{font-weight:700}.kb-opening-day>strong{white-space:nowrap;color:var(--dark)}.kb-hours-note{margin:20px 0 0}.kb-hours-note small{display:block;line-height:1.55;opacity:.76}.kb-no-opening{padding:15px 0;margin:0;border-bottom:1px solid var(--line);opacity:.72}@media(max-width:580px){.hours-card{padding:27px 22px}.kb-today-status{padding:14px}.kb-today-status strong{font-size:16px}.kb-opening-day{gap:12px}}
/* Dynamic marketing opening status in hero */
.hero-badge{grid-auto-rows:min-content;align-content:center;gap:2px;padding:12px 8px;line-height:1.12}.hero-badge strong,.hero-badge span{display:block}.hero-badge strong{font-size:11px}.hero-badge span{font-size:9px;letter-spacing:.03em}.hero-badge.is-closed{background:#c94f49}.hero-badge.is-later{background:var(--coral)}.hero-badge.is-open{background:#14765f}.hero-next-openings{min-width:0}.hero-next-openings>span{display:block;margin-bottom:4px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero-next-openings>strong{display:grid;gap:2px;font:20px/1.2 Georgia,serif}.hero-next-openings>strong>span{font:inherit;opacity:1;white-space:nowrap}@media(max-width:580px){.hero-card-content{gap:12px}.hero-next-openings>span{font-size:9px}.hero-next-openings>strong{font-size:16px}.hero-badge{padding:9px 6px}.hero-badge strong{font-size:9px}.hero-badge span{font-size:8px}}
/* Header lockup uses the untouched supplied logo as a sprite, only proportionally reduced. */
.site-header{background:#fff3d9}.brand-mark.brand-logo-symbol{width:45px;height:65px;flex:0 0 45px;border:0;border-radius:0;transform:none;background-color:#fff3d9;background-image:url("assets/logo.png");background-repeat:no-repeat;background-size:82.99px 117.30px;background-position:-19.66px -19.26px}.brand-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.brand-wordmark{width:176px;height:20px;display:flex;align-items:center;gap:6px;background:none}.brand-wordmark i{display:block;height:20px;flex:0 0 auto;background-color:#fff3d9;background-image:url("assets/logo.png");background-repeat:no-repeat}.brand-word-kamenna{width:103px;background-size:193.91px 274.06px;background-position:-47.81px -200px}.brand-word-basta{width:67px;background-size:189.47px 267.79px;background-position:-62.44px -218.17px}.brand-copy small{display:block;margin-top:7px;font:700 8px/1 Arial,sans-serif;letter-spacing:.18em;white-space:nowrap;color:var(--ink)}@media(max-width:580px){.site-branding{gap:8px}.brand-mark.brand-logo-symbol{width:38px;height:55px;flex-basis:38px;background-size:70.21px 99.23px;background-position:-16.64px -16.30px}.brand-wordmark{width:149px;height:17px;gap:5px}.brand-wordmark i{height:17px}.brand-word-kamenna{width:88px;background-size:164.82px 232.95px;background-position:-40.64px -170px}.brand-word-basta{width:57px;background-size:161.06px 227.66px;background-position:-53.08px -185.43px}.brand-copy small{display:block;margin-top:6px;font-size:7px;letter-spacing:.14em}}@media(max-width:370px){.brand-copy small{display:block}}