/*
 * kissaniko.hu – közös stíluslap
 * Betűtípusok: Fraunces (címek) és Nunito Sans (szöveg), saját szerverről kiszolgálva
 * (SIL Open Font License, lásd assets/fonts/OFL-*.txt). Így a látogatók adatai nem jutnak el a Google-hoz.
 */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/assets/fonts/fraunces-latin-ext-opsz-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/assets/fonts/fraunces-latin-opsz-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-display: swap;
  font-weight: 100 900;
  src: url(/assets/fonts/fraunces-latin-ext-opsz-italic.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-display: swap;
  font-weight: 100 900;
  src: url(/assets/fonts/fraunces-latin-opsz-italic.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/assets/fonts/nunito-sans-latin-ext-wght-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/assets/fonts/nunito-sans-latin-wght-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: italic;
  font-display: swap;
  font-weight: 100 900;
  src: url(/assets/fonts/nunito-sans-latin-ext-wght-italic.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: italic;
  font-display: swap;
  font-weight: 100 900;
  src: url(/assets/fonts/nunito-sans-latin-wght-italic.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ---- Alapstílusok (a Design-tervből) ---- */
* { box-sizing: border-box; }
body { margin: 0; background: #fff8f4; font-family: 'Nunito Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; color: #4a3c34; }
a { text-decoration: none; color: #b84a2e; }
a:hover { color: #8a5a12; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: none; box-shadow: 0 0 0 2px #fff8f4, 0 0 0 4px #b84a2e; border-radius: inherit; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.nav-link { font-family: 'Nunito Sans', sans-serif; font-size: 15px; font-weight: 700; color: #4a3c34; white-space: nowrap; }
.nav-link:hover { color: #b84a2e; }
.btn-primary { display: inline-flex; align-items: center; gap: 8px; background: #b84a2e; color: #ffffff; font-family: 'Nunito Sans', sans-serif; font-size: 15px; font-weight: 700; padding: 14px 28px; border-radius: 9999px; box-shadow: 0 1px 2px #4a3c340d, 0 2px 6px #4a3c3414; border: none; cursor: pointer; }
.btn-primary:hover { background: #8a5a12; color: #ffffff; }
.btn-primary-sm { padding: 11px 22px; font-size: 14px; }
.link-cta { display: inline-flex; align-items: center; gap: 6px; font-family: 'Nunito Sans', sans-serif; font-size: 15px; font-weight: 700; color: #b84a2e; }
.link-cta:hover { color: #8a5a12; }
.link-cta svg { transition: transform .15s ease; }
.link-cta:hover svg { transform: translateX(3px); }
.eyebrow { font-family: 'Nunito Sans', sans-serif; font-size: 12px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: #8a5a12; margin: 0 0 16px; }
.card { background: #fdebe3; border-radius: 28px; padding: 32px; }
.quote-card { background: #fceeda; border-radius: 28px; padding: 28px; display: flex; flex-direction: column; gap: 16px; height: 100%; }
.img-frame { background: #fdebe3; border: 1px dashed #d9a98c; border-radius: 28px; display: flex; align-items: center; justify-content: center; color: #7d695d; font-family: 'Nunito Sans', sans-serif; font-size: 13px; font-weight: 600; text-align: center; padding: 24px; }
.footer-link { font-family: 'Nunito Sans', sans-serif; font-size: 14px; font-weight: 600; color: #7d695d; }
.footer-link:hover { color: #b84a2e; }
.breadcrumb { font-family: 'Nunito Sans', sans-serif; font-size: 13px; color: #7d695d; margin: 0 0 24px; }
.breadcrumb a { color: #7d695d; font-weight: 600; }
.breadcrumb a:hover { color: #b84a2e; }
.h1-page { font-family: 'Fraunces', Georgia, serif; font-size: 40px; line-height: 46px; font-weight: 500; color: #4a3c34; margin: 0 0 24px; }
.h2-section { font-family: 'Fraunces', Georgia, serif; font-size: 28px; line-height: 36px; font-weight: 500; color: #4a3c34; margin: 0 0 16px; }
.h3-section { font-family: 'Nunito Sans', sans-serif; font-size: 20px; line-height: 28px; font-weight: 700; color: #4a3c34; margin: 0 0 12px; }
.body-text { font-family: 'Nunito Sans', sans-serif; font-size: 15px; line-height: 24px; color: #4a3c34; margin: 0 0 16px; }
.price-tag { font-family: 'Nunito Sans', sans-serif; font-size: 14px; font-weight: 700; color: #8a5a12; margin: 0 0 8px; }
.pill-link { display: inline-block; font-family: 'Nunito Sans', sans-serif; font-size: 13px; font-weight: 700; color: #4a3c34; background: #fdebe3; padding: 8px 16px; border-radius: 9999px; }
.pill-link:hover { background: #fbd9ce; color: #4a3c34; }
label.field-label { display: block; font-family: 'Nunito Sans', sans-serif; font-size: 13px; font-weight: 700; color: #4a3c34; margin: 0 0 6px; }
input.field-input, select.field-input, textarea.field-input { width: 100%; font-family: 'Nunito Sans', sans-serif; font-size: 15px; color: #4a3c34; background: #fff8f4; border: 1px solid #d9a98c; border-radius: 8px; padding: 10px 14px; }
textarea.field-input { resize: vertical; }
@media (max-width: 900px) {
  .stack-mobile { grid-template-columns: 1fr !important; }
  .hero-title { font-size: 40px !important; line-height: 46px !important; }
  .nav-links { display: none !important; }
}

/* ---- Kiegészítések az élő oldalhoz (mobilmenü, űrlap, véleménywidget) ---- */
.nav-link[aria-current="page"] { color: #b84a2e; }
section[id] { scroll-margin-top: 90px; }
.menu-toggle { display: none; align-items: center; gap: 8px; min-height: 44px; padding: 10px 18px; font-family: 'Nunito Sans', sans-serif; font-size: 15px; font-weight: 700; color: #4a3c34; background: #fdebe3; border: none; border-radius: 9999px; cursor: pointer; }
.menu-toggle:hover { background: #fbd9ce; }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.trustindex-widget { margin: 24px 0 28px; }
.trustindex-widget:empty { display: none; }
.legal h2 { margin-top: 40px; }
.legal h3 { margin-top: 28px; }
.legal ul { padding-left: 22px; }
@media (max-width: 900px) {
  .menu-toggle { display: inline-flex; }
  .nav-links.is-open { display: flex !important; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: flex-start !important; gap: 4px !important; padding: 8px 20px 24px; background: #fff8f4; border-bottom: 1px solid #f5ddd2; box-shadow: 0 20px 40px -8px #4a3c3426; }
  .nav-links.is-open .nav-link { padding: 12px 0; font-size: 17px; }
  .nav-links.is-open .btn-primary { margin-top: 12px; }
}
