/*
Theme Name: IPTV Kopen Cast
Theme URI: https://iptvkopencast.com/
Author: IPTV Kopen Cast
Author URI: https://iptvkopencast.com/
Description: Productieklaar, mobiel-eerst WordPress-thema voor IPTV Kopen Cast (Nederland). Telecom/Signaal-ontwerp met focus op stabiliteit, klantenservice en conversie. Snel, toegankelijk en SEO-vriendelijk.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: iptvkopencast
Tags: custom-colors, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ==========================================================================
   IPTV Kopen Cast — "Signaal" design system
   1.  Design tokens (CSS variables)
   2.  Reset & base
   3.  Layout helpers
   4.  Typography
   5.  Buttons & links
   6.  Header / navigation
   7.  Hero (signal dashboard)
   8.  Components (cards, trust, pricing, steps, faq, etc.)
   9.  Wave dividers & signal motifs
   10. Footer
   11. Blog / single / archive
   12. Forms
   13. Utilities & animations
   14. Responsive
   15. Accessibility / reduced motion
   ========================================================================== */

/* 1. DESIGN TOKENS ------------------------------------------------------- */
:root {
  /* Brand palette (derived from the logo: navy + orange) */
  --ikc-ink: #16264a;          /* primary headings, dark sections */
  --ikc-ink-deep: #0e1a33;     /* deepest navy */
  --ikc-ink-soft: #233a63;     /* secondary navy */
  --ikc-orange: #f26522;       /* primary action / brand signal */
  --ikc-orange-bright: #ff7a3d;/* hover */
  --ikc-orange-soft: #fff1ea;  /* orange tint background */

  --ikc-paper: #ffffff;
  --ikc-soft: #f5f7fb;         /* soft section background */
  --ikc-soft-2: #eef2f9;
  --ikc-body: #44546b;         /* body text slate */
  --ikc-muted: #6b7a93;        /* muted text */

  --ikc-success: #1e9e6a;
  --ikc-success-soft: #e8f6ef;
  --ikc-warning: #e6a700;
  --ikc-border: #e4e9f2;
  --ikc-whatsapp: #25d366;

  /* Shadows */
  --ikc-shadow-sm: 0 1px 2px rgba(16, 26, 51, .06);
  --ikc-shadow: 0 10px 30px rgba(16, 26, 51, .08);
  --ikc-shadow-lg: 0 24px 60px rgba(16, 26, 51, .14);

  /* Radii */
  --ikc-r-sm: 10px;
  --ikc-r: 16px;
  --ikc-r-lg: 22px;
  --ikc-r-pill: 999px;

  /* Spacing scale */
  --ikc-gap: clamp(1rem, 3vw, 2rem);
  --ikc-section-y: clamp(3.5rem, 7vw, 6.5rem);
  --ikc-container: 1180px;

  /* Type */
  --ikc-font-display: "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ikc-font-body: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --ikc-fs-h1: clamp(2.15rem, 5.2vw, 3.6rem);
  --ikc-fs-h2: clamp(1.65rem, 3.6vw, 2.5rem);
  --ikc-fs-h3: clamp(1.2rem, 2.2vw, 1.5rem);
  --ikc-lead: clamp(1.05rem, 1.6vw, 1.2rem);

  --ikc-header-h: 76px;
}

