/*
 * Flame Tree holding page – styles Elementor (free) can't set from its panels.
 * Layout, typography and colours live in Elementor; the brand fonts are loaded by the
 * Craftis child theme. This file covers the sign-up form markup, link states and
 * accessibility helpers, and resets the Craftis rules that would otherwise restyle them.
 * Everything is scoped to .ft-page so it outranks the theme's colour-scheme selectors.
 * Breakpoints match Elementor's defaults: mobile <= 767px, tablet <= 1024px.
 */

/* Page */
.ft-page{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.ft-page .elementor-widget-heading .elementor-heading-title{margin-top:0}
.ft-page .elementor-widget-text-editor p{line-height:inherit}
.ft-page .elementor-widget-text-editor p:last-child{margin-bottom:0}
.ft-page .elementor-widget-text-editor a,
.ft-page .ft-signup a{color:#E8DAB5;text-decoration:underline}
.ft-page .elementor-widget a:hover,
.ft-page .elementor-widget a:focus-visible{color:#E1C340}
.ft-page a:focus-visible{outline:2px solid #BD9B16;outline-offset:3px;border-radius:1px}

/* Decorative artwork: never intercepts taps or clicks */
.ft-art{pointer-events:none;user-select:none}
.ft-art img{display:block}

@media (max-width:767px){
	/* Elementor's image opacity isn't responsive; the mobile design uses lighter artwork */
	.ft-page .ft-art-emblem img{opacity:.6!important}
	.ft-page .ft-art-leaf img{opacity:.7!important}
	/* Footer links: bigger tap targets on phones */
	.ft-footer-link a{display:inline-block;padding:8px 0}
}

/* Visually hidden, still read by screen readers */
.ft-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Sign-up form ([flametree_signup] shortcode, sent to Klaviyo by flametree.js) */
.ft-page .ft-signup{width:100%;max-width:560px;margin:0 auto;font-family:'Montserrat',sans-serif;color:#E8DAB5;text-align:center}
.ft-page .ft-signup .ft-signup__form{position:relative;display:flex;flex-wrap:wrap;gap:12px;margin:0}
.ft-page .ft-signup .ft-signup__field{flex:1 1 180px;min-width:0;text-align:left}
.ft-page .ft-signup .ft-signup__field--email{flex:2 1 260px}
.ft-page .ft-signup .ft-signup__input{display:block;width:100%;height:54px;box-sizing:border-box;margin:0;padding:0 18px;background:rgba(254,249,233,.04);border:1px solid rgba(232,218,181,.5);border-radius:2px;color:#FEF9E9;font-family:inherit;font-size:16px;font-weight:400;line-height:normal;letter-spacing:0;transition:none}
.ft-page .ft-signup .ft-signup__input::placeholder{color:rgba(232,218,181,.6);opacity:1}
.ft-page .ft-signup .ft-signup__input:focus{background:rgba(254,249,233,.04);border-color:rgba(232,218,181,.5);color:#FEF9E9;outline:2px solid #BD9B16;outline-offset:2px}
.ft-page .ft-signup .ft-signup__input[aria-invalid="true"]{border-color:#E1C340}
/* Errors in Light Gold: 8:1 contrast on Dark Green (Burnt Orange is only 4.6:1) */
.ft-page .ft-signup .ft-signup__error{margin:6px 0 0;font-size:13px;line-height:1.4;color:#E1C340;text-align:left}
.ft-page .ft-signup .ft-signup__status{flex:1 1 100%;margin:0;font-size:13px;line-height:1.5;color:#E1C340;text-align:center}
/* "Did you mean …?" fix inside an email error */
.ft-page .ft-signup .ft-signup__suggestion{display:inline;width:auto;height:auto;margin:0;padding:0;border:0;border-radius:0;background:none;color:#E8DAB5;font:inherit;letter-spacing:0;text-transform:none;text-decoration:underline;text-underline-offset:2px;white-space:normal;vertical-align:baseline;cursor:pointer}
.ft-page .ft-signup .ft-signup__suggestion:hover,
.ft-page .ft-signup .ft-signup__suggestion:focus{background:none;color:#E1C340}
.ft-page .ft-signup .ft-signup__interests{flex:1 1 100%;min-width:0;margin:4px 0 0;padding:0;border:0}
.ft-page .ft-signup .ft-signup__legend{position:static;top:auto;left:auto;z-index:auto;width:100%;margin:0 0 2px;padding:0;background:none;font-size:12px;font-style:normal;font-weight:600;line-height:1.25;letter-spacing:.14em;text-transform:uppercase;color:rgba(232,218,181,.75);text-align:center}
.ft-page .ft-signup .ft-signup__options{display:flex;flex-wrap:wrap;justify-content:center;gap:0 22px}
.ft-page .ft-signup .ft-signup__option{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;padding:0;font-size:14px;font-weight:400;line-height:1.4;color:#E8DAB5;text-align:left;cursor:pointer;vertical-align:baseline}
/* Craftis hides native checkboxes (with !important) and draws its own; keep the native control */
.ft-page .ft-signup .ft-signup__option input[type="checkbox"]{display:inline-block;flex:0 0 auto;position:static!important;width:18px!important;height:18px!important;margin:0!important;padding:0!important;border:0!important;clip-path:none!important;overflow:visible!important;-webkit-appearance:checkbox;-moz-appearance:checkbox;appearance:auto;accent-color:#BD9B16}
.ft-page .ft-signup .ft-signup__button{display:flex;align-items:center;justify-content:center;gap:10px;flex:1 1 100%;width:100%;height:54px;margin:0;padding:0 30px;border:0;border-radius:2px;background:#BD9B16;color:#25300E;font-family:inherit;font-size:13px;font-weight:700;line-height:1;letter-spacing:.14em;text-transform:uppercase;white-space:normal;cursor:pointer;transition:background-color .2s ease}
.ft-page .ft-signup .ft-signup__button:hover,
.ft-page .ft-signup .ft-signup__button:focus-visible{background:#E1C340;color:#25300E}
.ft-page .ft-signup .ft-signup__button:focus-visible{outline:2px solid #FEF9E9;outline-offset:3px}
/* Craftis paints disabled buttons near-black with !important; keep the brand gold while sending */
.ft-page .ft-signup .ft-signup__button[disabled]{background:#BD9B16!important;color:#25300E!important;opacity:1;cursor:progress}
/* Preloader while the address is checked and sent: spinner in the button, fields dimmed */
.ft-page .ft-signup .ft-signup__spinner{display:none;flex:0 0 auto;width:14px;height:14px;box-sizing:border-box;border:2px solid rgba(37,48,14,.3);border-top-color:#25300E;border-radius:50%;animation:ft-spin .7s linear infinite}
.ft-page .ft-signup .ft-signup__button.is-loading .ft-signup__spinner{display:block}
.ft-page .ft-signup .ft-signup__field,
.ft-page .ft-signup .ft-signup__interests{transition:opacity .2s ease}
.ft-page .ft-signup .ft-signup__form[aria-busy="true"] .ft-signup__field,
.ft-page .ft-signup .ft-signup__form[aria-busy="true"] .ft-signup__interests{opacity:.55;pointer-events:none}
@keyframes ft-spin{to{transform:rotate(360deg)}}
.ft-page .ft-signup .ft-signup__consent{margin:14px auto 0;max-width:540px;font-size:12px;line-height:1.6;color:rgba(232,218,181,.75)}
.ft-page .ft-signup [hidden]{display:none!important}
/* Spam trap: off-screen field that people never see or reach, but form-filling bots complete */
.ft-page .ft-signup .ft-hp{position:absolute;left:-10000px;top:0;width:1px;height:1px;overflow:hidden}

/* Success: replaces the form in place. flametree.js fades the form out (.3s), eases the
   height to the message (.5s) and fades the message in; timings match the script. */
.ft-page .ft-signup .ft-signup__form,
.ft-page .ft-signup .ft-signup__consent{transition:opacity .3s ease,transform .3s ease}
.ft-page .ft-signup.is-leaving .ft-signup__form,
.ft-page .ft-signup.is-leaving .ft-signup__consent{opacity:0;transform:translateY(-8px)}
.ft-page .ft-signup.is-resizing{overflow:hidden;transition:height .5s cubic-bezier(.4,0,.2,1)}
.ft-page .ft-signup .ft-signup__success{padding:20px 0 4px;transition:opacity .45s ease .1s,transform .45s ease .1s}
.ft-page .ft-signup .ft-signup__success.is-entering{opacity:0;transform:translateY(10px);transition:none}
.ft-page .ft-signup .ft-signup__success:focus{outline:none}
.ft-page .ft-signup .ft-signup__success-title{margin:0;font-family:'Cormorant Garamond',serif;font-size:40px;font-weight:500;line-height:1.1;color:#E8DAB5}
.ft-page .ft-signup .ft-signup__success-rule{display:block;width:48px;height:1px;margin:18px auto;background:#BD9B16}
.ft-page .ft-signup .ft-signup__success-text{max-width:400px;margin:0 auto;font-size:17px;line-height:1.6;color:#E8DAB5}
@media (prefers-reduced-motion:reduce){
	.ft-page .ft-signup .ft-signup__spinner{animation-duration:1.6s}
}

@media (max-width:767px){
	.ft-page .ft-signup .ft-signup__form{flex-direction:column}
	.ft-page .ft-signup .ft-signup__field{flex:0 0 auto;width:100%}
	.ft-page .ft-signup .ft-signup__input{height:52px}
	.ft-page .ft-signup .ft-signup__interests{flex:0 0 auto}
	.ft-page .ft-signup .ft-signup__legend{text-align:left}
	.ft-page .ft-signup .ft-signup__options{flex-direction:column;justify-content:flex-start}
	.ft-page .ft-signup .ft-signup__button{flex:0 0 auto;height:52px;margin-top:4px}
	.ft-page .ft-signup .ft-signup__consent{margin-top:12px}
	.ft-page .ft-signup .ft-signup__success-title{font-size:34px}
	.ft-page .ft-signup .ft-signup__success-text{font-size:16px}
}

/* Privacy Notice page */
.ft-page .ft-legal h2{margin:2.2em 0 .6em;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;font-style:normal;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:#BD9B16}
.ft-page .ft-legal h2:first-child{margin-top:0}
.ft-page .ft-legal p,
.ft-page .ft-legal ul{margin:0 0 1em}
.ft-page .ft-legal ul{padding-left:1.25em;font-size:inherit;line-height:inherit;list-style:disc}
.ft-page .ft-legal li{margin:0 0 .4em}
