/*
Theme Name: Everwild Divi Child
Theme URI: https://everwild-homestead.com
Description: The custom website theme for Everwild Homestead.
Author: Everwild Homestead
Template: Divi
Version: 2.0.1
*/

:root {
  --ew-cream: #f4f0e5;
  --ew-paper: #fffdf8;
  --ew-ink: #1f271e;
  --ew-forest: #284735;
  --ew-deep: #172b20;
  --ew-mustard: #d6a137;
  --ew-rust: #9f4b2d;
  --ew-line: rgba(31, 39, 30, .18);
  --ew-shadow: 0 18px 50px rgba(31, 39, 30, .12);
}

body { background: var(--ew-cream); color: var(--ew-ink); font-family: "Trebuchet MS", Arial, sans-serif; font-size: 17px; line-height: 1.65; }
h1, h2, h3, h4, .et_pb_text h1, .et_pb_text h2, .et_pb_text h3 { color: var(--ew-ink); font-family: Georgia, "Times New Roman", serif; font-weight: 700; letter-spacing: -.025em; line-height: 1.08; }
a { color: var(--ew-rust); }
img { max-width: 100%; }

#main-header { background: rgba(255, 253, 248, .97); box-shadow: 0 1px 0 var(--ew-line); }
#top-menu a { color: var(--ew-ink); font-size: 14px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
#top-menu li.current-menu-item > a, #top-menu a:hover { color: var(--ew-rust); }
.logo_container a { background: url("assets/everwild-logo.png") center / contain no-repeat; display: block; height: 74px; width: 178px; }
.logo_container #logo { height: 100%; opacity: 0; width: 100%; }
#et_top_search, #footer-widgets, .et-social-icons { display: none !important; }
#main-content { background: var(--ew-cream); }
.ew-page { overflow: hidden; }
.ew-wrap { margin: 0 auto; max-width: 1180px; padding-left: 28px; padding-right: 28px; }
.ew-section { padding: 88px 0; }
.ew-section--paper { background: var(--ew-paper); }
.ew-section--green { background: var(--ew-forest); color: #fff; }
.ew-section--tight { padding: 58px 0; }

.ew-eyebrow { color: var(--ew-rust); display: block; font-size: 13px; font-weight: 900; letter-spacing: .16em; margin-bottom: 16px; text-transform: uppercase; }
.ew-section--green .ew-eyebrow, .ew-photo-hero .ew-eyebrow, .ew-page-hero--photo .ew-eyebrow { color: #f4ce70; }
.ew-display { font-size: clamp(46px, 6.8vw, 84px); margin: 0 0 24px; max-width: 900px; }
.ew-title { font-size: clamp(40px, 6vw, 72px); margin: 0 0 22px; max-width: 900px; }
.ew-heading { font-size: clamp(32px, 4vw, 52px); margin: 0 0 18px; }
.ew-lede { font-size: clamp(19px, 2vw, 24px); line-height: 1.5; margin: 0 0 30px; max-width: 760px; }
.ew-muted { color: #5d655d; }

.ew-hero { min-height: 720px; padding: 92px 0 82px; position: relative; }
.ew-photo-hero, .ew-page-hero--photo { background: linear-gradient(90deg, rgba(16,31,22,.91) 0%, rgba(16,31,22,.76) 48%, rgba(16,31,22,.16) 100%), var(--ew-hero-photo) center / cover no-repeat; }
.ew-photo-hero::after, .ew-page-hero--photo::after { background: linear-gradient(0deg, rgba(23,43,32,.22), transparent 35%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.ew-hero__grid { align-items: center; display: grid; min-height: 540px; position: relative; z-index: 1; }
.ew-hero__copy { color: #fff; max-width: 840px; position: relative; z-index: 1; }
.ew-photo-hero h1, .ew-page-hero--photo h1 { color: #fff; text-shadow: 0 2px 22px rgba(0,0,0,.28); }
.ew-photo-hero .ew-lede, .ew-page-hero--photo .ew-lede { color: rgba(255,255,255,.94); }
.ew-actions { display: flex; flex-wrap: wrap; gap: 14px; }

.ew-button, .wpcf7 input[type="submit"] { align-items: center; background: var(--ew-forest); border: 2px solid var(--ew-forest); border-radius: 2px; color: #fff !important; cursor: pointer; display: inline-flex; font-size: 14px; font-weight: 900; justify-content: center; letter-spacing: .08em; min-height: 50px; padding: 13px 21px; text-decoration: none; text-transform: uppercase; transition: .2s ease; }
.ew-button:hover, .wpcf7 input[type="submit"]:hover { background: var(--ew-deep); border-color: var(--ew-deep); transform: translateY(-2px); }
.ew-button--light { background: #fff; border-color: #fff; color: var(--ew-forest) !important; }

.ew-grid { display: grid; gap: 24px; }
.ew-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ew-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ew-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ew-card { background: var(--ew-paper); border: 1px solid var(--ew-line); box-shadow: 0 10px 35px rgba(31,39,30,.06); padding: 34px; }
.ew-card h3 { font-size: 29px; margin: 0 0 13px; }
.ew-card p:last-child { margin-bottom: 0; }
.ew-photo-card { overflow: hidden; padding: 0; }
.ew-photo-card > img { display: block; height: 265px; object-fit: cover; width: 100%; }
.ew-photo-card:nth-child(1) > img { object-position: 50% 58%; }
.ew-card__body { padding: 31px; }
.ew-step { align-items: center; background: var(--ew-mustard); border-radius: 50%; display: inline-flex; font-family: Georgia, serif; font-size: 23px; font-weight: 700; height: 42px; justify-content: center; margin-bottom: 14px; width: 42px; }
.ew-stack { display: grid; gap: 18px; }

.ew-band { align-items: center; display: flex; gap: 44px; justify-content: space-between; }
.ew-band h2 { color: #fff; margin-bottom: 12px; }
.ew-band p { margin: 0; max-width: 680px; }
.ew-page-hero { background: linear-gradient(135deg, #f8f3e7, #e8e0cc); padding: 92px 0 70px; position: relative; }
.ew-page-hero--photo { min-height: 570px; padding: 120px 0 90px; }
.ew-page-hero--photo .ew-wrap { position: relative; z-index: 1; }
.ew-split { align-items: start; display: grid; gap: 58px; grid-template-columns: minmax(0, 1fr) minmax(320px, .85fr); }

.ew-list { list-style: none; margin: 24px 0 0; padding: 0; }
.ew-list li { border-top: 1px solid var(--ew-line); padding: 16px 0 16px 34px; position: relative; }
.ew-list li::before { color: var(--ew-mustard); content: "✦"; left: 4px; position: absolute; }
.ew-notice { background: #fff4d9; border-left: 6px solid var(--ew-mustard); margin: 30px 0; padding: 22px 24px; }
.ew-kicker { align-items: center; display: flex; gap: 12px; margin-top: 30px; }
.ew-kicker::before { background: var(--ew-mustard); content: ""; height: 4px; width: 46px; }

.ew-photo-frame, .ew-gallery figure { background: #fff; border: 9px solid #fff; box-shadow: var(--ew-shadow); margin: 0; }
.ew-photo-frame img { display: block; max-height: 620px; object-fit: cover; width: 100%; }
.ew-photo-frame figcaption, .ew-gallery figcaption { color: #5d655d; font-size: 14px; padding: 13px 10px 8px; }
.ew-gallery { display: grid; gap: 24px; }
.ew-gallery--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.ew-gallery img { display: block; height: 350px; object-fit: cover; width: 100%; }

.ew-form-shell { background: var(--ew-paper); border: 1px solid var(--ew-line); box-shadow: var(--ew-shadow); padding: clamp(24px, 5vw, 54px); }
.ew-form-grid { display: grid; gap: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wpcf7 label, .wpcf7 legend { color: var(--ew-ink); display: block; font-size: 14px; font-weight: 900; letter-spacing: .04em; margin-bottom: 17px; text-transform: uppercase; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 select, .wpcf7 textarea { background: #fff; border: 1px solid #aeb4ad; border-radius: 0; color: var(--ew-ink); font-size: 17px; margin-top: 8px; padding: 14px; width: 100%; }
.wpcf7 textarea { min-height: 150px; resize: vertical; }
.ew-product-list { border: 1px solid var(--ew-line); margin: 5px 0 24px; padding: 22px; }
.ew-product-list .wpcf7-list-item { display: inline-block; margin: 6px 22px 6px 0; }
.ew-product-list .wpcf7-list-item-label { font-size: 16px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.wpcf7-acceptance .wpcf7-list-item { margin-left: 0; }
.ew-form-privacy { border-top: 1px solid var(--ew-line); color: #5d655d; font-size: 13px; margin: 24px 0 0; padding-top: 18px; }

.ew-faq details { border-top: 1px solid var(--ew-line); padding: 20px 0; }
.ew-faq summary { cursor: pointer; font-family: Georgia, serif; font-size: 21px; font-weight: 700; }
.ew-prose { max-width: 840px; }
.ew-prose h2 { font-size: 32px; margin: 46px 0 12px; }
.ew-prose h2:first-child { margin-top: 0; }
.ew-updated { color: #5d655d; font-size: 14px; }

#main-footer { display: none; }
#footer-info { color: rgba(255,255,255,.78); float: none; text-align: center; width: 100%; }
#footer-info a { color: #f4ce70; font-weight: 700; }
.ew-custom-footer { background: var(--ew-deep); color: rgba(255,255,255,.78); font-size: 14px; padding: 27px 0; text-align: center; }
.ew-custom-footer a { color: #f4ce70; font-weight: 700; }
.ew-custom-footer span { margin: 0 8px; }

@media (max-width: 980px) {
  .ew-hero { min-height: 0; padding: 70px 0; }
  .ew-hero__grid { min-height: 500px; }
  .ew-split { grid-template-columns: 1fr; }
  .ew-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ew-gallery--3 { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 700px) {
  body { font-size: 16px; }
  .ew-wrap { padding-left: 20px; padding-right: 20px; }
  .ew-section { padding: 62px 0; }
  .ew-page-hero { padding: 65px 0 50px; }
  .ew-page-hero--photo { min-height: 500px; padding: 90px 0 65px; }
  .ew-grid--2, .ew-grid--3, .ew-grid--4, .ew-gallery--3, .ew-form-grid { grid-template-columns: 1fr; }
  .ew-band { align-items: flex-start; flex-direction: column; }
  .ew-card { padding: 26px; }
  .ew-photo-card { padding: 0; }
  .ew-photo-card > img { height: 250px; }
  .ew-card__body { padding: 26px; }
  .ew-gallery img { height: 300px; }
}

/* Responsive refinements for farm orders and photo pages. */
.ew-grid > *, .ew-split > *, .ew-form-grid > * { min-width: 0; }
.ew-product-list { min-inline-size: 0; }
.wpcf7 input[type="checkbox"] { width: 18px; height: 18px; margin-right: 8px; vertical-align: middle; }
.ew-product-list label { display: flex; align-items: center; min-height: 44px; margin-bottom: 0; }
.ew-button { max-width: 100%; white-space: normal; text-align: center; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #a34e2b; outline-offset: 4px; }
@media (min-width: 701px) and (max-width: 980px) { .ew-grid--3 { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 700px) { .ew-display { font-size: clamp(36px,10vw,46px); } .ew-product-list { padding: 16px; } .ew-product-list .wpcf7-list-item { display: block; margin-right: 0; } }

.woocommerce-page #sidebar { display: none !important; }
.woocommerce-page #left-area { width: 100%; padding-right: 0; float: none; }
.woocommerce-page #main-content .container::before { display: none; }
