/* naftalan.tours — new home page blocks (step 38, file renamed to nfx-home.css in step 40). Everything is scoped under .nfx — other pages are not affected. */
.nfx{background:#F2F4F2;color:#1A1F1C;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.5;padding-bottom:8px;-webkit-text-size-adjust:100%}
.nfx *,.nfx *::before,.nfx *::after{box-sizing:border-box}
.nfx p,.nfx h2,.nfx h3,.nfx ol,.nfx figure,.nfx blockquote{margin:0;padding:0}
.nfx a{color:#1E4A38;text-decoration:none}
.nfx a:hover{color:#14352A}
.nfx a:focus-visible,.nfx button:focus-visible,.nfx summary:focus-visible{outline:2px solid #1E4A38;outline-offset:2px}
.nfx [hidden]{display:none!important}
.nfx-sec{background:#fff;margin:8px auto 0;border-top:1px solid #E6E9E6;border-bottom:1px solid #E6E9E6;padding:20px 0 18px;max-width:1200px}
.nfx-pad{padding-left:16px;padding-right:16px}
.nfx-sec.nfx-pad{padding-top:20px;padding-bottom:20px}
.nfx-mt{margin-top:14px}
.nfx-h2{font-size:22px;line-height:1.2;font-weight:800;letter-spacing:-.2px;color:#1A1F1C}
.nfx-h3{font-size:19px;line-height:1.25;font-weight:800;color:#1A1F1C}
.nfx-sub{font-size:15px;color:#5C6660;margin:2px 0 14px!important}
.nfx-muted{font-size:15px;color:#5C6660}
.nfx-b{font-weight:700;color:#1A1F1C;display:block}
.nfx-p{font-size:15px;margin:14px 0!important}
.nfx-note{font-size:13px;color:#5C6660;text-align:center;margin-top:8px!important}
.nfx-kick{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#6B4E12}
.nfx-ico{flex:0 0 52px;width:52px;height:52px;border-radius:14px;background:#EEF5F0;color:#1E4A38;display:flex;align-items:center;justify-content:center}
.nfx-ico--round{flex-basis:48px;width:48px;height:48px;border-radius:50%}
.nfx-ico--gold{background:#F1E4BF;color:#6B4E12}
.nfx-btn{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;background:#1E4A38;color:#fff!important;border:0;border-radius:4px;font:inherit;font-size:16px;font-weight:700;cursor:pointer;text-align:center}
.nfx-btn:hover{background:#14352A}
.nfx-btn--line{background:#fff;color:#1E4A38!important;border:1px solid #1E4A38;width:100%}
.nfx-btn--line:hover{background:#EEF5F0}
.nfx-btn--gold{background:#6B4E12;display:inline-flex;margin-top:12px;min-height:46px;font-size:15px}
.nfx-btn--gold:hover{background:#523B0C}
.nfx-link{min-height:44px;padding:0;margin-top:6px;background:none;border:0;color:#1E4A38;font:inherit;font-size:15px;font-weight:700;cursor:pointer}

/* perks */
.nfx-perks{padding:0}
.nfx-perk{display:flex;gap:16px;align-items:flex-start;padding:16px;border-bottom:1px solid #EEF0EE}
.nfx-perk:last-child{border-bottom:0}
.nfx-perk-t{font-size:17px;font-weight:700}

/* promotions */
.nfx-snap{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 16px 4px;-webkit-overflow-scrolling:touch}
.nfx-snap::-webkit-scrollbar{display:none}
.nfx-promo{flex:0 0 86%;max-width:420px;scroll-snap-align:start;border:1px solid #E1E5E1;border-radius:8px;padding:16px;display:flex;gap:12px;background:#fff;color:#1A1F1C}
.nfx-snap--one .nfx-promo{flex:1 1 100%;max-width:none}
.nfx-promo--dark{background:#14352A;border-color:#14352A;color:#fff}
.nfx-promo-b{flex:1 1 auto;display:flex;flex-direction:column;gap:4px;min-width:0}
.nfx-promo-m{font-size:13px;opacity:.85}
.nfx-promo-t{font-size:20px;line-height:1.2;font-weight:800;margin-top:4px!important}
.nfx-promo-d{font-size:14px;opacity:.92;margin-bottom:10px!important}
.nfx-promo-a{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;background:#1E4A38;color:#fff!important;border-radius:4px;font-size:14px;font-weight:700;margin-top:auto}
.nfx-promo--dark .nfx-promo-a{background:#D6B46A;color:#14352A!important}
.nfx-promo-big{flex:0 0 76px;height:76px;border-radius:6px;background:#EEF5F0;color:#1E4A38;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;letter-spacing:-.5px}
.nfx-promo--dark .nfx-promo-big{background:rgba(255,255,255,.14);color:#fff}

/* diagnosis tiles */
.nfx-diag{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.nfx-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:112px;padding:12px 6px;border:1px solid #E1E5E1;border-radius:8px;background:#fff;color:#1A1F1C!important;font-size:13px;line-height:1.25;font-weight:600;text-align:center}
.nfx-tile:hover{border-color:#1E4A38}
.nfx-diag .nfx-more{display:none}
.nfx-diag.is-all .nfx-more{display:flex}

/* sanatoriums */
.nfx-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.nfx-tab{min-height:44px;padding:0 16px;border-radius:22px;border:1px solid #D5DBD6;background:#fff;color:#1A1F1C;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.nfx-tab.is-on{background:#EEF5F0;color:#1E4A38;border-color:#1E4A38}
.nfx-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:0 16px}
.nfx-card{display:flex;border:1px solid #E1E5E1;border-radius:8px;overflow:hidden;background:#fff;color:#1A1F1C!important;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.nfx-card:hover{border-color:#1E4A38}
.nfx-card-i{flex:0 0 136px;width:136px;height:156px;object-fit:cover;display:block;background:#E5EAE6}
.nfx-card-b{flex:1 1 auto;min-width:0;padding:12px 14px;display:flex;flex-direction:column}
.nfx-card-t{font-size:18px;line-height:1.25;font-weight:700}
.nfx-card-c{font-size:14px;color:#5C6660}
.nfx-tag{align-self:flex-start;margin-top:4px;padding:1px 8px;border-radius:4px;background:#FFF3D6;color:#6B4E12;font-size:12px;font-weight:700}
.nfx-card-p{margin-top:auto;display:flex;flex-direction:column;align-items:flex-end;gap:1px}
.nfx-fx{font-size:12px;color:#5C6660;line-height:1.3;white-space:nowrap}
.nfx-pr{text-align:right;white-space:nowrap}
.nfx-pr-l{display:block;font-size:12px;color:#5C6660;line-height:1.2}
  .nfx-pr b{line-height:1.15;display:block;font-size:23px;font-weight:800;letter-spacing:-.3px}
.nfx-pr b.nfx-pr-q{font-size:16px;letter-spacing:0}
.nfx-list .nfx-more{display:none}
.nfx-list.is-all .nfx-more{display:flex}

/* steps */
.nfx-steps{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:14px!important}
.nfx-steps li{display:flex;gap:14px}
.nfx-n{flex:0 0 32px;height:32px;border-radius:50%;border:1px solid #1E4A38;color:#1E4A38;font-weight:700;display:flex;align-items:center;justify-content:center}

/* reviews */
.nfx-mq-w{overflow:hidden;margin-top:14px}
.nfx-mq{display:flex;gap:10px;padding-left:16px;overflow-x:auto;scrollbar-width:none}
.nfx-mq::-webkit-scrollbar{display:none}
.nfx-mq.is-loop{width:max-content;overflow:visible;animation:nfxmq 60s linear infinite}
.nfx-mq.is-loop:hover{animation-play-state:paused}
@keyframes nfxmq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.nfx-rev{flex:0 0 270px;padding:14px;border:1px solid #E1E5E1;border-radius:8px;background:#fff}
.nfx-rev figcaption{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.nfx-rev blockquote{font-size:14px;color:#1A1F1C}
.nfx-ava{flex:0 0 44px;width:44px;height:44px;border-radius:50%;object-fit:cover;background:#EEF5F0}
.nfx-ava--i{display:flex;align-items:center;justify-content:center;color:#1E4A38;font-weight:700}
.nfx-stars{display:block;font-size:12px;color:#B8891F;letter-spacing:1px}
.nfx-stars i{font-style:normal;color:#5C6660;letter-spacing:0}

/* expert */
.nfx-exp{display:flex;gap:14px;align-items:center}
.nfx-exp-i{flex:0 0 76px;width:76px;height:76px;border-radius:50%;border:2px solid #D6B46A;object-fit:cover;background:#E5EAE6}

/* service rows */
.nfx-rows{padding:0}
.nfx-row{display:flex;gap:14px;align-items:center;padding:16px;border-bottom:1px solid #EEF0EE;color:#1A1F1C!important}
.nfx-row:last-child{border-bottom:0}
.nfx-row-i{flex:0 0 28px;color:#1E4A38;display:flex}
.nfx-row-b{flex:1 1 auto}
.nfx-row-b .nfx-muted{display:block;font-size:14px}
.nfx-row>svg{flex:0 0 18px;color:#5C6660}

/* faq */
.nfx-faq{border-bottom:1px solid #EEF0EE}
.nfx-faq summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:8px 0;font-weight:700;cursor:pointer;list-style:none}
.nfx-faq summary::-webkit-details-marker{display:none}
.nfx-faq summary span{font-size:22px;color:#1E4A38;transition:transform .2s}
.nfx-faq[open] summary span{transform:rotate(45deg)}
.nfx-faq p{margin-bottom:14px!important}

/* oil + final */
.nfx-oil{background:#FBF7EC;border-color:#EADFC4;display:flex;gap:14px;align-items:flex-start}
.nfx-final{text-align:center;padding-top:26px!important;padding-bottom:26px!important}
.nfx-final .nfx-muted{margin:6px 0 14px!important}
.nfx-final .nfx-btn{min-height:52px;font-size:17px}

@media (min-width:768px){
  .nfx{padding:8px 16px 24px}
  .nfx-sec{border:1px solid #E6E9E6;border-radius:8px;margin-top:16px;padding:28px 12px 24px}
  .nfx-sec.nfx-pad{padding:28px}
  .nfx-h2{font-size:26px}
  .nfx-perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:8px 12px}
  .nfx-perk{border-bottom:0}
  .nfx-promo{flex-basis:380px}
  .nfx-diag{grid-template-columns:repeat(6,minmax(0,1fr))}
  .nfx-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .nfx-steps{flex-direction:row;gap:24px}
  .nfx-steps li{flex:1 1 0}
  .nfx-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 12px}
  .nfx-row{border-bottom:0}
  .nfx-btn--line{width:auto;display:inline-flex;min-width:280px}
  .nfx-list>.nfx-show{grid-column:1/-1;justify-self:center}
  .nfx-mt{text-align:center}
  .nfx-faq{max-width:860px}
  .nfx-final .nfx-btn{display:inline-flex;min-width:320px}
  .nfx-sec[aria-labelledby="nfx-h-exp"] .nfx-btn{display:inline-flex;min-width:320px}
  .nfx-sec[aria-labelledby="nfx-h-exp"] .nfx-note{text-align:left}
}
@media (min-width:1100px){.nfx-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* STEP42: same speed with reduced motion */

/* ═══ STEP40: computer layout (phone look is not changed) ═══ */
#akcii{scroll-margin-top:76px}
.nfx-bc-i,.nfx-bc-m,.nfx-faq-ask,.nfx-final-i{display:none}
.nfx-bc-b{display:block}
@media (min-width:1000px){
  #akcii{scroll-margin-top:88px}
  .nfx{display:grid;grid-template-columns:repeat(2,minmax(0,572px));justify-content:center;column-gap:16px;padding-left:20px;padding-right:20px}
  .nfx>.nfx-sec{grid-column:1/-1;max-width:none;margin:16px 0 0}
  .nfx>.nfx-sec.nfx-half{grid-column:auto}
  .nfx-sub{margin-bottom:18px!important}

  /* one promotion = one wide banner */
  .nfx-snap{padding:0 16px 4px}
  .nfx-snap--one .nfx-promo{align-items:center;padding:22px 24px;gap:24px}
  .nfx-snap--one .nfx-promo-b{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;align-items:center}
  .nfx-snap--one .nfx-promo-b>*{grid-column:1}
  .nfx-snap--one .nfx-promo-a{grid-column:2;grid-row:1/span 3;align-self:center;margin:0;min-height:48px;padding:0 22px;font-size:15px}
  .nfx-snap--one .nfx-promo-d{margin-bottom:0!important;max-width:640px}
  .nfx-snap--one .nfx-promo-big{order:-1;flex-basis:96px;height:96px;font-size:30px}

  /* reviews: the running line is aligned with the headings and fades at the edges */
  .nfx-mq-w{margin:16px 16px 0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%)}
  .nfx-mq{padding-left:0;gap:14px}
  .nfx-rev{flex-basis:320px;padding:18px}
  .nfx-rev blockquote{font-size:15px}

  /* expert + services */
  .nfx-expert{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
  .nfx-exp-i{flex-basis:96px;width:96px;height:96px}
  .nfx-expert .nfx-h3{font-size:22px}
  .nfx-expert .nfx-p{margin:16px 0!important;max-width:460px}
  .nfx-rows.nfx-half{display:flex;flex-direction:column;padding:0}
  .nfx-rows.nfx-half .nfx-row{flex:1 1 0;padding:20px 28px;border-bottom:1px solid #EEF0EE;gap:18px}
  .nfx-rows.nfx-half .nfx-row:last-child{border-bottom:0}
  .nfx-rows.nfx-half .nfx-row:hover{background:#F7FAF8}
  .nfx-rows.nfx-half .nfx-row-i{flex:0 0 52px;width:52px;height:52px;border-radius:50%;background:#EEF5F0;align-items:center;justify-content:center}
  .nfx-rows.nfx-half .nfx-b{font-size:18px}
  .nfx-rows.nfx-half .nfx-row-b .nfx-muted{font-size:15px}

  /* brief: two cards with a photo */
  .nfx-brief{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
  .nfx-bc{position:relative;display:flex;margin:0!important;border:1px solid #E1E5E1;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.05)}
  .nfx-bc:hover{border-color:#1E4A38}
  .nfx-bc-i{display:block;flex:0 0 168px;width:168px;height:auto;min-height:168px;object-fit:cover;background:#E5EAE6}
  .nfx-bc-b{display:flex;flex-direction:column;gap:6px;padding:16px 18px;min-width:0}
  .nfx-bc-b .nfx-b{font-size:18px;line-height:1.25}
  .nfx-bc-b .nfx-b::after{content:"";position:absolute;inset:0}
  .nfx-bc-m{display:block;margin-top:auto;padding-top:6px;font-size:14px;font-weight:700;color:#1E4A38}

  /* faq: heading on the left, questions on the right */
  .nfx-faqs{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);column-gap:48px;align-items:start}
  .nfx-faq-ask{display:block;margin-top:10px}
  .nfx-faq-ask .nfx-btn{margin-top:14px;min-width:0}
  .nfx-faq{max-width:none}
  .nfx-faq:first-child{border-top:1px solid #EEF0EE}
  .nfx-faq summary{min-height:58px;font-size:17px}
  .nfx-faq summary:hover{color:#1E4A38}

  /* oil + final call */
  .nfx-oil,.nfx-final{display:flex;gap:18px;align-items:flex-start;text-align:left;padding:28px!important}
  .nfx-final{background:#EEF5F0;border-color:#CFE0D5}
  .nfx-final-i{display:flex;background:#fff}
  .nfx-oil .nfx-h3,.nfx-final .nfx-h2{font-size:22px;line-height:1.25}
  .nfx-oil .nfx-kick{margin-bottom:2px!important}
  .nfx-final .nfx-muted{margin:4px 0 0!important}
  .nfx-oil .nfx-btn,.nfx-final .nfx-btn{display:inline-flex;min-width:0;min-height:48px;margin-top:16px;padding:0 22px;font-size:15px}
}

/* STEP41 */ .nfx-mq.is-loop{animation-play-state:running;will-change:transform}.nfx-mq.is-loop:hover{animation-play-state:paused}

/* ═══ STEP42 ═══ */
/* sanatorium cards: photo a little smaller, always the full height of the card */
.nfx-card-i{flex:0 0 118px;width:118px;height:auto;min-height:136px;align-self:stretch}
.nfx-card-t{font-size:17px}
@media (min-width:1000px){.nfx-card-i{flex-basis:128px;width:128px;min-height:146px}}
/* discount labels: soft red */
.nfx-tag{background:#FDECEC;color:#B42318;border:1px solid #F6C9C6}
.nfx-promo-big{background:#FDECEC;color:#C0262D;border:1px solid #F6C9C6}
.nfx-promo--dark .nfx-promo-big{background:#D92D20;color:#fff;border-color:#D92D20}
/* Leyla: green block with messengers */
.nfx-green{background:#1B4332!important;border-color:#1B4332!important;color:#fff}
.nfx-green .nfx-h3,.nfx-green .nfx-p{color:#fff!important}
.nfx-green .nfx-muted{color:#CFDCD5!important}
.nfx-green .nfx-exp-i{border-color:#E2C98F}
.nfx-msg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;width:100%}
.nfx-msg a{min-height:48px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.5);border-radius:6px;color:#fff!important;text-decoration:none;font-size:15px;font-weight:700}
.nfx-msg a:first-child{background:#fff;border-color:#fff;color:#1B4332!important}
.nfx-msg a:hover{background:rgba(255,255,255,.1)}
.nfx-msg a:first-child:hover{background:#EEF3EF}
@media (min-width:1000px){.nfx-green .nfx-p{margin:16px 0 4px!important}.nfx-msg{max-width:none}}

/* ═══ STEP44: reviews loop is moved by a small script (no CSS animation) ═══ */
.nfx-mq.is-loop{animation:none!important;width:auto!important;overflow-x:auto!important;will-change:auto!important;scroll-behavior:auto!important;overscroll-behavior-x:contain}