/* 2. RESET & BASE ------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  font-family: var(--ikc-font-body);
  font-size: 1.0625rem;          /* 17px base — comfortable on mobile */
  line-height: 1.7;
  color: var(--ikc-body);
  background: var(--ikc-paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

img { max-width: 100%; height: auto; display: block; }
svg { display: block; }
a { color: var(--ikc-orange); text-decoration: none; transition: color .18s ease; }
a:hover { color: var(--ikc-orange-bright); }
ul, ol { padding-left: 1.2em; }
hr { border: 0; border-top: 1px solid var(--ikc-border); margin: 2rem 0; }

::selection { background: var(--ikc-orange); color: #fff; }

/* 3. LAYOUT ------------------------------------------------------------- */
.ikc-container { width: 100%; max-width: var(--ikc-container); margin-inline: auto; padding-inline: clamp(1rem, 4vw, 2rem); }
.ikc-narrow { max-width: 820px; }
.ikc-section { padding-block: var(--ikc-section-y); position: relative; }
.ikc-section--soft { background: var(--ikc-soft); }
.ikc-section--ink { background: var(--ikc-ink); color: #d9e1f0; }
.ikc-section--ink h1,.ikc-section--ink h2,.ikc-section--ink h3 { color:#fff; }
.ikc-grid { display: grid; gap: var(--ikc-gap); }
.ikc-grid--2 { grid-template-columns: repeat(2, 1fr); }
.ikc-grid--3 { grid-template-columns: repeat(3, 1fr); }
.ikc-grid--4 { grid-template-columns: repeat(4, 1fr); }
.ikc-center { text-align: center; }
.ikc-eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  font-family: var(--ikc-font-display);
  font-size: .82rem; font-weight: 600; letter-spacing: .14em;
  text-transform: uppercase; color: var(--ikc-orange);
  margin: 0 0 .85rem;
}
.ikc-eyebrow::before { content: ""; width: 22px; height: 2px; background: var(--ikc-orange); border-radius: 2px; }
.ikc-section-head { max-width: 720px; margin-bottom: clamp(2rem, 4vw, 3rem); }
.ikc-center .ikc-section-head { margin-inline: auto; }
.ikc-section-head p { font-size: var(--ikc-lead); color: var(--ikc-muted); margin: 0; }

/* 4. TYPOGRAPHY --------------------------------------------------------- */
h1, h2, h3, h4, h5 { font-family: var(--ikc-font-display); color: var(--ikc-ink); line-height: 1.12; font-weight: 700; margin: 0 0 .6em; letter-spacing: -.01em; }
h1 { font-size: var(--ikc-fs-h1); }
h2 { font-size: var(--ikc-fs-h2); }
h3 { font-size: var(--ikc-fs-h3); }
p { margin: 0 0 1.1em; }
p:last-child { margin-bottom: 0; }
strong { color: var(--ikc-ink); font-weight: 600; }
.ikc-lead { font-size: var(--ikc-lead); color: var(--ikc-muted); }
mark { background: var(--ikc-orange-soft); color: var(--ikc-orange); padding: 0 .2em; border-radius: 4px; }

/* 5. BUTTONS ------------------------------------------------------------ */
.ikc-btn {
  --btn-bg: var(--ikc-orange);
  display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
  font-family: var(--ikc-font-display);
  font-weight: 600; font-size: 1.02rem; line-height: 1;
  padding: .95rem 1.6rem; border-radius: var(--ikc-r-pill);
  background: var(--btn-bg); color: #fff; border: 2px solid transparent;
  cursor: pointer; transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
  box-shadow: 0 8px 22px rgba(242, 101, 34, .28);
  text-align: center; min-height: 52px;
}
.ikc-btn:hover { background: var(--ikc-orange-bright); color:#fff; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(242,101,34,.34); }
.ikc-btn svg { width: 20px; height: 20px; }
.ikc-btn--ghost { background: transparent; color: var(--ikc-ink); border-color: var(--ikc-border); box-shadow: none; }
.ikc-btn--ghost:hover { background: var(--ikc-soft); color: var(--ikc-ink); border-color: var(--ikc-ink); box-shadow:none; }
.ikc-btn--ink { --btn-bg: var(--ikc-ink); box-shadow: 0 8px 22px rgba(16,26,51,.22); }
.ikc-btn--ink:hover { background: var(--ikc-ink-soft); }
.ikc-btn--wa { --btn-bg: var(--ikc-whatsapp); box-shadow: 0 8px 22px rgba(37,211,102,.30); }
.ikc-btn--wa:hover { background: #1fbf5c; box-shadow: 0 12px 28px rgba(37,211,102,.36); }
.ikc-btn--lg { padding: 1.1rem 2rem; font-size: 1.1rem; min-height: 58px; }
.ikc-btn--block { width: 100%; }

.ikc-cta-row { display: flex; flex-wrap: wrap; gap: .9rem; }
.ikc-cta-row--center { justify-content: center; }

/* 6. HEADER ------------------------------------------------------------- */
.ikc-skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 1000;
  background: var(--ikc-ink); color: #fff; padding: .8rem 1.2rem; border-radius: 0 0 var(--ikc-r-sm) 0;
}
.ikc-skip-link:focus { left: 0; color:#fff; }

.ikc-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,255,255,.88);
  backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--ikc-border);
  transition: box-shadow .2s ease;
}
.ikc-header.is-scrolled { box-shadow: var(--ikc-shadow); }
.ikc-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: var(--ikc-header-h); }
.ikc-logo { display: inline-flex; align-items: center; gap: .6rem; flex-shrink: 0; }
.ikc-logo img { height: 46px; width: auto; }
.ikc-logo__text { font-family: var(--ikc-font-display); font-weight: 700; color: var(--ikc-ink); font-size: 1.15rem; letter-spacing: -.01em; }

.ikc-nav { display: flex; align-items: center; gap: 1.6rem; }
.ikc-nav ul { display: flex; gap: 1.5rem; list-style: none; margin: 0; padding: 0; align-items: center; }
.ikc-nav a { font-family: var(--ikc-font-display); font-weight: 500; color: var(--ikc-ink); font-size: .98rem; position: relative; padding: .4rem 0; }
.ikc-nav a:hover, .ikc-nav .current-menu-item > a { color: var(--ikc-orange); }
.ikc-nav .current-menu-item > a::after { content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--ikc-orange); border-radius:2px; }
.ikc-nav .menu-item-has-children > a::after { content: ""; display:inline-block; width:7px; height:7px; margin-left:.4rem; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); }
.ikc-nav .sub-menu {
  position: absolute; top: 100%; left: 0; min-width: 220px;
  background: #fff; border: 1px solid var(--ikc-border); border-radius: var(--ikc-r); box-shadow: var(--ikc-shadow);
  padding: .5rem; display: block; flex-direction: column; gap: 0;
  opacity: 0; visibility: hidden; transform: translateY(8px); transition: all .18s ease;
}
.ikc-nav .menu-item-has-children { position: relative; }
.ikc-nav .menu-item-has-children:hover > .sub-menu,
.ikc-nav .menu-item-has-children:focus-within > .sub-menu { opacity:1; visibility:visible; transform: translateY(0); }
.ikc-nav .sub-menu li { width: 100%; }
.ikc-nav .sub-menu a { display:block; padding:.55rem .75rem; border-radius: var(--ikc-r-sm); }
.ikc-nav .sub-menu a:hover { background: var(--ikc-soft); }

