/*
Theme Name: Święty Spokój Music Cafe
Author: VoxelForge
Description: Muzyczny, editorialowy motyw WordPress dla Świętego Spokoju w Lublinie.
Version: 1.1.3
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: swiety-spokoj
Tags: food-and-drink, custom-logo, custom-menu, featured-images, accessibility-ready
*/
:root{--ink:#171513;--cream:#efe8dc;--paper:#f8f4ed;--gold:#c79a5b;--rust:#984b31;--line:rgba(23,21,19,.2);--serif:Georgia,'Times New Roman',serif;--sans:Inter,'Segoe UI',Arial,sans-serif;--mono:'DM Mono',monospace;--wrap:min(1180px,calc(100% - 40px));--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}button{font:inherit}button,a{touch-action:manipulation}:focus-visible{outline:3px solid #1769aa;outline-offset:4px}.skip-link{position:absolute;left:12px;top:8px;padding:10px 14px;background:#fff;color:#000;transform:translateY(-150%);z-index:20}.skip-link:focus{transform:none}.wrap{width:var(--wrap);margin-inline:auto}.topbar{position:absolute;z-index:10;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:18px max(20px,calc((100% - 1180px)/2));color:#fff;background:linear-gradient(#111b,transparent)}.brand{font:500 20px var(--serif);text-decoration:none}.brand em{color:var(--gold)}.nav{display:flex;gap:25px;align-items:center;font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase}.nav a{text-decoration:none}.nav a:hover{color:var(--gold)}.nav-cta,.pill{display:inline-flex;align-items:center;gap:12px;background:var(--gold);color:var(--ink);border-radius:999px;padding:13px 20px;font-weight:700;text-decoration:none;transition:transform .25s var(--ease),filter .25s}.nav-cta:hover,.pill:hover{transform:translateY(-3px);filter:brightness(1.08)}.hero{min-height:780px;position:relative;display:grid;align-items:end;padding:160px 0 105px;background:#110f0d;color:#fff;isolation:isolate;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,#0c0a09f2 0%,#0c0a09c7 45%,#0c0a0950),url('../images/hero-cafe.png');background-position:center;background-size:cover;z-index:-2;animation:drift 18s ease-in-out infinite alternate}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0c0a09e8,transparent 55%),radial-gradient(circle at 75% 30%,#c79a5b33,transparent 30%);z-index:-1}.hero-inner{display:flex;justify-content:space-between;gap:40px;align-items:end}.hero-copy{max-width:760px}.eyebrow,.section-label{font:600 10px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}h1,h2,h3{line-height:.98;margin:0 0 20px}h1{font:600 clamp(58px,9vw,132px)/.84 var(--sans);letter-spacing:-.08em;text-transform:uppercase}h1 i,h2 em{display:block;color:var(--gold);font:italic 500 .66em/.95 var(--serif);letter-spacing:-.04em;text-transform:none}.hero-copy>p:not(.eyebrow){max-width:610px;color:#fff9;font-size:clamp(17px,2vw,22px)}.hero-actions{display:flex;gap:20px;align-items:center;margin-top:32px}.text-link{font:700 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#fff;text-decoration:none}.hero-note{max-width:270px;padding:22px;border:1px solid #fff3;border-radius:24px;background:#17151399;backdrop-filter:blur(7px);font-size:13px;color:#fff9}.hero-note strong{display:block;color:var(--gold);font:italic 24px var(--serif);margin-bottom:12px}.ticker{background:var(--ink);color:var(--cream);overflow:hidden;border-top:1px solid #ffffff22;border-bottom:1px solid #ffffff22}.ticker-track{display:flex;width:max-content;animation:ticker 34s linear infinite}.ticker span{padding:12px 30px;font:10px var(--mono);letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}.ticker b{color:var(--gold)}section{padding:clamp(80px,10vw,140px) 0}.intro{background:var(--cream)}.intro-grid,.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,130px);align-items:start}.intro h2,h2{font:600 clamp(48px,6.5vw,92px)/.86 var(--sans);letter-spacing:-.075em;text-transform:uppercase}.intro-body{max-width:540px;font-size:clamp(18px,2vw,25px)}.pullquote{margin-top:35px;padding:20px 0;border-top:1px solid var(--line);font:italic 24px/1.3 var(--serif)}.pullquote span{display:block;margin-top:14px;font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--rust)}.menu{background:var(--paper)}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:35px}.section-head>p{max-width:340px;color:#171513aa}.menu-tabs{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:25px}.menu-tab{border:1px solid var(--line);border-radius:999px;background:transparent;padding:11px 16px;cursor:pointer;min-height:44px}.menu-tab:hover,.menu-tab.active{background:var(--ink);color:var(--cream);border-color:var(--ink)}.menu-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.menu-list{border-top:1px solid var(--line)}.menu-row{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);animation:rise .4s both}.menu-row h3{font-size:22px;margin:0 0 4px}.menu-row p{margin:0;color:#171513aa;font-size:14px}.price{color:var(--rust);font-weight:700;white-space:nowrap}.menu-photo{min-height:420px;border-radius:36px;background:linear-gradient(0deg,#171513b8,#17151316),url('../images/hero-cafe.png') center/cover;position:relative;overflow:hidden}.menu-photo-note{position:absolute;left:24px;bottom:24px;right:24px;color:#fff;font:italic 30px/1.05 var(--serif)}.menu-photo-note small{display:block;margin-top:12px;font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.vinyls{background:var(--ink);color:var(--cream)}.sleeve-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:35px}.sleeve{aspect-ratio:1/1.15;padding:15px;border-radius:20px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 18px 30px #0005;transition:transform .4s var(--ease),box-shadow .4s}.sleeve:hover{transform:translateY(-12px) rotate(0deg) scale(1.04);box-shadow:0 28px 45px #0008}.sleeve:nth-child(odd){transform:rotate(-2deg)}.sleeve:nth-child(even){transform:rotate(2deg)}.sleeve small,.sleeve span{font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase}.sleeve strong{font:500 24px/.95 var(--serif)}.sleeve:nth-child(1){background:#914b36}.sleeve:nth-child(2){background:#8f724b}.sleeve:nth-child(3){background:#31504c}.sleeve:nth-child(4){background:#684453}.sleeve:nth-child(5){background:#87765e}.sleeve:nth-child(6){background:#4a536c}.events{background:var(--cream)}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.event{min-height:380px;padding:25px;display:flex;flex-direction:column;justify-content:end;border-radius:28px;overflow:hidden;color:#fff;background:linear-gradient(0deg,#0c0a0dec,#0c0a0d20),url('../images/hero-cafe.png') center/cover;transition:transform .35s var(--ease)}.event:hover{transform:translateY(-8px)}.event-date{color:var(--gold);font:11px var(--mono);letter-spacing:.12em;text-transform:uppercase}.event h3{font:italic 42px/.95 var(--serif);margin:10px 0}.event p{margin:0;color:#fff9}.proof{background:#d8c9b6}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.quote{padding:28px;border:1px solid var(--line);border-radius:28px;background:#fff5;min-height:230px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .3s}.quote:hover{transform:translateY(-8px)}.quote blockquote{font:italic 25px/1.25 var(--serif);margin:0}.quote footer{font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--rust)}.visit{background:var(--paper)}.map-card{min-height:390px;border-radius:36px;background:linear-gradient(135deg,#d6c3a9,#a99479);position:relative;overflow:hidden;text-decoration:none}.map-card:before{content:"";position:absolute;inset:15%;border:1px solid #17151344;border-radius:50%;transform:rotate(-17deg)}.map-pin{position:absolute;left:50%;top:42%;width:54px;height:54px;background:var(--rust);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.map-pin:after{content:"";position:absolute;width:14px;height:14px;background:var(--cream);border-radius:50%;left:20px;top:20px}.map-label{position:absolute;left:26px;bottom:24px;font:28px var(--serif)}.map-label small{display:block;font:10px var(--mono);letter-spacing:.12em;color:var(--rust)}.contact{background:var(--ink);color:var(--cream)}.contact .section-label{color:var(--gold)}.contact h2{max-width:700px}.contact-details{border-top:1px solid #fff3}.detail{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #fff3;color:#fff9}.detail span:first-child{font:10px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}.footer{display:flex;justify-content:space-between;gap:20px;padding-top:50px;font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#fff8}.backtop{position:fixed;right:18px;bottom:18px;width:50px;height:50px;border:1px solid var(--gold);border-radius:50%;background:var(--ink);color:var(--gold);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:10;cursor:pointer}.backtop.show{opacity:1;pointer-events:auto}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.visible{opacity:1;transform:none}@keyframes drift{from{transform:scale(1.02)}to{transform:scale(1.08)}}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes rise{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}@media(max-width:850px){.nav{gap:12px}.nav a:not(.nav-cta){display:none}.hero{min-height:720px;padding-top:130px}.hero-inner,.intro-grid,.split{display:block}.hero-note{margin-top:34px}.section-head{display:block}.section-head>p{margin-top:18px}.menu-layout{grid-template-columns:1fr}.menu-photo{min-height:280px;margin-top:20px}.sleeve-grid{grid-template-columns:repeat(3,1fr)}.event-grid,.quote-grid{grid-template-columns:1fr}.event{min-height:300px}.map-card{min-height:280px;margin-top:40px}.footer{display:block}.footer>*{display:block;margin-top:12px}}@media(max-width:480px){:root{--wrap:calc(100% - 28px)}.topbar{padding:15px 14px}.brand{font-size:17px}.hero{padding-bottom:72px}.hero-actions{align-items:flex-start;flex-direction:column}.sleeve-grid{gap:9px}.sleeve{padding:10px;border-radius:16px}.sleeve strong{font-size:18px}.menu-row h3{font-size:19px}.hero h1{font-size:54px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}
