/* ==========================================================================
   Page-specific layout. Component styling stays in components.css; this
   file only arranges components per page.
   ========================================================================== */

/* ---- Home hero ---- */
.dv-hero{display:flex;align-items:center;gap:var(--space-16);padding-top:var(--space-16);padding-bottom:var(--space-16);}
.dv-hero__copy{flex:1;}
.dv-hero__copy h1{font-family:var(--font-display);font-weight:700;font-size:var(--text-4xl);line-height:var(--leading-tight);color:var(--text-on-deep);margin:var(--space-6) 0 var(--space-4);}
.dv-hero__copy p{font-family:var(--font-serif);font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--text-on-deep-soft);max-width:50ch;margin:0 0 var(--space-8);}
.dv-hero__actions{display:flex;gap:var(--space-3);flex-wrap:wrap;}
.dv-hero__photo{flex:none;background:var(--dv-cream-50);border-radius:var(--radius-md);padding:10px;box-shadow:var(--shadow-photo);}
.dv-hero__photo img{width:400px;max-width:60vw;display:block;border-radius:var(--radius-photo);}
@media (max-width:820px){.dv-hero{flex-direction:column;padding-top:var(--space-10);}.dv-hero__photo img{width:100%;max-width:420px;}}

/* ---- Offer band ---- */
.dv-offer{display:flex;align-items:center;gap:var(--space-12);flex-wrap:wrap;}
.dv-offer img{width:200px;}
.dv-offer__headline{flex:1;min-width:280px;}
.dv-offer__headline .dv-h{font-family:var(--font-sans);font-weight:800;font-size:var(--text-3xl);line-height:1.05;color:var(--text-primary);}
.dv-offer__headline .dv-script{font-family:var(--font-script);font-weight:600;font-size:var(--text-xl);color:var(--text-primary);}

/* ---- Difference prose ---- */
.dv-prose-heading{font-family:var(--font-display);font-weight:700;font-size:var(--text-2xl);color:var(--text-primary);margin:0 0 var(--space-6);}
.dv-prose{column-count:2;column-gap:var(--space-12);font-family:var(--font-serif);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary);text-align:justify;hyphens:none;}
.dv-prose p{margin-top:0;}
@media (max-width:720px){.dv-prose{column-count:1;}}

/* ---- Grid preview row ---- */
.dv-row-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-8);flex-wrap:wrap;gap:var(--space-3);}
.dv-row-head a{font-family:var(--font-sans);font-weight:600;font-size:var(--text-sm);}

/* ---- Farm ---- */
.dv-farm-hero{display:flex;gap:var(--space-12);align-items:center;flex-wrap:wrap;}
.dv-farm-hero img{height:140px;}
.dv-farm-hero__copy{flex:1;min-width:300px;}
.dv-farm-hero__copy h1{font-family:var(--font-display);font-weight:700;font-size:var(--text-3xl);line-height:var(--leading-snug);color:var(--text-primary);margin:var(--space-5) 0 var(--space-3);}
.dv-farm-hero__copy p{font-family:var(--font-serif);font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--text-secondary);max-width:56ch;margin:0;}
.dv-farm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);}
@media (max-width:820px){.dv-farm-grid{grid-template-columns:1fr;}}
.dv-farm-grid b{font-family:var(--font-display);font-size:var(--text-lg);color:var(--text-primary);}
.dv-farm-grid p{font-family:var(--font-serif);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary);margin:var(--space-2) 0 0;}
.dv-footnote{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--text-secondary);margin-top:var(--space-10);}

/* ---- Placeholder photo (farm site: real photography not supplied yet) ---- */
.dv-photo-placeholder{
  display:flex;align-items:center;justify-content:center;text-align:center;
  background:var(--dv-sage-100);border:1px dashed var(--border-strong);border-radius:var(--radius-md);
  color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-xs);
  letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:var(--space-4);
}
.dv-photo-placeholder--hero{aspect-ratio:16/9;width:100%;}
.dv-photo-placeholder--square{aspect-ratio:1;width:100%;}

/* ---- Menu page ---- */
.dv-menu-main{padding-top:var(--space-12);min-height:70vh;}
.dv-menu-leaves{display:grid;grid-template-columns:1fr;gap:var(--space-16);}
.dv-menu-leaf{display:flex;flex-direction:column;gap:var(--menu-section-gap);}

/* ---- Visit / checkout ---- */
.dv-visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);min-height:70vh;padding:var(--space-16) 0;}
@media (max-width:900px){.dv-visit-grid{grid-template-columns:1fr;gap:var(--space-10);}}
.dv-visit-photo{align-self:center;background:var(--dv-cream-50);border-radius:var(--radius-md);padding:10px;box-shadow:var(--shadow-photo);}
.dv-visit-photo img{width:280px;max-width:100%;display:block;border-radius:var(--radius-photo);}
.dv-checkout{background:var(--surface-card);color:var(--text-primary);border-radius:var(--radius-md);border:1px solid var(--border-hairline);box-shadow:var(--shadow-sm);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-6);}
.dv-checkout h2{font-family:var(--font-display);font-weight:700;font-size:var(--text-2xl);margin:0;}
.dv-field-label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);display:block;margin-bottom:var(--space-2);}
.dv-summary-line{display:flex;justify-content:space-between;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-secondary);}
.dv-summary-line strong{color:var(--text-primary);}
