/*
Theme Name: Cornman Farms
Theme URI: https://dextercornman.com
Author: Cornman Farms
Description: Custom theme for Cornman Farms, Dexter, Michigan. Built to match the Social Vines site family: white background, Cinzel headings, Jost body text.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: Proprietary - for use by Cornman Farms
Text Domain: cornman-farms
*/
:root{
  --bg:#ffffff; --ink:#0a0a0d; --muted:#5b5a56; --panel:#f6f4ef; --panel-2:#edeae2; --line:#dedad1;
  --accent:#2e4a3b; --accent-ink:#ffffff;
  --serif:"Cinzel","Trajan Pro","Cormorant Garamond",Georgia,serif;
  --sans:"Jost","Helvetica Neue",Arial,sans-serif;
  box-sizing:border-box;
}
html{scroll-padding-top:100px;scroll-behavior:smooth}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.15;margin:0 0 .5em;letter-spacing:.01em}
h1{font-size:clamp(2rem,4.2vw,3.2rem)}
h2{font-size:clamp(1.6rem,3vw,2.3rem)}
h3{font-size:1.25rem}
p{margin:0 0 1em}
.kicker{font-family:var(--serif);font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:.9rem}
.lead{font-size:1.2rem;font-weight:300;max-width:62ch}
.wrap{width:min(1180px,92vw);margin:0 auto}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}
.btn{display:inline-block;font-family:var(--serif);font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:.95rem 1.6rem;border:1.5px solid var(--ink);background:var(--ink);color:#fff;border-radius:2px;cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:var(--accent);border-color:var(--accent)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn.light{background:#fff;color:var(--ink);border-color:#fff}
.btn.light:hover{background:var(--panel);border-color:var(--panel)}
.btns{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.center .btns{justify-content:center}
.notice{background:var(--panel);font-family:var(--serif);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;text-align:center;padding:.6rem 1rem;color:var(--muted)}

/* header */
.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:84px}
.brand img{height:64px;width:auto}
.nav{display:flex;gap:1.9rem;align-items:center}
.nav a{font-family:var(--serif);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:.4rem 0;border-bottom:1.5px solid transparent}
.nav a:hover,.nav a.on{border-bottom-color:var(--ink)}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:2px;padding:.55rem .7rem;font-family:var(--serif);letter-spacing:.2em;font-size:.72rem;text-transform:uppercase;cursor:pointer;color:var(--ink)}
@media (max-width:900px){
  .nav{display:none;position:absolute;left:0;right:0;top:84px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:.5rem 4vw 1rem}
  .nav.open{display:flex}
  .nav a{padding:.8rem 0;border-bottom:1px solid var(--line);width:100%}
  .burger{display:inline-block}
}

/* pages */
section.band{padding:clamp(3.2rem,7vw,6rem) 0}
section.band.panel{background:var(--panel)}
.hero{padding:clamp(3rem,7vw,5.5rem) 0 clamp(2.5rem,5vw,4rem)}
.hero-logo{width:min(560px,80vw);margin:0 auto 2.2rem}
.grid{display:grid;gap:1.8rem}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr}}

