/*
Theme Name: Jan Korinek Photography Hardcoded
Theme URI: https://photographerjankorinek.com/
Author: OpenAI
Description: Final hardcoded WordPress theme for Jan Korinek Photography. Portfolio collections render directly from theme files.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: jan-korinek-hardcoded
*/
:root{
  --bg:#f5f0ea;
  --brown:#6e6258;
  --text:#4a413a;
  --gold:#d8a56f;
  --border:rgba(110,98,88,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);background:var(--bg);font-family:Arial,Helvetica,sans-serif}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1240px,calc(100% - 48px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(110,98,88,.96);border-bottom:1px solid rgba(255,255,255,.12)}
.header-inner{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:14px;color:#fff;text-transform:uppercase;letter-spacing:.20em;font-size:14px}
.brand img{width:36px;height:36px;object-fit:contain}
.brand-mark{width:40px;height:40px;border:1px solid rgba(255,255,255,.25);border-radius:999px;display:grid;place-items:center;font-family:Georgia,serif;font-size:13px}
.nav{display:flex;gap:32px;flex-wrap:wrap}
.nav a{color:#fff;text-transform:uppercase;letter-spacing:.18em;font-size:12px;padding:8px 0;opacity:.92}
.nav a.active,.nav a:hover{color:#f1c89b}
.hero{min-height:92vh;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background:linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.28)),url('slide4.jpg') center/cover no-repeat}
.hero .overlay{width:min(980px,calc(100% - 40px));padding:120px 0 150px}
.kicker{text-transform:uppercase;letter-spacing:.34em;font-size:14px;color:#f0cfaa;margin-bottom:24px}
.hero h1{margin:0;font-family:Georgia,serif;font-weight:500;font-size:clamp(52px,7.2vw,92px);line-height:1.02}
.hero p{margin:26px auto 0;max-width:880px;font-size:22px;line-height:1.75}
.section{padding:78px 0}
.two-col{display:grid;grid-template-columns:minmax(320px,520px) minmax(320px,1fr);gap:44px;align-items:center}
.about-photo img{width:100%;aspect-ratio:4/4.1;object-fit:cover;border-radius:28px;box-shadow:0 20px 50px rgba(0,0,0,.08)}
.eyebrow,.eyebrow-dark{text-transform:uppercase;letter-spacing:.32em;font-size:12px;color:#c88649;margin-bottom:18px}
h1,h2,h3{font-family:Georgia,serif;font-weight:500}
h2{margin:0 0 22px;font-size:clamp(46px,5vw,72px)}
.about-copy{font-size:21px;line-height:1.85}
.pill-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border-radius:999px;text-transform:uppercase;letter-spacing:.18em;font-size:13px;color:#fff;background:var(--gold);border:2px solid #e2c182;margin-top:24px}
.callout-wrap{padding-top:0}
.callout{width:min(800px,calc(100% - 48px));margin:0 auto;background:#cd9364;border:2px solid #e7c982;border-radius:999px;color:#fbeccf;text-align:center;text-transform:uppercase;letter-spacing:.18em;font-weight:700;padding:22px 28px;font-size:18px}
.gallery-strip{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:18px;overflow:hidden;align-items:stretch}
.gallery-strip img{width:100%;height:245px;object-fit:cover;border-radius:22px}
.footer{background:#e4ddd3;text-align:center;padding:26px 16px 20px;color:#71675d;line-height:1.65}
.cookie-bar{position:fixed;left:10px;right:10px;bottom:10px;z-index:120;background:rgba(110,98,88,.96);color:#fff;border-radius:24px;padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.cookie-bar p{margin:0;font-size:14px;line-height:1.5}
.cookie-actions{display:flex;gap:12px;flex-shrink:0}
.cookie-actions button{border-radius:999px;border:1px solid rgba(255,255,255,.35);padding:12px 20px;text-transform:uppercase;letter-spacing:.16em;font-size:12px;cursor:pointer;background:transparent;color:#fff}
.cookie-actions .accept{background:#d7a86d;border-color:#d7a86d}
.page-hero{padding:76px 0 28px;text-align:center}
.page-hero h1{margin:0;font-size:clamp(42px,5vw,72px)}
.page-hero p,.page-sub{max-width:760px;margin:14px auto 0;color:#71675d;font-size:18px;line-height:1.8}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-bottom:84px}
.portfolio-tile{min-height:220px;border-radius:28px;background:#f8f6f2;text-decoration:none;color:#403934;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 34px rgba(73,63,57,.08);transition:transform .2s ease, box-shadow .2s ease}
.portfolio-tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(73,63,57,.12)}
.portfolio-tile span{font-family:'Cormorant Garamond',serif;font-size:40px;line-height:1.1;font-weight:500}
.gallery-page{padding-top:12px}
.collection-gallery{display:grid;grid-template-columns:1fr;gap:22px;padding-bottom:84px}
.collection-gallery img{display:block;width:100%;height:auto;border-radius:24px;box-shadow:0 14px 34px rgba(73,63,57,.08)}
.back-link{display:inline-block;margin-top:8px;color:#b4763a;text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-size:12px}
.back-link:hover{color:#cf9b66}
.content-area{padding:40px 0 84px}
.content-area .entry{max-width:960px;margin:0 auto;line-height:1.8}
@media (max-width:980px){.two-col,.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.hero p{font-size:19px}}
@media (max-width:720px){.container{width:min(100% - 24px,1240px)}.header-inner{padding:8px 0;align-items:flex-start}.nav{gap:18px}.brand{font-size:12px;letter-spacing:.14em}.hero{min-height:82vh}.kicker{font-size:11px}.hero p{font-size:17px}.about-copy{font-size:18px}.callout{font-size:14px;padding:18px 20px}.gallery-strip img,.collection-gallery img{height:auto}.cookie-bar{flex-direction:column;align-items:flex-start}.cookie-actions{width:100%}.portfolio-grid{grid-template-columns:1fr}}



.contact-grid-tiles{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:24px;
  padding-top:24px;
  padding-bottom:84px;
}
.contact-tile{
  min-height:220px;
  border-radius:28px;
  background:#f8f6f2;
  color:#403934;
  box-shadow:0 14px 34px rgba(73,63,57,.08);
  padding:34px;
}
.contact-tile h2{
  margin:0 0 18px;
  font-family:'Cormorant Garamond',serif;
  font-size:42px;
  line-height:1.05;
  font-weight:500;
}
.contact-tile p{margin:0 0 14px;color:#6a635c;line-height:1.8;font-size:17px;}
.contact-meta strong{color:#403934;}
.form-intro{text-align:center;font-size:18px;line-height:1.7;color:#6a635c;max-width:520px;margin:0 auto 24px;}
.preview-form label{display:block;font-size:16px;color:#403934;margin:0 0 8px;}
.req{color:#403934;font-weight:700;margin-right:5px}
.help{color:#7f766f;font-size:14px;margin-top:-4px;margin-bottom:10px;}
.preview-form .field{margin-bottom:18px;}
.preview-form input,.preview-form select,.preview-form textarea{width:100%;border:1px solid rgba(64,57,52,.45);background:#fff;color:#403934;border-radius:0;padding:14px 14px;font-size:16px;font-family:Arial,Helvetica,sans-serif;}
.preview-form textarea{min-height:170px;resize:vertical;}
.preview-form button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border:1px solid rgba(64,57,52,.7);background:#fff;color:#403934;cursor:pointer;font-size:16px;}
.preview-form button:hover{background:#f2ece5;}
.recaptcha-note{color:#6a635c;font-size:14px;line-height:1.7;margin:10px 0 22px;}
.form-notice{border-radius:16px;padding:14px 16px;margin-bottom:18px;font-size:15px;line-height:1.6;}
.form-notice.success{background:#edf5ea;color:#355b34;}
.form-notice.error{background:#faece9;color:#8a3f35;}
@media (max-width:980px){.contact-grid-tiles{grid-template-columns:1fr;}}



/* --- Responsive optimization patch: tablet + mobile --- */
@media (max-width: 1100px){
  .site-header{
    position:relative;
  }
  .header-inner{
    min-height:auto;
    padding:14px 0 16px;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }
  .brand{
    font-size:12px;
    letter-spacing:.14em;
    gap:10px;
  }
  .brand img{
    width:32px;
    height:32px;
  }
  .nav{
    width:100%;
    justify-content:center;
    gap:22px;
  }
  .hero{
    min-height:78vh;
  }
  .hero .overlay{
    padding:90px 0 100px;
  }
  .hero h1{
    font-size:clamp(42px, 9vw, 72px);
    line-height:1.02;
  }
  .hero p{
    font-size:18px;
    line-height:1.6;
    max-width:700px;
  }
  .two-col{
    grid-template-columns:1fr;
    gap:28px;
  }
  .about-copy{
    font-size:18px;
    line-height:1.8;
  }
  .gallery-strip{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .page-hero{
    padding:54px 0 22px;
  }
  .page-hero h1{
    font-size:clamp(34px, 7vw, 56px);
  }
  .page-hero p,
  .page-sub{
    font-size:16px;
    line-height:1.7;
  }
  .portfolio-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
    padding-bottom:56px;
  }
  .portfolio-tile{
    min-height:170px;
  }
  .portfolio-tile span{
    font-size:32px;
  }
  .contact-grid-tiles{
    grid-template-columns:1fr;
    gap:18px;
  }
}

@media (max-width: 720px){
  .container{
    width:min(100% - 24px, 1240px);
  }
  .header-inner{
    align-items:center;
    gap:12px;
    padding:12px 0 14px;
  }
  .brand{
    width:100%;
    justify-content:flex-start;
    font-size:11px;
    letter-spacing:.12em;
    line-height:1.2;
  }
  .nav{
    gap:14px 18px;
    justify-content:center;
  }
  .nav a{
    font-size:11px;
    letter-spacing:.16em;
    padding:4px 0;
  }
  .hero{
    min-height:72vh;
  }
  .hero .overlay{
    width:min(100% - 28px, 980px);
    padding:64px 0 76px;
  }
  .kicker{
    font-size:11px;
    letter-spacing:.24em;
    margin-bottom:16px;
  }
  .hero h1{
    font-size:clamp(34px, 10vw, 54px);
  }
  .hero p{
    margin-top:18px;
    font-size:16px;
    line-height:1.55;
  }
  .section{
    padding:48px 0;
  }
  .about-photo img{
    border-radius:22px;
  }
  h2{
    font-size:clamp(34px, 9vw, 48px);
  }
  .callout{
    width:min(100% - 24px, 800px);
    font-size:13px;
    line-height:1.5;
    padding:16px 18px;
    letter-spacing:.12em;
  }
  .gallery-strip{
    grid-template-columns:1fr;
    gap:14px;
  }
  .gallery-strip img{
    height:220px;
  }
  .portfolio-grid{
    grid-template-columns:1fr;
    gap:16px;
    padding-bottom:46px;
  }
  .portfolio-tile{
    min-height:142px;
    border-radius:22px;
  }
  .portfolio-tile span{
    font-size:28px;
  }
  .collection-gallery{
    gap:16px;
    padding-bottom:46px;
  }
  .collection-gallery img{
    border-radius:20px;
  }
  .cookie-bar{
    left:8px;
    right:8px;
    bottom:8px;
    padding:14px 16px;
    border-radius:22px;
    gap:12px;
  }
  .cookie-bar p{
    font-size:13px;
    line-height:1.55;
  }
  .cookie-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .cookie-actions button{
    width:100%;
    min-height:46px;
    padding:10px 14px;
    font-size:11px;
  }
  .contact-tile,
  .jk-contact-card{
    padding:24px;
    border-radius:22px;
  }
  .contact-tile h2,
  .jk-contact-card h2{
    font-size:34px;
  }
  .form-intro,
  .jk-form-intro{
    font-size:16px;
    line-height:1.6;
    margin-bottom:18px;
  }
  .preview-form input,
  .preview-form select,
  .preview-form textarea,
  .jk-contact-form input,
  .jk-contact-form select,
  .jk-contact-form textarea{
    font-size:16px;
    padding:12px 12px;
  }
  .preview-form textarea,
  .jk-contact-form textarea{
    min-height:140px;
  }
}

@media (max-width: 420px){
  .brand{
    font-size:10px;
    letter-spacing:.10em;
  }
  .nav{
    gap:10px 14px;
  }
  .nav a{
    font-size:10px;
  }
  .hero h1{
    font-size:clamp(30px, 11vw, 44px);
  }
  .hero p{
    font-size:15px;
  }
  .page-hero h1{
    font-size:clamp(30px, 10vw, 42px);
  }
}
