/*
Theme Name: BK Studios Cinematic
Theme URI: https://bkstudios.in/
Author: BK Studios
Description: Premium cinematic photography and production theme for BK Studios. Editable service galleries via the Media Library, booking form, blog, schema, Elementor compatible.
Version: 1.0.0
Requires at least: 6.3
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: bk-studios
*/
:root{--black:#0B0B0D;--gold:#C9A96E;--ivory:#F5F0E8;--graphite:#29272A;--muted:#b9b3a8;--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"Manrope",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--black);color:var(--ivory);font:400 1rem/1.7 var(--sans);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;margin:0 0 1rem}
h1{font-size:clamp(2.4rem,6vw,4.5rem)}h2{font-size:clamp(2rem,4.5vw,3.4rem)}h3{font-size:1.5rem}
p{margin:0 0 1rem;color:var(--muted);max-width:68ch}
.bk-wrap{max-width:1280px;margin:0 auto;padding:clamp(3.5rem,8vw,6.5rem) clamp(1.2rem,5vw,4rem)}
.bk-note{border-left:2px solid var(--gold);padding:.4rem 0 .4rem 1rem;font-size:.9rem}
.screen-reader-text{position:absolute;left:-9999px}
.skip-link:focus{left:1rem;top:1rem;background:var(--gold);color:var(--black);padding:.6rem 1rem;z-index:300}
.bk-btn{display:inline-block;padding:.9rem 1.6rem;border:1px solid var(--gold);text-decoration:none;font-weight:700;font-size:.95rem;background:none;color:var(--ivory);cursor:pointer;font-family:inherit;transition:background .3s,color .3s,transform .3s}
.bk-btn:hover{background:var(--gold);color:var(--black);transform:translateY(-2px)}
.bk-btn.fill{background:var(--gold);color:var(--black)}.bk-btn.fill:hover{background:var(--ivory)}
/* header */
.bk-header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:.9rem clamp(1.2rem,5vw,4rem);background:linear-gradient(var(--black),rgba(11,11,13,0))}
body.admin-bar .bk-header{top:32px}
.bk-header.solid{background:var(--black);border-bottom:1px solid var(--graphite)}
.bk-logo{font-family:var(--serif);font-size:1.6rem;letter-spacing:.04em;text-decoration:none;color:var(--gold)}
.bk-logo img{max-height:52px;width:auto}
.bk-nav ul{display:flex;gap:1.6rem;list-style:none;margin:0;padding:0}
.bk-nav a{text-decoration:none;font-size:.9rem;font-weight:500}.bk-nav a:hover,.bk-nav .current-menu-item>a{color:var(--gold)}
.bk-menu{display:none;background:none;border:1px solid var(--gold);color:var(--ivory);padding:.5rem .9rem;font:inherit;cursor:pointer}
@media(max-width:820px){.bk-menu{display:block}.bk-nav{position:absolute;top:100%;left:0;right:0;background:var(--black);display:none;padding:1rem 1.2rem 1.4rem;border-bottom:1px solid var(--graphite)}.bk-nav.open{display:block}.bk-nav ul{flex-direction:column}}
.bk-pagehead{padding-top:9rem;padding-bottom:2rem}
/* intro: CSS-only auto-hide so it can never block content */
#bk-intro{position:fixed;inset:0;z-index:100;background:var(--black);display:grid;place-items:center;animation:bkOut .7s ease 2.2s forwards}
html.bk-seen #bk-intro{display:none}
#bk-intro .mark{font-family:var(--serif);font-size:clamp(3rem,10vw,6rem);letter-spacing:.06em;background:linear-gradient(100deg,var(--ivory) 40%,var(--gold) 50%,var(--ivory) 60%) 150% 0/250% 100% no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:bkSweep 1.8s ease-in-out forwards,bkScl 2s ease-out forwards}
#bk-intro img{max-height:120px;width:auto;animation:bkScl 2s ease-out forwards}
#bk-skip{position:absolute;right:1.2rem;bottom:1.2rem}
@keyframes bkSweep{to{background-position:-50% 0}}@keyframes bkScl{from{transform:scale(.94)}to{transform:scale(1)}}@keyframes bkOut{to{opacity:0;visibility:hidden}}
/* hero */
.bk-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
.bk-slides{position:absolute;inset:0}
.bk-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s ease;animation:bkDrift 14s ease-in-out infinite alternate}
.bk-slide.on{opacity:1}
.bk-fallback:nth-child(1){background:radial-gradient(60% 50% at 70% 35%,#6b5330,transparent 70%),linear-gradient(160deg,#1a1713,#0B0B0D)}
.bk-fallback:nth-child(2){background:radial-gradient(55% 50% at 25% 40%,#4a3a52,transparent 70%),linear-gradient(200deg,#1b1620,#0B0B0D)}
.bk-fallback:nth-child(3){background:radial-gradient(60% 55% at 60% 60%,#5a4325,transparent 70%),linear-gradient(120deg,#17130e,#0B0B0D)}
@keyframes bkDrift{from{transform:scale(1)}to{transform:scale(1.07)}}
.bk-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,11,13,.92) 8%,rgba(11,11,13,.25) 60%)}
.bk-hero-copy{position:relative;z-index:2;padding:0 clamp(1.2rem,5vw,4rem) clamp(4rem,10vh,6rem);max-width:60rem}
.bk-hero h1{font-size:clamp(2.8rem,8vw,6.2rem)}
.bk-hero p{font-size:1.15rem;color:var(--ivory)}
.bk-ctas{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.6rem}
/* cards & galleries */
.bk-grid{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:2rem;perspective:1000px}
.bk-card{display:block;text-decoration:none;border:1px solid var(--graphite);background:linear-gradient(160deg,#171518,var(--black));transition:border-color .3s,transform .2s;transform-style:preserve-3d;overflow:hidden}
.bk-card:hover{border-color:var(--gold)}
.bk-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.bk-card .in{padding:1.3rem}.bk-card p{font-size:.92rem;margin:.4rem 0 0}
.bk-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem;margin-top:1.5rem}
.bk-item{margin:0;position:relative;overflow:hidden;border:1px solid var(--graphite)}
.bk-item img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .6s}
.bk-item a:hover img{transform:scale(1.05)}
.bk-item figcaption{position:absolute;inset:auto 0 0;padding:.6rem .8rem;font-size:.8rem;background:rgba(11,11,13,.75);color:var(--muted)}
.bk-split{display:grid;gap:3rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}
.bk-prose{max-width:760px}.bk-prose p,.bk-prose li{color:var(--ivory);opacity:.88}.bk-prose h2{margin-top:2.2rem}.bk-prose a{color:var(--gold)}
.bk-meta{font-size:.85rem;color:var(--muted)}
details{border-bottom:1px solid var(--graphite);padding:1rem 0}summary{cursor:pointer;font-weight:700}
.bk-share{display:flex;gap:1rem;flex-wrap:wrap;margin:2rem 0}.bk-share a{color:var(--gold)}
.bk-crumbs{font-size:.85rem;color:var(--muted);margin-bottom:1rem}.bk-crumbs a{text-decoration:none;color:var(--gold)}
/* form */
.bk-form{display:grid;gap:1rem}.bk-form label{font-size:.85rem;font-weight:700;display:grid;gap:.35rem}
.bk-form input,.bk-form select,.bk-form textarea{background:var(--graphite);border:1px solid #3b383c;color:var(--ivory);padding:.8rem;font:inherit;width:100%}
.bk-form input:focus,.bk-form select:focus,.bk-form textarea:focus{border-color:var(--gold);outline:none}
.bk-form .chk{display:flex;gap:.6rem;font-weight:400}.bk-form .chk input{width:auto}
.bk-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.bk-msg{padding:.9rem 1rem;border:1px solid var(--gold);color:var(--ivory)}.bk-msg.err{border-color:#d46a6a}
/* footer */
.bk-footer{border-top:1px solid var(--graphite);padding:3rem clamp(1.2rem,5vw,4rem) 6rem}
.bk-footer-in{max-width:1280px;margin:0 auto;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.bk-footer ul{list-style:none;padding:0;margin:0}.bk-footer a{text-decoration:none;color:var(--muted)}.bk-footer a:hover{color:var(--gold)}
.bk-social{display:flex;gap:.8rem}.bk-social a{width:42px;height:42px;border:1px solid var(--graphite);display:grid;place-items:center;color:var(--ivory)}.bk-social a:hover{border-color:var(--gold);color:var(--gold)}.bk-social svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.bk-float{position:fixed;right:1rem;bottom:1rem;z-index:40;display:flex;flex-direction:column;gap:.6rem}
.bk-float a{background:var(--gold);color:var(--black);text-decoration:none;font-weight:700;font-size:.85rem;padding:.7rem 1rem;border-radius:999px;text-align:center;box-shadow:0 4px 18px rgba(0,0,0,.5)}
/* lightbox */
dialog.bk-lb{border:0;background:rgba(11,11,13,.96);color:var(--ivory);width:100vw;max-width:100vw;height:100vh;max-height:100vh;padding:1rem;margin:0}
dialog.bk-lb::backdrop{background:#000}
.bk-lb figure{margin:0;height:100%;display:grid;grid-template-rows:1fr auto;justify-items:center;gap:.6rem}
.bk-lb img{max-height:82vh;object-fit:contain}
.bk-lb button{position:absolute;background:var(--graphite);color:var(--ivory);border:1px solid var(--gold);padding:.6rem .9rem;cursor:pointer;font:inherit}
.bk-lb .x{top:1rem;right:1rem}.bk-lb .p{left:1rem;top:50%}.bk-lb .n{right:1rem;top:50%}
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .8s,transform .8s}.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}html{scroll-behavior:auto}#bk-intro{display:none}}
