/*
Theme Name: Gezim Mavric Films
Theme URI: https://gezimmavricfilms.com
Author: Gezim Mavric Films
Author URI: https://gezimmavricfilms.com
Description: A high-end cinematic wedding cinematography portfolio theme with editorial storytelling, a Vertical Spines screening room, an editorial Investment section, and a customizable inquiry form. Includes a Films custom post type.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gezim-mavric
Tags: one-column, custom-logo, custom-colors, custom-header, featured-images, threaded-comments, translation-ready
*/

:root{
  --bg:#F9F7F2; --ink:#111111; --stone:#7D7461; --gold:#B5A68B; --obsidian:#111111;
  --cream:#F9F7F2; --ash:#A69E8C; --sand:#EDE9DF;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  background:var(--bg);color:var(--ink);font-family:"DM Sans",ui-sans-serif,sans-serif;
  font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto;}
a,button{transition:opacity .3s ease;text-decoration:none;color:inherit;}
a:hover,button:hover{opacity:.72;}
::selection{background:#7D7461;color:#F9F7F2;}

.display{font-family:"Italiana",Georgia,serif;font-weight:400;}
.eyebrow{font-size:10px;letter-spacing:.34em;text-transform:uppercase;}
.tracked{font-size:10px;letter-spacing:.22em;text-transform:uppercase;}

/* ---------- NAV ---------- */
nav.top{
  position:absolute;top:0;left:0;right:0;z-index:30;
  max-width:768px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;
  padding:24px;color:var(--cream);
}
nav.top .group{display:flex;gap:40px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;}
nav.top .group a{color:var(--cream);}
nav.top .brand{display:flex;flex-direction:column;align-items:center;line-height:1;}
nav.top .brand .name{font-family:"Italiana",Georgia,serif;font-size:20px;letter-spacing:.18em;color:var(--cream);}
nav.top .brand .sub{margin-top:4px;font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:var(--ash);}
nav.top .bordered{border-bottom:1px solid currentColor;padding-bottom:4px;}
@media(max-width:640px){nav.top .hide-sm{display:none;}}

/* ---------- HERO ---------- */
header.hero{position:relative;min-height:100vh;overflow:hidden;background:var(--obsidian);color:var(--cream);}
header.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75;transform:scale(1.03);}
header.hero .shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.35),transparent 40%, rgba(0,0,0,.5));}
header.hero .inner{position:relative;z-index:10;min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;padding:112px 24px 32px;}
header.hero h1{font-family:"Italiana",Georgia,serif;font-size:18vw;line-height:.72;letter-spacing:-.065em;}
@media(min-width:768px){header.hero h1{font-size:10.5vw;}}
header.hero .footrow{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;}
header.hero .enter{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;}

/* ---------- BIO ---------- */
section.bio{background:var(--bg);padding:112px 24px;}
@media(min-width:768px){section.bio{padding:160px 64px;}}
.bio-grid{display:grid;gap:24px;}
@media(min-width:768px){.bio-grid{grid-template-columns:repeat(12,1fr);gap:32px;}}
.bio-grid .col-3{grid-column:span 3;}
.bio-grid .col-4{grid-column:span 4;}
.bio-grid .col-5{grid-column:span 5;}
.portrait-34{aspect-ratio:3/4;width:100%;object-fit:cover;}
.portrait-45{aspect-ratio:4/5;width:100%;object-fit:cover;}
.bio h2{font-family:"Italiana",Georgia,serif;font-size:48px;line-height:.95;}
@media(min-width:768px){.bio h2{font-size:60px;}}
.bio-body p{margin-top:20px;max-width:36rem;font-size:18px;line-height:1.75;}
.bio-body p:first-child::first-letter{float:left;margin-right:12px;font-family:"Italiana",Georgia,serif;font-size:72px;line-height:.8;}

/* ---------- COMMISSION ---------- */
section.commission{position:relative;overflow:hidden;background:var(--bg);padding:40px 24px 112px;text-align:center;}
@media(min-width:768px){section.commission{padding:48px 64px 160px;}}
section.commission .watermark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:0;font-family:"Italiana",Georgia,serif;font-size:46vw;line-height:1;-webkit-text-stroke:1px rgba(125,116,97,.22);color:transparent;pointer-events:none;}
@media(min-width:768px){section.commission .watermark{font-size:30vw;}}
.commission-inner{position:relative;z-index:1;max-width:48rem;margin:0 auto;}
.commission .num{color:var(--gold);}
.commission .num span.dim{color:rgba(17,17,17,.7);}
.commission h2{font-family:"Italiana",Georgia,serif;font-size:48px;line-height:.92;margin-top:32px;}
@media(min-width:768px){.commission h2{font-size:72px;}}
.commission .intro{max-width:36rem;margin:40px auto 0;font-size:18px;line-height:1.65;color:rgba(17,17,17,.8);}
.commission .intro .dropcap{float:left;margin-right:12px;font-family:"Italiana",Georgia,serif;font-size:72px;line-height:.6;color:var(--gold);}
.price-row{margin:56px auto;display:flex;align-items:center;justify-content:center;gap:20px;}
.price-row .line{height:1px;width:48px;background:rgba(181,166,139,.5);}
@media(min-width:768px){.price-row .line{width:80px;}}
.price-row .label{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(17,17,17,.6);}
.price-row .amount{font-family:"Italiana",Georgia,serif;font-size:36px;color:var(--gold);}
@media(min-width:768px){.price-row .amount{font-size:60px;}}
ul.features{list-style:none;margin:48px auto 0;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:28rem;}
ul.features li{font-family:"Italiana",Georgia,serif;font-size:18px;line-height:1.3;}
.inquire-link{display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid rgba(17,17,17,.6);padding-bottom:8px;margin-top:56px;font-size:10px;letter-spacing:.23em;text-transform:uppercase;}
.inquire-link:hover{color:var(--gold);}

