/* IWA public performance + theme compatibility layer
   Kept after legacy bundles so data-theme reliably wins over .white-version rules. */
:root { --iwa-public-surface:#1e2024; --iwa-public-surface-2:#25282d; --iwa-public-text:#edf0f5; --iwa-public-muted:#aab2c0; --iwa-public-border:rgba(255,255,255,.10); --iwa-public-shadow:0 14px 34px rgba(0,0,0,.22); }
html[data-theme="light"] { --iwa-public-surface:#ffffff; --iwa-public-surface-2:#f7f2f5; --iwa-public-text:#261d25; --iwa-public-muted:#655b64; --iwa-public-border:rgba(65,37,53,.14); --iwa-public-shadow:0 12px 30px rgba(77,38,58,.10); }

/* Course and blog sections render immediately; AOS stays decorative, never a visibility gate. */
.main-page-wrapper #courses,
.main-page-wrapper #blog { content-visibility:visible; contain-intrinsic-size:auto; }
.main-page-wrapper #courses [data-aos],
.main-page-wrapper #blog [data-aos] { opacity:1 !important; transform:none !important; visibility:visible !important; }

/* Shared cards and readable text in both themes. */
.main-page-wrapper .hc-card,
.main-page-wrapper .rn-blog-card,
.main-page-wrapper .rn-portfolio { color:var(--iwa-public-text); border-color:var(--iwa-public-border); }
html[data-theme="light"] .main-page-wrapper .hc-card,
html[data-theme="light"] .main-page-wrapper .rn-blog-card,
html[data-theme="light"] .main-page-wrapper .rn-portfolio { background:var(--iwa-public-surface); box-shadow:var(--iwa-public-shadow); }
html[data-theme="light"] .main-page-wrapper .rn-blog-card .content .title a,
html[data-theme="light"] .main-page-wrapper .rn-portfolio .content .title a,
html[data-theme="light"] .main-page-wrapper .rn-blog-card .category-info a,
html[data-theme="light"] .main-page-wrapper .rn-portfolio .category-info a,
html[data-theme="light"] .main-page-wrapper .hc-title { color:var(--iwa-public-text) !important; }
html[data-theme="light"] .main-page-wrapper .rn-blog-card .description,
html[data-theme="light"] .main-page-wrapper .rn-portfolio .description,
html[data-theme="light"] .main-page-wrapper .rn-blog-card .meta,
html[data-theme="light"] .main-page-wrapper .hc-desc,
html[data-theme="light"] .main-page-wrapper .hc-meta { color:var(--iwa-public-muted) !important; }
html[data-theme="light"] .main-page-wrapper .hc-thumb,
html[data-theme="light"] .main-page-wrapper .rn-blog-card .thumbnail { background:#ece4e9; }
html[data-theme="light"] .main-page-wrapper .hc-view-btn { background:var(--iwa-public-surface); color:var(--iwa-public-text); border-color:var(--iwa-public-border); box-shadow:var(--iwa-public-shadow); }

/* Desktop has polished hover feedback. Touch devices avoid costly transforms and accidental hover states. */
@media (min-width:992px) and (hover:hover) {
  .main-page-wrapper .hc-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
  .main-page-wrapper .hc-card,
  .main-page-wrapper .rn-blog-card { will-change:transform; }
  .main-page-wrapper .hc-card:hover,
  .main-page-wrapper .rn-blog-card:hover { transform:translateY(-7px); border-color:rgba(230,0,92,.34); box-shadow:0 20px 40px rgba(110,19,61,.18); }
  html[data-theme="dark"] .main-page-wrapper .hc-card:hover,
  html[data-theme="dark"] .main-page-wrapper .rn-blog-card:hover { box-shadow:0 22px 46px rgba(0,0,0,.38); }
}
@media (max-width:991.98px), (hover:none), (prefers-reduced-motion:reduce) {
  .main-page-wrapper .hc-card,
  .main-page-wrapper .rn-blog-card,
  .main-page-wrapper .hc-thumb img,
  .main-page-wrapper .rn-blog-card .thumbnail img { transition:none !important; transform:none !important; }
}

/* Slider: readable text hierarchy against every hero image and both color modes. */
.rn-slider-area .content .subtitle { color:#f66f9f; font-weight:800; letter-spacing:.08em; text-shadow:0 1px 10px rgba(0,0,0,.22); }
.rn-slider-area .content .title { color:#fff; text-shadow:0 3px 18px rgba(0,0,0,.30); }
.rn-slider-area .content .title > span:not(.header-caption),
.rn-slider-area .content .title .cd-words-wrapper b { color:#ff4d89; }
.rn-slider-area .content .description { color:#d6dbe5; max-width:620px; font-weight:500; line-height:1.8; text-shadow:0 1px 10px rgba(0,0,0,.20); }
.rn-slider-area .connect-block-left > .title,
.rn-slider-area .skill-share-inner > .title { color:#c7ceda; font-weight:800; letter-spacing:.06em; }
html[data-theme="light"] .rn-slider-area .content .subtitle { color:#b0004d; text-shadow:none; }
html[data-theme="light"] .rn-slider-area .content .title { color:#251b23; text-shadow:none; }
html[data-theme="light"] .rn-slider-area .content .title > span:not(.header-caption),
html[data-theme="light"] .rn-slider-area .content .title .cd-words-wrapper b { color:#c60058; }
html[data-theme="light"] .rn-slider-area .header-caption .cd-headline > span:first-child { color:#554a53 !important; }
html[data-theme="light"] .rn-slider-area .content .description { color:#554a53; text-shadow:none; }
html[data-theme="light"] .rn-slider-area .connect-block-left > .title,
html[data-theme="light"] .rn-slider-area .skill-share-inner > .title { color:#554a53; }

/* Light header navigation and anchor jumps. */
html[data-theme="light"] .rn-header .mainmenu-nav .nav-link { color:#564a53 !important; font-weight:600; }
html[data-theme="light"] .rn-header .mainmenu-nav .nav-link:hover,
html[data-theme="light"] .rn-header .mainmenu-nav .nav-link.active { color:#c60058 !important; }
html { scroll-padding-top:112px; }
#courses,#blog,#portfolio,#resume,#contact { scroll-margin-top:112px; }

/* Article/blog cards: solid readable typography and thumbnail-contained view metadata. */
.home-article-card { background:var(--iwa-public-surface); border:1px solid var(--iwa-public-border); box-shadow:var(--iwa-public-shadow); border-radius:16px; overflow:hidden; color:var(--iwa-public-text); }
.home-thumbnail { position:relative; isolation:isolate; }
.home-views-badge { top:12px; right:12px; bottom:auto; left:auto; z-index:3; margin:0; min-height:30px; padding:6px 11px; color:#fff; background:rgba(25,18,25,.78); border:1px solid rgba(255,255,255,.28); box-shadow:0 7px 18px rgba(0,0,0,.24); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); animation:none !important; pointer-events:none; }
.home-views-badge svg { width:14px; height:14px; stroke-width:2.5; }
.home-article-title a { color:var(--iwa-public-text) !important; }
.home-article-excerpt,.home-meta-author,.home-meta-date { color:var(--iwa-public-muted) !important; }
.home-article-meta { border-top-color:var(--iwa-public-border) !important; }
.home-author-link { color:#df005f !important; }

/* Mouse-only hover: visual feedback without white flashes in light mode. */
@media (min-width:992px) and (hover:hover) {
  .home-article-card,.main-page-wrapper .rn-blog-card { transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
  .home-article-card:hover,.main-page-wrapper .rn-blog-card:hover { transform:translateY(-6px); border-color:rgba(230,0,92,.40); box-shadow:0 20px 42px rgba(98,19,57,.20); }
  .home-article-card:hover .home-thumbnail img,.main-page-wrapper .rn-blog-card:hover .thumbnail img { transform:scale(1.045); }
  html[data-theme="light"] .home-article-card:hover,html[data-theme="light"] .main-page-wrapper .rn-blog-card:hover { background:#fff; }
}
@media (max-width:575.98px) { .home-views-badge { top:9px;right:9px;min-height:28px;padding:5px 9px;font-size:11px; } }

/* ── Complete public-section compatibility layer ────────────────────────── */
.main-page-wrapper .section-title .title,
.main-page-wrapper .articles-header .title,
.main-page-wrapper .ytcs__title,
.main-page-wrapper .ytc-head h2,
.main-page-wrapper .course-title,
.main-page-wrapper .contact-about-area .title { color:var(--iwa-public-text) !important; }
.main-page-wrapper .section-title .subtitle,
.main-page-wrapper .articles-header .subtitle,
.main-page-wrapper .ytcs__sub,
.main-page-wrapper .ytc-head p,
.main-page-wrapper .contact-about-area .description,
.main-page-wrapper .course-details,
.main-page-wrapper .course-details-list,
.main-page-wrapper .rn-resume-area .description { color:var(--iwa-public-muted) !important; }
.main-page-wrapper .section-title .subtitle,
.main-page-wrapper .ytcs__eyebrow,
.main-page-wrapper .ytc-badge { color:#df005f !important; }
.main-page-wrapper .files-section-heading,
.main-page-wrapper .articles-theme-heading,
.main-page-wrapper .theme-empty-title { color:var(--iwa-public-text) !important; font-weight:800; margin-bottom:15px; }
.main-page-wrapper .files-section-intro,
.main-page-wrapper .articles-theme-intro,
.main-page-wrapper .theme-empty-copy { color:var(--iwa-public-muted) !important; max-width:680px; margin-left:auto; margin-right:auto; }
.main-page-wrapper .articles-theme-heading { margin-bottom:20px; }
.main-page-wrapper .articles-theme-intro { font-size:1.2rem; }

/* Elevation surfaces used by portfolio, pricing, contact, files and article cards. */
.main-page-wrapper .rn-portfolio,
.main-page-wrapper .rn-pricing,
.main-page-wrapper .pricing-style-2,
.main-page-wrapper .contact-about-area,
.main-page-wrapper .rn-file-card,
.main-page-wrapper .stat-card,
.main-page-wrapper .resume-single-list,
.main-page-wrapper .course-inner,
.main-page-wrapper .course-details,
.main-page-wrapper .ytcs__player,
.main-page-wrapper .ytcs__feat-info,
.main-page-wrapper .ytc-featured,
.main-page-wrapper .ytc-list-card { background:var(--iwa-public-surface) !important; border-color:var(--iwa-public-border) !important; color:var(--iwa-public-text); box-shadow:var(--iwa-public-shadow); }
.main-page-wrapper .rn-portfolio .title a,
.main-page-wrapper .rn-pricing .title,
.main-page-wrapper .pricing-style-2 .title,
.main-page-wrapper .rn-file-card .title,
.main-page-wrapper .resume-single-list .heading,
.main-page-wrapper .resume-single-list .title,
.main-page-wrapper .ytcs__feat-title,
.main-page-wrapper .ytc-featured h3,
.main-page-wrapper .ytc-list-card h3 { color:var(--iwa-public-text) !important; }
.main-page-wrapper .rn-portfolio .category-list a,
.main-page-wrapper .rn-portfolio .meta,
.main-page-wrapper .rn-pricing .inner .content p,
.main-page-wrapper .rn-file-card .meta,
.main-page-wrapper .resume-single-list .description,
.main-page-wrapper .ytcs__feat-info p,
.main-page-wrapper .ytc-featured p,
.main-page-wrapper .ytc-list-card p { color:var(--iwa-public-muted) !important; }

/* Inputs, tabs and muted controls must not inherit white text on a light surface. */
html[data-theme="light"] .main-page-wrapper input,
html[data-theme="light"] .main-page-wrapper select,
html[data-theme="light"] .main-page-wrapper textarea,
html[data-theme="light"] .main-page-wrapper .rn-nav-list .nav-link,
html[data-theme="light"] .main-page-wrapper .ytcs__pill,
html[data-theme="light"] .main-page-wrapper .ytc-tab { background:#fff; color:#473b44 !important; border-color:var(--iwa-public-border); }
html[data-theme="light"] .main-page-wrapper .rn-nav-list .nav-link.active,
html[data-theme="light"] .main-page-wrapper .ytcs__pill.is-active,
html[data-theme="light"] .main-page-wrapper .ytc-tab.active { background:#fff0f6; color:#bf0051 !important; border-color:rgba(210,0,85,.30); }

/* Button foregrounds stay white on brand backgrounds; generic text links stay readable. */
.main-page-wrapper .rn-btn,
.main-page-wrapper .course-enroll,
.main-page-wrapper .dl-btn,
.main-page-wrapper .view-more-link,
.main-page-wrapper .ytcs__play-btn,
.main-page-wrapper .ytc-facade-play { color:#fff !important; }
.main-page-wrapper a:not(.rn-btn):not(.course-enroll):not(.dl-btn):not(.view-more-link):not(.ytcs__play-btn):not(.ytc-facade-play) { color:inherit; }
.main-page-wrapper .rn-portfolio .category-list a:hover,
.main-page-wrapper .home-author-link:hover,
.main-page-wrapper .contact-about-area a:hover { color:#df005f !important; }

@media (min-width:992px) and (hover:hover) {
  .main-page-wrapper .rn-portfolio,
  .main-page-wrapper .rn-pricing,
  .main-page-wrapper .pricing-style-2,
  .main-page-wrapper .contact-about-area,
  .main-page-wrapper .rn-file-card,
  .main-page-wrapper .stat-card,
  .main-page-wrapper .resume-single-list,
  .main-page-wrapper .course-inner,
  .main-page-wrapper .course-details,
  .main-page-wrapper .ytc-list-card { transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
  .main-page-wrapper .rn-portfolio:hover,
  .main-page-wrapper .rn-pricing:hover,
  .main-page-wrapper .pricing-style-2:hover,
  .main-page-wrapper .contact-about-area:hover,
  .main-page-wrapper .rn-file-card:hover,
  .main-page-wrapper .stat-card:hover,
  .main-page-wrapper .resume-single-list:hover,
  .main-page-wrapper .course-inner:hover,
  .main-page-wrapper .course-details:hover,
  .main-page-wrapper .ytc-list-card:hover { transform:translateY(-5px); border-color:rgba(230,0,92,.35) !important; box-shadow:0 20px 42px rgba(96,18,56,.18); }
}
@media (max-width:767.98px) {
  .main-page-wrapper .rn-section-gap { padding-top:58px; padding-bottom:58px; }
  .main-page-wrapper .section-title .title,.main-page-wrapper .ytcs__title,.main-page-wrapper .ytc-head h2 { font-size:clamp(26px,7vw,34px) !important; line-height:1.2; }
  .main-page-wrapper .contact-about-area,.main-page-wrapper .rn-file-card,.main-page-wrapper .course-inner,.main-page-wrapper .course-details { padding:20px !important; }
  .main-page-wrapper .ytcs__layout,.main-page-wrapper .ytc-layout { gap:16px; }
}

/* Blog hover must preserve the active theme surface; legacy portfolio hover rules may otherwise turn it black. */
.main-page-wrapper .rn-blog-area .rn-blog-card:hover { background:var(--iwa-public-surface) !important; color:var(--iwa-public-text) !important; }
html[data-theme="light"] .main-page-wrapper .rn-blog-area .rn-blog-card:hover { background:#fff !important; color:#281d25 !important; }
.main-page-wrapper .rn-blog-area .rn-blog-card::before,
.main-page-wrapper .rn-blog-area .rn-blog-card:hover::before { content:none !important; opacity:0 !important; }

/* YouTube class section: source CSS is dark-first, so it needs explicit light surfaces and type. */
html[data-theme="light"] .main-page-wrapper .ytcs { background:#f7f4f6; }
html[data-theme="light"] .main-page-wrapper .ytcs__title,
html[data-theme="light"] .main-page-wrapper .ytcs__feat-title,
html[data-theme="light"] .main-page-wrapper .ytcs__card-title { color:#281d25 !important; }
html[data-theme="light"] .main-page-wrapper .ytcs__sub,
html[data-theme="light"] .main-page-wrapper .ytcs__feat-desc,
html[data-theme="light"] .main-page-wrapper .ytcs__card-meta { color:#625761 !important; }
html[data-theme="light"] .main-page-wrapper .ytcs__pill { background:#fff; border-color:rgba(72,39,57,.14); color:#554a53 !important; box-shadow:0 4px 12px rgba(72,39,57,.05); }
html[data-theme="light"] .main-page-wrapper .ytcs__pill:hover { color:#bf0051 !important; background:#fff0f6; border-color:rgba(210,0,85,.28); }
html[data-theme="light"] .main-page-wrapper .ytcs__screen { border-color:rgba(72,39,57,.16); box-shadow:0 18px 42px rgba(72,39,57,.16); }
html[data-theme="light"] .main-page-wrapper .ytcs__card { background:#fff; border-color:rgba(72,39,57,.13); box-shadow:0 7px 18px rgba(72,39,57,.07); }
html[data-theme="light"] .main-page-wrapper .ytcs__card:hover,
html[data-theme="light"] .main-page-wrapper .ytcs__card.is-active { background:#fff0f6; border-color:rgba(210,0,85,.28); }
html[data-theme="light"] .main-page-wrapper .ytcs__card-thumb { background:#eee7eb; }
html[data-theme="light"] .main-page-wrapper .ytcp-dur { background:#f6eff3; color:#625761; border-color:rgba(72,39,57,.12); }

/* Accessibility: this wins over legacy `body.template-color-1 .subtitle { color:#d0d0d0!important; }`. */
html[data-theme="light"] body.template-color-1 .main-page-wrapper .section-title .subtitle,
html[data-theme="light"] body.template-color-1 .main-page-wrapper .section-title > .subtitle,
html[data-theme="light"] body.template-color-1 .main-page-wrapper .rn-resume-area .section-title .subtitle,
html[data-theme="light"] body.template-color-1 .main-page-wrapper .rn-contact-area .section-title .subtitle,
html[data-theme="light"] body.template-color-1 .main-page-wrapper .rn-blog-area .section-title .subtitle { color:#7a1748 !important; text-shadow:none; font-weight:800; }

/* Public footer: a distinct, responsive end-of-page surface for both themes. */
.rn-footer-area .public-footer { position:relative; max-width:920px; margin:0 auto; padding:46px 48px 32px; border:1px solid rgba(255,255,255,.10); border-radius:24px; overflow:hidden; background:linear-gradient(145deg,#211b23,#151316); box-shadow:0 24px 60px rgba(0,0,0,.22); }
.rn-footer-area .public-footer::before { content:""; position:absolute; width:320px; height:320px; left:-160px; top:-220px; border-radius:50%; background:radial-gradient(circle,rgba(230,0,92,.28),transparent 67%); pointer-events:none; }
.public-footer > * { position:relative; z-index:1; }
.footer-brand-row { display:flex; align-items:center; justify-content:center; gap:16px; }
.public-footer .logo { margin:0; line-height:0; }
.public-footer .logo img { width:68px; height:68px; object-fit:contain; }
.footer-brand-copy { text-align:left; }
.public-footer__eyebrow { display:block; color:#ff82ae; font-size:11px; letter-spacing:.16em; font-weight:800; }
.public-footer__title { margin:4px 0 0; color:#fff; font-size:24px; line-height:1.15; }
.public-footer__description { max-width:610px; margin:22px auto 0 !important; color:#c9c0c8 !important; line-height:1.7; }
.public-footer__install { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:30px auto 0; padding:18px 20px; max-width:680px; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:rgba(255,255,255,.06); text-align:left; }
.public-footer__install-copy { display:flex; align-items:center; gap:13px; }
.public-footer__install-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:12px; color:#fff; background:linear-gradient(135deg,#e6005c,#ff5a92); box-shadow:0 9px 20px rgba(230,0,92,.28); }
.public-footer__install-icon svg { width:20px; }
.public-footer__install h3 { margin:0 0 3px; color:#fff; font-size:15px; font-weight:800; }
.public-footer__install p { margin:0; color:#d6cbd3; font-size:13px; line-height:1.45; }
.public-footer__install-button { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:10px 15px; border:0; border-radius:11px; color:#fff; background:linear-gradient(135deg,#d50056,#f52a75); box-shadow:0 10px 22px rgba(230,0,92,.28); font:inherit; font-size:13px; font-weight:800; cursor:pointer; transition:transform .18s ease,box-shadow .18s ease; }
.public-footer__install-button svg { width:16px; height:16px; }
.public-footer .quick-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 20px; padding:0; margin:30px 0 0 !important; }
.public-footer .quick-links li { margin:0 !important; }
.public-footer .quick-links a { color:#e4dce2; font-size:13px; font-weight:700; }
.public-footer .network-links-wrapper { margin-top:24px !important; }
.public-footer .copyright-text { margin:26px 0 0 !important; padding-top:20px; border-top:1px solid rgba(255,255,255,.10); color:#b9adb6 !important; font-size:12px; }
@media (min-width:768px) and (hover:hover) { .public-footer__install-button:hover { transform:translateY(-2px); box-shadow:0 14px 28px rgba(230,0,92,.38); } .public-footer .quick-links a:hover { color:#ff84af; } }
html[data-theme="light"] .rn-footer-area .public-footer { background:linear-gradient(145deg,#fff,#fff5f9); border-color:rgba(90,35,62,.15); box-shadow:0 22px 50px rgba(93,28,60,.12); }
html[data-theme="light"] .rn-footer-area .public-footer::before { background:radial-gradient(circle,rgba(230,0,92,.13),transparent 67%); }
html[data-theme="light"] .public-footer__eyebrow { color:#941343; }
html[data-theme="light"] .public-footer__title,html[data-theme="light"] .public-footer__install h3 { color:#2c1d26; }
html[data-theme="light"] .public-footer__description,html[data-theme="light"] .public-footer__install p { color:#5c4a55 !important; }
html[data-theme="light"] .public-footer__install { background:#fff; border-color:rgba(90,35,62,.14); box-shadow:0 9px 22px rgba(93,28,60,.07); }
html[data-theme="light"] .public-footer .quick-links a { color:#553d4a; }
html[data-theme="light"] .public-footer .copyright-text { border-color:rgba(90,35,62,.12); color:#685661 !important; }
@media (max-width:767.98px) { .rn-footer-area .public-footer { margin:0 12px; padding:34px 20px 26px; border-radius:20px; } .footer-brand-row { align-items:flex-start; justify-content:flex-start; } .public-footer__install { align-items:stretch; flex-direction:column; padding:16px; } .public-footer__install-button { width:100%; } .public-footer .quick-links { gap:10px 16px; } }

/* Footer v2: reference-informed information architecture, built for IWA and dynamic admin menus. */
.rn-footer-area { padding-top:84px !important; padding-bottom:28px !important; }
.iwa-footer-v2 { display:grid; grid-template-columns:1.1fr .9fr 1fr; gap:28px; padding:48px; border:1px solid rgba(255,255,255,.1); border-radius:26px; background:linear-gradient(135deg,#1d151d,#111115); box-shadow:0 26px 70px rgba(0,0,0,.24); position:relative; overflow:hidden; }
.iwa-footer-v2::before { content:""; position:absolute; width:380px; height:380px; top:-220px; right:-160px; border-radius:50%; background:radial-gradient(circle,rgba(255,1,79,.26),transparent 68%); pointer-events:none; }
.iwa-footer-v2 > * { position:relative; z-index:1; }
.iwa-footer-v2__brand { display:grid; align-content:start; grid-template-columns:72px 1fr; gap:2px 14px; }
.iwa-footer-v2__logo { grid-row:span 2; display:grid; place-items:center; width:72px; height:72px; border-radius:18px; background:rgba(255,255,255,.06); }
.iwa-footer-v2__logo img { width:58px; height:58px; object-fit:contain; }
.iwa-footer-v2__eyebrow,.iwa-footer-v2__heading { display:block; color:#ff86b0; font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.iwa-footer-v2 h2 { margin:4px 0 0; color:#fff; font-size:24px; line-height:1.2; }
.iwa-footer-v2__brand > p { grid-column:1/-1; margin:20px 0 0; color:#cbbfc9; font-size:14px; line-height:1.7; }
.iwa-footer-v2__social { grid-column:1/-1; display:flex; gap:9px; margin:20px 0 0; padding:0; list-style:none; }
.iwa-footer-v2__social a { display:grid; place-items:center; width:36px; height:36px; border:1px solid rgba(255,255,255,.13); border-radius:10px; color:#f8eff5; background:rgba(255,255,255,.05); }
.iwa-footer-v2__social svg { width:17px; height:17px; }
.iwa-footer-v2__links { padding:5px 8px; }
.iwa-footer-v2__links > p { margin:11px 0 18px; color:#bcaeb9; font-size:12px; line-height:1.5; }
.iwa-footer-v2__links > p strong { color:#f6e9f0; }
.iwa-footer-v2__links ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 16px; margin:0; padding:0; list-style:none; }
.iwa-footer-v2__links a { display:inline-flex; align-items:center; gap:5px; color:#e9dee6; font-size:13px; font-weight:700; }
.iwa-footer-v2__links a svg { width:13px; height:13px; color:#ff6b9d; transition:transform .18s ease; }
.iwa-footer-v2__app { padding:22px; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:rgba(255,255,255,.055); }
.iwa-footer-v2__app-icon { display:grid; place-items:center; width:42px; height:42px; margin-bottom:16px; border-radius:12px; color:#fff; background:linear-gradient(135deg,#de005a,#ff5c96); box-shadow:0 9px 20px rgba(255,1,79,.3); }
.iwa-footer-v2__app-icon svg { width:21px; height:21px; }
.iwa-footer-v2__app h3 { margin:7px 0 8px; color:#fff; font-size:20px; }
.iwa-footer-v2__app p { margin:0; color:#d3c6cf; font-size:13px; line-height:1.65; }
.iwa-footer-v2__install { display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; margin-top:18px; padding:12px 14px; border:0; border-radius:11px; color:#fff; background:linear-gradient(135deg,#d70057,#f52c77); box-shadow:0 10px 22px rgba(230,0,92,.25); font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.iwa-footer-v2__install svg { width:16px; height:16px; }
.iwa-footer-v2__app small { display:block; margin-top:12px; color:#ab9ca8; font-size:11px; text-align:center; }
.iwa-footer-v2__bottom { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:20px 6px 0; color:#aa9da6; font-size:12px; }
.iwa-footer-v2__bottom a { display:inline-flex; align-items:center; gap:6px; color:#e7dbe4; font-weight:700; }
.iwa-footer-v2__bottom svg { width:14px; height:14px; }
@media (min-width:768px) and (hover:hover) { .iwa-footer-v2__social a:hover { color:#fff; border-color:rgba(255,1,79,.6); background:#c90051; transform:translateY(-2px); } .iwa-footer-v2__links a:hover { color:#ff9bbd; } .iwa-footer-v2__links a:hover svg { transform:translate(2px,-2px); } .iwa-footer-v2__install:hover { transform:translateY(-2px); box-shadow:0 15px 30px rgba(230,0,92,.36); } }
html[data-theme="light"] .iwa-footer-v2 { border-color:rgba(86,28,57,.16); background:linear-gradient(135deg,#fff,#fff3f8); box-shadow:0 24px 58px rgba(83,25,54,.12); }
html[data-theme="light"] .iwa-footer-v2::before { background:radial-gradient(circle,rgba(255,1,79,.12),transparent 68%); }
html[data-theme="light"] .iwa-footer-v2__logo { border:1px solid rgba(86,28,57,.12); background:#fff; }
html[data-theme="light"] .iwa-footer-v2__eyebrow,html[data-theme="light"] .iwa-footer-v2__heading { color:#8d1646; }
html[data-theme="light"] .iwa-footer-v2 h2,html[data-theme="light"] .iwa-footer-v2__app h3 { color:#2b1c26; }
html[data-theme="light"] .iwa-footer-v2__brand > p,html[data-theme="light"] .iwa-footer-v2__links > p,html[data-theme="light"] .iwa-footer-v2__app p { color:#5e4a57; }
html[data-theme="light"] .iwa-footer-v2__links > p strong { color:#3f2433; }
html[data-theme="light"] .iwa-footer-v2__social a { border-color:rgba(86,28,57,.14); color:#653b50; background:#fff; }
html[data-theme="light"] .iwa-footer-v2__links a { color:#503646; }
html[data-theme="light"] .iwa-footer-v2__app { border-color:rgba(86,28,57,.14); background:rgba(255,255,255,.84); box-shadow:0 10px 24px rgba(83,25,54,.06); }
html[data-theme="light"] .iwa-footer-v2__app small,html[data-theme="light"] .iwa-footer-v2__bottom { color:#755e6c; }
html[data-theme="light"] .iwa-footer-v2__bottom a { color:#7b1645; }
@media (max-width:991.98px) { .iwa-footer-v2 { grid-template-columns:1fr 1fr; } .iwa-footer-v2__app { grid-column:1/-1; } }
@media (max-width:639.98px) { .rn-footer-area { padding-top:58px !important; } .iwa-footer-v2 { grid-template-columns:1fr; gap:26px; padding:30px 20px; border-radius:20px; } .iwa-footer-v2__app { grid-column:auto; } .iwa-footer-v2__links { padding:0; } .iwa-footer-v2__links ul { grid-template-columns:1fr; } .iwa-footer-v2__bottom { align-items:flex-start; flex-direction:column; padding:17px 6px 0; } }

/* Footer v3: closer to the requested reference structure, without copying its branding. */
.iwa-footer-v3 { display:grid; grid-template-columns:1.2fr .9fr .9fr 1.1fr; gap:26px; padding:48px; border-top:3px solid #e6005c; background:#161219; box-shadow:0 -20px 48px rgba(0,0,0,.18); }
.iwa-footer-v3 h2,.iwa-footer-v3 h3 { color:#fff; }
.iwa-footer-v3 h2 { margin:6px 0 0; font-size:23px; line-height:1.2; }
.iwa-footer-v3 h3 { margin:8px 0; font-size:19px; }
.iwa-footer-v3__brand { display:grid; grid-template-columns:62px 1fr; gap:2px 13px; align-content:start; }
.iwa-footer-v3__logo { grid-row:span 2; display:grid; place-items:center; width:62px; height:62px; border-radius:14px; background:rgba(255,255,255,.07); }
.iwa-footer-v3__logo img { width:50px; height:50px; object-fit:contain; }
.iwa-footer-v3__eyebrow,.iwa-footer-v3__heading { display:block; color:#ff83ae; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.iwa-footer-v3__brand > p { grid-column:1/-1; margin:18px 0 0; color:#c9bec5; font-size:13px; line-height:1.65; }
.iwa-footer-v3__social { grid-column:1/-1; display:flex; gap:8px; margin:17px 0 0; padding:0; list-style:none; }
.iwa-footer-v3__social a { display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(255,255,255,.13); border-radius:9px; color:#eee2e9; }
.iwa-footer-v3__social svg { width:16px; height:16px; }
.iwa-footer-v3__contact,.iwa-footer-v3__links { padding-top:4px; }
.iwa-footer-v3__contact > p,.iwa-footer-v3__links > p { margin:12px 0 15px; color:#b9abb5; font-size:12px; line-height:1.55; }
.iwa-footer-v3__contact ul,.iwa-footer-v3__links ul { margin:0; padding:0; list-style:none; }
.iwa-footer-v3__contact li + li,.iwa-footer-v3__links li + li { margin-top:10px; }
.iwa-footer-v3__contact a,.iwa-footer-v3__links a { display:inline-flex; align-items:center; gap:8px; color:#eaddE6; font-size:13px; font-weight:700; }
.iwa-footer-v3__contact svg { width:15px; height:15px; color:#ff6e9e; }
.iwa-footer-v3__links a { gap:5px; }
.iwa-footer-v3__links a svg { width:13px; height:13px; color:#ff6e9e; }
.iwa-footer-v3__links strong { color:#fff; }
.iwa-footer-v3__app { padding:22px; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03)); }
.iwa-footer-v3__app-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:11px; color:#fff; background:linear-gradient(135deg,#db0058,#ff6199); box-shadow:0 8px 18px rgba(255,1,79,.28); }
.iwa-footer-v3__app-icon svg { width:20px; height:20px; }
.iwa-footer-v3__app p { margin:0; color:#d1c4cd; font-size:12px; line-height:1.65; }
.iwa-footer-v3__install { display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; margin-top:17px; padding:11px 13px; border:0; border-radius:10px; color:#fff; background:linear-gradient(135deg,#d40056,#f82c78); box-shadow:0 9px 20px rgba(255,1,79,.25); font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.iwa-footer-v3__install svg { width:15px; height:15px; }
.iwa-footer-v3__app small { display:block; margin-top:10px; color:#a99aa5; font-size:10px; text-align:center; }
.iwa-footer-v3__bottom { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:19px 6px 0; color:#9f929a; font-size:12px; }
.iwa-footer-v3__bottom a { display:inline-flex; align-items:center; gap:6px; color:#e5d8e1; font-weight:700; }
.iwa-footer-v3__bottom svg { width:14px; height:14px; }
@media (min-width:768px) and (hover:hover) { .iwa-footer-v3__social a:hover { transform:translateY(-2px); color:#fff; background:#c80050; border-color:#c80050; } .iwa-footer-v3__contact a:hover,.iwa-footer-v3__links a:hover { color:#ff9aba; } .iwa-footer-v3__install:hover { transform:translateY(-2px); box-shadow:0 13px 26px rgba(255,1,79,.35); } }
html[data-theme="light"] .iwa-footer-v3 { border-top-color:#bd0047; background:#fff8fb; box-shadow:0 -14px 38px rgba(85,25,54,.08); }
html[data-theme="light"] .iwa-footer-v3 h2,html[data-theme="light"] .iwa-footer-v3 h3 { color:#2e1d28; }
html[data-theme="light"] .iwa-footer-v3__eyebrow,html[data-theme="light"] .iwa-footer-v3__heading { color:#86133f; }
html[data-theme="light"] .iwa-footer-v3__logo { border:1px solid rgba(80,25,54,.13); background:#fff; }
html[data-theme="light"] .iwa-footer-v3__brand > p,html[data-theme="light"] .iwa-footer-v3__contact > p,html[data-theme="light"] .iwa-footer-v3__links > p,html[data-theme="light"] .iwa-footer-v3__app p { color:#5f4d58; }
html[data-theme="light"] .iwa-footer-v3__social a { border-color:rgba(80,25,54,.14); color:#60384e; background:#fff; }
html[data-theme="light"] .iwa-footer-v3__contact a,html[data-theme="light"] .iwa-footer-v3__links a { color:#503746; }
html[data-theme="light"] .iwa-footer-v3__links strong { color:#30202a; }
html[data-theme="light"] .iwa-footer-v3__app { border-color:rgba(80,25,54,.14); background:#fff; box-shadow:0 10px 22px rgba(85,25,54,.06); }
html[data-theme="light"] .iwa-footer-v3__app small,html[data-theme="light"] .iwa-footer-v3__bottom { color:#78636f; }
html[data-theme="light"] .iwa-footer-v3__bottom a { color:#811440; }
@media (max-width:1100px) { .iwa-footer-v3 { grid-template-columns:1fr 1fr; } }
@media (max-width:639.98px) { .iwa-footer-v3 { grid-template-columns:1fr; gap:25px; padding:31px 20px; } .iwa-footer-v3__bottom { align-items:flex-start; flex-direction:column; padding:17px 6px 0; } }

/* Footer v4: full-width IWA website footer, English content and visitor-facing clarity. */
.rn-footer-area { width:100%; padding:72px 0 26px !important; background:#15181e; }
.rn-footer-area .container { width:calc(100% - 64px); max-width:1440px; }
.iwa-footer-v4 { display:grid; grid-template-columns:1.55fr .85fr .95fr 1.15fr; gap:42px; width:100%; padding:52px 0 48px; border-top:1px solid rgba(255,255,255,.13); border-bottom:1px solid rgba(255,255,255,.1); }
.iwa-footer-v4__brand { display:grid; grid-template-columns:72px 1fr; gap:4px 16px; align-content:start; }
.iwa-footer-v4__logo { grid-row:span 2; display:grid; place-items:center; width:72px; height:72px; border:1px solid rgba(255,255,255,.13); border-radius:16px; background:#1e222b; }
.iwa-footer-v4__logo img { width:58px; height:58px; object-fit:contain; }
.iwa-footer-v4__eyebrow,.iwa-footer-v4__heading { display:block; color:#ff6a9c; font-size:12px; font-weight:800; letter-spacing:.12em; line-height:1.2; text-transform:uppercase; }
.iwa-footer-v4 h2 { margin:7px 0 0; color:#fff; font-size:27px; font-weight:800; line-height:1.16; }
.iwa-footer-v4 h3 { margin:10px 0; color:#fff; font-size:23px; font-weight:800; line-height:1.24; }
.iwa-footer-v4__brand > p { grid-column:1/-1; margin:21px 0 0; color:#c3c8d1; font-size:15px; line-height:1.72; }
.iwa-footer-v4__social { grid-column:1/-1; display:flex; gap:10px; margin:20px 0 0; padding:0; list-style:none; }
.iwa-footer-v4__social a { display:grid; place-items:center; width:39px; height:39px; border:1px solid rgba(255,255,255,.15); border-radius:10px; color:#f3f5f8; background:#1d2129; }
.iwa-footer-v4__social svg { width:18px; height:18px; }
.iwa-footer-v4__contact-actions { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.iwa-footer-v4__contact-actions a { display:inline-flex; align-items:center; gap:8px; padding:10px 12px; border:1px solid rgba(255,255,255,.13); border-radius:9px; color:#f1f3f6; background:#1d2129; font-size:13px; font-weight:700; }
.iwa-footer-v4__contact-actions svg { flex:0 0 auto; width:16px; height:16px; color:#ff6a9c; }
.iwa-footer-v4__nav { padding-top:8px; }
.iwa-footer-v4__nav ul { display:grid; gap:13px; margin:20px 0 0; padding:0; list-style:none; }
.iwa-footer-v4__nav .iwa-footer-menu-submenu { display:grid; gap:9px; margin:9px 0 0 14px; padding:0 0 0 14px; border-left:1px solid rgba(255,255,255,.12); }
.iwa-footer-v4__nav .iwa-footer-menu-submenu a { font-size:13px; font-weight:500; }
.iwa-footer-v4__nav a { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#d6dbe3; font-size:15px; font-weight:600; line-height:1.35; }
.iwa-footer-v4__nav a i { display:flex; flex:0 0 auto; align-items:center; justify-content:center; width:17px; height:17px; color:#ff6a9c; }
.iwa-footer-v4__nav a svg { width:17px; height:17px; }
.iwa-footer-v4__app { align-self:start; padding:25px; border:1px solid rgba(255,255,255,.13); border-radius:16px; background:linear-gradient(145deg,#242933,#1b1f27); }
.iwa-footer-v4__app-icon { display:grid; place-items:center; width:46px; height:46px; border-radius:12px; color:#fff; background:linear-gradient(135deg,#df0059,#fd699d); box-shadow:0 10px 22px rgba(255,1,79,.28); }
.iwa-footer-v4__app-icon svg { width:22px; height:22px; }
.iwa-footer-v4__app p { margin:0; color:#c9ced7; font-size:14px; line-height:1.66; }
.iwa-footer-v4__install { display:inline-flex; align-items:center; justify-content:center; gap:9px; width:100%; margin-top:20px; padding:13px 16px; border:0; border-radius:10px; color:#fff; background:linear-gradient(135deg,#d70055,#f42e7a); box-shadow:0 11px 24px rgba(255,1,79,.26); font:inherit; font-size:14px; font-weight:800; cursor:pointer; }
.iwa-footer-v4__install svg { flex:0 0 auto; width:17px; height:17px; }
.iwa-footer-v4__app small { display:block; margin-top:12px; color:#aeb5c0; font-size:11px; line-height:1.45; text-align:center; }
.iwa-footer-v4__bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 0 0; color:#aeb5c0; font-size:13px; }
.iwa-footer-v4__bottom a { display:inline-flex; align-items:center; gap:7px; color:#f3f4f6; font-size:13px; font-weight:700; }
.iwa-footer-v4__bottom svg { width:16px; height:16px; color:#ff6a9c; }
@media (min-width:768px) and (hover:hover) { .iwa-footer-v4__social a:hover,.iwa-footer-v4__contact-actions a:hover { transform:translateY(-2px); border-color:#d70055; color:#fff; background:#29202a; } .iwa-footer-v4__nav a:hover { color:#ff9cbd; } .iwa-footer-v4__install:hover { transform:translateY(-2px); box-shadow:0 15px 29px rgba(255,1,79,.38); } }
html[data-theme="light"] .rn-footer-area { background:#fff; }
html[data-theme="light"] .iwa-footer-v4 { border-color:rgba(35,43,55,.13); }
html[data-theme="light"] .iwa-footer-v4__logo,html[data-theme="light"] .iwa-footer-v4__social a,html[data-theme="light"] .iwa-footer-v4__contact-actions a { border-color:rgba(35,43,55,.14); color:#343b48; background:#fff; }
html[data-theme="light"] .iwa-footer-v4 h2,html[data-theme="light"] .iwa-footer-v4 h3 { color:#202734; }
html[data-theme="light"] .iwa-footer-v4__eyebrow,html[data-theme="light"] .iwa-footer-v4__heading { color:#a60b45; }
html[data-theme="light"] .iwa-footer-v4__brand > p,html[data-theme="light"] .iwa-footer-v4__app p { color:#5b6574; }
html[data-theme="light"] .iwa-footer-v4__nav a { color:#394352; }
html[data-theme="light"] .iwa-footer-v4__app { border-color:rgba(35,43,55,.13); background:#f8fafc; box-shadow:0 10px 24px rgba(31,40,53,.06); }
html[data-theme="light"] .iwa-footer-v4__app small,html[data-theme="light"] .iwa-footer-v4__bottom { color:#687383; }
html[data-theme="light"] .iwa-footer-v4__bottom a { color:#8f0d3f; }
/* Small-desktop only: the app card may still use its compact 3-column layout. */
@media (max-width:1180px) and (min-width:992px) { .iwa-footer-v4 { grid-template-columns:1.4fr 1fr 1fr; } .iwa-footer-v4__app { grid-column:1/-1; display:grid; grid-template-columns:46px 1fr auto; gap:0 15px; align-items:center; } .iwa-footer-v4__app-icon { grid-row:span 2; } .iwa-footer-v4__app h3 { margin:5px 0; } .iwa-footer-v4__app p { grid-column:2; } .iwa-footer-v4__install { grid-column:3; grid-row:1/span 2; width:auto; margin:0; min-width:180px; } .iwa-footer-v4__app small { grid-column:2; text-align:left; } }

/* Tablet and below: the install card is forced to a single centred column. */
@media (max-width:991.98px) {
  .iwa-footer-v4 { grid-template-columns:1fr 1fr; gap:34px 26px; }
  .iwa-footer-v4__brand { grid-column:1/-1; }
  .iwa-footer-v4__app { grid-column:1/-1; display:grid; grid-template-columns:1fr; grid-auto-rows:auto; justify-items:center; align-items:start; gap:0; text-align:center; }
  .iwa-footer-v4__app > * { grid-column:1; grid-row:auto; }
  .iwa-footer-v4__app-icon { grid-row:auto; margin:0 auto 14px; }
  .iwa-footer-v4__app h3 { margin:8px 0; }
  .iwa-footer-v4__app p { margin:0 auto; max-width:46ch; }
  .iwa-footer-v4__install { width:100%; max-width:340px; min-width:0; margin:20px auto 0; }
  .iwa-footer-v4__app small { text-align:center; }
}

/* Phones: the whole footer collapses to one column. */
@media (max-width:767.98px) {
  .rn-footer-area { padding:52px 0 24px !important; }
  .rn-footer-area .container { width:calc(100% - 32px); }
  .iwa-footer-v4 { grid-template-columns:1fr; gap:30px; padding:36px 0; }
  .iwa-footer-v4__brand,.iwa-footer-v4__nav,.iwa-footer-v4__app { grid-column:1/-1; }
  .iwa-footer-v4__app { padding:22px 18px; }
  .iwa-footer-v4__install { max-width:100%; }
}

@media (max-width:479.98px) { .iwa-footer-v4__brand,.iwa-footer-v4__app { grid-column:auto; } .iwa-footer-v4__bottom { align-items:flex-start; flex-direction:column; padding-top:18px; } }

/* ============================================================
   HOTFIX — full-device responsiveness hardening
   Public site: mobile / smartphone / tablet / laptop / desktop
   ============================================================ */
html, body {
  max-width: 100%;
  overflow-x: clip;
}

img, video, iframe, canvas, svg {
  max-width: 100%;
}

iframe, video {
  height: auto;
}

.main-page-wrapper,
.main-page-wrapper .container,
.main-page-wrapper .row,
.main-page-wrapper [class*="col-"],
.rn-header,
.rn-header .header-wrapper,
.rn-header .header-wrapper > [class*="col-"] {
  min-width: 0;
}

.main-page-wrapper table {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.main-page-wrapper pre,
.main-page-wrapper code,
.main-page-wrapper .rn-blog-card,
.main-page-wrapper .rn-portfolio,
.main-page-wrapper .course-inner,
.main-page-wrapper .course-details,
.main-page-wrapper .contact-about-area {
  overflow-wrap: anywhere;
}

@media (max-width: 991.98px) {
  .main-page-wrapper .rn-section-gap {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .main-page-wrapper .row {
    --bs-gutter-x: 1rem;
  }

  .main-page-wrapper .section-title,
  .main-page-wrapper .articles-header,
  .main-page-wrapper .ytc-head {
    text-align: center;
  }

  .main-page-wrapper .home-article-card,
  .main-page-wrapper .rn-blog-card,
  .main-page-wrapper .rn-portfolio,
  .main-page-wrapper .course-inner,
  .main-page-wrapper .course-details,
  .main-page-wrapper .contact-about-area,
  .main-page-wrapper .rn-file-card,
  .main-page-wrapper .resume-single-list,
  .main-page-wrapper .ytc-featured,
  .main-page-wrapper .ytc-list-card {
    border-radius: 18px;
  }
}

@media (max-width: 767.98px) {
  .main-page-wrapper .rn-section-gap {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .main-page-wrapper .section-title .title,
  .main-page-wrapper .articles-header .title,
  .main-page-wrapper .ytcs__title,
  .main-page-wrapper .ytc-head h2,
  .main-page-wrapper .course-title {
    font-size: clamp(24px, 7vw, 32px) !important;
    line-height: 1.22;
  }

  .main-page-wrapper .button-group,
  .main-page-wrapper .filter-bar,
  .main-page-wrapper .course-meta,
  .main-page-wrapper .home-article-meta {
    flex-wrap: wrap;
    gap: 10px;
  }

  .main-page-wrapper .rn-btn,
  .main-page-wrapper .course-enroll,
  .main-page-wrapper .dl-btn,
  .main-page-wrapper button,
  .main-page-wrapper input,
  .main-page-wrapper select,
  .main-page-wrapper textarea {
    max-width: 100%;
  }
}

@media (max-width: 575.98px) {
  .main-page-wrapper .container,
  .main-page-wrapper .container-fluid {
    padding-left: 14px;
    padding-right: 14px;
  }

  .main-page-wrapper .row {
    --bs-gutter-x: .75rem;
  }

  .main-page-wrapper .home-article-card,
  .main-page-wrapper .rn-blog-card,
  .main-page-wrapper .rn-portfolio,
  .main-page-wrapper .course-inner,
  .main-page-wrapper .course-details,
  .main-page-wrapper .contact-about-area,
  .main-page-wrapper .rn-file-card,
  .main-page-wrapper .resume-single-list,
  .main-page-wrapper .ytc-featured,
  .main-page-wrapper .ytc-list-card {
    border-radius: 16px;
  }
}

/* ===============================================================
   ROLE NAVIGATION
   The dock/rail now lives in assets/css/iwa-nav-dock.css, which is
   loaded from footer.php only for signed-in users. The single rule kept
   here retires the legacy right rail shipped inside custom.min.css.
================================================================== */
.admin-vertical-bar { display: none !important; }

/* ===============================================================
   FOOTER APP CARD — icon alignment fix
================================================================== */
.iwa-footer-v4__app { display: grid; justify-items: start; gap: 4px; }
.iwa-footer-v4__app-icon { margin-bottom: 12px; }
.iwa-footer-v4__app .iwa-footer-v4__heading { margin: 0; }
.iwa-footer-v4__app h3 { margin: 6px 0 8px; }

/* Copyright line is always centred on its own row. */
.iwa-footer-v4__bottom { justify-content: center; }
.footer-credit {
  display: block;
  width: 100%;
  margin: 0 auto;
  color: inherit;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
}

@media (max-width: 1180px) and (min-width: 992px) {
  .iwa-footer-v4__app { justify-items: stretch; align-items: center; }
  .iwa-footer-v4__app-icon { margin-bottom: 0; }
}

/* Tablet/mobile: keep the single-column, centred install card. */
@media (max-width: 991.98px) {
  .iwa-footer-v4__app { justify-items: center; }
  .iwa-footer-v4__app-icon { margin: 0 auto 14px; }
}

/* ===============================================================
   FOOTER ICONS — align + theme (dark/light) like the header
================================================================== */
.iwa-footer-v4__social a,
.iwa-footer-v4__contact-actions a,
.iwa-footer-v4__install {
  color: var(--public-heading, #f3f5f8);
  background: var(--public-surface, #1d2129);
  border-color: var(--public-border, rgba(255,255,255,.15));
}

.iwa-footer-v4__install {
  color: #fff;
  background: linear-gradient(135deg, #d70055, #f42e7a);
  border: 0;
}

/* Every footer icon renders on the same optical baseline. */
.iwa-footer-v4__social a i,
.iwa-footer-v4__social a svg,
.iwa-footer-v4__contact-actions a i,
.iwa-footer-v4__contact-actions a svg,
.iwa-footer-v4__nav a i,
.iwa-footer-v4__nav a svg,
.iwa-footer-v4__app-icon i,
.iwa-footer-v4__app-icon svg,
.iwa-footer-v4__install i,
.iwa-footer-v4__install svg,
.iwa-footer-v4__bottom i,
.iwa-footer-v4__bottom svg {
  display: block;
  flex: 0 0 auto;
  vertical-align: middle;
}

.iwa-footer-v4__social a { display: inline-flex; align-items: center; justify-content: center; }
.iwa-footer-v4__social a svg { width: 18px; height: 18px; }
.iwa-footer-v4__contact-actions a { align-items: center; line-height: 1.2; }
.iwa-footer-v4__contact-actions a svg { width: 16px; height: 16px; }
.iwa-footer-v4__nav a i { width: 17px; height: 17px; line-height: 0; }
.iwa-footer-v4__app-icon { display: inline-grid; place-items: center; }
.iwa-footer-v4__install { align-items: center; line-height: 1.2; }

/* Accent icons follow the active theme's primary colour. */
.iwa-footer-v4__contact-actions svg,
.iwa-footer-v4__nav a i,
.iwa-footer-v4__bottom svg { color: var(--public-primary, #ff6a9c); }

/* Footer logo plate matches the header logo treatment. */
.iwa-footer-v4__logo {
  background: var(--public-surface, #1e222b);
  border-color: var(--public-border, rgba(255,255,255,.13));
}
.iwa-footer-v4__logo img { transition: opacity .18s ease; }

html[data-theme="light"] .iwa-footer-v4__social a,
html[data-theme="light"] .iwa-footer-v4__contact-actions a,
html[data-theme="light"] .iwa-footer-v4__logo {
  color: var(--public-heading, #202734);
  background: var(--public-surface, #fff);
  border-color: var(--public-border, rgba(35,43,55,.14));
}

html[data-theme="light"] .iwa-footer-v4__social a svg { color: var(--public-heading, #202734); }

