/* =========================================================
   Nuqtat Tahwul — Components
   ========================================================= */

/* ---------- Program Card ---------- */
.nt-program-card{display:flex;flex-direction:column;background:#fff;border-radius:var(--nt-r-xl);overflow:hidden;box-shadow:var(--nt-shadow);transition:var(--nt-t-base)}
.nt-program-card:hover{box-shadow:var(--nt-shadow-lg);transform:translateY(-3px)}
.nt-program-card--mint     .nt-program-card__body{background:#ECFDF5}
.nt-program-card--lavender .nt-program-card__body{background:#F5F3FF}
.nt-program-card--peach    .nt-program-card__body{background:#FFF7ED}
.nt-program-card--rose     .nt-program-card__body{background:#FDF2F8}
.nt-program-card--mint     .nt-program-card__footer{border-top-color:rgba(16,185,129,.18)}
.nt-program-card--lavender .nt-program-card__footer{border-top-color:rgba(124,58,237,.18)}
.nt-program-card--peach    .nt-program-card__footer{border-top-color:rgba(234,88,12,.18)}
.nt-program-card--rose     .nt-program-card__footer{border-top-color:rgba(219,39,119,.18)}
.nt-program-card__media{position:relative;aspect-ratio:16/10;background:var(--nt-slate-100)}
.nt-program-card__media img{width:100%;height:100%;object-fit:cover}
.nt-program-card__placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--nt-primary-100),var(--nt-soft-lavender))}
.nt-program-card__badge{position:absolute;top:12px;inset-inline-start:12px;padding:6px 14px;border-radius:9999px;font-size:var(--nt-fs-sm);font-weight:var(--nt-fw-medium);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 8px rgba(0,0,0,.08)}
.nt-program-card__body{padding:var(--nt-sp-5);display:flex;flex-direction:column;gap:var(--nt-sp-3);flex:1}
.nt-program-card__meta{display:flex;gap:var(--nt-sp-2);justify-content:space-between;align-items:center;font-size:var(--nt-fs-xs);color:var(--nt-text-muted)}
.nt-program-card__duration{background:rgba(255,255,255,.7);padding:3px 10px;border-radius:var(--nt-r-full);backdrop-filter:blur(4px)}
.nt-program-card__cat{margin-inline-start:auto}
.nt-program-card__title{font-size:var(--nt-fs-lg);margin:0}
.nt-program-card__title a:hover{color:var(--nt-primary-600)}
.nt-program-card__excerpt{color:var(--nt-text-body);font-size:var(--nt-fs-sm);line-height:1.7;margin:0}
.nt-program-card__footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:var(--nt-sp-3);border-top:1px dashed var(--nt-border)}
.nt-program-card__price{font-weight:var(--nt-fw-bold);color:var(--nt-text);font-size:var(--nt-fs-lg);display:inline-flex;align-items:baseline;gap:var(--nt-sp-2)}
.nt-program-card__price--free{color:var(--nt-primary-600)}
.nt-program-card__price-old{color:var(--nt-text-muted);font-weight:var(--nt-fw-regular);font-size:var(--nt-fs-sm);text-decoration:line-through}

/* Header language switcher */
.nt-lang-switch{display:inline-flex;align-items:center;gap:6px;font-weight:var(--nt-fw-medium);letter-spacing:.5px}
.nt-lang-switch__globe{font-size:15px;line-height:1}
[dir="ltr"] .nt-lang-switch,.nt-lang-switch[lang="ar"]{letter-spacing:0}

/* Wishlist heart — styled like the .nt-program-card__duration pill */
.nt-wishlist-btn{position:absolute;top:12px;inset-inline-end:12px;width:36px;height:36px;border:none;border-radius:50%;background:var(--nt-slate-100);color:var(--nt-text-muted);display:grid;place-items:center;cursor:pointer;opacity:0;transform:translateY(-4px);transition:all .22s ease;box-shadow:0 2px 6px rgba(0,0,0,.06);padding:0}
.nt-program-card:hover .nt-wishlist-btn,.nt-wishlist-btn:focus-visible,.nt-wishlist-btn.is-active{opacity:1;transform:translateY(0)}
.nt-wishlist-btn:hover{color:#ef4444}
.nt-wishlist-btn.is-active{color:#ef4444}
.nt-wishlist-btn.is-loading{pointer-events:none;opacity:.6}
.nt-wishlist-btn svg{display:block;transition:transform .2s ease}
.nt-wishlist-btn:active svg{transform:scale(.85)}

/* ---------- Hero ---------- */
.nt-hero{position:relative;padding-block:var(--nt-sp-10);background:linear-gradient(135deg,#ECFDF5 0%,#F0FDFA 50%,#F0FDF4 100%);overflow:hidden}
.nt-hero::before,.nt-hero::after{content:"";position:absolute;width:400px;height:400px;border-radius:50%;filter:blur(80px);opacity:.3;pointer-events:none}
.nt-hero::before{background:var(--nt-primary-300);top:-120px;inset-inline-start:-120px}
.nt-hero::after{background:#93C5FD;bottom:-120px;inset-inline-end:-120px}
.nt-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--nt-sp-6);align-items:center;position:relative}
@media (max-width:900px){.nt-hero__grid{grid-template-columns:1fr;gap:var(--nt-sp-8)}}
.nt-hero__content{order:1}
.nt-hero__media{order:2;position:relative}
@media (max-width:900px){.nt-hero__content,.nt-hero__media{order:unset}}
/* Pull the image toward the inner edge (next to the text) so the empty space
   sits on the outside instead of between image and copy. */
.nt-hero__image-wrap{position:relative;aspect-ratio:1/1;max-width:420px;margin-inline-end:auto}
/* Short laptop viewports (≈15" / 1366×768): tighten further so the hero fits on first paint. */
@media (min-width:901px) and (max-height:820px){
  .nt-hero{padding-block:var(--nt-sp-8)}
  .nt-hero__image-wrap{max-width:360px}
}
@media (max-width:900px){
  .nt-hero{padding-block:var(--nt-sp-8)}
  .nt-hero__image-wrap{aspect-ratio:3/2;max-width:100%;margin-inline:auto}
}
@media (max-width:600px){
  .nt-hero{padding-block:var(--nt-sp-6)}
  .nt-hero__image-wrap{aspect-ratio:4/3}
  .nt-hero__cta{flex-direction:column}
  .nt-hero__cta .nt-btn{width:100%;justify-content:center}
}
.nt-hero__image-wrap img{width:100%;height:100%;object-fit:cover;border-radius:var(--nt-r-2xl);box-shadow:var(--nt-shadow-xl)}
.nt-hero__badge{display:inline-flex;align-items:center;gap:var(--nt-sp-2);padding:8px 16px;background:#fff;box-shadow:var(--nt-shadow);border-radius:var(--nt-r-full);font-size:var(--nt-fs-sm);font-weight:var(--nt-fw-medium);color:var(--nt-primary-700);margin-bottom:var(--nt-sp-4)}
.nt-hero h1{margin-bottom:var(--nt-sp-4);line-height:1.15;font-size:clamp(28px,3.6vw,46px)}
.nt-hero__desc{font-size:var(--nt-fs-base);color:var(--nt-text-body);margin-bottom:var(--nt-sp-6);max-width:560px;line-height:1.8}
.nt-hero__desc p{margin:0 0 var(--nt-sp-4)}
.nt-hero__desc p:last-child{margin-bottom:0}
.nt-hero__cta{display:flex;gap:var(--nt-sp-3);flex-wrap:wrap}
.nt-hero__cta .nt-btn--primary{height:48px;padding:0 28px;border-radius:14px;background:var(--nt-primary-500);border-color:rgba(4,120,87,.14);box-shadow:0 8px 18px rgba(16,185,129,.18);font-size:15px;font-weight:var(--nt-fw-bold)}
.nt-hero__cta .nt-btn--primary:hover{background:var(--nt-primary-600);box-shadow:0 10px 22px rgba(5,150,105,.22);transform:translateY(-1px)}
.nt-hero__cta .nt-btn--primary:focus-visible{outline:3px solid var(--nt-primary-200);outline-offset:3px}

/* ---------- Inner-page hero (About / generic gradient hero) ---------- */
.nt-section--gradient{padding-block:var(--nt-sp-12)}
@media (max-width:900px){.nt-section--gradient{padding-block:var(--nt-sp-10)}}
.nt-section--gradient .nt-hero__image-wrap{aspect-ratio:1/1;max-width:380px;margin-inline-start:auto}
.nt-section--gradient .nt-hero__image-wrap img{border-radius:var(--nt-r-2xl);box-shadow:0 14px 40px rgba(15,23,42,.08)}
.nt-section--gradient .nt-hero h1,.nt-section--gradient h1{font-size:clamp(26px,3.5vw,44px);line-height:1.2;margin-bottom:var(--nt-sp-4)}
.nt-section--gradient .nt-hero__desc{font-size:var(--nt-fs-base);line-height:1.85;margin-bottom:0;max-width:520px}
.nt-section--gradient .nt-hero__desc p{margin:0 0 var(--nt-sp-3)}
.nt-section--gradient .nt-hero__badge{margin-bottom:var(--nt-sp-4);font-size:var(--nt-fs-xs);padding:6px 12px}
@media (max-width:900px){
  .nt-section--gradient .nt-hero__image-wrap{aspect-ratio:4/3;max-width:100%;margin-inline:auto}
}

/* ---------- Stats strip ---------- */
.nt-stats{padding-block:var(--nt-sp-12);background:#fff;border-block:1px solid var(--nt-border)}
.nt-stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--nt-sp-6);text-align:center}
@media (max-width:700px){.nt-stats__grid{grid-template-columns:repeat(2,1fr)}}
.nt-stat__icon{width:56px;height:56px;display:grid;place-items:center;border-radius:var(--nt-r-lg);background:var(--nt-soft-rose);color:#DB2777;margin:0 auto var(--nt-sp-3)}
.nt-stat:nth-child(2) .nt-stat__icon{background:var(--nt-soft-peach);color:#EA580C}
.nt-stat:nth-child(3) .nt-stat__icon{background:var(--nt-soft-lavender);color:#7C3AED}
.nt-stat:nth-child(4) .nt-stat__icon{background:var(--nt-primary-100);color:var(--nt-primary-600)}
.nt-stat__value{font-size:var(--nt-fs-4xl);font-weight:var(--nt-fw-bold);color:var(--nt-text);line-height:1}
.nt-stat__label{font-size:var(--nt-fs-sm);color:var(--nt-text-muted);margin-top:var(--nt-sp-2)}

/* ---------- Service card ---------- */
.nt-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--nt-sp-6)}
@media (max-width:900px){.nt-services-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.nt-services-grid{grid-template-columns:1fr}}
.nt-service-card{padding:var(--nt-sp-8);border-radius:var(--nt-r-xl);background:#fff;box-shadow:var(--nt-shadow);transition:var(--nt-t-base);position:relative;overflow:hidden}
.nt-service-card:hover{transform:translateY(-4px);box-shadow:var(--nt-shadow-lg)}
.nt-service-card--lavender{background:#F5F3FF}
.nt-service-card--mint{background:#ECFDF5}
.nt-service-card--peach{background:#FFF7ED}
.nt-service-card--rose{background:#FDF2F8}
.nt-service-card__icon{width:56px;height:56px;display:grid;place-items:center;border-radius:var(--nt-r-lg);background:#fff;box-shadow:var(--nt-shadow-sm);margin-bottom:var(--nt-sp-5)}
.nt-service-card--lavender .nt-service-card__icon{color:#7C3AED}
.nt-service-card--mint .nt-service-card__icon{color:var(--nt-primary-600)}
.nt-service-card--peach .nt-service-card__icon{color:#EA580C}
.nt-service-card--rose .nt-service-card__icon{color:#DB2777}
.nt-service-card h3{font-size:var(--nt-fs-lg);margin-bottom:var(--nt-sp-3);line-height:1.35}
.nt-service-card p{color:var(--nt-text-body);margin-bottom:var(--nt-sp-5);line-height:1.7}
.nt-service-card__link{font-weight:var(--nt-fw-bold);color:var(--nt-primary-600);display:inline-flex;align-items:center;gap:var(--nt-sp-1)}
.nt-service-card__link:hover{color:var(--nt-primary-700);gap:var(--nt-sp-2)}

/* ---------- Featured programs (home) ---------- */
.nt-featured-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--nt-sp-6)}
@media (max-width:800px){.nt-featured-grid{grid-template-columns:1fr}}

/* ---------- Comfort grid ---------- */
.nt-comfort-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--nt-sp-6)}
@media (max-width:900px){.nt-comfort-grid{grid-template-columns:repeat(2,1fr);gap:var(--nt-sp-5)}}
@media (max-width:600px){.nt-comfort-grid{grid-template-columns:1fr;gap:var(--nt-sp-4)}}
.nt-comfort-card{display:flex;gap:var(--nt-sp-5);padding:var(--nt-sp-5);border-radius:var(--nt-r-xl);background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.04);border:1px solid rgba(15,23,42,.04);transition:var(--nt-t-base);align-items:stretch;min-height:200px}
.nt-comfort-card:hover{box-shadow:0 8px 20px rgba(15,23,42,.08);transform:translateY(-2px)}
.nt-comfort-card--mint{background:#ECFDF5}
.nt-comfort-card--lavender{background:#EEF2FF}
.nt-comfort-card--peach{background:#FFF7ED}
.nt-comfort-card--rose{background:#FDF2F8}
.nt-comfort-card--yellow{background:#FEFCE8}
.nt-comfort-card--sky{background:#EFF6FF}
.nt-comfort-card__media{width:140px;aspect-ratio:1;flex-shrink:0;border-radius:var(--nt-r-lg);overflow:hidden;background:var(--nt-slate-100);align-self:center}
.nt-comfort-card__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--nt-t-base)}
.nt-comfort-card:hover .nt-comfort-card__media img{transform:scale(1.05)}
.nt-comfort-card__body{flex:1;display:flex;flex-direction:column;gap:var(--nt-sp-2);min-width:0}
.nt-comfort-card h3{font-size:var(--nt-fs-base);font-weight:var(--nt-fw-bold);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nt-comfort-card h3 a{color:inherit}
.nt-comfort-card h3 a:hover{color:var(--nt-primary-700)}
.nt-comfort-card p{font-size:var(--nt-fs-sm);color:var(--nt-text-body);margin:0;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.nt-comfort-card__link{font-size:var(--nt-fs-sm);color:var(--nt-primary-700);font-weight:var(--nt-fw-bold);margin-top:auto;display:inline-flex;align-items:center;gap:6px;transition:var(--nt-t-fast)}
.nt-comfort-card__link:hover{color:var(--nt-primary-800,#065f46);gap:10px}
@media (max-width:600px){
  .nt-comfort-card{min-height:auto;flex-direction:column;gap:var(--nt-sp-3)}
  .nt-comfort-card__media{width:100%;aspect-ratio:16/10;align-self:stretch}
  .nt-comfort-card h3{-webkit-line-clamp:unset}
  .nt-comfort-card p{-webkit-line-clamp:unset}
}

/* ---------- Testimonials ---------- */
.nt-testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--nt-sp-6)}
@media (max-width:900px){.nt-testimonials-grid{grid-template-columns:1fr}}
.nt-testimonial{background:#fff;border-radius:var(--nt-r-xl);padding:var(--nt-sp-6);box-shadow:var(--nt-shadow-sm);border:1px solid var(--nt-border)}
.nt-testimonial__head{display:flex;align-items:center;gap:var(--nt-sp-3);margin-bottom:var(--nt-sp-4)}
.nt-testimonial__avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--nt-slate-200)}
.nt-testimonial__name{font-weight:var(--nt-fw-bold);color:var(--nt-text);font-size:var(--nt-fs-sm)}
.nt-testimonial__meta{font-size:var(--nt-fs-xs);color:var(--nt-text-muted)}
.nt-testimonial__stars{color:#F59E0B;display:flex;gap:2px;margin-bottom:var(--nt-sp-3)}
.nt-testimonial__text{color:var(--nt-text-body);line-height:1.8;font-size:var(--nt-fs-sm);margin:0}

/* ---------- Testimonials slider ---------- */
.nt-testi-slider{position:relative}
.nt-testi-slider__viewport{overflow:hidden}
.nt-testi-slider__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - var(--nt-sp-6) * 2) / 3);gap:var(--nt-sp-6);list-style:none;padding:var(--nt-sp-2) 0;margin:0;transition:transform .6s cubic-bezier(.22,.61,.36,1);will-change:transform}
@media (max-width:900px){.nt-testi-slider__track{grid-auto-columns:calc((100% - var(--nt-sp-4)) / 2);gap:var(--nt-sp-4)}}
@media (max-width:600px){.nt-testi-slider__track{grid-auto-columns:100%;gap:0}}
.nt-testi-slider__slide{list-style:none;min-width:0}
.nt-testi-slider__slide .nt-testimonial{height:100%}
.nt-testi-slider__controls{display:flex;align-items:center;justify-content:center;gap:var(--nt-sp-3);margin-top:var(--nt-sp-6)}
.nt-testi-slider__btn{width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--nt-border);box-shadow:var(--nt-shadow-sm);font-size:22px;line-height:1;color:var(--nt-text);cursor:pointer;display:grid;place-items:center;transition:var(--nt-t-fast)}
.nt-testi-slider__btn:hover{background:var(--nt-primary-500);color:#fff;border-color:var(--nt-primary-500);transform:translateY(-1px)}
.nt-testi-slider__dots{display:flex;align-items:center;gap:var(--nt-sp-2)}
/* The visible bullet is 9×9 but the button itself is 24×24 with the bullet
   centered via background — gives a WCAG-compliant 24×24 touch target
   while keeping the design unchanged. */
.nt-testi-slider__dot{width:24px;height:24px;min-width:24px;border-radius:50%;background:transparent;border:0;padding:0;cursor:pointer;transition:var(--nt-t-fast);position:relative;display:inline-flex;align-items:center;justify-content:center}
.nt-testi-slider__dot::before{content:"";display:block;width:9px;height:9px;border-radius:50%;background:var(--nt-slate-300);transition:var(--nt-t-fast)}
.nt-testi-slider__dot.is-active::before{background:var(--nt-primary-500);width:22px;border-radius:9999px}

/* ---------- Filters bar (programs archive) ---------- */
.nt-filters{background:#fff;border-radius:var(--nt-r-xl);padding:var(--nt-sp-5);box-shadow:var(--nt-shadow-sm);margin-bottom:var(--nt-sp-8)}
.nt-filters__top{display:flex;gap:var(--nt-sp-3);margin-bottom:var(--nt-sp-4);flex-wrap:wrap}
.nt-filters__search{flex:1;min-width:240px;position:relative}
.nt-filters__search input{width:100%;padding:12px 18px;background:var(--nt-slate-100);border:1px solid transparent;border-radius:var(--nt-r-md)}
.nt-filters__pills{display:flex;gap:var(--nt-sp-2);flex-wrap:wrap}
.nt-pill{padding:8px 18px;border:1px solid var(--nt-border);border-radius:var(--nt-r-full);background:#fff;font-size:var(--nt-fs-sm);color:var(--nt-text-body);cursor:pointer;transition:var(--nt-t-fast)}
.nt-pill:hover{border-color:var(--nt-primary-400)}
.nt-pill.is-active{background:var(--nt-primary-500);color:#fff;border-color:var(--nt-primary-500)}
.nt-filters__toggle{display:inline-flex;background:var(--nt-slate-100);border-radius:var(--nt-r-full);padding:4px;gap:0}
.nt-filters__toggle .nt-pill--toggle{border:0;background:transparent;padding:6px 16px;border-radius:var(--nt-r-full);font-size:var(--nt-fs-sm);color:var(--nt-text-body)}
.nt-filters__toggle .nt-pill--toggle:hover{color:var(--nt-primary-600)}
.nt-filters__toggle .nt-pill--toggle.is-active{background:var(--nt-primary-500);color:#fff;box-shadow:0 1px 4px rgba(16,185,129,.3)}
.nt-programs-count{text-align:end;color:var(--nt-text-muted);margin-bottom:var(--nt-sp-5);font-size:var(--nt-fs-sm)}
select.nt-pill{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-inline-end:36px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:left 14px center;background-size:14px}
html[dir="ltr"] select.nt-pill{background-position:right 14px center}

/* ---------- Hide unused Tutor profile fields (skill/timezone/bio/display_name) ----------
   Scoped to `form > .tutor-row` so we don't match the outer dashboard wrapper
   `.tutor-frontend-dashboard-maincontent` which is itself a .tutor-row. */
.tutor-frontend-dashboard form > .tutor-row:has(input[name="tutor_profile_job_title"]),
.tutor-frontend-dashboard form > .tutor-row:has(select[name="timezone"]),
.tutor-frontend-dashboard form > .tutor-row:has(#tutor_profile_bio),
.tutor-frontend-dashboard form > .tutor-row:has(select[name="display_name"]){display:none !important}

/* ---------- Pagination (programs archive) ---------- */
.nt-pagination .nav-links{display:flex;gap:var(--nt-sp-2);flex-wrap:wrap;align-items:center;justify-content:center}
.nt-pagination .page-numbers{min-width:40px;height:40px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--nt-border);border-radius:var(--nt-r-full);background:#fff;font-size:var(--nt-fs-sm);color:var(--nt-text-body);text-decoration:none;transition:var(--nt-t-fast)}
.nt-pagination .page-numbers:hover{border-color:var(--nt-primary-400);color:var(--nt-primary-600)}
.nt-pagination .page-numbers.current{background:var(--nt-primary-500);color:#fff;border-color:var(--nt-primary-500)}
.nt-pagination .page-numbers.dots{border-color:transparent;background:transparent}
.nt-pagination .page-numbers.prev,.nt-pagination .page-numbers.next{padding:0 18px;font-weight:var(--nt-fw-medium)}

/* ---------- Why (Reasons) grid ---------- */
.nt-reasons-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--nt-sp-4)}
@media (max-width:800px){.nt-reasons-grid{grid-template-columns:1fr}}
.nt-reason{display:flex;gap:var(--nt-sp-3);padding:var(--nt-sp-5);background:#fff;border-radius:var(--nt-r-lg);box-shadow:var(--nt-shadow-sm);align-items:flex-start}
.nt-reason__icon{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--nt-r-md);background:var(--nt-primary-100);color:var(--nt-primary-600);flex-shrink:0}
.nt-reason h4{font-size:var(--nt-fs-base);margin:0 0 var(--nt-sp-1)}
.nt-reason p{font-size:var(--nt-fs-sm);color:var(--nt-text-body);margin:0;line-height:1.7}

/* ---------- Team card ---------- */
.nt-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--nt-sp-6)}
@media (max-width:900px){.nt-team-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.nt-team-grid{grid-template-columns:1fr}}
.nt-team-card{background:#fff;border-radius:var(--nt-r-xl);overflow:hidden;box-shadow:0 1px 3px rgba(15,23,42,.04);border:1px solid rgba(15,23,42,.04);transition:var(--nt-t-base)}
.nt-team-card:hover{box-shadow:0 8px 22px rgba(15,23,42,.08);transform:translateY(-2px)}
.nt-team-card__media{aspect-ratio:1/1;background:var(--nt-slate-100);overflow:hidden}
.nt-team-card__media img{width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform var(--nt-t-base)}
.nt-team-card:hover .nt-team-card__media img{transform:scale(1.04)}
.nt-team-card__body{padding:var(--nt-sp-5)}
.nt-team-card__name{font-size:var(--nt-fs-lg);margin:0 0 var(--nt-sp-1)}
.nt-team-card__title{color:var(--nt-primary-600);font-size:var(--nt-fs-sm);font-weight:var(--nt-fw-medium);margin-bottom:var(--nt-sp-3)}
.nt-team-card__bio{color:var(--nt-text-body);font-size:var(--nt-fs-sm);line-height:1.7;margin-bottom:var(--nt-sp-4)}
.nt-team-card__tags{display:flex;gap:var(--nt-sp-1);flex-wrap:wrap}

/* ---------- CTA strip ---------- */
.nt-cta-strip{background:var(--nt-primary-gradient);padding:var(--nt-sp-16) var(--nt-sp-8);color:#fff;text-align:center;border-radius:var(--nt-r-xl)}
.nt-cta-strip h2{color:#fff;margin-bottom:var(--nt-sp-3)}
.nt-cta-strip p{color:rgba(255,255,255,.9);max-width:560px;margin:0 auto var(--nt-sp-6)}
.nt-cta-strip .nt-btn--primary{background:#fff;color:var(--nt-primary-600)}
.nt-cta-strip .nt-btn--outline{border-color:#fff;color:#fff}
@media (max-width:700px){
  .nt-cta-strip{padding:var(--nt-sp-10) var(--nt-sp-5)}
  .nt-cta-strip h2{font-size:var(--nt-fs-2xl)}
}

/* ---------- Contact page grid ---------- */
.nt-contact-grid{display:grid;grid-template-columns:minmax(0,480px) minmax(0,480px);gap:var(--nt-sp-8);justify-content:center;align-items:start}
.nt-contact-grid__form{padding:var(--nt-sp-6)}
.nt-contact-grid__aside{display:flex;flex-direction:column;gap:var(--nt-sp-4)}
.nt-contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--nt-sp-4)}
@media (max-width:900px){
  .nt-contact-grid{grid-template-columns:1fr}
  .nt-contact-grid__form{padding:var(--nt-sp-5);order:2}
  .nt-contact-grid__aside{order:1}
}
@media (max-width:600px){
  .nt-contact-form__row{grid-template-columns:1fr;gap:0}
}

/* ---------- Checkout card ---------- */
.nt-checkout__card{padding:var(--nt-sp-8)}
.nt-checkout__program{display:flex;gap:var(--nt-sp-5);align-items:center;margin-bottom:var(--nt-sp-6)}
.nt-checkout__thumb{width:120px;height:120px;object-fit:cover;border-radius:var(--nt-r-lg);flex-shrink:0}
.nt-checkout__total{border-top:1px solid var(--nt-border);padding-top:var(--nt-sp-5);display:flex;justify-content:space-between;align-items:center;gap:var(--nt-sp-3);font-size:18px;flex-wrap:wrap}
.nt-checkout__total strong{color:var(--nt-primary-600);font-size:28px}
@media (max-width:600px){
  .nt-checkout__card{padding:var(--nt-sp-5)}
  .nt-checkout__program{flex-direction:column;align-items:flex-start;gap:var(--nt-sp-3);text-align:start}
  .nt-checkout__thumb{width:100%;height:auto;max-height:200px;aspect-ratio:16/10}
  .nt-checkout__total strong{font-size:22px}
}

/* ---------- Empty state / thank-you card ---------- */
.nt-empty-state{text-align:center;padding:var(--nt-sp-12)}
.nt-thank-you__card{padding:var(--nt-sp-10)}
@media (max-width:600px){
  .nt-empty-state{padding:var(--nt-sp-6)}
  .nt-thank-you__card{padding:var(--nt-sp-6)}
}

/* ---------- Program Detail ---------- */
.nt-program-hero{padding-block:var(--nt-sp-12);background:linear-gradient(135deg,#ECFDF5,#F0FDFA);border-radius:var(--nt-r-xl);margin-top:var(--nt-sp-6)}
.nt-program-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--nt-sp-8);align-items:center}
@media (max-width:900px){.nt-program-hero__grid{grid-template-columns:1fr}}
.nt-program-hero__media{position:relative}
.nt-program-hero__media img{width:100%;border-radius:var(--nt-r-xl);box-shadow:var(--nt-shadow-xl)}
.nt-program-hero__price-tag{position:absolute;bottom:16px;inset-inline-end:16px;background:var(--nt-primary-gradient);color:#fff;padding:12px 20px;border-radius:var(--nt-r-md);font-weight:var(--nt-fw-bold)}
.nt-program-hero__price-tag small{display:block;font-size:12px;opacity:.85;font-weight:400}
.nt-program-meta{display:flex;gap:var(--nt-sp-5);flex-wrap:wrap;margin-block:var(--nt-sp-4);color:var(--nt-text-body);font-size:var(--nt-fs-sm)}
.nt-program-meta span{display:inline-flex;align-items:center;gap:6px}
.nt-program-benefits{background:#fff;border-radius:var(--nt-r-lg);padding:var(--nt-sp-5);box-shadow:var(--nt-shadow-sm);margin-top:var(--nt-sp-5)}
.nt-program-benefits h4{font-size:var(--nt-fs-base);margin-bottom:var(--nt-sp-3)}
.nt-program-benefits ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--nt-sp-2)}
@media (max-width:700px){.nt-program-benefits ul{grid-template-columns:1fr}}
.nt-program-benefits li{display:flex;align-items:center;gap:var(--nt-sp-2);font-size:var(--nt-fs-sm)}
.nt-program-benefits li::before{content:"✓";color:var(--nt-primary-600);font-weight:bold}

.nt-program-body{display:grid;grid-template-columns:1fr 320px;gap:var(--nt-sp-8);margin-top:var(--nt-sp-10)}
@media (max-width:900px){.nt-program-body{grid-template-columns:1fr}}
.nt-program-buy{background:#11B987;padding:var(--nt-sp-6);border-radius:var(--nt-r-xl);color:#fff;position:sticky;top:calc(var(--nt-header-h) + 16px);align-self:start;order:2}
.nt-program-buy__price{font-size:var(--nt-fs-4xl);font-weight:var(--nt-fw-bold);line-height:1}
.nt-program-buy__label{font-size:var(--nt-fs-sm);opacity:.9;margin-bottom:var(--nt-sp-5)}
.nt-program-buy__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--nt-sp-3);margin-bottom:var(--nt-sp-5)}
.nt-program-buy__stat{background:rgba(255,255,255,.15);border-radius:var(--nt-r-md);padding:var(--nt-sp-3);text-align:center;backdrop-filter:blur(6px)}
.nt-program-buy__stat strong{display:block;font-size:var(--nt-fs-base)}
.nt-program-buy__stat small{display:block;font-size:var(--nt-fs-xs);opacity:.85}
.nt-program-buy .nt-btn{width:100%;background:#fff;color:var(--nt-primary-600)}
.nt-program-buy__fine{font-size:var(--nt-fs-xs);opacity:.85;text-align:center;margin-top:var(--nt-sp-3)}
.nt-program-buy__duration{margin-bottom:var(--nt-sp-4);display:flex;flex-direction:column;gap:var(--nt-sp-2)}
.nt-program-buy__duration-label{font-size:var(--nt-fs-sm);font-weight:var(--nt-fw-medium);margin-bottom:var(--nt-sp-1)}
.nt-program-buy__duration-option{display:flex;align-items:center;gap:var(--nt-sp-2);background:#F8FAFC;color:var(--nt-text);border:2px solid #E2E8F0;border-radius:var(--nt-r-md);padding:12px 16px;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;font-size:var(--nt-fs-sm);font-weight:var(--nt-fw-medium);box-shadow:0 1px 2px rgba(15,23,42,.04)}
.nt-program-buy__duration-option:hover{background:#F1F5F9;border-color:var(--nt-primary-500);transform:translateY(-1px);box-shadow:0 4px 10px rgba(15,23,42,.08)}
.nt-program-buy__duration-option input{accent-color:var(--nt-primary-500);cursor:pointer}
.nt-program-buy__duration-option:has(input:checked){background:#F8FAFC;border-color:var(--nt-primary-500);color:var(--nt-text);box-shadow:0 0 0 3px rgba(17,185,135,.18),0 4px 12px rgba(17,185,135,.18);font-weight:var(--nt-fw-bold)}
.nt-program-buy__duration-option:has(input:checked):hover{transform:translateY(-1px)}
.nt-program-buy__duration-option:focus-within{outline:2px solid var(--nt-primary-500);outline-offset:2px}

.nt-curriculum{position:relative}
.nt-curriculum::before{content:"";position:absolute;top:32px;bottom:32px;inset-inline-start:20px;width:2px;background:var(--nt-border)}
.nt-curriculum__item{background:#fff;border-radius:var(--nt-r-lg);margin-bottom:var(--nt-sp-3);box-shadow:var(--nt-shadow-sm);position:relative;padding-inline-start:60px}
.nt-curriculum__num{position:absolute;inset-inline-start:-20px;top:16px;width:40px;height:40px;border-radius:50%;background:var(--nt-primary-500);color:#fff;display:grid;place-items:center;font-weight:var(--nt-fw-bold);z-index:1}
.nt-curriculum__head{padding:var(--nt-sp-4) var(--nt-sp-5);display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.nt-curriculum__title{font-weight:var(--nt-fw-bold);color:var(--nt-text)}
.nt-curriculum__body{display:none;padding:0 var(--nt-sp-5) var(--nt-sp-4)}
.nt-curriculum__item.is-open .nt-curriculum__body{display:block}

/* ---------- Dashboard ---------- */
.nt-dash{display:grid;grid-template-columns:1fr 280px;gap:var(--nt-sp-8);padding-block:var(--nt-sp-10)}
@media (max-width:900px){.nt-dash{grid-template-columns:1fr}}
.nt-dash__side{background:#fff;border-radius:var(--nt-r-xl);padding:var(--nt-sp-4);box-shadow:var(--nt-shadow-sm);height:fit-content}
.nt-dash__side ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.nt-dash__side a{display:flex;align-items:center;gap:var(--nt-sp-2);padding:12px 14px;border-radius:var(--nt-r-md);color:var(--nt-text-body);font-weight:var(--nt-fw-medium)}
.nt-dash__side a:hover{background:var(--nt-slate-100)}
.nt-dash__side a.is-active{background:var(--nt-primary-100);color:var(--nt-primary-700)}
.nt-dash__side a.is-danger{color:var(--nt-danger)}

.nt-dash__kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--nt-sp-4);margin-bottom:var(--nt-sp-6)}
@media (max-width:700px){.nt-dash__kpis{grid-template-columns:1fr}}
.nt-kpi{background:#fff;border-radius:var(--nt-r-lg);padding:var(--nt-sp-5);text-align:center;box-shadow:var(--nt-shadow-sm)}
.nt-kpi__icon{width:44px;height:44px;border-radius:var(--nt-r-md);display:grid;place-items:center;margin:0 auto var(--nt-sp-3)}
.nt-kpi:nth-child(1) .nt-kpi__icon{background:var(--nt-soft-lavender);color:#4338CA}
.nt-kpi:nth-child(2) .nt-kpi__icon{background:var(--nt-soft-peach);color:#C2410C}
.nt-kpi:nth-child(3) .nt-kpi__icon{background:var(--nt-primary-100);color:var(--nt-primary-600)}
.nt-kpi__value{font-size:var(--nt-fs-4xl);font-weight:var(--nt-fw-bold);line-height:1}
.nt-kpi__label{font-size:var(--nt-fs-sm);color:var(--nt-text-muted);margin-top:var(--nt-sp-1)}

.nt-course-row{display:grid;grid-template-columns:120px 1fr auto;gap:var(--nt-sp-5);padding:var(--nt-sp-4);background:#fff;border-radius:var(--nt-r-lg);box-shadow:var(--nt-shadow-sm);margin-bottom:var(--nt-sp-3);align-items:center}
@media (max-width:700px){.nt-course-row{grid-template-columns:1fr;text-align:center}}
.nt-course-row__media img{width:120px;height:80px;object-fit:cover;border-radius:var(--nt-r-md)}
.nt-course-row__title{font-weight:var(--nt-fw-bold);color:var(--nt-text);margin:0 0 var(--nt-sp-1)}
.nt-course-row__progress-bar{height:8px;border-radius:var(--nt-r-full);background:var(--nt-slate-100);overflow:hidden;margin-block:var(--nt-sp-2)}
.nt-course-row__progress-fill{height:100%;background:var(--nt-primary-gradient);border-radius:var(--nt-r-full)}
.nt-course-row__meta{display:flex;justify-content:space-between;font-size:var(--nt-fs-xs);color:var(--nt-text-muted)}
.nt-course-row__status-active{background:var(--nt-primary-100);color:var(--nt-primary-700);padding:4px 10px;border-radius:var(--nt-r-full);font-size:var(--nt-fs-xs);font-weight:var(--nt-fw-medium)}
.nt-course-row__status-expired{background:#FEE2E2;color:#991B1B}

/* =========================================================
   Blog — Archive listing
   ========================================================= */
.nt-blog-hero{padding-block:var(--nt-sp-16) var(--nt-sp-8);text-align:center}
.nt-blog-hero h1{margin-bottom:var(--nt-sp-3)}
.nt-blog-hero p{color:var(--nt-text-muted);max-width:640px;margin:0 auto;font-size:var(--nt-fs-lg);line-height:1.8}

.nt-blog-filters{background:#fff;border-radius:var(--nt-r-full);padding:var(--nt-sp-3);box-shadow:var(--nt-shadow-sm);margin-bottom:var(--nt-sp-6);display:flex;gap:var(--nt-sp-2);flex-wrap:wrap;justify-content:center}
.nt-blog-filters .nt-pill{border:1px solid transparent;background:transparent;color:var(--nt-text-body);font-weight:var(--nt-fw-medium)}
.nt-blog-filters .nt-pill:hover{background:var(--nt-slate-100);border-color:transparent;color:var(--nt-text)}
.nt-blog-filters .nt-pill.is-active{background:var(--nt-primary-500);color:#fff;border-color:var(--nt-primary-500)}

.nt-blog-count{text-align:start;color:var(--nt-text-muted);font-size:var(--nt-fs-sm);margin-bottom:var(--nt-sp-5)}

.nt-blog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--nt-sp-5)}
@media (max-width:1100px){.nt-blog-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.nt-blog-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.nt-blog-grid{grid-template-columns:1fr}}

.nt-blog-card{display:flex;flex-direction:column;background:#fff;border-radius:var(--nt-r-xl);overflow:hidden;box-shadow:var(--nt-shadow-sm);transition:var(--nt-t-base)}
.nt-blog-card:hover{transform:translateY(-4px);box-shadow:var(--nt-shadow-lg)}
.nt-blog-card__media{position:relative;aspect-ratio:4/3;background:var(--nt-slate-100);overflow:hidden}
.nt-blog-card__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--nt-t-slow)}
.nt-blog-card:hover .nt-blog-card__media img{transform:scale(1.04)}
.nt-blog-card__media-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--nt-primary-100),var(--nt-soft-lavender))}
.nt-blog-card__body{padding:var(--nt-sp-5);display:flex;flex-direction:column;gap:var(--nt-sp-3);flex:1}
.nt-blog-card__cat{align-self:flex-start;padding:5px 14px;border-radius:var(--nt-r-full);font-size:var(--nt-fs-xs);font-weight:var(--nt-fw-medium);background:var(--nt-slate-100);color:var(--nt-text-body)}
.nt-blog-card__title{font-size:var(--nt-fs-lg);margin:0;line-height:1.4}
.nt-blog-card__title a{color:var(--nt-text)}
.nt-blog-card__title a:hover{color:var(--nt-primary-600)}
.nt-blog-card__excerpt{color:var(--nt-text-body);font-size:var(--nt-fs-sm);line-height:1.7;margin:0;flex:1}
.nt-blog-card__btn{display:inline-flex;align-self:center;align-items:center;justify-content:center;margin-top:var(--nt-sp-2);padding:8px 20px;border:1.5px solid var(--nt-primary-500);color:var(--nt-primary-600);border-radius:var(--nt-r-full);font-size:var(--nt-fs-sm);font-weight:var(--nt-fw-medium);transition:var(--nt-t-fast)}
.nt-blog-card__btn:hover{background:var(--nt-primary-500);color:#fff}

/* Pastel card backgrounds by category — cycled in template */
.nt-blog-card--mint{background:#ECFDF5}
.nt-blog-card--mint .nt-blog-card__cat{background:#D1FAE5;color:var(--nt-primary-800)}
.nt-blog-card--lavender{background:#EEF2FF}
.nt-blog-card--lavender .nt-blog-card__cat{background:#E0E7FF;color:#3730A3}
.nt-blog-card--peach{background:#FFF7ED}
.nt-blog-card--peach .nt-blog-card__cat{background:#FFE4D6;color:#9A3412}
.nt-blog-card--rose{background:#FDF2F8}
.nt-blog-card--rose .nt-blog-card__cat{background:#FCE7F3;color:#9D174D}
.nt-blog-card--sky{background:#EFF6FF}
.nt-blog-card--sky .nt-blog-card__cat{background:#DBEAFE;color:#1E40AF}
.nt-blog-card--yellow{background:#FEFCE8}
.nt-blog-card--yellow .nt-blog-card__cat{background:#FEF3C7;color:#B45309}

/* =========================================================
   Blog — Single article
   ========================================================= */
.nt-article-hero{position:relative;height:clamp(360px,55vh,560px);overflow:hidden;background:var(--nt-slate-800)}
.nt-article-hero__bg{position:absolute;inset:0;z-index:0}
.nt-article-hero__bg img{width:100%;height:100%;object-fit:cover}
.nt-article-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.15) 0%,rgba(15,23,42,.55) 60%,rgba(15,23,42,.8) 100%);z-index:1}
.nt-article-hero__inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-block:var(--nt-sp-10)}
.nt-article-hero__cats{display:flex;gap:var(--nt-sp-2);flex-wrap:wrap;margin-bottom:var(--nt-sp-4)}
.nt-article-hero__cat{padding:6px 16px;border-radius:var(--nt-r-full);font-size:var(--nt-fs-sm);font-weight:var(--nt-fw-medium);background:rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.nt-article-hero__cat--primary{background:var(--nt-primary-500);color:#fff}
.nt-article-hero__title{color:#fff;font-size:clamp(28px,4vw,var(--nt-fs-5xl));margin-bottom:var(--nt-sp-4);line-height:1.25;max-width:820px}
.nt-article-hero__meta{display:flex;gap:var(--nt-sp-5);flex-wrap:wrap;color:rgba(255,255,255,.9);font-size:var(--nt-fs-sm)}
.nt-article-hero__meta span{display:inline-flex;align-items:center;gap:var(--nt-sp-2)}

.nt-article-body{display:grid;grid-template-columns:280px 1fr;gap:var(--nt-sp-8);padding-block:var(--nt-sp-12)}
@media (max-width:1000px){.nt-article-body{grid-template-columns:1fr}}
.nt-article-side{display:flex;flex-direction:column;gap:var(--nt-sp-4);position:sticky;top:calc(var(--nt-header-h) + 16px);align-self:start}
@media (max-width:1000px){.nt-article-side{position:static}}

.nt-toc{background:#fff;border-radius:var(--nt-r-xl);padding:var(--nt-sp-5);box-shadow:var(--nt-shadow-sm);border:1px solid var(--nt-border)}
.nt-toc__title{font-size:var(--nt-fs-base);font-weight:var(--nt-fw-bold);margin:0 0 var(--nt-sp-4)}
.nt-toc__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--nt-sp-2)}
.nt-toc__list li{position:relative;padding-inline-start:18px}
.nt-toc__list li::before{content:"";position:absolute;inset-inline-start:0;top:10px;width:8px;height:8px;border-radius:50%;background:var(--nt-primary-400)}
.nt-toc__list a{color:var(--nt-text-body);font-size:var(--nt-fs-sm);transition:var(--nt-t-fast);display:block;padding:4px 0}
.nt-toc__list a:hover,.nt-toc__list a.is-active{color:var(--nt-primary-600);font-weight:var(--nt-fw-medium)}

.nt-audio-cta{background:var(--nt-slate-800);color:#fff;border-radius:var(--nt-r-xl);padding:var(--nt-sp-6);text-align:center}
.nt-audio-cta__icon{width:56px;height:56px;border-radius:var(--nt-r-md);background:var(--nt-primary-500);color:#fff;display:grid;place-items:center;margin:0 auto var(--nt-sp-3);font-size:24px}
.nt-audio-cta h4{color:#fff;font-size:var(--nt-fs-lg);margin-bottom:var(--nt-sp-2)}
.nt-audio-cta p{color:rgba(255,255,255,.7);font-size:var(--nt-fs-sm);line-height:1.7;margin-bottom:var(--nt-sp-5)}
.nt-audio-cta .nt-btn{width:100%}

.nt-article-main{min-width:0}
.nt-article-lead{background:var(--nt-primary-50);border:1px solid var(--nt-primary-200);border-radius:var(--nt-r-lg);padding:var(--nt-sp-5) var(--nt-sp-6);color:var(--nt-primary-800);font-size:var(--nt-fs-lg);line-height:1.8;margin-bottom:var(--nt-sp-8)}
.nt-article-lead p{margin:0}

.nt-prose{font-size:var(--nt-fs-lg);line-height:1.9;color:var(--nt-text-body)}
.nt-prose h2,.nt-prose h3{color:var(--nt-text);margin:var(--nt-sp-10) 0 var(--nt-sp-4);scroll-margin-top:calc(var(--nt-header-h) + 16px)}
.nt-prose h2{font-size:var(--nt-fs-3xl)}
.nt-prose h3{font-size:var(--nt-fs-2xl)}
.nt-prose p{margin-bottom:var(--nt-sp-5)}
.nt-prose ul,.nt-prose ol{margin-bottom:var(--nt-sp-5);padding-inline-start:1.5rem}
.nt-prose li{margin-bottom:var(--nt-sp-2)}
.nt-prose strong{color:var(--nt-text);font-weight:var(--nt-fw-bold)}
.nt-prose blockquote{border-inline-start:4px solid var(--nt-primary-500);margin:var(--nt-sp-6) 0;padding:var(--nt-sp-4) var(--nt-sp-6);background:var(--nt-slate-50);color:var(--nt-text);font-style:italic;border-radius:var(--nt-r-md)}
.nt-prose img{border-radius:var(--nt-r-lg);margin-block:var(--nt-sp-6)}

.nt-article-footer{margin-top:var(--nt-sp-10);padding-top:var(--nt-sp-6);border-top:1px solid var(--nt-border);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--nt-sp-4);align-items:center}
.nt-article-footer__tags{display:flex;gap:var(--nt-sp-2);flex-wrap:wrap}

/* ---------- FAQ Accordion ---------- */
.nt-faq{display:flex;flex-direction:column;gap:var(--nt-sp-3)}
.nt-faq__item{background:#fff;border:1px solid var(--nt-border);border-radius:var(--nt-r-lg);box-shadow:var(--nt-shadow);overflow:hidden;transition:var(--nt-t-base)}
.nt-faq__item:hover{border-color:var(--nt-primary-300)}
.nt-faq__item.is-open{border-color:var(--nt-primary-500);box-shadow:var(--nt-shadow-lg)}
.nt-faq__q{display:flex;align-items:center;justify-content:space-between;gap:var(--nt-sp-3);width:100%;padding:var(--nt-sp-5) var(--nt-sp-6);background:transparent;border:0;cursor:pointer;text-align:start;font-family:inherit;font-size:var(--nt-fs-lg);font-weight:var(--nt-fw-bold);color:var(--nt-text);transition:color var(--nt-t-base)}
.nt-faq__q:hover{color:var(--nt-primary-600)}
.nt-faq__q:focus-visible{outline:2px solid var(--nt-primary-500);outline-offset:-2px}
.nt-faq__q-text{flex:1}
.nt-faq__icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--nt-primary-100);color:var(--nt-primary-600);flex-shrink:0;transition:transform var(--nt-t-base),background var(--nt-t-base)}
.nt-faq__item.is-open .nt-faq__icon{transform:rotate(180deg);background:var(--nt-primary-500);color:#fff}
.nt-faq__a{padding:0 var(--nt-sp-6) var(--nt-sp-5);color:var(--nt-text-body);line-height:1.85;font-size:var(--nt-fs-base);border-top:1px dashed var(--nt-border);margin-top:0}
.nt-faq__a p{margin:var(--nt-sp-4) 0 0}
@media (max-width:600px){
  .nt-faq__q{padding:var(--nt-sp-4);font-size:var(--nt-fs-base)}
  .nt-faq__a{padding:0 var(--nt-sp-4) var(--nt-sp-4)}
}

/* ---------- Profile photo (page-profile.php) ---------- */
.nt-profile-photo{display:flex;align-items:center;gap:var(--nt-sp-4);margin-bottom:var(--nt-sp-5);padding-bottom:var(--nt-sp-5);border-bottom:1px solid var(--nt-border)}
.nt-profile-photo__preview{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,var(--nt-primary-500),var(--nt-secondary-500,#3B82F6));background-size:cover;background-position:center;display:grid;place-items:center;color:#fff;flex-shrink:0;box-shadow:0 4px 12px rgba(15,23,42,.08)}
.nt-profile-photo__initial{font-size:36px;font-weight:var(--nt-fw-bold);line-height:1}
.nt-profile-photo__actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.nt-profile-photo__actions label{cursor:pointer;margin:0}
.nt-profile-photo__delete{background:transparent;border:0;color:#DC2626;font-size:var(--nt-fs-sm);cursor:pointer;padding:0;font-family:inherit}
.nt-profile-photo__delete:hover{text-decoration:underline}
.nt-profile-photo__hint{margin:0;font-size:var(--nt-fs-xs);color:var(--nt-text-muted)}

/* User chip avatar — render an image when one is uploaded. */
.nt-user-chip__avatar{overflow:hidden;background-size:cover;background-position:center}
.nt-user-chip__avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
