/* Grillandia – lábléc (2026-10-12)
   A régi sablon-lábléc (main-footer style-two) helyett, csak a főoldalon. Elsődleges szempont a reszponzivitás:
   ≥992 px 3 oszlop (Kapcsolat | Menü | Hírlevél), 600–991 px 2 oszlop (a Hírlevél teljes szélességben alul),
   <600 px egy oszlop, a menü ott is 2 hasábos (rövidebb lábléc). A háttérkép minden méretben kitölti a láblécet (cover).
   Értékek a kategória-kártyákhoz igazítva: radius 10px (mező, ikon), 6px (kis gomb), Fira Sans címek, nincs körvonal. */

.ft { position:relative; isolation:isolate; overflow:hidden; color:rgba(255,255,255,.72); background:#161616; font:500 17px/1.65 "Barlow", sans-serif; }
/* háttérkép: cover, így mobilon is kitölti a teljes láblécet; fölötte enyhe sötétítés az olvashatóságért */
.ft::before { content:""; position:absolute; top:0; right:0; bottom:0; left:0; z-index:-2; background:url(../images/shape/footer-bg.jpg) center / cover no-repeat; }
.ft::after { content:""; position:absolute; top:0; right:0; bottom:0; left:0; z-index:-1; background:linear-gradient(180deg, rgba(22,22,22,.55) 0%, rgba(22,22,22,.2) 45%, rgba(22,22,22,.7) 100%); }

.ft-in { max-width:1200px; margin:0 auto; padding:90px 15px 0; }
.ft-grid { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.35fr) minmax(0, 1.15fr); gap:48px 56px; padding-bottom:60px; }
.ft-col { min-width:0; }