/* photos */
figure{margin:0}
.photo{position:relative;background:var(--panel);border:1px solid var(--line);aspect-ratio:4/3;overflow:hidden}
.photo img{width:100%;height:100%;object-fit:cover}
.photo.tall{aspect-ratio:3/4}
.photo.wide{aspect-ratio:16/7;border-left:0;border-right:0}
.photo.banner{aspect-ratio:21/8;border:0}
.photo.square{aspect-ratio:1/1}
.photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:.45rem .9rem;font-size:.72rem;letter-spacing:.08em;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.45));text-align:right}
.photo.placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;color:var(--muted)}
.photo.placeholder svg{width:72px;height:72px;stroke:var(--ink);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
.photo.placeholder span{font-family:var(--serif);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;text-align:center;padding:0 1rem}
.photo.placeholder::after{content:"";position:absolute;inset:14px;border:1px solid var(--line);pointer-events:none}
.hero-image{position:relative;aspect-ratio:21/9;overflow:hidden;background:var(--panel)}
.hero-image img{width:100%;height:100%;object-fit:cover}
.hero-image .over{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:3rem 1rem;background:linear-gradient(transparent 40%,rgba(0,0,0,.45));color:#fff;text-align:center}
.hero-image h1{color:#fff;margin:0}
@media (max-width:700px){.hero-image{aspect-ratio:4/3}}

/* cards */
.card{border:1px solid var(--line);padding:1.8rem 1.7rem;background:#fff}
.card h3{margin-top:.2rem}
.card .more{font-family:var(--serif);font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border-bottom:1.5px solid var(--ink);padding-bottom:.15rem}
.card .more:hover{color:var(--accent);border-color:var(--accent)}
.tile{text-decoration:none;display:block}
.tile h3{margin:1rem 0 .2rem;font-size:1.05rem}
.tile p{color:var(--muted);font-size:.98rem}
.tier{border:1px solid var(--line);padding:2rem 1.8rem;background:#fff}
.tier .guests{font-family:var(--serif);font-size:1.9rem;margin:.3rem 0 .2rem}
.tier .sub{font-family:var(--serif);font-size:.74rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
ul.plain,ol.plain{padding-left:1.1rem;margin:.4rem 0 1em}
ul.plain li,ol.plain li{margin:.3rem 0}
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}
.split.flip{grid-template-columns:1fr 1.1fr}
@media (max-width:900px){.split,.split.flip{grid-template-columns:1fr}}
.rooms{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}
.rooms figure .photo{aspect-ratio:4/3;margin-bottom:.6rem}
.rooms b{font-family:var(--serif);font-weight:500;display:block;font-size:.95rem;letter-spacing:.04em}
.rooms p{color:var(--muted);font-size:.95rem;margin:0}
@media (max-width:600px){.rooms{grid-template-columns:1fr}}

/* team */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
@media (max-width:900px){.team{grid-template-columns:1fr}}
.team .photo{aspect-ratio:1/1;border-radius:50%;width:180px;margin:0 auto 1.2rem}
.team .initials{font-family:var(--serif);font-size:2.4rem;letter-spacing:.1em;color:var(--muted)}
.team h3{margin-bottom:.1rem;text-align:center}
.team .role{font-family:var(--serif);font-size:.74rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:.9rem}
.team p{font-size:1rem}

/* timeline */
.timeline{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;position:relative}
.timeline::before{content:"";position:absolute;left:2%;right:2%;top:10px;border-top:1.5px solid var(--ink)}
.timeline li{position:relative;padding-top:2rem}
.timeline li::before{content:"";position:absolute;top:4px;left:0;width:13px;height:13px;border-radius:50%;background:#fff;border:1.5px solid var(--ink)}
.timeline .yr{font-family:var(--serif);font-size:1.05rem;letter-spacing:.05em;white-space:nowrap}
.timeline b{display:block;font-weight:500;margin:.3rem 0 .2rem}
.timeline p{color:var(--muted);font-size:.9rem;margin:0}
@media (max-width:1000px){.timeline{grid-template-columns:1fr;gap:.4rem}.timeline::before{left:6px;top:0;bottom:0;border-top:0;border-left:1.5px solid var(--ink);right:auto}.timeline li{padding:.6rem 0 .9rem 2rem}.timeline li::before{top:.9rem}}

/* faq */
.faq-group{margin:2.4rem 0}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;padding:1rem 2.2rem 1rem 0;font-weight:400;font-size:1.05rem;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:.2rem;top:.85rem;font-family:var(--serif);font-size:1.3rem;color:var(--muted)}
details[open] summary::after{content:"\2013"}
details p{color:var(--muted);margin:0 0 1.1rem;max-width:70ch}

/* forms */
form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:700px){form .row{grid-template-columns:1fr}}
label{display:block;font-family:var(--serif);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;margin:1rem 0 .4rem;color:var(--muted)}
input,select,textarea{width:100%;font:inherit;font-weight:300;padding:.8rem .9rem;border:1px solid var(--line);border-radius:2px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus,.btn:focus-visible,.nav a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
textarea{min-height:140px;resize:vertical}
.signup{display:flex;gap:.6rem;max-width:520px;margin:1.2rem auto 0}
.signup input{flex:1}
@media (max-width:600px){.signup{flex-direction:column}}
.contact-list{list-style:none;padding:0;margin:0;font-size:1.05rem}
.contact-list li{padding:.45rem 0}
.contact-list a{text-decoration:none;border-bottom:1px solid var(--line)}
.map{border:1px solid var(--line);aspect-ratio:4/3;width:100%}
.map iframe{width:100%;height:100%;border:0;display:block}

/* footer */
footer{border-top:1px solid var(--line);padding:3.5rem 0 2.5rem;margin-top:2rem}
footer .cols{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:2.5rem;align-items:start}
@media (max-width:900px){footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:600px){footer .cols{grid-template-columns:1fr}}
footer img{width:220px}
footer h4{font-size:.78rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
footer ul{list-style:none;padding:0;margin:0}
footer li{padding:.25rem 0}
footer a{text-decoration:none}
footer a:hover{color:var(--accent)}
.legal{margin-top:2.5rem;padding-top:1.4rem;border-top:1px solid var(--line);font-size:.86rem;color:var(--muted);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* planting plan */
.plan{margin:0;background:#fff;border:1px solid var(--line);padding:1rem}
.plan svg{width:100%;height:auto;display:block}
.plan figcaption{font-size:.85rem;color:var(--muted);text-align:center;padding:.8rem .5rem 0}

/* WordPress */
.nav ul,.nav li{list-style:none;margin:0;padding:0;display:contents}
.nav .current-menu-item>a,.nav .current_page_item>a{border-bottom-color:var(--ink)}
.admin-bar .topbar{top:32px}
@media (max-width:782px){.admin-bar .topbar{top:46px}}
.entry-content>*:first-child{margin-top:0}