/* ---------- SCREENING ROOM ---------- */
section.screening{overflow:hidden;background:var(--obsidian);color:var(--cream);padding:32px 24px 128px;}
@media(min-width:768px){section.screening{padding:32px 64px 192px;}}
.screening .eyebrow{color:var(--ash);}
.screening .ghost{font-family:"Italiana",Georgia,serif;font-size:15vw;line-height:1;letter-spacing:-.05em;color:rgba(255,255,255,.1);margin-top:24px;}
@media(min-width:768px){.screening .ghost{font-size:10vw;}}
.film-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-top:56px;}
@media(min-width:768px){.film-grid{grid-template-columns:repeat(3,1fr);gap:24px;}}
.film-card{position:relative;}
.film-frame{position:relative;aspect-ratio:4/5;overflow:hidden;background:#000;}
.film-frame .num{position:absolute;left:12px;top:8px;z-index:2;font-family:"Italiana",Georgia,serif;font-size:72px;line-height:1;-webkit-text-stroke:1px rgba(197,185,172,.55);color:transparent;}
@media(min-width:768px){.film-frame .num{font-size:96px;}}
.film-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.film-frame .vtitle{position:absolute;left:12px;top:0;bottom:0;z-index:2;display:flex;align-items:center;padding-bottom:40px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#C5B9AC;}
.film-frame .play{position:absolute;bottom:12px;right:12px;z-index:2;border-bottom:1px solid rgba(197,185,172,.5);padding-bottom:4px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#C5B9AC;}
.film-meta{padding-top:16px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ash);}

/* ---------- CONTACT ---------- */
section.contact{display:grid;background:var(--bg);}
@media(min-width:768px){section.contact{grid-template-columns:1fr 1fr;}}
.contact .left{padding:96px 24px;}
@media(min-width:768px){.contact .left{padding:144px 64px;}}
.contact .eyebrow{color:var(--stone);}
.contact h2{font-family:"Italiana",Georgia,serif;font-size:60px;line-height:.9;margin-top:32px;}
@media(min-width:768px){.contact h2{font-size:96px;}}
.contact .copy{max-width:28rem;margin-top:32px;font-size:18px;line-height:1.7;}
.contact .copy p+p{margin-top:20px;}
.contact .left img{margin-top:48px;aspect-ratio:3/4;width:100%;max-width:24rem;object-fit:cover;}
.contact form{display:flex;flex-direction:column;justify-content:center;background:var(--sand);padding:96px 24px;}
@media(min-width:768px){.contact form{padding:96px 64px;}}
.gm-field{margin-bottom:28px;display:block;}
.gm-field label{display:block;margin-bottom:28px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--stone);}
.gm-field input,.gm-field textarea{margin-top:8px;width:100%;border:0;border-bottom:1px solid rgba(17,17,17,.3);background:transparent;padding:12px 0;font:inherit;font-size:18px;color:var(--ink);outline:none;}
.gm-field input::placeholder,.gm-field textarea::placeholder{color:rgba(125,116,97,.6);}
.gm-field input:focus,.gm-field textarea:focus{border-color:var(--ink);}
.gm-field textarea{resize:none;}
.send-btn{margin-top:32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);padding:16px 0;text-align:left;font-size:12px;letter-spacing:.25em;text-transform:uppercase;background:transparent;cursor:pointer;width:100%;}
.gm-success{margin-top:24px;padding:16px;border:1px solid var(--gold);color:var(--gold);font-size:13px;letter-spacing:.1em;text-transform:uppercase;}
.gm-error{margin-top:24px;padding:16px;border:1px solid #b91c1c;color:#b91c1c;font-size:13px;letter-spacing:.1em;text-transform:uppercase;}

/* ---------- FOOTER ---------- */
footer{background:var(--obsidian);color:var(--cream);padding:48px 24px;}
@media(min-width:768px){footer{padding:48px 64px;}}
footer .top{display:flex;flex-direction:column;gap:40px;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:48px;}
@media(min-width:768px){footer .top{flex-direction:row;align-items:flex-end;justify-content:space-between;}}
footer .brand-name{font-family:"Italiana",Georgia,serif;font-size:40px;line-height:1;color:var(--cream);}
footer .brand-name a{color:var(--cream);}
footer .links{display:flex;flex-wrap:wrap;gap:16px 32px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;}
footer .links a{color:var(--cream);}
footer .regions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;padding-top:28px;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--cream);}
@media(min-width:768px){footer .regions{justify-content:flex-start;}}
footer .regions .sep{color:var(--ash);}
footer .bottom{display:flex;flex-direction:column;gap:12px;padding-top:28px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ash);}
@media(min-width:768px){footer .bottom{flex-direction:row;justify-content:space-between;}}

.spine{position:absolute;left:72px;top:100vh;z-index:20;width:1px;height:calc(100% - 100vh);background:rgba(125,116,97,.25);pointer-events:none;}
@media(max-width:767px){.spine{display:none;}}

@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;}*,*::before,*::after{transition-duration:.01ms !important;}}
