/* Enchanted Ranch brand layer — October 31, 2026 design review.
   Loaded after each page's own styles so one file carries the sitewide fixes:
   readable dark bands, dark green and ivory buttons, gold accents, one focus style,
   press feedback, mouse-only photo zoom, reduced motion, consistent labels and corners. */
:root{
 --er-forest:#435F4D;--er-forest-deep:#2F4637;--er-ivory:#F7F8F2;--er-ink:#26332B;
 --er-plum:#5E3756;--er-plum-deep:#47283F;--er-gold:#A88B57;--er-gold-text:#6E5A2E;
 --er-ease:cubic-bezier(.23,1,.32,1)
}

/* 2 · White text only on forest, never on light sage (was 2.9:1, now 7:1). */
body header.ranch-header,.erft,.erh-preview-footer,.erh-space,
:is(.erh-visit,.erp .erh-final,.features.section,.location.section,.erm-visit,.erd-video-section,.erd-vision,.erf-questions){background:var(--er-forest)!important}
body header.ranch-header{border-bottom-color:#ffffff1f}
.erft .erft-button,.erft .erft-button:hover{background:var(--er-ivory)!important;border-color:var(--er-ivory)!important;color:var(--er-forest-deep)!important}
.erft .erft-button :is(span,small,svg){color:var(--er-forest-deep)!important}
/* Gray helper text and placeholders one step darker (were 4.4:1 and 4.1:1). */
::placeholder{color:#6B655C!important;opacity:1}
#erh-main [style*="#77745f"],#erh-main .erh-hero-note,#erh-main .erh-gallery-note{color:#5F5C4B}

/* Antique gold for small accents. */
.erh-stars,.review-stars,[class*="stars"]{color:var(--er-gold)!important}
.erft .erft-invite-title em{color:#E2D2AE!important}

/* 15 · One label style and one corner radius. */
:is(.erh-eyebrow,.eyebrow,.erft-eyebrow,.erm-eyebrow,.erd-eyebrow,.erv-eyebrow,.erc-eyebrow,.ranch-eyebrow,.ertp-eyebrow,.erf-eyebrow,.order-eyebrow,.erse-eyebrow,.section-context){font-family:"DM Sans",Arial,sans-serif!important;font-size:12px!important;letter-spacing:.12em!important;font-weight:700!important;text-transform:uppercase}
:is(.erh-eyebrow,.eyebrow,.erm-eyebrow,.erd-eyebrow,.erv-eyebrow,.erc-eyebrow,.ranch-eyebrow,.ertp-eyebrow,.erf-eyebrow,.order-eyebrow,.erse-eyebrow):not(:is(.erh-space,.erh-visit,.erft,.erd-video-section,.erd-vision,.erf-questions,.location.section,.features.section,.erm-visit,.erh-hero,.erp-hero,.erd-hero,[class*="hero"]) *){color:var(--er-gold-text)!important}
.ranch-cta,.ranch-tour,.erh-button,.erd-button,.erm-button,a.button,button.button,.ranch-inquiry button,.ranch-inquiry :is(input,select,textarea),.erc :is(input,select,textarea),.erft-button{border-radius:3px!important}

/* 11 · One focus style everywhere: ivory gap and forest ring, visible on light and dark. */
html :focus-visible{outline:3px solid var(--er-forest-deep)!important;outline-offset:2px!important;box-shadow:0 0 0 2px var(--er-ivory)!important}
:is(body header.ranch-header,.erft,.erh-space,.erh-visit,.erd-video-section,.erd-vision,.erf-questions,.location.section,.features.section) :focus-visible{outline-color:var(--er-ivory)!important;box-shadow:0 0 0 2px var(--er-forest-deep)!important}

/* 11 · Every button answers a press. */
.ranch-cta,.ranch-tour,.erh-button,.erd-button,.erm-button,a.button,button,.erft-button{transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease,transform 140ms var(--er-ease)!important}
:is(.ranch-cta,.ranch-tour,.erh-button,.erd-button,.erm-button,a.button,button,.erft-button):not(:disabled):active{transform:scale(.97)!important}

/* 5 · Still photos lose their play triangles; links use a thin arrow (markup) and the menu a small caret. */
.erp-enlarge,button[data-erd-photo]>span[aria-hidden="true"],button[data-gallery]>span[aria-hidden="true"]{display:none!important}
.erp-photo>a,button[data-erd-photo],button[data-gallery]{cursor:zoom-in}
:is(.ranch-header details,.erft-staff,.request-card)>summary::before{width:.45em!important;height:.45em!important;border:0!important;border-right:1.5px solid currentColor!important;border-bottom:1.5px solid currentColor!important;transform:translateY(-.2em) rotate(45deg)!important;margin-right:.6em!important}
:is(.ranch-header details,.erft-staff,.request-card)[open]>summary::before{transform:translateY(0) rotate(-135deg)!important}

/* 12 · Photo zoom is quick, small and only on devices with a mouse. */
.erp-photo img,.erd-photo img,#decorations-form .erdf-ui .photo-button img,.gallery-tile img,.erh-gallery-grid img{transition:transform 200ms var(--er-ease)!important}
.erp-photo>a:hover img,.erd-photo:hover img,#decorations-form .erdf-ui .photo-button:hover img,.gallery-tile:hover img{transform:none!important}
@media (hover:hover) and (pointer:fine){
 .erp-photo>a:hover img,.erd-photo:hover img,#decorations-form .erdf-ui .photo-button:hover img,.gallery-tile:hover img,button[data-erd-photo]:hover img{transform:scale(1.03)!important}
}

/* 18 · Tiles hold a soft ranch color while photos load, then fade in. */
.erp-photo>a,.erd-photo,button[data-erd-photo],.gallery-tile,.erh-gallery-grid a{background:#E3E6DA}
img[loading="lazy"]{transition:opacity 200ms ease,transform 200ms var(--er-ease)}
img.er-loading{opacity:0}

@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{transition-property:opacity,background-color,border-color,color!important;animation:none!important;scroll-behavior:auto!important}
 :is(.ranch-cta,.ranch-tour,.erh-button,a.button,button):active{transform:none!important}
}

/* 10 · Time zone collapses to one line for Texas visitors. */
.ranch-time-zone-summary{grid-column:1/-1;margin:0;font-size:14px;line-height:1.5;color:var(--er-ink)}
.ranch-time-zone-change{background:none!important;border:0!important;padding:0!important;min-height:44px;font:inherit;font-weight:600;color:var(--er-forest)!important;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ranch-time-zone select{min-height:48px;width:100%;padding:10px 12px;border:1px solid #7E927C;border-radius:3px!important;background:#fff;color:var(--er-ink);font:inherit}

/* 3 · Nothing in the decorations order form (or the shared footer) below 12px; prices and help text 14px. */
#decorations-form .erdf-ui :is(.steps button,.steps button span,.step-kicker,.eyebrow,.selection-summary .eyebrow,.preview-strip,.preview-strip strong,.brand small,.hero-bottom,.photo-grid figcaption,.draft-tools button,.save-status,.save-button,.text-button,.resume-banner span,.resume-banner .button,.resume-banner .text-button,.summary-event>span,.summary-palette .palette-line,.palette-preview small,.swatch-picker>p,.swatch-choice>small,.coordinator strong,.preview-note,.confirmation-next,footer p,.quiet-note p,.field-grid>label,.comments-label,.review-content .review-row,dialog p,.summary-line,.extra-card strong,.package-prices span,.package-prices p,.step-note>span){font-size:12px!important;line-height:1.5}
#decorations-form .erdf-ui :is(.price-detail,.extra-card span,label small,.availability-note,.summary-footnote,.final-total span,.coordinator a){font-size:14px!important;line-height:1.5}
#decorations-form .erdf-ui :is(.field-grid>label,.comments-label){font-size:14px!important}
:is(.erd-hero-bottom,.erd .erd-eyebrow,.erd-collection summary>span,.erd-lightbox-count){font-size:12px!important}
.erft :is(.erft-eyebrow,.erft-location,.erft-social span){font-size:12px!important}

/* Brand type everywhere the old Arial and Georgia defaults still showed. */
body{font-family:"DM Sans",Arial,sans-serif}
.ranch-inquiry :is(h1,h2),.cart-page legend{font-family:"Cormorant Garamond",Georgia,serif!important;font-weight:500!important}
.ranch-inquiry,.ranch-inquiry :is(label,input,select,textarea,button,p,small){font-family:"DM Sans",Arial,sans-serif}

/* 10 · Tour request page: same reading column and form card as Contact. */
#main-content .et_pb_text_inner>h1,.erse-context{max-width:760px!important;margin-left:auto!important;margin-right:auto!important;text-align:left!important;padding-left:24px;padding-right:24px}
#main-content .et_pb_text_inner>h1{margin-top:56px!important;margin-bottom:16px!important}
.erse-context h2{font-family:"Cormorant Garamond",Georgia,serif!important;font-weight:500!important;font-size:30px!important;line-height:1.2;color:#2F4637;margin:32px 0 12px;text-transform:none;letter-spacing:0}
.erse-context p{font-size:17px;line-height:1.7;color:var(--er-ink)}
#tour-inquiry.ranch-inquiry{max-width:760px;margin:24px auto 88px;background:#F1EFE6;border:1px solid #DCD8C8;border-radius:3px;padding:clamp(24px,4vw,40px)}
#tour-inquiry.ranch-inquiry>p:first-child{margin-top:0;font-size:15px;color:#3D4A42}
@media (max-width:700px){#tour-inquiry.ranch-inquiry form{grid-template-columns:minmax(0,1fr)}#tour-inquiry.ranch-inquiry{margin-inline:16px}}

/* The “Take a closer look” label on the home photo: dark text on its ivory bar. */
body .erh-space .erh-space-photo>a,body .erh-space .erh-space-photo>a :is(span,svg){color:#26332B!important}

/* Inquiry forms: readable time zone note; the send button gets its own row. */
.time-zone-help{font-size:13px!important;line-height:1.5!important;font-weight:400!important}
form[data-inquiry] button[type="submit"]{grid-column:1/-1;justify-self:start;min-width:240px;min-height:52px;height:auto!important}
@media (max-width:700px){form[data-inquiry] button[type="submit"]{justify-self:stretch}}

/* Keep hero footnote links clear of the “Text us” button on desktop. */
@media (min-width:901px){:is(.erd-hero-bottom,.erp-hero-bottom){padding-right:200px!important}}

/* Button rule (Ken, Oct 31): every call-to-action button is in capital letters.
   On a light background it is dark green with white text; on a photo or a dark green background it is ivory with dark green text.
   Ivory cards inside dark bands (the home visit panel, the map card) count as light. */
html body .ranch-cta:not(.er-text-us-button,.text-button,.save-button){--cta-background:var(--er-forest);--cta-border:var(--er-forest);--cta-text:#fff;--cta-dark:var(--er-forest-deep);--cta-border-dark:var(--er-forest-deep);
 background-color:var(--er-forest)!important;border-color:var(--er-forest)!important;color:#fff!important;
 text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:700!important;font-size:13px!important;opacity:1!important}
html body .ranch-cta:not(.er-text-us-button,.text-button,.save-button):not(:disabled):hover{background-color:var(--er-forest-deep)!important;border-color:var(--er-forest-deep)!important}
html body .ranch-cta:not(.er-text-us-button,.text-button,.save-button) :is(span,small,strong,em,svg){color:#fff!important}
html body :is(header.ranch-header,.erft,.erh-space,.erp .erh-final,.erh-visit,.features.section,.location.section,.erm-visit,.erd-video-section,.erd-vision,.erf-questions,.package.featured,body:has(nav.guide-jumps) .final-cta,.erh-hero,.era-hero,.erp-hero,.erd-hero,.erm-hero,.ertp-hero,.hero,.story,.pricing) .ranch-cta:not(.er-text-us-button,.text-button,.save-button):not(:is(.erh-visit-panel,.location-map) *),html body header.ranch-header a.ranch-tour{--cta-background:var(--er-ivory);--cta-border:var(--er-ivory);--cta-text:var(--er-forest-deep);--cta-dark:#E4E6DB;--cta-border-dark:#E4E6DB;
 background-color:var(--er-ivory)!important;border-color:var(--er-ivory)!important;color:var(--er-forest-deep)!important}
html body :is(header.ranch-header,.erft,.erh-space,.erp .erh-final,.erh-visit,.features.section,.location.section,.erm-visit,.erd-video-section,.erd-vision,.erf-questions,.package.featured,body:has(nav.guide-jumps) .final-cta,.erh-hero,.era-hero,.erp-hero,.erd-hero,.erm-hero,.ertp-hero,.hero,.story,.pricing) .ranch-cta:not(.er-text-us-button,.text-button,.save-button):not(:is(.erh-visit-panel,.location-map) *):not(:disabled):hover,html body header.ranch-header a.ranch-tour:hover{background-color:#E4E6DB!important;border-color:#E4E6DB!important}
html body :is(header.ranch-header,.erft,.erh-space,.erp .erh-final,.erh-visit,.features.section,.location.section,.erm-visit,.erd-video-section,.erd-vision,.erf-questions,.package.featured,body:has(nav.guide-jumps) .final-cta,.erh-hero,.era-hero,.erp-hero,.erd-hero,.erm-hero,.ertp-hero,.hero,.story,.pricing) .ranch-cta:not(.er-text-us-button,.text-button,.save-button):not(:is(.erh-visit-panel,.location-map) *) :is(span,small,strong,em,svg),html body header.ranch-header a.ranch-tour :is(span,svg){color:var(--er-forest-deep)!important}
.ranch-cta .ranch-chevron{width:12px;height:12px}


/* Footer: social links centered in the bottom row (Ken, Oct 31); copyright stays left. Phones stack them, centered. */
.erft .erft-bottom{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px 24px}
.erft .erft-bottom>p{grid-column:1;justify-self:start}
.erft .erft-bottom>.erft-social{grid-column:2;justify-self:center;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 20px;text-align:center}
@media (max-width:700px){
 .erft .erft-bottom{grid-template-columns:minmax(0,1fr)}
 .erft .erft-bottom>.erft-social{grid-column:1;grid-row:1}
 .erft .erft-bottom>p{grid-column:1;justify-self:center;text-align:center}
 .erft .erft-bottom>.erft-social>span{flex-basis:100%}
}
