/* ==========================================================================
   NanoFlex Hungary – egyedi stílusok a tématervezés kiegészítésére
   ========================================================================== */

:root{
  --nf-navy:#1b2a5e;
  --nf-navy-2:#26377a;
  --nf-accent:#2e9e3e;
  --nf-accent-light:#7ac143;
  --nf-sand:#f4f1ea;
  --nf-grey:#f4f8fa;
  --nf-border:#e2e8ec;
  --nf-text:#1d2b35;
  --nf-muted:#5f727f;
}

body{color:var(--nf-text);}
.nf-main{display:block;}
.nf-wrap{max-width:1180px;margin:0 auto;padding:0 22px;}
.nf-section{padding:64px 0;}
.nf-section--tight{padding:44px 0;}
.nf-section--grey{background:var(--nf-grey);}
.nf-section--sand{background:var(--nf-sand);}
.nf-section--navy{background:var(--nf-navy);color:#fff;}
.nf-section--navy h2,.nf-section--navy h3,.nf-section--navy p{color:#fff;}

.nf-eyebrow{display:block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--nf-accent);margin-bottom:14px;font-weight:700;}
.nf-section--navy .nf-eyebrow{color:var(--nf-accent-light);}
.nf-h1{font-size:44px;line-height:1.1;margin:0 0 18px;}
.nf-h2{font-size:32px;line-height:1.2;margin:0 0 16px;}
.nf-h3{font-size:21px;line-height:1.3;margin:0 0 10px;}
.nf-lead{font-size:19px;line-height:1.65;color:var(--nf-muted);max-width:760px;}
.nf-section--navy .nf-lead{color:rgba(255,255,255,.82);}
.nf-center{text-align:center;}
.nf-center .nf-lead{margin-left:auto;margin-right:auto;}
p{line-height:1.7;}

/* gombok */
.nf-btn{display:inline-block;background:var(--nf-accent);color:#fff !important;border:2px solid var(--nf-accent);
  padding:15px 34px;font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;border-radius:2px;cursor:pointer;transition:.18s;}
.nf-btn:hover{background:#26852f;border-color:#26852f;color:#fff !important;}
.nf-btn--ghost{background:transparent;color:var(--nf-navy) !important;border-color:var(--nf-navy);}
.nf-btn--ghost:hover{background:var(--nf-navy);color:#fff !important;}
.nf-btn--light{background:#fff;color:var(--nf-navy) !important;border-color:#fff;}
.nf-btn--light:hover{background:var(--nf-accent-light);border-color:var(--nf-accent-light);color:var(--nf-navy) !important;}
.nf-btn--block{display:block;width:100%;text-align:center;}
.nf-btn--lg{padding:18px 44px;font-size:16px;}

/* hero */
.nf-hero{position:relative;background:var(--nf-navy);color:#fff;overflow:hidden;}
.nf-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.nf-hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(15,24,58,.92) 0%,rgba(15,24,58,.82) 42%,rgba(15,24,58,.35) 100%);}
.nf-hero__inner{position:relative;z-index:2;padding:110px 0 120px;max-width:640px;}
.nf-hero h1{font-size:52px;line-height:1.06;margin:0 0 20px;color:#fff;}
.nf-hero p{font-size:20px;line-height:1.6;color:rgba(255,255,255,.88);margin:0 0 30px;}
.nf-hero__badges{list-style:none;margin:32px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px;}
.nf-hero__badges li{font-size:14px;color:rgba(255,255,255,.85);padding-left:24px;position:relative;}
.nf-hero__badges li:before{content:"";position:absolute;left:0;top:6px;width:11px;height:11px;border-radius:50%;
  background:var(--nf-accent-light);box-shadow:0 0 0 4px rgba(122,193,67,.25);}

/* felső sáv */
.nf-announce{background:var(--nf-accent);color:#fff;text-align:center;font-size:13.5px;letter-spacing:.07em;
  text-transform:uppercase;padding:11px 16px;font-weight:600;}
.nf-announce a{color:#fff;text-decoration:underline;}

/* rácsok */
.nf-grid{display:grid;gap:28px;}
.nf-grid--2{grid-template-columns:repeat(2,1fr);}
.nf-grid--3{grid-template-columns:repeat(3,1fr);}
.nf-grid--4{grid-template-columns:repeat(4,1fr);}
.nf-card{background:#fff;border:1px solid var(--nf-border);border-radius:4px;padding:30px 26px;}
.nf-section--grey .nf-card,.nf-section--sand .nf-card{box-shadow:0 2px 14px rgba(13,36,54,.05);}
.nf-card__icon{width:52px;height:52px;margin-bottom:18px;display:block;}
.nf-card h3{margin:0 0 10px;font-size:19px;}
.nf-card p{margin:0;color:var(--nf-muted);font-size:15.5px;}

.nf-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.nf-split img{width:100%;height:auto;display:block;border-radius:4px;}
.nf-split--reverse .nf-split__media{order:2;}

/* számozott lépések */
.nf-steps{counter-reset:nfstep;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;list-style:none;margin:0;padding:0;}
.nf-steps li{position:relative;padding-top:66px;}
.nf-steps li:before{counter-increment:nfstep;content:counter(nfstep);position:absolute;top:0;left:0;
  width:48px;height:48px;border-radius:50%;background:var(--nf-accent);color:#fff;font-size:20px;font-weight:700;
  display:flex;align-items:center;justify-content:center;}
.nf-steps h3{margin:0 0 8px;font-size:18px;}
.nf-steps p{margin:0;color:var(--nf-muted);font-size:15.5px;}

/* termékoldal */
.nf-product{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;padding:52px 0 64px;}
.nf-gallery__main{background:var(--nf-grey);border:1px solid var(--nf-border);border-radius:4px;overflow:hidden;}
.nf-gallery__main img{width:100%;height:auto;display:block;}
.nf-thumbs{display:flex;gap:12px;margin-top:14px;}
.nf-thumbs button{flex:1;background:var(--nf-grey);border:1px solid var(--nf-border);border-radius:4px;padding:0;cursor:pointer;overflow:hidden;}
.nf-thumbs button.is-active{border-color:var(--nf-accent);box-shadow:0 0 0 1px var(--nf-accent);}
.nf-thumbs img{width:100%;height:auto;display:block;}
.nf-price{display:flex;align-items:baseline;gap:14px;margin:6px 0 4px;}
.nf-price__now{font-size:34px;font-weight:700;color:var(--nf-navy);}
.nf-price__old{font-size:20px;color:#95a5af;text-decoration:line-through;}
.nf-price__save{background:#e8f5e4;color:var(--nf-accent);font-size:13px;font-weight:700;padding:5px 10px;border-radius:2px;}
.nf-vat{font-size:13.5px;color:var(--nf-muted);margin:0 0 24px;}
.nf-variants{display:flex;gap:12px;margin:0 0 22px;flex-wrap:wrap;}
.nf-variant{border:2px solid var(--nf-border);background:#fff;border-radius:3px;padding:13px 20px;cursor:pointer;
  font-size:15px;font-weight:600;color:var(--nf-navy);text-align:left;min-width:170px;}
.nf-variant span{display:block;font-weight:400;font-size:13px;color:var(--nf-muted);margin-top:3px;}
.nf-variant.is-active{border-color:var(--nf-accent);background:#f4faf1;}
.nf-qty{display:flex;align-items:center;gap:0;border:1px solid var(--nf-border);width:132px;margin:0 0 18px;border-radius:3px;overflow:hidden;}
.nf-qty button{width:42px;height:48px;border:0;background:#fff;font-size:20px;cursor:pointer;color:var(--nf-navy);}
.nf-qty input{width:48px;height:48px;border:0;text-align:center;font-size:16px;}
.nf-trust{list-style:none;margin:26px 0 0;padding:22px 0 0;border-top:1px solid var(--nf-border);display:grid;gap:12px;}
.nf-trust li{font-size:14.5px;color:var(--nf-muted);padding-left:26px;position:relative;}
.nf-trust li:before{content:"✓";position:absolute;left:0;color:var(--nf-accent);font-weight:700;}
.nf-stars{color:#f0a71a;letter-spacing:2px;font-size:16px;}
.nf-rating{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--nf-muted);margin-bottom:14px;}

/* akkordeon / GYIK */
.nf-acc{border-top:1px solid var(--nf-border);}
.nf-acc__item{border-bottom:1px solid var(--nf-border);}
.nf-acc__btn{width:100%;background:none;border:0;text-align:left;padding:22px 44px 22px 0;font-size:17px;
  font-weight:600;color:var(--nf-navy);cursor:pointer;position:relative;line-height:1.4;}
.nf-acc__btn:after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--nf-accent);font-weight:400;}
.nf-acc__item.is-open .nf-acc__btn:after{content:"–";}
.nf-acc__panel{display:none;padding:0 0 24px;color:var(--nf-muted);font-size:16px;max-width:860px;}
.nf-acc__item.is-open .nf-acc__panel{display:block;}
.nf-acc__panel p{margin:0 0 12px;}
.nf-acc__panel p:last-child{margin-bottom:0;}

/* vélemények */
.nf-quote{background:#fff;border:1px solid var(--nf-border);border-radius:4px;padding:30px 28px;}
.nf-quote p{font-size:16px;line-height:1.65;margin:12px 0 18px;color:var(--nf-text);}
.nf-quote footer{font-size:14px;color:var(--nf-muted);}
.nf-quote footer strong{display:block;color:var(--nf-navy);font-size:15px;}

/* táblázat */
.nf-table{width:100%;border-collapse:collapse;margin:22px 0;font-size:15.5px;}
.nf-table th,.nf-table td{border:1px solid var(--nf-border);padding:13px 16px;text-align:left;vertical-align:top;}
.nf-table th{background:var(--nf-grey);font-weight:700;color:var(--nf-navy);}

/* szöveges oldalak */
.nf-page{padding:56px 0 72px;}
.nf-page__header{background:var(--nf-grey);padding:54px 0;border-bottom:1px solid var(--nf-border);}
.nf-page__header h1{margin:0 0 10px;font-size:38px;}
.nf-page__header p{margin:0;color:var(--nf-muted);font-size:18px;max-width:720px;}
.nf-prose{max-width:820px;}
.nf-prose h2{font-size:26px;margin:40px 0 14px;}
.nf-prose h3{font-size:19px;margin:28px 0 10px;}
.nf-prose p{margin:0 0 15px;font-size:16.5px;}
.nf-prose ul,.nf-prose ol{margin:0 0 18px 20px;font-size:16.5px;}
.nf-prose li{margin-bottom:8px;line-height:1.65;}
.nf-prose a{color:var(--nf-accent);}
.nf-note{background:#f4faf1;border-left:4px solid var(--nf-accent);padding:18px 22px;margin:24px 0;font-size:15.5px;color:var(--nf-navy);}
.nf-note strong{color:var(--nf-navy);}

/* kapcsolat */
.nf-contact{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;}
.nf-field{margin-bottom:18px;}
.nf-field label{display:block;font-size:14px;font-weight:600;margin-bottom:7px;color:var(--nf-navy);}
.nf-field input,.nf-field select,.nf-field textarea{width:100%;border:1px solid var(--nf-border);border-radius:3px;
  padding:13px 14px;font-size:15px;font-family:inherit;background:#fff;}
.nf-field textarea{min-height:150px;resize:vertical;}
.nf-info{list-style:none;margin:0;padding:0;}
.nf-info li{padding:16px 0;border-bottom:1px solid var(--nf-border);font-size:16px;}
.nf-info li strong{display:block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--nf-muted);margin-bottom:5px;font-weight:700;}
.nf-info a{color:var(--nf-accent);text-decoration:none;}
.nf-map{width:100%;height:280px;background:var(--nf-grey);border:1px solid var(--nf-border);border-radius:4px;
  display:flex;align-items:center;justify-content:center;color:var(--nf-muted);font-size:15px;margin-top:28px;text-align:center;padding:20px;}

/* terméklista */
.nf-plist{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.nf-pcard{border:1px solid var(--nf-border);border-radius:4px;overflow:hidden;background:#fff;display:flex;flex-direction:column;}
.nf-pcard__img{background:var(--nf-grey);}
.nf-pcard__img img{width:100%;height:auto;display:block;}
.nf-pcard__body{padding:24px;flex:1;display:flex;flex-direction:column;}
.nf-pcard h3{margin:0 0 6px;font-size:18px;}
.nf-pcard h3 a{color:var(--nf-navy);text-decoration:none;}
.nf-pcard p{color:var(--nf-muted);font-size:15px;margin:0 0 16px;flex:1;}
.nf-pcard__price{font-size:20px;font-weight:700;color:var(--nf-navy);margin-bottom:16px;}
.nf-pcard__price s{font-size:15px;color:#95a5af;font-weight:400;margin-left:8px;}
.nf-badge{display:inline-block;background:var(--nf-navy);color:#fff;font-size:11.5px;letter-spacing:.12em;
  text-transform:uppercase;padding:5px 10px;border-radius:2px;margin-bottom:12px;font-weight:700;}

/* kosár */
.nf-cart-empty{text-align:center;padding:90px 0 110px;}
.nf-cart-empty h1{font-size:34px;margin:0 0 14px;}
.nf-cart-empty p{color:var(--nf-muted);font-size:18px;margin:0 0 30px;}

/* logó */
.site-header__logo img{width:100%;height:auto;}

@media only screen and (max-width:900px){
  .nf-grid--3,.nf-grid--4,.nf-plist,.nf-steps{grid-template-columns:repeat(2,1fr);}
  .nf-product,.nf-split,.nf-contact{grid-template-columns:1fr;gap:34px;}
  .nf-split--reverse .nf-split__media{order:0;}
  .nf-hero h1{font-size:36px;}
  .nf-hero__inner{padding:74px 0 80px;}
  .nf-h1{font-size:32px;} .nf-h2{font-size:26px;}
}
@media only screen and (max-width:590px){
  .nf-grid--2,.nf-grid--3,.nf-grid--4,.nf-plist,.nf-steps{grid-template-columns:1fr;}
  .nf-section{padding:46px 0;}
  .nf-hero h1{font-size:30px;}
  .nf-price__now{font-size:28px;}
  .nf-variant{min-width:100%;}
}

/* Süti sáv */
.nf-cookie{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#12231c;color:#eef5f1;box-shadow:0 -2px 16px rgba(0,0,0,.18)}
.nf-cookie__in{max-width:1080px;margin:0 auto;padding:1rem 1.25rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
.nf-cookie__t{flex:1 1 24rem;font-size:.9rem;line-height:1.55}.nf-cookie__t a{color:#bfe3d3}
.nf-cookie__a{display:flex;gap:.6rem;flex-wrap:wrap}
.nf-cookie__b{background:#fff;color:#12231c;border:1px solid #fff;border-radius:6px;padding:.6rem 1rem;font:inherit;font-weight:600;cursor:pointer}
.nf-cookie__b:hover{background:#d9e8e0;border-color:#d9e8e0}
/* COD formular */
.nf-order__field{margin-bottom:12px}
.nf-order label{display:block;font-weight:600;margin-bottom:4px;font-size:.9rem}
.nf-order input[type=text],.nf-order input[type=tel],.nf-order select{width:100%;padding:.7rem .8rem;border:1px solid #cdd6d1;border-radius:6px;font:inherit}
.nf-check{display:flex;gap:.6rem;align-items:flex-start;margin:.7rem 0;font-size:.85rem;line-height:1.5;font-weight:400}
.nf-check input{margin-top:.2rem;flex:0 0 auto}
.nf-check--optional{border-top:1px dashed #cdd6d1;padding-top:.7rem}
.nf-req{color:#b3261e}.nf-hp{position:absolute;left:-9999px}
.submit-note{margin-top:8px;font-size:.85rem}
/* Adatellenorzes */
.nf-datacheck{background:#fff;border:1px solid #dfe6e2;border-left:4px solid #0a6b4f;border-radius:8px;padding:1.25rem 1.5rem;margin:0 0 1.75rem}
.nf-datacheck[hidden]{display:none}.nf-datacheck h2{margin-top:0;font-size:1.15rem}
.nf-dc-row{display:flex;flex-wrap:wrap;gap:.25rem 1rem;padding:.6rem 0;border-top:1px solid #e9efec}
.nf-dc-row[hidden]{display:none}.nf-dc-row dt{flex:0 0 9rem;font-size:.8rem;color:#5d6b65;margin:0}.nf-dc-row dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.nf-dc-back{background:#0a6b4f;color:#fff;border:0;border-radius:6px;padding:.7rem 1.2rem;font:inherit;font-weight:600;cursor:pointer}
.nf-dc-back:hover{background:#085440}
