/* Premium Magic footer. All presentation belongs to the component itself. */
.pmf-root {
    --pmf-green:#2b3828;
    --pmf-deep:#243021;
    --pmf-gold:#ba965c;
    --pmf-paper:#faf9f6;
    --pmf-ink:#293129;
    --pmf-muted:#657060;
    --pmf-line:#e6e4dc;
    color:var(--pmf-ink);
    font:15px/1.6 Lato,Arial,sans-serif;
    text-align:left;
    width:100%;
}
body.pmf-enabled.pmf-flatsome #footer.footer-wrapper { padding:0; background:var(--pmf-deep,#243021); }
.pmf-root * { box-sizing:border-box; }
.pmf-root :is(h2,h3,p,ul,dl,dd,address) { margin:0; padding:0; }
.pmf-root :is(h2,h3) { font-family:inherit; letter-spacing:normal; text-transform:none; }
.pmf-root ul { list-style:none; }
.pmf-root li { margin:0; padding:0; }
.pmf-root a { color:inherit; text-decoration:none; text-underline-offset:4px; transition:color .16s,background-color .16s; }
.pmf-root a:hover { text-decoration:underline; }
.pmf-root :is(a,button):focus-visible { outline:2px solid var(--pmf-gold); outline-offset:4px; border-radius:2px; }
.pmf-root svg { flex:none; }
.pmf-container { width:calc(100% - 64px); max-width:1280px; margin:0 auto; }
.pmf-advice { background:#f2f0e9; border-top:1px solid var(--pmf-line); }
.pmf-advice-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:64px; padding:38px 0; }
.pmf-root .pmf-eyebrow { display:block; margin-bottom:8px; color:#85612e; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.pmf-root .pmf-advice h2 { max-width:490px; margin-bottom:9px; font-size:24px; font-weight:600; line-height:1.25; color:var(--pmf-green); }
.pmf-advice p { max-width:500px; color:var(--pmf-muted); font-size:14px; line-height:1.7; }
.pmf-contact-links { display:grid; grid-template-columns:1fr 1.35fr; gap:16px; }
.pmf-contact-link { display:flex; align-items:center; gap:12px; min-width:0; min-height:60px; }
.pmf-contact-icon { display:grid; place-items:center; width:42px; height:42px; flex:none; border:1px solid #c9c7ba; border-radius:50%; color:var(--pmf-green); }
.pmf-root .pmf-contact-label { display:block; color:var(--pmf-muted); font-size:12px; line-height:1.5; }
.pmf-root .pmf-contact-link strong { display:block; font-weight:600; font-size:15px; overflow-wrap:anywhere; }
.pmf-contact-link:hover .pmf-contact-icon { background:var(--pmf-green); border-color:var(--pmf-green); color:var(--pmf-paper); }
.pmf-root .pmf-community-link { grid-column:1/-1; display:flex; align-items:center; gap:12px; min-width:0; min-height:70px; margin-top:5px; padding-top:15px; border-top:1px solid #c9c7ba; }
.pmf-community-copy { flex:1; min-width:0; }
.pmf-root .pmf-community-link h3 { margin:0 0 3px; color:var(--pmf-green); font-size:14px; font-weight:600; line-height:1.45; }
.pmf-root .pmf-community-link>.pmf-contact-icon { flex:none; }
.pmf-root .pmf-community-link>svg { width:18px; height:18px; color:#85612e; }
.pmf-root .pmf-community-link:hover .pmf-contact-icon { background:var(--pmf-green); border-color:var(--pmf-green); color:var(--pmf-paper); }
.pmf-main { background:var(--pmf-green); color:#e0e5dc; }
.pmf-grid { display:grid; grid-template-columns:1fr 1.15fr 1.05fr 1.5fr; gap:48px; padding:48px 0 38px; }
.pmf-root .pmf-column h2,.pmf-root .pmf-visit h2 { display:flex; align-items:center; gap:10px; margin-bottom:14px; color:#fff; font-size:15px; font-weight:600; line-height:1.4; }
.pmf-column a { display:inline-flex; align-items:center; min-height:36px; color:#d1d8ca; font-size:14px; line-height:1.45; padding:5px 0; }
.pmf-column a:hover { color:#e4c99d; }
.pmf-visit { padding:0 0 0 28px; border-left:1px solid #ffffff20; }
.pmf-visit h2 svg { width:19px; height:19px; color:#d5b682; }
.pmf-root .pmf-visit address { font-style:normal; font-size:14px; line-height:1.65; color:#d1d8ca; }
.pmf-root .pmf-visit h3 { margin:18px 0 5px; font-size:12px; font-weight:600; line-height:1.5; color:#fff; }
.pmf-hours { font-size:12px; line-height:1.55; color:#d1d8ca; }
.pmf-root .pmf-hours :is(dt,dd) { margin:0; font-weight:400; text-transform:none; letter-spacing:normal; line-height:1.55; }
.pmf-hours>div { display:flex; justify-content:space-between; align-items:baseline; gap:15px; padding:2px 0; }
.pmf-hours dd { white-space:nowrap; }
.pmf-root .pmf-visit-link { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:44px; margin-top:15px; color:#e4c99d; font-size:13px; font-weight:600; }
.pmf-visit-link svg { width:18px; height:18px; }
.pmf-discover { display:flex; align-items:baseline; gap:40px; border-top:1px solid #ffffff20; padding:22px 0; }
.pmf-root .pmf-discover h2 { flex:none; width:auto; max-width:none; color:#fff; font-size:13px; line-height:1.5; font-weight:600; }
.pmf-root .pmf-discover ul { flex:1; min-width:0; display:flex; flex-wrap:wrap; column-gap:28px; row-gap:4px; }
.pmf-discover a { display:inline-flex; align-items:center; min-height:34px; font-size:13px; color:#d1d8ca; }
.pmf-discover a:hover { color:#e4c99d; }
.pmf-payment { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:20px 0; border-top:1px solid #ffffff20; }
.pmf-payment-copy strong { display:block; font-size:12px; font-weight:600; color:#e0e5dc; }
.pmf-payment-copy p { font-size:11px; color:#b8c2b0; }
.pmf-payment-methods { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.pmf-root .pmf-payment-methods li { display:flex; align-items:center; min-height:28px; padding:4px 9px; border:1px solid #ffffff28; border-radius:4px; font-size:11px; line-height:1.4; font-weight:600; color:#e0e5dc; background:#ffffff05; }
.pmf-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px 28px; padding:18px 0; border-top:1px solid #ffffff20; }
.pmf-copyright { font-size:11px; line-height:1.7; color:#b8c2b0; }
.pmf-copyright strong { font-weight:400; }
.pmf-legal { display:flex; flex-wrap:wrap; align-items:center; column-gap:22px; row-gap:4px; }
.pmf-legal a,.pmf-root .pmf-legal button { display:inline-flex; align-items:center; min-height:30px; font-family:inherit; font-size:11px; line-height:1.5; color:#b8c2b0; }
.pmf-root .pmf-legal button { margin:0; padding:0; border:0; background:transparent; border-radius:0; font-family:inherit; font-size:11px; font-weight:400; line-height:1.5; text-transform:none; letter-spacing:normal; min-width:0; box-shadow:none; cursor:pointer; }
.pmf-legal a:hover,.pmf-root .pmf-legal button:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
@media (max-width:1100px) {
    .pmf-advice-layout { gap:32px; grid-template-columns:1.1fr 1fr; }
    .pmf-contact-links { grid-template-columns:1fr; gap:5px; }
    .pmf-contact-link { min-height:50px; }
    .pmf-grid { grid-template-columns:1fr 1.1fr 1fr 1.5fr; gap:24px; }
    .pmf-visit { padding-left:20px; }
    .pmf-hours>div { flex-direction:column; gap:0; padding:4px 0; }
}
@media (max-width:899px) {
    .pmf-grid { grid-template-columns:1fr 1fr; gap:32px 40px; padding-top:38px; }
    .pmf-visit { padding-left:0; border-left:0; }
    .pmf-contact-link strong { font-size:14px; }
    .pmf-root .pmf-advice h2 { font-size:22px; }
    .pmf-discover { display:block; padding:20px 0; }
    .pmf-root .pmf-discover h2 { margin-bottom:6px; }
    .pmf-payment { align-items:flex-start; }
    .pmf-payment-methods { max-width:55%; }
}
@media (max-width:599px) {
    .pmf-container { width:calc(100% - 40px); }
    .pmf-advice-layout { grid-template-columns:1fr; gap:20px; padding:28px 0; }
    .pmf-contact-links { gap:8px; }
    .pmf-contact-link { min-height:50px; }
    .pmf-root .pmf-advice h2 { max-width:350px; font-size:22px; }
    .pmf-grid { column-gap:22px; row-gap:28px; padding:32px 0; }
    .pmf-root .pmf-column h2,.pmf-root .pmf-visit h2 { font-size:14px; }
    .pmf-column a { min-height:44px; font-size:13px; }
    .pmf-visit { grid-column:1/-1; padding-top:24px; border-top:1px solid #ffffff20; }
    .pmf-hours { max-width:360px; }
    .pmf-hours>div { flex-direction:row; gap:10px; }
    .pmf-discover ul { column-gap:24px; }
    .pmf-discover a { min-height:44px; }
    .pmf-payment { flex-direction:column; gap:12px; }
    .pmf-payment-methods { max-width:none; justify-content:flex-start; }
    .pmf-bottom { align-items:flex-start; gap:6px; padding:16px 0 20px; }
    .pmf-copyright { flex-basis:100%; }
    .pmf-legal { column-gap:20px; }
    .pmf-legal a,.pmf-root .pmf-legal button { min-height:44px; }
}
@media (prefers-reduced-motion:reduce) { .pmf-root a { transition:none; } }

/* Keep the existing WPML footer language switcher in the same visual system. */
body.pmf-enabled .wpml-ls-statics-footer { margin:0; padding:8px 20px 16px; border:0; background:#2b3828; color:#d1d8ca; }
body.pmf-enabled .wpml-ls-statics-footer ul { display:flex; justify-content:center; flex-wrap:wrap; gap:4px 14px; margin:0; padding:0; }
body.pmf-enabled .wpml-ls-statics-footer li.wpml-ls-item a.wpml-ls-link,body.pmf-enabled .wpml-ls-statics-footer li.wpml-ls-item a.wpml-ls-link:link,body.pmf-enabled .wpml-ls-statics-footer li.wpml-ls-item a.wpml-ls-link:visited { display:inline-flex; align-items:center; min-height:44px; gap:6px; padding:6px 8px; background:transparent; color:#d1d8ca; font-size:12px; line-height:1.5; text-decoration:none; }
body.pmf-enabled .wpml-ls-statics-footer li.wpml-ls-item a.wpml-ls-link:hover,body.pmf-enabled .wpml-ls-statics-footer li.wpml-ls-current-language a.wpml-ls-link { color:#e4c99d; background:transparent; }
body.pmf-enabled .wpml-ls-statics-footer a:focus-visible { outline:2px solid #ba965c; outline-offset:2px; }
