.ech-footer{background-color:var(--color-bg-soft);color:var(--color-text);margin-top:var(--space-12)}
.ech-footer-main{padding-block:var(--space-12)}
.ech-footer-inner{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,2.4fr);gap:var(--space-10);align-items:flex-start}
.ech-footer-logo{display:flex;align-items:center;gap:12px;margin-bottom:var(--space-4)}
.ech-footer-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:radial-gradient(circle at 30% 0,#f5f1ea,rgba(200,162,79,0.28));color:#1e1915;font-family:var(--font-sans);font-size:1rem;letter-spacing:0.18em;border:1px solid rgba(200,162,79,0.9);box-shadow:0 10px 26px rgba(0,0,0,0.38)}
.ech-footer-logo-text{display:flex;flex-direction:column}
.ech-footer-logo-title{font-family:var(--font-sans);font-size:1.1rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--color-heading)}
.ech-footer-logo-subtitle{font-family:var(--font-sans-alt);font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gray-600)}
.ech-footer-desc{font-size:var(--fs-sm);color:var(--gray-700);max-width:32rem}
.ech-footer-meta{display:flex;flex-direction:column;gap:4px;margin-top:var(--space-3);font-size:var(--fs-xs);letter-spacing:0.14em;text-transform:uppercase;color:var(--gray-600)}
.ech-footer-links-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-8)}
.ech-footer-column{font-size:var(--fs-sm)}
.ech-footer-heading{font-size:0.9rem;text-transform:uppercase;letter-spacing:0.18em;color:var(--gray-700);margin-bottom:var(--space-4)}
.ech-footer-linklist{display:flex;flex-direction:column;gap:6px}
.ech-footer-linklist a{font-size:var(--fs-sm);color:var(--gray-700);transition:color var(--transition-base),transform var(--transition-fast)}
.ech-footer-linklist a:hover{color:var(--color-primary);transform:translateX(1px)}
.ech-footer-highlight{background:rgba(255,255,255,0.8);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-soft);border:1px solid rgba(214,200,179,0.85)}
.ech-footer-small{font-size:var(--fs-sm);color:var(--gray-700);margin-bottom:var(--space-4)}
.ech-footer-cta{width:100%;justify-content:center;margin-bottom:var(--space-3)}
.ech-footer-note{font-size:var(--fs-xs);color:var(--gray-600)}
.ech-footer-bottom{border-top:1px solid var(--color-border);background-color:var(--color-bg)}
.ech-footer-bottom-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);padding-block:var(--space-4)}
.ech-footer-copy{font-size:var(--fs-xs);color:var(--gray-600);margin-bottom:0}
.ech-footer-age{font-size:var(--fs-xs);color:var(--gray-600);margin-bottom:0}
.ech-cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:50;display:block;background:rgba(20,15,12,0.96);color:#f5f1ea;box-shadow:0 -16px 40px rgba(0,0,0,0.5);border-top:1px solid rgba(200,162,79,0.7);transform:translateY(100%);opacity:0;transition:transform var(--transition-slow),opacity var(--transition-slow)}
.ech-cookie-banner.is-visible{transform:translateY(0);opacity:1}
.ech-cookie-inner{max-width:1100px;margin:0 auto;padding:var(--space-4) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.ech-cookie-text{max-width:640px}
.ech-cookie-title{font-size:0.95rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-2)}
.ech-cookie-desc{font-size:var(--fs-sm);color:#f5f1ea;margin-bottom:0}
.ech-cookie-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end}
.ech-cookie-btn-reject,.ech-cookie-btn-accept{white-space:nowrap}
.ech-age-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center}
.ech-age-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.78);backdrop-filter:blur(7px)}
.ech-age-dialog{position:relative;max-width:520px;width:100%;padding-inline:var(--space-4)}
.ech-age-content{position:relative;background:radial-gradient(circle at 0 0,#362e28 0,#140f0c 55%);border-radius:24px;padding:var(--space-8) var(--space-6);border:1px solid rgba(200,162,79,0.9);box-shadow:0 22px 60px rgba(0,0,0,0.8);color:#f5f1ea;overflow:hidden}
.ech-age-content::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 0,rgba(200,162,79,0.25),transparent 55%);mix-blend-mode:soft-light}
.ech-age-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:0.25rem 0.8rem;border-radius:999px;border:1px solid rgba(214,200,179,0.9);background:rgba(12,9,7,0.85);font-size:0.75rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-4)}
.ech-age-title{position:relative;font-size:1.5rem;color:#f5f1ea;margin-bottom:var(--space-4)}
.ech-age-desc{position:relative;font-size:var(--fs-sm);color:#f5f1ea;margin-bottom:var(--space-6)}
.ech-age-actions{position:relative;display:flex;flex-direction:column;gap:var(--space-3)}
.ech-age-actions .btn-lg{width:100%;justify-content:center}
.ech-age-modal[hidden],.ech-cookie-banner[hidden]{display:none}
@media (max-width:1024px){.ech-footer-inner{grid-template-columns:1fr}.ech-footer-links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:768px){.ech-footer-main{padding-block:var(--space-8)}.ech-footer-links-grid{grid-template-columns:1fr}.ech-footer-highlight{order:-1}.ech-footer-bottom-inner{flex-direction:column;align-items:flex-start}.ech-cookie-inner{flex-direction:column;align-items:flex-start}.ech-cookie-actions{width:100%;justify-content:flex-start}.ech-cookie-actions .btn{flex:1;justify-content:center}}
@media (max-width:480px){.ech-age-content{padding:var(--space-6) var(--space-4)}.ech-age-title{font-size:1.3rem}}
@media (prefers-reduced-motion:reduce){.ech-cookie-banner,.ech-age-content{transition:none}}