.ikc-header__cta { display: flex; align-items: center; gap: .7rem; }
.ikc-burger { display: none; width: 46px; height: 46px; border: 1px solid var(--ikc-border); border-radius: var(--ikc-r-sm); background:#fff; cursor: pointer; align-items: center; justify-content: center; }
.ikc-burger span, .ikc-burger span::before, .ikc-burger span::after { content:""; display:block; width: 20px; height: 2px; background: var(--ikc-ink); border-radius: 2px; position: relative; transition: transform .2s ease, opacity .2s ease; }
.ikc-burger span::before { position:absolute; top:-6px; }
.ikc-burger span::after { position:absolute; top:6px; }
.ikc-burger[aria-expanded="true"] span { background: transparent; }
.ikc-burger[aria-expanded="true"] span::before { transform: translateY(6px) rotate(45deg); }
.ikc-burger[aria-expanded="true"] span::after { transform: translateY(-6px) rotate(-45deg); }

/* 7. HERO --------------------------------------------------------------- */
.ikc-hero { position: relative; padding-block: clamp(2.5rem, 6vw, 5rem); background: linear-gradient(180deg, #fff 0%, var(--ikc-soft) 100%); overflow: hidden; }
.ikc-hero__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.ikc-hero h1 { margin-bottom: .5rem; }
.ikc-hero h1 .ikc-accent { color: var(--ikc-orange); }
.ikc-hero__lead { font-size: var(--ikc-lead); color: var(--ikc-ink-soft); max-width: 38ch; }
.ikc-hero__trust { display: flex; flex-wrap: wrap; gap: 1.4rem; margin-top: 1.6rem; }
.ikc-hero__trust li { list-style: none; display:flex; align-items:center; gap:.5rem; font-weight: 600; color: var(--ikc-ink); font-size: .95rem; }
.ikc-hero__trust svg { width: 20px; height: 20px; color: var(--ikc-success); flex-shrink:0; }
.ikc-hero__cta { margin-top: 1.8rem; }

/* Signal dashboard card (inline SVG/CSS, no image) */
.ikc-dash {
  background: linear-gradient(160deg, var(--ikc-ink) 0%, var(--ikc-ink-deep) 100%);
  border-radius: var(--ikc-r-lg); padding: 1.4rem; color: #cdd8ee;
  box-shadow: var(--ikc-shadow-lg); position: relative; overflow: hidden;
}
.ikc-dash::after { content:""; position:absolute; inset:0; background: radial-gradient(420px 220px at 85% -10%, rgba(242,101,34,.28), transparent 70%); pointer-events:none; }
.ikc-dash__top { display:flex; align-items:center; justify-content:space-between; position: relative; z-index: 1; }
.ikc-dash__dot { width:10px; height:10px; border-radius:50%; background: var(--ikc-success); box-shadow: 0 0 0 4px rgba(30,158,106,.18); }
.ikc-dash__live { display:flex; align-items:center; gap:.5rem; font-family: var(--ikc-font-display); font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:#9fb0d0; }
.ikc-dash__title { font-family: var(--ikc-font-display); color:#fff; font-size:1.1rem; margin:.9rem 0 1.1rem; position:relative; z-index:1; }
.ikc-dash__stats { display:grid; grid-template-columns: repeat(2,1fr); gap:.8rem; position:relative; z-index:1; }
.ikc-dash__stat { background: rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius: var(--ikc-r); padding:.9rem 1rem; }
.ikc-dash__num { font-family: var(--ikc-font-display); font-size: 1.55rem; font-weight:700; color:#fff; line-height:1; }
.ikc-dash__num span { font-size:.95rem; color: var(--ikc-orange); }
.ikc-dash__label { font-size:.82rem; color:#9fb0d0; margin-top:.3rem; }
.ikc-bars { display:flex; align-items:flex-end; gap:4px; height:30px; margin-top:.6rem; }
.ikc-bars i { display:block; width:6px; border-radius:3px; background: var(--ikc-orange); opacity:.85; animation: ikc-pulse 1.6s ease-in-out infinite; }
.ikc-bars i:nth-child(1){height:40%;animation-delay:0s}
.ikc-bars i:nth-child(2){height:65%;animation-delay:.15s}
.ikc-bars i:nth-child(3){height:85%;animation-delay:.3s}
.ikc-bars i:nth-child(4){height:100%;animation-delay:.45s}
.ikc-bars i:nth-child(5){height:75%;animation-delay:.6s}
@keyframes ikc-pulse { 0%,100%{transform:scaleY(.7);opacity:.55} 50%{transform:scaleY(1);opacity:1} }
.ikc-dash__foot { margin-top:1.1rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.08); display:flex; align-items:center; justify-content:space-between; position:relative; z-index:1; font-size:.85rem; }

/* 8. COMPONENTS --------------------------------------------------------- */
/* Trust strip */
.ikc-trust-strip { display:grid; grid-template-columns: repeat(4,1fr); gap:1px; background: var(--ikc-border); border:1px solid var(--ikc-border); border-radius: var(--ikc-r); overflow:hidden; }
.ikc-trust-strip__item { background:#fff; padding:1.4rem 1.2rem; text-align:center; }
.ikc-trust-strip__num { font-family: var(--ikc-font-display); font-size: clamp(1.5rem,3vw,2rem); font-weight:700; color: var(--ikc-ink); line-height:1; }
.ikc-trust-strip__num span { color: var(--ikc-orange); }
.ikc-trust-strip__label { font-size:.86rem; color: var(--ikc-muted); margin-top:.35rem; }

/* Feature / value cards */
.ikc-card { background:#fff; border:1px solid var(--ikc-border); border-radius: var(--ikc-r); padding: 1.6rem; box-shadow: var(--ikc-shadow-sm); transition: transform .18s ease, box-shadow .2s ease, border-color .2s ease; }
.ikc-card:hover { transform: translateY(-4px); box-shadow: var(--ikc-shadow); border-color: #d5deec; }
.ikc-card__icon { width:52px; height:52px; border-radius: 14px; display:flex; align-items:center; justify-content:center; background: var(--ikc-orange-soft); color: var(--ikc-orange); margin-bottom:1rem; }
.ikc-card__icon svg { width:26px; height:26px; }
.ikc-card h3 { margin-bottom:.45rem; }
.ikc-card p { color: var(--ikc-body); margin:0; font-size:.98rem; }
.ikc-card--accent { border-left: 4px solid var(--ikc-orange); }

/* Device cards */
.ikc-device { background:#fff; border:1px solid var(--ikc-border); border-radius: var(--ikc-r); padding:1.3rem; text-align:center; transition: transform .18s ease, box-shadow .2s; }
.ikc-device:hover { transform: translateY(-4px); box-shadow: var(--ikc-shadow); }
.ikc-device svg { width:40px; height:40px; color: var(--ikc-ink); margin:0 auto .8rem; }
.ikc-device strong { display:block; color: var(--ikc-ink); font-family: var(--ikc-font-display); }
.ikc-device span { font-size:.85rem; color: var(--ikc-muted); }

/* Pricing — interactive selector */
.ikc-pricing { display:grid; grid-template-columns: 1fr 1.1fr; gap: clamp(1.5rem,4vw,3rem); align-items:center; }
.ikc-switch { display:inline-flex; background: var(--ikc-soft); border:1px solid var(--ikc-border); border-radius: var(--ikc-r-pill); padding:5px; gap:4px; flex-wrap:wrap; }
.ikc-switch button { font-family: var(--ikc-font-display); font-weight:600; font-size:.95rem; border:0; background:transparent; color: var(--ikc-ink-soft); padding:.6rem 1.1rem; border-radius: var(--ikc-r-pill); cursor:pointer; transition: all .18s ease; }
.ikc-switch button[aria-selected="true"] { background: var(--ikc-ink); color:#fff; box-shadow: var(--ikc-shadow-sm); }
.ikc-price-card { background:#fff; border:1px solid var(--ikc-border); border-radius: var(--ikc-r-lg); padding: clamp(1.6rem,3vw,2.2rem); box-shadow: var(--ikc-shadow); position:relative; overflow:hidden; }
.ikc-price-card::before { content:""; position:absolute; top:0; left:0; right:0; height:6px; background: linear-gradient(90deg, var(--ikc-orange), var(--ikc-orange-bright)); }
.ikc-price-card__badge { position:absolute; top:1.2rem; right:1.2rem; background: var(--ikc-success-soft); color: var(--ikc-success); font-weight:600; font-size:.78rem; padding:.3rem .7rem; border-radius: var(--ikc-r-pill); }
.ikc-price-card__dur { font-family: var(--ikc-font-display); color: var(--ikc-muted); font-weight:600; }
.ikc-price-card__amount { font-family: var(--ikc-font-display); font-size: clamp(2.6rem,7vw,3.6rem); font-weight:700; color: var(--ikc-ink); line-height:1; margin:.4rem 0; }
.ikc-price-card__amount .ikc-cur { color: var(--ikc-orange); font-size:.5em; vertical-align: top; }
.ikc-price-card__per { color: var(--ikc-muted); font-size:.95rem; }
.ikc-price-card ul { list-style:none; padding:0; margin:1.3rem 0; display:grid; gap:.7rem; }
.ikc-price-card li { display:flex; gap:.6rem; align-items:flex-start; font-size:.97rem; }
.ikc-price-card li svg { width:20px; height:20px; color: var(--ikc-success); flex-shrink:0; margin-top:2px; }

/* Steps */
.ikc-steps { counter-reset: step; display:grid; gap:1.2rem; }
.ikc-step { background:#fff; border:1px solid var(--ikc-border); border-radius: var(--ikc-r); padding:1.5rem 1.5rem 1.5rem 4.6rem; position:relative; }
.ikc-step::before { counter-increment: step; content: counter(step); position:absolute; left:1.3rem; top:1.4rem; width:42px; height:42px; border-radius:12px; background: var(--ikc-ink); color:#fff; font-family: var(--ikc-font-display); font-weight:700; display:flex; align-items:center; justify-content:center; font-size:1.15rem; }
.ikc-step h3 { margin-bottom:.3rem; }
.ikc-step p { margin:0; font-size:.97rem; }

/* FAQ accordion */
.ikc-faq { display:grid; gap:.8rem; }
.ikc-faq__item { border:1px solid var(--ikc-border); border-radius: var(--ikc-r); background:#fff; overflow:hidden; }
.ikc-faq__q { width:100%; text-align:left; background:transparent; border:0; cursor:pointer; padding:1.2rem 1.4rem; font-family: var(--ikc-font-display); font-weight:600; font-size:1.05rem; color: var(--ikc-ink); display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.ikc-faq__q:hover { color: var(--ikc-orange); }
.ikc-faq__icon { flex-shrink:0; width:26px; height:26px; border-radius:50%; background: var(--ikc-orange-soft); position:relative; transition: background .2s; }
.ikc-faq__icon::before, .ikc-faq__icon::after { content:""; position:absolute; background: var(--ikc-orange); border-radius:2px; top:50%; left:50%; transform: translate(-50%,-50%); }
.ikc-faq__icon::before { width:12px; height:2px; }
.ikc-faq__icon::after { width:2px; height:12px; transition: transform .2s ease; }
.ikc-faq__q[aria-expanded="true"] .ikc-faq__icon::after { transform: translate(-50%,-50%) rotate(90deg); opacity:0; }
.ikc-faq__a { max-height:0; overflow:hidden; transition: max-height .28s ease; }
.ikc-faq__a-inner { padding: 0 1.4rem 1.3rem; color: var(--ikc-body); }

/* Customer scenario cards (instead of fake reviews) */
.ikc-scenario { background:#fff; border:1px solid var(--ikc-border); border-radius: var(--ikc-r); padding:1.6rem; position:relative; }
.ikc-scenario__quote { font-size:1.02rem; color: var(--ikc-ink); margin-bottom:1rem; }
.ikc-scenario__meta { display:flex; align-items:center; gap:.8rem; }
.ikc-scenario__avatar { width:42px; height:42px; border-radius:50%; background: linear-gradient(135deg,var(--ikc-ink),var(--ikc-orange)); color:#fff; display:flex; align-items:center; justify-content:center; font-family: var(--ikc-font-display); font-weight:700; }
.ikc-scenario__name { font-family: var(--ikc-font-display); font-weight:600; color: var(--ikc-ink); font-size:.95rem; }
.ikc-scenario__role { font-size:.83rem; color: var(--ikc-muted); }
.ikc-tag { display:inline-block; font-size:.74rem; font-weight:600; color: var(--ikc-orange); background: var(--ikc-orange-soft); padding:.2rem .6rem; border-radius: var(--ikc-r-pill); margin-bottom:.8rem; }

/* Support / WhatsApp card */
.ikc-support-card { background: linear-gradient(160deg, var(--ikc-ink), var(--ikc-ink-deep)); color:#cdd8ee; border-radius: var(--ikc-r-lg); padding: clamp(1.6rem,4vw,2.6rem); }
.ikc-support-card h2, .ikc-support-card h3 { color:#fff; }
.ikc-support-card__list { list-style:none; padding:0; margin:1.2rem 0; display:grid; gap:.8rem; }
.ikc-support-card__list li { display:flex; gap:.7rem; align-items:center; }
.ikc-support-card__list svg { width:22px; height:22px; color: var(--ikc-orange); flex-shrink:0; }

/* Comparison table */
.ikc-table-wrap { overflow-x:auto; border:1px solid var(--ikc-border); border-radius: var(--ikc-r); }
.ikc-table { width:100%; border-collapse: collapse; min-width: 520px; }
.ikc-table th, .ikc-table td { padding:1rem 1.1rem; text-align:left; border-bottom:1px solid var(--ikc-border); }
.ikc-table th { font-family: var(--ikc-font-display); color: var(--ikc-ink); background: var(--ikc-soft); font-size:.95rem; }
.ikc-table td { color: var(--ikc-body); font-size:.97rem; }
.ikc-table tr:last-child td { border-bottom:0; }
.ikc-table .ikc-yes { color: var(--ikc-success); font-weight:600; }
.ikc-table .ikc-no { color: var(--ikc-muted); }

/* Guarantee banner */
.ikc-guarantee { display:flex; gap:1.4rem; align-items:center; background: var(--ikc-success-soft); border:1px solid #cdeede; border-radius: var(--ikc-r-lg); padding: clamp(1.4rem,3vw,2rem); }
.ikc-guarantee__seal { flex-shrink:0; width:74px; height:74px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; box-shadow: var(--ikc-shadow-sm); }
.ikc-guarantee__seal svg { width:38px; height:38px; color: var(--ikc-success); }
.ikc-guarantee h3 { color: var(--ikc-ink); margin-bottom:.3rem; }
.ikc-guarantee p { margin:0; color: var(--ikc-ink-soft); }

/* Final CTA banner */
.ikc-cta-banner { background: linear-gradient(135deg, var(--ikc-orange) 0%, #d8531a 100%); border-radius: var(--ikc-r-lg); padding: clamp(2rem,5vw,3.2rem); text-align:center; color:#fff; position:relative; overflow:hidden; }
.ikc-cta-banner::after { content:""; position:absolute; inset:0; background: radial-gradient(500px 260px at 50% 120%, rgba(255,255,255,.22), transparent 70%); }
.ikc-cta-banner h2 { color:#fff; position:relative; z-index:1; }
.ikc-cta-banner p { color: rgba(255,255,255,.92); position:relative; z-index:1; max-width:46ch; margin:0 auto 1.6rem; }
.ikc-cta-banner .ikc-cta-row { position:relative; z-index:1; }
.ikc-cta-banner .ikc-btn--ghost { color:#fff; border-color: rgba(255,255,255,.6); }
.ikc-cta-banner .ikc-btn--ghost:hover { background: rgba(255,255,255,.14); border-color:#fff; }
.ikc-cta-banner .ikc-btn--wa { box-shadow: 0 10px 26px rgba(0,0,0,.18); }

/* Stats strip on ink */
.ikc-stat-ink { text-align:center; }
.ikc-stat-ink__num { font-family: var(--ikc-font-display); font-size: clamp(2rem,5vw,3rem); font-weight:700; color:#fff; }
.ikc-stat-ink__num span { color: var(--ikc-orange); }
.ikc-stat-ink__label { color:#9fb0d0; font-size:.95rem; }

/* Content showcase tiles */
.ikc-tile { position:relative; border-radius: var(--ikc-r-lg); overflow:hidden; min-height: 260px; display:flex; align-items:flex-end; color:#fff; background: var(--ikc-ink); }
.ikc-tile img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.62; }
.ikc-tile__overlay { position:relative; z-index:1; padding:1.5rem; background: linear-gradient(0deg, rgba(14,26,51,.92), transparent); width:100%; }
.ikc-tile h3 { color:#fff; margin-bottom:.3rem; }
.ikc-tile p { color: rgba(255,255,255,.85); margin:0; font-size:.92rem; }

/* 9. WAVE DIVIDERS & MOTIFS --------------------------------------------- */
.ikc-wave { display:block; width:100%; height:auto; line-height:0; }
.ikc-wave svg { width:100%; height:60px; }
.ikc-signal-bg { position:absolute; inset:0; pointer-events:none; opacity:.5; z-index:0; }
.ikc-section > .ikc-container { position: relative; z-index: 1; }

/* 10. FOOTER ------------------------------------------------------------ */
.ikc-footer { background: var(--ikc-ink-deep); color:#9fb0d0; padding-top: clamp(3rem,6vw,4.5rem); }
.ikc-footer a { color:#c4d0e6; }
.ikc-footer a:hover { color: var(--ikc-orange); }
.ikc-footer__top { display:grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap:2rem; padding-bottom:2.5rem; border-bottom:1px solid rgba(255,255,255,.08); }
.ikc-footer__brand img { height:48px; margin-bottom:1rem; background:#fff; padding:.4rem .6rem; border-radius:10px; }
.ikc-footer__brand p { color:#9fb0d0; font-size:.95rem; max-width: 34ch; }
.ikc-footer h4 { color:#fff; font-size:1rem; margin-bottom:1rem; }
.ikc-footer ul { list-style:none; padding:0; margin:0; display:grid; gap:.6rem; }
.ikc-footer ul a { font-size:.94rem; }
.ikc-footer__contact li { display:flex; gap:.6rem; align-items:flex-start; font-size:.94rem; margin-bottom:.6rem; }
.ikc-footer__contact svg { width:18px; height:18px; color: var(--ikc-orange); flex-shrink:0; margin-top:3px; }
.ikc-footer__bottom { display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center; padding-block:1.5rem; font-size:.86rem; }
.ikc-footer__legal { display:flex; flex-wrap:wrap; gap:1.1rem; }
.ikc-footer__legal a { color:#8294b3; }
.ikc-footer__disclaimer { background: rgba(0,0,0,.25); padding:1.1rem 0; font-size:.82rem; color:#76869f; }

/* Sticky mobile CTA bar */
.ikc-mobile-cta { position: fixed; bottom: 0; left:0; right:0; z-index:90; display:none; gap:.6rem; padding:.65rem .8rem calc(.65rem + env(safe-area-inset-bottom)); background: rgba(255,255,255,.96); backdrop-filter: blur(10px); border-top:1px solid var(--ikc-border); box-shadow: 0 -6px 24px rgba(16,26,51,.1); }
.ikc-mobile-cta .ikc-btn { flex:1; min-height:48px; padding:.7rem 1rem; font-size:.95rem; }

/* Floating WhatsApp bubble (desktop) */
.ikc-wa-float { position: fixed; right: 22px; bottom: 22px; z-index:80; width:58px; height:58px; border-radius:50%; background: var(--ikc-whatsapp); display:flex; align-items:center; justify-content:center; box-shadow: 0 10px 26px rgba(37,211,102,.4); transition: transform .2s; }
.ikc-wa-float:hover { transform: scale(1.07); }
.ikc-wa-float svg { width:30px; height:30px; color:#fff; }

/* 11. BLOG / SINGLE / ARCHIVE ------------------------------------------- */
.ikc-page-hero { background: linear-gradient(180deg,#fff, var(--ikc-soft)); padding-block: clamp(2.5rem,5vw,4rem); border-bottom:1px solid var(--ikc-border); }
.ikc-page-hero h1 { margin-bottom:.5rem; }
.ikc-breadcrumbs { font-size:.85rem; color: var(--ikc-muted); margin-bottom:1rem; }
.ikc-breadcrumbs a { color: var(--ikc-muted); }
.ikc-breadcrumbs a:hover { color: var(--ikc-orange); }
.ikc-breadcrumbs span[aria-current] { color: var(--ikc-ink); font-weight:600; }

.ikc-blog-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: var(--ikc-gap); }
.ikc-post-card { background:#fff; border:1px solid var(--ikc-border); border-radius: var(--ikc-r); overflow:hidden; display:flex; flex-direction:column; transition: transform .18s ease, box-shadow .2s; }
.ikc-post-card:hover { transform: translateY(-4px); box-shadow: var(--ikc-shadow); }
.ikc-post-card__thumb { aspect-ratio: 16/10; background: var(--ikc-soft-2); overflow:hidden; }
.ikc-post-card__thumb img { width:100%; height:100%; object-fit:cover; }
.ikc-post-card__body { padding:1.3rem; display:flex; flex-direction:column; flex:1; }
.ikc-post-card__cat { font-size:.78rem; font-weight:600; color: var(--ikc-orange); text-transform:uppercase; letter-spacing:.06em; margin-bottom:.5rem; }
.ikc-post-card h3 { font-size:1.18rem; margin-bottom:.5rem; }
.ikc-post-card h3 a { color: var(--ikc-ink); }
.ikc-post-card h3 a:hover { color: var(--ikc-orange); }
.ikc-post-card__excerpt { font-size:.94rem; color: var(--ikc-body); margin-bottom:1rem; flex:1; }
.ikc-post-card__meta { font-size:.83rem; color: var(--ikc-muted); display:flex; gap:.8rem; }

.ikc-article { max-width: 760px; margin-inline:auto; }
.ikc-article__hero img { border-radius: var(--ikc-r-lg); margin-bottom:1.6rem; }
.ikc-article__meta { display:flex; flex-wrap:wrap; gap:1rem; color: var(--ikc-muted); font-size:.9rem; margin-bottom:1.4rem; }
.ikc-article .entry-content { font-size:1.08rem; }
.ikc-article .entry-content h2 { margin-top:2rem; }
.ikc-article .entry-content h3 { margin-top:1.6rem; }
.ikc-article .entry-content img { border-radius: var(--ikc-r); margin:1.5rem 0; }
.ikc-article .entry-content blockquote { border-left:4px solid var(--ikc-orange); margin:1.5rem 0; padding:.6rem 1.4rem; background: var(--ikc-soft); border-radius:0 var(--ikc-r-sm) var(--ikc-r-sm) 0; color: var(--ikc-ink); font-style:italic; }
.ikc-article .entry-content ul li, .ikc-article .entry-content ol li { margin-bottom:.5rem; }

.ikc-layout { display:grid; grid-template-columns: 1fr 320px; gap: clamp(1.6rem,4vw,3rem); align-items:start; }
.ikc-sidebar { position: sticky; top: calc(var(--ikc-header-h) + 16px); display:grid; gap:1.5rem; }
.ikc-widget { background:#fff; border:1px solid var(--ikc-border); border-radius: var(--ikc-r); padding:1.4rem; }
.ikc-widget h3, .ikc-widget .widget-title { font-size:1.05rem; margin-bottom:1rem; }
.ikc-widget ul { list-style:none; padding:0; margin:0; display:grid; gap:.6rem; }

.ikc-pagination { display:flex; gap:.5rem; justify-content:center; margin-top:3rem; flex-wrap:wrap; }
.ikc-pagination a, .ikc-pagination span { display:inline-flex; align-items:center; justify-content:center; min-width:44px; height:44px; padding:0 .8rem; border-radius: var(--ikc-r-sm); border:1px solid var(--ikc-border); background:#fff; color: var(--ikc-ink); font-family: var(--ikc-font-display); font-weight:600; }
.ikc-pagination a:hover { border-color: var(--ikc-orange); color: var(--ikc-orange); }
.ikc-pagination .current { background: var(--ikc-ink); color:#fff; border-color: var(--ikc-ink); }

/* Last-updated box (legal pages) */
.ikc-updated { display:inline-flex; gap:.5rem; align-items:center; background: var(--ikc-soft); border:1px solid var(--ikc-border); border-radius: var(--ikc-r-pill); padding:.45rem 1rem; font-size:.85rem; color: var(--ikc-muted); margin-bottom:1.5rem; }
.ikc-legal h2 { margin-top:2rem; }
.ikc-legal { font-size:1.04rem; }

/* 12. FORMS ------------------------------------------------------------- */
.ikc-form { display:grid; gap:1.1rem; }
.ikc-field { display:grid; gap:.4rem; }
.ikc-field label { font-family: var(--ikc-font-display); font-weight:600; color: var(--ikc-ink); font-size:.95rem; }
.ikc-field input, .ikc-field textarea, .ikc-field select {
  width:100%; padding:.85rem 1rem; border:1px solid var(--ikc-border); border-radius: var(--ikc-r-sm);
  font-family: var(--ikc-font-body); font-size:1rem; color: var(--ikc-ink); background:#fff; min-height:52px;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.ikc-field textarea { min-height:140px; resize:vertical; }
.ikc-field input:focus, .ikc-field textarea:focus, .ikc-field select:focus { outline:none; border-color: var(--ikc-orange); box-shadow: 0 0 0 3px rgba(242,101,34,.15); }
.ikc-form__note { font-size:.85rem; color: var(--ikc-muted); }
.searchform { display:flex; gap:.5rem; }
.searchform input[type="search"] { flex:1; padding:.8rem 1rem; border:1px solid var(--ikc-border); border-radius: var(--ikc-r-sm); min-height:50px; }

/* 13. UTILITIES & ANIMATIONS -------------------------------------------- */
.ikc-mt-0{margin-top:0}.ikc-mb-0{margin-bottom:0}
.ikc-mt-1{margin-top:1rem}.ikc-mt-2{margin-top:2rem}.ikc-mt-3{margin-top:3rem}
.ikc-mb-1{margin-bottom:1rem}.ikc-mb-2{margin-bottom:2rem}
.ikc-flex{display:flex}.ikc-wrap{flex-wrap:wrap}.ikc-gap{gap:1rem}.ikc-items-center{align-items:center}.ikc-justify-between{justify-content:space-between}
.ikc-hidden{display:none}
.ikc-reveal { opacity:0; transform: translateY(22px); transition: opacity .6s ease, transform .6s ease; }
.ikc-reveal.is-visible { opacity:1; transform:none; }
.ikc-prose > * + * { margin-top: 1.1em; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* 14. RESPONSIVE -------------------------------------------------------- */
@media (max-width: 980px) {
  .ikc-hero__grid { grid-template-columns: 1fr; }
  .ikc-pricing { grid-template-columns: 1fr; }
  .ikc-layout { grid-template-columns: 1fr; }
  .ikc-sidebar { position: static; }
  .ikc-footer__top { grid-template-columns: 1fr 1fr; }
  .ikc-blog-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 820px) {
  .ikc-nav { position: fixed; inset: var(--ikc-header-h) 0 0 0; background:#fff; flex-direction:column; align-items:stretch; gap:0; padding:1rem; transform: translateX(100%); transition: transform .26s ease; overflow-y:auto; z-index:99; }
  .ikc-nav.is-open { transform: translateX(0); }
  .ikc-nav ul { flex-direction:column; gap:0; align-items:stretch; width:100%; }
  .ikc-nav li { border-bottom:1px solid var(--ikc-border); }
  .ikc-nav a { display:block; padding:1rem .4rem; font-size:1.05rem; }
  .ikc-nav .sub-menu { position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; padding:0 0 .5rem 1rem; }
  .ikc-burger { display:flex; }
  .ikc-header__cta .ikc-btn--header { display:none; }
  .ikc-grid--2, .ikc-grid--3, .ikc-grid--4 { grid-template-columns: 1fr; }
  .ikc-trust-strip { grid-template-columns: repeat(2,1fr); }
  .ikc-mobile-cta { display:flex; }
  .ikc-wa-float { display:none; }
  body { padding-bottom: 76px; }
  .ikc-footer__top { grid-template-columns: 1fr; }
  .ikc-blog-grid { grid-template-columns: 1fr; }
  .ikc-guarantee { flex-direction:column; text-align:center; }
}
@media (max-width: 520px) {
  .ikc-dash__stats { grid-template-columns: 1fr 1fr; }
  .ikc-cta-row { flex-direction:column; }
  .ikc-cta-row .ikc-btn { width:100%; }
}

/* 15. ACCESSIBILITY / REDUCED MOTION ------------------------------------ */
:focus-visible { outline: 3px solid var(--ikc-orange); outline-offset: 2px; border-radius: 4px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .ikc-reveal { opacity:1; transform:none; }
  .ikc-bars i { animation: none; }
}

/* WordPress core alignment & captions */
.alignleft{float:left;margin:0 1.5rem 1rem 0}.alignright{float:right;margin:0 0 1rem 1.5rem}.aligncenter{margin-inline:auto;display:block}
.wp-caption{max-width:100%}.wp-caption-text{font-size:.85rem;color:var(--ikc-muted);text-align:center;margin-top:.4rem}
.sticky,.gallery-caption{display:block}.bypostauthor{display:block}
.comment-list{list-style:none;padding:0}
