/* Footer Style 27 — Centered Newsletter */
.epf-27 {
    --epf-bg: #f9f9f9;
    --epf-fg: #111111;
    --epf-muted: #555555;
    --epf-line: #e5e5e5;
    --epf-input: #f0f0f0;
    --epf-accent: #f472a1;
    --epf-on-accent: #ffffff;
    --epf-27-text: #333333;
    --epf-27-dots: #d1d5db;
    --epf-27-serif: 'Merriweather', Georgia, 'Times New Roman', serif;
    padding: 70px 0 0;
    font-family: 'Inter', var(--font-body, sans-serif);
    color: var(--epf-27-text);
    overflow: hidden;
}
[data-theme="dark"] .epf-27 {
    --epf-bg: #131316;
    --epf-fg: #f5f5f5;
    --epf-muted: #a1a1aa;
    --epf-line: rgba(255, 255, 255, .1);
    --epf-input: #1f1f24;
    --epf-27-text: #d4d4d8;
    --epf-27-dots: rgba(255, 255, 255, .16);
}

.epf-27__main {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr); gap: 40px;
    padding-bottom: 60px;
}
.epf-27__main--no-nl { grid-template-columns: minmax(0, 1fr) auto; }

/* Left: brand + links on a dot matrix */
.epf-27__left { position: relative; min-width: 0; }
.epf-27__left::before {
    content: ""; position: absolute; z-index: 0; top: -20px; left: -20px;
    width: 150px; height: 120px;
    background-image: radial-gradient(var(--epf-27-dots) 1px, transparent 1px);
    background-size: 14px 14px;
    pointer-events: none;
}
.epf-27__left > * { position: relative; z-index: 1; }
.epf-27__brand { margin-bottom: 40px; }
.epf-27__wordmark {
    display: inline-flex; align-items: center; gap: 10px;
    font-family: var(--epf-27-serif); font-size: 24px; font-weight: 400; line-height: 1.2;
    letter-spacing: .5px; text-transform: uppercase; color: var(--epf-fg);
    overflow-wrap: anywhere;
}
.epf-27__wordmark i { font-size: 18px; color: var(--epf-fg); transition: color .2s; }
.epf-27 a.epf-27__wordmark:hover { color: var(--epf-fg); }
.epf-27 a.epf-27__wordmark:hover i { color: var(--epf-accent); }
.epf-27__desc { max-width: 300px; margin: -20px 0 30px; font-size: 14px; line-height: 1.6; color: var(--epf-muted); }
.epf-27__left > .epf-27__desc:first-child { margin-top: 0; }

.epf-27__links { display: flex; flex-direction: column; gap: 16px; }
.epf-27__links a {
    font-size: 13px; font-weight: 500; letter-spacing: .5px; text-transform: uppercase;
    color: var(--epf-27-text);
}

/* Center: newsletter */
.epf-27__center { padding: 0 20px; text-align: center; min-width: 0; }
.epf-27 .epf-27__nl-title {
    margin: 0 0 15px !important;
    font-family: var(--epf-27-serif); font-size: 34px; font-weight: 700; line-height: 1.25; color: var(--epf-fg);
}
.epf-27__nl-text { margin-bottom: 30px; font-size: 15px; color: var(--epf-muted); }
.epf-27 .epf-form { max-width: 540px; margin: 0 auto; }
.epf-27 .epf-form input[type="email"] {
    padding: 18px 20px; font-size: 15px; border: 0; border-radius: 0; background: var(--epf-input);
    box-shadow: inset 0 0 0 1px transparent;
}
.epf-27 .epf-form input[type="email"]:focus { box-shadow: inset 0 0 0 1px var(--epf-accent); }
.epf-27 .epf-form button {
    padding: 18px 30px; border-radius: 0;
    font-size: 14px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase;
}


.epf-27 .ep-newsletter-msg { text-align: center !important; }

/* Right: socials + links */
.epf-27__right { padding-left: 20px; min-width: 0; }
.epf-27 .epf-27__soc-title {
    margin: 0 0 20px !important;
    font-family: var(--epf-27-serif); font-size: 16px; font-weight: 400; line-height: 1.4;
    letter-spacing: 4px; text-transform: uppercase; color: var(--epf-muted);
}
.epf-27__socials { gap: 15px; margin-bottom: 40px; }
.epf-27__socials:last-child { margin-bottom: 0; }
.epf-27__socials .epf-social { font-size: 18px; color: var(--epf-fg); }
.epf-27__socials .epf-social:hover { color: var(--epf-accent); }

/* Bottom */
.epf-27__bottom {
    position: relative; padding: 25px 60px; border-top: 1px solid var(--epf-line); text-align: center;
}
.epf-27 .epf-copy { font-size: 13px; color: var(--epf-muted); }


@media (max-width: 992px) {
    .epf-27__main, .epf-27__main--no-nl { grid-template-columns: minmax(0, 1fr); gap: 50px; text-align: center; }
    .epf-27__left::before { left: 50%; transform: translateX(-50%); }
    .epf-27__desc { margin-left: auto; margin-right: auto; }
    .epf-27__links { align-items: center; }
    .epf-27__right { padding-left: 0; }
    .epf-27__socials { justify-content: center; }
    .epf-27__center { padding: 0; }
    .epf-27__bottom { display: flex; flex-direction: column; align-items: center; gap: 20px; padding: 25px 0; }
    
}
@media (max-width: 600px) {
    .epf-27 { padding-top: 56px; }
    .epf-27 .epf-27__nl-title { font-size: 26px; }
    .epf-27 .epf-form--inline .epf-form__row { gap: 0; }
    .epf-27 .epf-form--inline input[type="email"], .epf-27 .epf-form--inline button { border-radius: 0; }
    
    
}

/* headers.css makes .ep-menu-title a flex box, which pushes menu badges onto a new line */
.epf-27 .ep-menu-title { display: inline; }