.ft-title { margin:0 0 24px; font:700 20px/1.3 "Fira Sans", sans-serif; letter-spacing:.6px; text-transform:uppercase; color:#B87333; }
.ft-text { margin:0 0 20px; font:500 17px/1.65 "Barlow", sans-serif; color:rgba(255,255,255,.72); }

.ft a { color:inherit; text-decoration:none; transition:color .3s ease; }
.ft a:hover, .ft a:focus { color:#fff; text-decoration:none; }
.ft a:focus-visible, .ft button:focus-visible { outline:2px solid #B87333 !important; outline-offset:3px; border-radius:6px; }

/* Kapcsolat */
.ft-list { display:block; margin:0 0 26px; font-style:normal; }
/* ikon + szöveg sorok (a „Cím/Telefon/Email” címke képernyőolvasónak megmarad: .ft-sr) */
.ft-row { display:flex; align-items:flex-start; gap:12px; padding:7px 0; overflow-wrap:anywhere; }
.ft-row > span { min-width:0; }
/* ikon: a szöveggel azonos színű (fehér 72%), a pont is ugyanilyen; az átlátszóság az egész ikonra vonatkozik, így az egymást fedő részek nem sötétednek */
.ft-ico { flex:none; width:19px; height:19px; margin-top:4px; color:#fff; opacity:.72; overflow:visible; }
.ft-ember { fill:currentColor; stroke:none; }
.ft-ember-cut { stroke:#1a1a1a; stroke-width:1.6; }   /* a telefon/boríték sarkán: sötét gyűrű választja el a ponttól a vonalat */
.ft-line { display:block; width:max-content; max-width:100%; }   /* a két email-cím külön sorban (a sablon mobilon elrejti a <br>-t) */

.ft-social { display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none; }
.ft-social a { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:10px; background:rgba(255,255,255,.08); color:#fff; font-size:16px; transition:background-color .3s ease, transform .3s ease; }
.ft-social a:hover, .ft-social a:focus-visible { background:#B87333; color:#fff; transform:translateY(-2px); }

/* Menü: két hasáb minden méretben */
.ft-menu-cols { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0 28px; }
.ft-links { margin:0; padding:0; list-style:none; }
.ft-links li { margin:0; }
.ft-links a { display:inline-block; padding:5px 0; line-height:1.4; transition:color .3s ease, transform .3s ease; }
.ft-links a:hover, .ft-links a:focus-visible { color:#fff; transform:translateX(4px); }

/* Hírlevél */
.ft-form { margin:0; }
.ft-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.ft-sr { position:absolute !important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
/* áttetsző („üveg”) mező, körvonal nélkül (fókuszban sincs keret, csak kicsit világosabb); a nyíl hoverre fehér lesz és finoman előre csúszik */
.ft-field { position:relative; margin-bottom:16px; border-radius:10px; background:rgba(255,255,255,.08); transition:background-color .3s ease; }
.ft-field:hover { background:rgba(255,255,255,.11); }
.ft-field:focus-within { background:rgba(255,255,255,.14); }
.ft-field input { display:block; width:100%; height:52px; margin:0; padding:0 60px 0 18px; border:0; border-radius:10px; background:transparent; color:#fff; font:500 17px/1 "Barlow", sans-serif; box-shadow:none; outline:none; -webkit-appearance:none; appearance:none; }
.ft-field input::placeholder { color:rgba(255,255,255,.5); opacity:1; }
/* böngészős automatikus kitöltés: ne legyen sárga/fehér doboz */
.ft-field input:-webkit-autofill { -webkit-text-fill-color:#fff; -webkit-box-shadow:0 0 0 40px #2a2a2a inset; caret-color:#fff; transition:background-color 9999s; }
.ft-field button { position:absolute; top:5px; right:5px; display:flex; align-items:center; justify-content:center; width:42px; height:42px; margin:0; padding:0; border:0; border-radius:6px; background:transparent; color:#d9a066; transition:color .35s ease; }
.ft-field button svg { display:block; transition:transform .45s cubic-bezier(.2, .7, .2, 1); will-change:transform; }
.ft-field button:hover, .ft-field button:focus-visible { background:transparent; color:#fff; }
.ft-field button:hover svg, .ft-field button:focus-visible svg { transform:translate3d(3px, 0, 0); }

.ft-consent { display:flex; align-items:flex-start; gap:12px; margin:0; font:400 14px/1.55 "Barlow", sans-serif; color:rgba(255,255,255,.66); cursor:pointer; }
/* egyedi pipáló mező (a natív checkbox marad, csak a megjelenése más – billentyűzettel és képernyőolvasóval is működik).
   A sablon globálisan elrejti a checkboxokat, ezért kellenek az !important-ok. Üveg-stílus, mint a mező: körvonal nélkül, 6px sarok. */
.ft-consent input[type="checkbox"] { position:relative !important; clip:auto !important; pointer-events:auto !important; opacity:1 !important; visibility:visible !important; display:block !important; flex:none !important; width:20px !important; height:20px !important; min-width:20px !important; margin:1px 0 0 !important; padding:0 !important; border:0 !important; border-radius:6px !important; background:rgba(255,255,255,.12) center / 14px 14px no-repeat !important; -webkit-appearance:none !important; appearance:none !important; cursor:pointer; transition:background-color .25s ease, box-shadow .25s ease; }
.ft-consent input[type="checkbox"]:hover { background-color:rgba(255,255,255,.2) !important; }
.ft-consent input[type="checkbox"]:checked { background-color:#B87333 !important; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") !important; }
.ft-consent input[type="checkbox"]:focus-visible { outline:none !important; box-shadow:0 0 0 2px rgba(184,115,51,.6); }
.ft-consent input[type="checkbox"]::before, .ft-consent input[type="checkbox"]::after { display:none !important; content:none !important; }
.ft-consent a { color:#d9a066; }
.ft-consent a:hover { color:#fff; }

.ft-msg { margin-top:12px; font:600 15px/1.5 "Barlow", sans-serif; }
.ft-msg:empty { display:none; }
/* sötét háttéren olvasható visszajelző színek (a style.css !important szabályait írja felül) */
.ft .success-msg { color:#7fd99a !important; }
.ft .error-msg { color:#ff8f86 !important; }

/* alsó sáv */
.ft-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 32px; padding:22px 0 26px; border-top:1px solid rgba(255,255,255,.12); font-size:17px; color:rgba(255,255,255,.6); }
.ft-copy { margin:0; font:500 17px/1.6 "Barlow", sans-serif; color:inherit; }
.ft-legal { display:flex; flex-wrap:wrap; gap:6px 24px; margin:0; padding:0; list-style:none; }
.ft-legal a { color:rgba(255,255,255,.8); }

/* kis asztali */
@media (max-width:1199px) {
    .ft-grid { gap:40px 36px; }
}
/* tablet: 2 oszlop, a Hírlevél alul teljes szélességben (mező és hozzájárulás egymás mellett) */
@media (max-width:991px) {
    .ft-in { padding-top:70px; }
    .ft-grid { grid-template-columns:minmax(0, 1fr) minmax(0, 1.4fr); gap:44px 40px; padding-bottom:48px; }
    .ft-news { grid-column:1 / -1; padding-top:40px; border-top:1px solid rgba(255,255,255,.12); }
    .ft-form { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:0 28px; align-items:center; }
    .ft-field { margin:0; }
    .ft-bottom { padding-bottom:96px; }   /* a bal alsó süti gomb ne takarja a copyright-sort */
}
/* kis tablet: a Kapcsolat és a Menü egymás alá kerül (egymás mellett túl szűk, tördelődne) */
@media (max-width:767px) {
    .ft-grid { grid-template-columns:minmax(0, 1fr); }
}
/* mobil: egy oszlop, a menü 2 hasábos marad */
@media (max-width:599px) {
    .ft-in { padding:56px 16px 0; }
    .ft-grid { grid-template-columns:minmax(0, 1fr); gap:40px; padding-bottom:40px; }
    .ft-news { padding-top:0; border-top:0; }
    .ft-form { display:block; }
    .ft-field { margin-bottom:16px; }
    .ft-title { margin-bottom:16px; font-size:18px; }
    .ft, .ft-text, .ft-bottom, .ft-copy { font-size:16px; }   /* mobilon a többi szekció szövegével egyező 16px */
    .ft-menu-cols { gap:0 16px; }
    .ft-links a { padding:7px 0; }   /* nagyobb érintési felület */
    .ft-bottom { flex-direction:column; align-items:flex-start; padding:20px 0 76px; }   /* 76px = a lebegő gombok (16 + 44 + 16) ne takarják az utolsó sort */
    .ft-legal { gap:6px 20px; }
    /* nagyobb érintési felület a kapcsolati és jogi linkeken (a kinézet nem változik; min. 24px – WCAG 2.2) */
    .ft-row { padding:3px 0; }
    .ft-row a { display:inline-block; padding:6px 0; }
    .ft-row .ft-line { display:block; width:max-content; max-width:100%; padding:5px 0; }   /* a két email-cím külön sorban marad */
    .ft-ico { margin-top:10px; }
    .ft-legal a { display:inline-block; padding:8px 0; }
    .ft-consent a { padding:4px 0; }
}

@media (prefers-reduced-motion:reduce) {
    .ft a, .ft-social a, .ft-links a { transition:none; }
    .ft-social a:hover, .ft-links a:hover { transform:none; }
}
