/* NAIIT v51 — design fixes + Visual Builder blocks + ratings (loaded after all other site CSS) */

/* ---------- Course cards: full (uncropped) image, visible duration label, tidy content ---------- */
.course-card .course-thumb{height:auto !important;min-height:0 !important;aspect-ratio:auto;display:block !important;padding:0 !important;background:#f3f6f2 !important;overflow:hidden}
.course-card .course-thumb:before{display:none}
.course-card .course-thumb .cimg{position:relative;z-index:1;display:block !important;width:100% !important;height:auto !important;max-height:none !important;object-fit:contain !important;background:#f3f6f2;margin:0 auto}
.course-card .course-thumb .cph{aspect-ratio:16/9;width:100%;display:flex !important;align-items:center;justify-content:center;font-family:var(--serif,Georgia,serif);font-weight:700;font-size:clamp(30px,4vw,44px) !important;letter-spacing:.02em !important;color:#12301c !important;
  background:radial-gradient(circle at 80% 18%,rgba(246,200,30,.32),transparent 40%),radial-gradient(circle at 15% 90%,rgba(47,174,78,.24),transparent 45%),linear-gradient(135deg,#eef3ed,#dfe9e0) !important}
.course-card .ribbon{color:#14532d !important;background:#fff !important;font-weight:800 !important;font-size:11px !important;letter-spacing:.02em;padding:6px 11px !important;border-radius:999px !important;line-height:1 !important;z-index:3 !important}
.course-card .course-body{display:flex !important;flex-direction:column;flex:1}
.course-card .course-body h3{font-size:clamp(17px,1.45vw,20px) !important;line-height:1.3 !important;margin:0 0 6px !important}
.course-card .course-body .meta{font-size:12.5px !important;margin-bottom:8px !important}
.course-card .course-body .desc{font-size:14px !important;line-height:1.6 !important;color:#4b5650;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 8px !important}
.course-card .course-body ul{margin:6px 0 12px !important;padding:0 !important;list-style:none}
.course-card .course-body ul li{font-size:13.5px !important;line-height:1.5 !important;margin:0 0 4px !important;padding-left:20px !important;position:relative}
.course-card .course-body ul li.more{padding-left:0 !important}.course-card .course-body ul li.more:before{display:none}
.course-card .course-body ul li.more a{color:#1D7A37;font-weight:700;text-decoration:none;font-size:13px}
.course-card .course-keywords{font-size:11.5px !important;line-height:1.45;color:#8a948e;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 10px}
.course-card .cfoot{margin-top:auto !important}
@media(max-width:600px){.course-hero img{width:100% !important;max-width:360px;height:auto !important}}

/* ---------- Visual Builder blocks ---------- */
.sb-block{position:relative;box-sizing:border-box}
.sb-block > *{max-width:1180px;margin-left:auto;margin-right:auto}
.sb-b-heading,.sb-b-text,.sb-b-button,.sb-b-image,.sb-b-notice,.sb-b-list,.sb-b-cols,.sb-b-cta,.sb-b-quote,.sb-b-contact,.sb-b-video,.sb-b-map,.sb-b-html,.sb-b-copy{padding:10px 18px}
.sb-h{font-size:clamp(24px,3vw,36px);line-height:1.2;margin:14px auto 8px}
.sb-p{font-size:16.5px;line-height:1.75;margin:8px auto}
.sb-btn-row{display:flex;flex-wrap:wrap;gap:10px;margin:12px auto}
.sb-btn{display:inline-flex;align-items:center;gap:8px;background:#1D7A37;color:#fff !important;text-decoration:none !important;font-weight:700;border-radius:12px;padding:12px 22px;box-shadow:0 8px 20px rgba(29,122,55,.25);transition:transform .2s,box-shadow .2s}
.sb-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(29,122,55,.32)}
.sb-btn-wa{background:#25D366}
.sb-fig{margin:12px auto;text-align:center}.sb-fig img{max-width:100%;height:auto;border-radius:14px;display:inline-block}
.sb-marquee{overflow:hidden;white-space:nowrap;background:#101418;color:#fff;font-weight:700;padding:10px 0;border-radius:0;max-width:none !important}
.sb-b-marquee{padding:0}
.sb-marquee .sb-mq-in{display:inline-flex;gap:4em;min-width:max-content;animation:sb-mq 22s linear infinite;padding-left:1em}
.sb-marquee:hover .sb-mq-in{animation-play-state:paused}
@keyframes sb-mq{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@keyframes sb-mqr{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
.sb-notice{background:#fff8e1;border:1px solid #f3d27a;border-left:5px solid #f2b500;border-radius:12px;padding:14px 18px;font-size:15.5px;line-height:1.6;margin:10px auto}
.sb-list{list-style:none;padding:0;margin:10px auto;display:grid;gap:8px}
.sb-list li{position:relative;padding-left:30px;font-size:16px;line-height:1.6}
.sb-list li:before{content:"✓";position:absolute;left:0;top:1px;width:21px;height:21px;border-radius:50%;background:#1D7A37;color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center}
.sb-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;margin:16px auto}
.sb-cols img{width:100%;height:auto;border-radius:16px;display:block}
.sb-cta{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#0d3d1c,#1D7A37);color:#fff;border-radius:18px;padding:24px 26px;margin:16px auto}
.sb-cta h3{margin:0 0 4px;color:#fff;font-size:clamp(20px,2.4vw,26px)}.sb-cta p{margin:0;opacity:.9}
.sb-cta .sb-btn{background:#F6C81E;color:#101418 !important}
.sb-quote{margin:14px auto;background:#f6f8f6;border-left:5px solid #1D7A37;border-radius:14px;padding:18px 22px}
.sb-quote p{font-size:17px;line-height:1.7;margin:0 0 6px;font-style:italic}.sb-quote cite{font-weight:700;color:#1D7A37;font-style:normal}
.sb-video{position:relative;aspect-ratio:16/9;margin:14px auto;border-radius:16px;overflow:hidden;background:#000}
.sb-video iframe,.sb-video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.sb-map{aspect-ratio:16/9;margin:14px auto;border-radius:16px;overflow:hidden}.sb-map iframe{width:100%;height:100%;border:0}
.sb-spacer{height:40px}
.sb-hr{border:0;border-top:2px solid #e3e8e4;margin:18px auto}
@media(max-width:700px){.sb-cols{grid-template-columns:1fr}.sb-cta{padding:20px}}

/* ---------- Ratings & reviews ---------- */
.rt-inline{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#4b5650;margin:0 0 6px;text-decoration:none}
.rt-inline .rt-s{color:#f2b500;letter-spacing:1px;font-size:14px}
.rt-inline b{color:#1f2a24}
.course-hero .rt-inline{color:#e8f3eb;margin:6px 0 10px}.course-hero .rt-inline b{color:#fff}
.rt-box{margin:34px 0 0;border:1px solid #e3e8e4;border-radius:18px;padding:22px;background:#fff}
.rt-box h2{margin:0 0 14px !important;font-size:clamp(20px,2.2vw,26px) !important}
.rt-sum{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}
.rt-big{text-align:center;min-width:120px}.rt-big b{display:block;font-size:44px;line-height:1;color:#1f2a24}.rt-big .rt-s{color:#f2b500;font-size:20px;letter-spacing:2px}.rt-big small{color:#6b7670;display:block;margin-top:4px}
.rt-bars{display:grid;gap:5px}.rt-bar{display:grid;grid-template-columns:34px 1fr 34px;gap:8px;align-items:center;font-size:12.5px;color:#4b5650}
.rt-bar i{display:block;height:8px;border-radius:8px;background:#eef1ee;overflow:hidden}.rt-bar i span{display:block;height:100%;background:#f2b500;border-radius:8px}
.rt-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.rt-list li{border-top:1px solid #eef1ee;padding:12px 0 0}.rt-list .rt-s{color:#f2b500}.rt-list b{margin-right:8px}.rt-list small{color:#8a948e}.rt-list p{margin:4px 0 0;font-size:15px;line-height:1.6;color:#33403a}
.rt-form{margin-top:18px;background:#f6f8f6;border-radius:14px;padding:16px}
.rt-form h3{margin:0 0 8px;font-size:17px}
.rt-pick{display:inline-flex;flex-direction:row-reverse;gap:2px}
.rt-pick input{position:absolute;opacity:0;width:1px;height:1px}
.rt-pick label{font-size:30px;line-height:1;color:#cfd6d1;cursor:pointer;transition:color .15s,transform .15s}
.rt-pick label:hover,.rt-pick label:hover ~ label,.rt-pick input:checked ~ label{color:#f2b500}
.rt-pick label:hover{transform:scale(1.15)}
.rt-form input[type=text],.rt-form textarea{width:100%;box-sizing:border-box;border:1px solid #d5ddd7;border-radius:10px;padding:10px 12px;font:inherit;font-size:15px;margin-top:8px;background:#fff}
.rt-form textarea{min-height:80px;resize:vertical}
.rt-form button{margin-top:10px;background:#1D7A37;color:#fff;border:0;border-radius:10px;padding:11px 20px;font-weight:700;font-size:15px;cursor:pointer}
.rt-msg{margin-top:8px;font-weight:700;font-size:14px}
.rt-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.nb-card .rt-inline{margin:2px 0 6px}
@media(max-width:560px){.rt-sum{grid-template-columns:1fr}.rt-box{padding:16px}}
