/*
Theme Name: TvanIterson Classic V9
Theme URI: https://example.com/
Author: OpenAI
Description: Responsive custom WordPress theme for T van Iterson & zn. with gallery pages, supplied photos and refined mobile layout and corrected project photo mapping.
Version: 1.9.0
Text Domain: tvaniterson-classic
*/

:root{
  --container: 1120px;
  --red:#d81f17;
  --red-dark:#ab150f;
  --text:#2f2f2f;
  --muted:#666;
  --line:#d7d7d7;
  --dark:#262626;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  color:var(--text);
  background:#ececec;
  line-height:1.7;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.site{min-height:100vh;display:flex;flex-direction:column}
.container{width:min(calc(100% - 36px), var(--container));margin-inline:auto}

.topbar{background:linear-gradient(#2f2f2f,#1f1f1f);border-bottom:4px solid var(--red);box-shadow:inset 0 -1px 0 rgba(255,255,255,.08)}
.topbar-inner{display:flex;justify-content:flex-end;align-items:center;min-height:58px}
.primary-nav ul{display:flex;list-style:none;gap:18px;margin:0;padding:0}
.primary-nav a{display:block;font-size:13px;color:#cfcfcf;text-transform:uppercase;padding:9px 15px;border-radius:6px;letter-spacing:.3px}
.primary-nav .current-menu-item>a,.primary-nav a:hover{background:#000;color:#fff}

.hero{background:radial-gradient(circle at 18% 20%, rgba(255,255,255,.9), rgba(255,255,255,0) 34%), linear-gradient(#f8f8f8,#efefef);border-bottom:1px solid #dbdbdb}
.hero-inner{min-height:242px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:20px}
.brand-block{display:flex;align-items:flex-start;gap:18px;padding:14px 0 18px}
.brand-logo{width:134px;flex:0 0 134px;margin-top:-28px}
.brand-copy{max-width:480px;padding-top:8px}
.brand-copy .site-title{margin:12px 0 8px;font-size:44px;line-height:.95;font-weight:900;letter-spacing:-1px;font-family:Georgia, "Times New Roman", serif;text-shadow:1px 1px 0 #000}
.brand-copy .tagline{margin:0;text-transform:uppercase;font-size:17px;line-height:1.38}
.cta-wrap{margin-top:26px}
.btn-red{display:inline-block;min-width:226px;text-align:center;color:#fff;text-transform:uppercase;font-size:14px;padding:13px 18px;border-radius:4px;background:linear-gradient(#ea2c22,#c61b14);border:1px solid #8f0f0b;box-shadow:0 2px 0 rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.15)}
.btn-red:hover{filter:brightness(1.05)}
.hero-art{justify-self:end;max-width:540px;width:100%}

.content-panel{background:linear-gradient(#f3f3f3,#ededed);border-top:1px solid #f8f8f8;border-bottom:1px solid var(--line);flex:1}
.content-panel .container{padding:58px 0 86px}
.two-col{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.78fr);gap:72px}
.paper-right{padding-left:42px;border-left:1px solid #e0e0e0}
.section-title,.info-title{margin:0 0 18px;line-height:1;font-family:Georgia,"Times New Roman",serif;font-weight:900;letter-spacing:-1px}
.section-title{font-size:54px;color:var(--red);text-shadow:1px 1px 0 rgba(109,0,0,.28)}
.info-title{font-size:52px;color:#252525;text-shadow:1px 1px 0 rgba(0,0,0,.2)}
.copy p{margin:0 0 22px;font-size:15px}
.contact-lines p{margin:0 0 8px}
.contact-meta{margin-top:26px}
.contact-meta strong{display:block;margin-bottom:10px}
.note{color:#7a7a7a;font-style:italic;padding-left:48px}
.info-list{list-style:none;margin:0 0 18px;padding:0}
.info-list li{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px;font-size:15px}
.info-icon{width:22px;height:auto;display:block;flex:0 0 22px;margin-top:2px;opacity:.9}
.hr{height:1px;background:#d8d8d8;margin:18px 0 24px}
.info-list a{text-decoration:underline}

.project-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:28px 14px;margin-top:26px;max-width:640px}
.project-card{display:block}
.project-card img{width:100%;aspect-ratio:1.36/.78;object-fit:cover;border:1px solid #cfcfcf;box-shadow:0 0 0 1px #fff inset;background:#fff}
.project-card span{display:block;margin-top:6px;font-size:13px;line-height:1.2}
.project-count{display:block;color:#7a7a7a;font-size:12px;margin-top:2px}
.tip{color:#666;font-style:italic;margin-top:28px}
.single-project-image img{width:100%;max-width:640px;border:1px solid #d0d0d0;box-shadow:0 0 0 1px #fff inset}
.entry-copy{max-width:650px}

.gallery-hero-meta{color:#666;font-size:14px;margin-bottom:14px}
.gallery-grid{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:16px;max-width:700px}
.gallery-card{position:relative;display:block;overflow:hidden;border:1px solid #d0d0d0;background:#fff;box-shadow:0 0 0 1px #fff inset}
.gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s ease}
.gallery-card:hover img{transform:scale(1.03)}
.back-link{display:inline-block;margin-top:6px;text-decoration:underline}

.site-footer{background:linear-gradient(#ebebeb,#e2e2e2);border-top:1px solid #d5d5d5}
.footer-inner{min-height:100px;display:flex;align-items:center;justify-content:flex-start;gap:18px;color:#9a9a9a;font-size:14px}
.footer-mark{width:190px;opacity:.72}
.page-template-default .entry-content,.page-template .entry-content{display:none}

.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.82);display:none;align-items:center;justify-content:center;z-index:9999;padding:24px}
.lightbox.open{display:flex}
.lightbox-inner{max-width:min(92vw,1180px);max-height:90vh}
.lightbox img{max-height:88vh;width:auto;border:4px solid #fff;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.lightbox-close{position:absolute;top:16px;right:20px;color:#fff;font-size:34px;line-height:1;cursor:pointer}

@media (max-width: 1024px){
  .hero-inner{grid-template-columns:1fr;padding:20px 0 10px;gap:8px}
  .hero-art{justify-self:center;max-width:520px}
  .brand-block{justify-content:center;text-align:center;align-items:center;flex-direction:column;gap:4px}
  .brand-logo{margin-top:-10px;width:116px;flex-basis:auto}
  .brand-copy{padding-top:0}
  .brand-copy .site-title{font-size:40px}
  .cta-wrap{display:flex;justify-content:center}
  .two-col{grid-template-columns:1fr;gap:34px}
  .paper-right{border-left:0;padding-left:0}
  .project-grid{grid-template-columns:repeat(4,1fr);max-width:none}
  .gallery-grid{grid-template-columns:repeat(2,1fr);max-width:none}
}
@media (max-width: 680px){
  .container{width:min(calc(100% - 22px), var(--container))}
  .topbar-inner{justify-content:center;min-height:54px}
  .primary-nav ul{gap:8px;flex-wrap:wrap;justify-content:center;padding:8px 0}
  .primary-nav a{padding:8px 10px;font-size:12px}
  .brand-copy .site-title{font-size:32px}
  .brand-copy .tagline{font-size:14px}
  .btn-red{min-width:220px;font-size:13px;padding:13px 16px}
  .content-panel .container{padding:34px 0 46px}
  .section-title,.info-title{font-size:36px}
  .project-grid{grid-template-columns:repeat(2,1fr);gap:20px 12px}
  .gallery-grid{grid-template-columns:1fr;gap:12px}
  .note{padding-left:0}
  .footer-inner{justify-content:center;flex-wrap:wrap;text-align:center;padding:18px 0}
  .footer-mark{width:180px}
}


.copy .gallery-description{margin:0 0 28px;font-size:15px;}
.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:760px}
.gallery-card img{aspect-ratio:1.18/1}
@media (max-width: 1024px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width: 680px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
