/* 2026-11-07: shared block styles that must also work inside Vue's #app (Vue strips <style> from templates).
   Linked from layouts/main + layouts/subpage after app.css. */

/* ---- consultation card (partials/sign_up, footer on every page) ---- */
.cta2{position:relative;overflow:hidden;display:flex;align-items:center;gap:32px;background:#DED114;color:#1a1a1a;border-radius:28px;padding:40px 48px}
.cta2:after{content:"";position:absolute;right:-60px;top:-80px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.18);pointer-events:none}
.cta2-text{flex:1;position:relative;z-index:1}
.cta2-kicker{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:#1a1a1a;color:#DED114;border-radius:80px;padding:4px 12px;margin-bottom:12px}
.cta2 h2{color:#1a1a1a!important;font-size:2rem;line-height:1.15;margin:0 0 8px}
.cta2 p{margin:0;font-size:1.05rem;color:#2b2b2b;max-width:560px}
.cta2-side{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-end;gap:16px}
.cta2-faces{display:flex}
.cta2-faces img{width:52px;height:52px;border-radius:50%;border:3px solid #DED114;object-fit:cover;margin-left:-12px;background:#eee}
.cta2-faces img:first-child{margin-left:0}
.cta2-btn{display:inline-flex;align-items:center;gap:10px;background:#1a1a1a;color:#DED114!important;font-weight:700;font-size:1.05rem;border-radius:80px;padding:14px 28px;text-decoration:none!important;transition:transform .15s,background .15s;white-space:nowrap}
.cta2-btn:hover,.cta2-btn:focus{background:#000;transform:translateY(-2px)}
@media (max-width:767px){.cta2{flex-direction:column;align-items:flex-start;padding:28px 24px;gap:20px}.cta2 h2{font-size:1.5rem}.cta2-side{align-items:flex-start}}

/* ---- /kapcsolat (2026-11-07): intro card with quick contact tiles + form card ---- */
.ct-intro{position:relative;z-index:2;background:#fff;border-radius:28px;padding:40px 44px;box-shadow:0 14px 40px rgba(0,0,0,.08);display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.ct-kicker{display:inline-block;background:#262626;color:#DED114;font-weight:700;border-radius:80px;padding:6px 16px;font-size:.9rem;margin-bottom:14px}
.ct-intro h2{margin:0 0 14px;color:#262626}
.ct-intro p{font-size:1.1rem;line-height:1.7;color:#333;margin:0}
.ct-tiles{display:grid;gap:12px}
.ct-tile{display:flex;align-items:center;gap:16px;background:#f4f4f1;border-radius:18px;padding:16px 18px;color:#262626!important;text-decoration:none!important;transition:background .15s,transform .15s}
.ct-tile:hover,.ct-tile:focus{background:#DED114;transform:translateY(-2px)}
.ct-ico{flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:#262626;color:#DED114;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ct-ico img{width:100%;height:100%;object-fit:cover}
.ct-tile b{display:block;font-size:1.05rem;line-height:1.3}
.ct-tile small{display:block;color:#666;font-size:.85rem}
.ct-form{position:relative;z-index:2;max-width:860px;margin:3rem auto 4rem;background:#fff;border-radius:28px;box-shadow:0 14px 40px rgba(0,0,0,.06);padding:40px 44px 8px}
.ct-form h2{color:#262626!important;margin:0 0 4px}
.ct-form .ct-sub{color:#666;margin:0}
.ct-form .container{padding:0;max-width:none}
.ct-form .bg-white,.ct-form .contact-form,.ct-form form{box-shadow:none}
@media (max-width:991px){.ct-intro{grid-template-columns:1fr;padding:28px 24px}.ct-form{padding:28px 20px 4px}}
