/* =========================================================================
   IPTV Canada Premium – design system (dark Filma style, gold + silver)
   ========================================================================= */
:root {
	--icp-bg: #0b0b0c;
	--icp-bg-2: #0f0f11;
	--icp-surface: #141416;
	--icp-surface-2: #1a1a1d;
	--icp-border: rgba(255, 255, 255, 0.09);
	--icp-border-strong: rgba(255, 255, 255, 0.16);
	--icp-text: #c4c6c7;
	--icp-muted: #8d9091;
	--icp-heading: #ffffff;
	--icp-gold: #ffc200;
	--icp-gold-2: #ffd54d;
	--icp-gold-dark: #d9a400;
	--icp-silver: #9b9e9f;
	--icp-silver-2: #d6d8d9;
	--icp-radius: 14px;
	--icp-radius-sm: 10px;
	--icp-font-head: "Fira Sans Condensed", "Arial Narrow", Arial, sans-serif;
	--icp-font-body: "Open Sans", Arial, sans-serif;
	--icp-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
}

html { scroll-behavior: smooth; background: var(--icp-bg); }
body, body.elementor-kit-6 {
	background: var(--icp-bg) !important;
	color: var(--icp-text);
	font-family: var(--icp-font-body);
	-webkit-font-smoothing: antialiased;
}
a { color: var(--icp-gold); }
a:hover, a:focus { color: var(--icp-gold-2); }
::selection { background: var(--icp-gold); color: #000; }
h1, h2, h3, h4, h5, h6 { font-family: var(--icp-font-head); color: var(--icp-heading); line-height: 1.18; }
:focus-visible { outline: 2px solid var(--icp-gold); outline-offset: 3px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
img { max-width: 100%; height: auto; }

/* ---------- Sections ---------- */
.icp-sec { position: relative; }
.icp-sec--alt { background: var(--icp-bg-2); }
.icp-sec--line { border-top: 1px solid var(--icp-border); }
.icp-eyebrow, .icp-eyebrow .elementor-heading-title {
	display: inline-block;
	font-family: var(--icp-font-body) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--icp-gold) !important;
	margin: 0 0 4px;
}
.icp-center { text-align: center; }
.icp-lead, .icp-lead p { font-size: 18px; line-height: 1.7; color: #d0d2d3; }
.icp-prose { font-size: 16.5px; line-height: 1.8; }
.icp-prose h2 { font-size: clamp(26px, 3vw, 36px); margin: 1.6em 0 0.5em; }
.icp-prose h3 { font-size: clamp(21px, 2.2vw, 26px); margin: 1.4em 0 0.4em; color: #fff; }
.icp-prose p { margin: 0 0 1.1em; }
.icp-prose ul, .icp-prose ol { margin: 0 0 1.2em 1.2em; padding: 0; }
.icp-prose li { margin: 0 0 0.5em; }
.icp-prose strong { color: #fff; }
.icp-prose a { text-decoration: underline; text-underline-offset: 3px; }
.icp-prose > *:first-child { margin-top: 0; }
.icp-prose table { width: 100%; border-collapse: collapse; margin: 0 0 1.4em; font-size: 15px; }
.icp-prose th, .icp-prose td { border: 1px solid var(--icp-border); padding: 12px 14px; text-align: left; vertical-align: top; }
.icp-prose thead th { background: var(--icp-surface-2); color: #fff; font-family: var(--icp-font-head); font-size: 16px; }
.icp-prose tbody tr:nth-child(even) { background: rgba(255, 255, 255, 0.02); }
.icp-note {
	border: 1px solid rgba(255, 194, 0, 0.35);
	background: rgba(255, 194, 0, 0.06);
	border-radius: var(--icp-radius-sm);
	padding: 16px 18px;
	margin: 0 0 1.4em;
	color: #e8e8e8;
}
.icp-note strong { color: var(--icp-gold); }

/* Elementor heading widgets inside sections */
.icp-h2 .elementor-heading-title { font-size: clamp(30px, 3.6vw, 46px) !important; }
.icp-h1 .elementor-heading-title { font-size: clamp(38px, 5.4vw, 68px) !important; letter-spacing: -0.01em; }
.icp-h1 .elementor-heading-title, .icp-h2 .elementor-heading-title { color: #fff; }
.icp-h1 .elementor-heading-title em, .icp-h2 .elementor-heading-title em { font-style: normal; color: var(--icp-gold); }

/* ---------- Buttons ---------- */
.icp-btn, .icp-btns a, .elementor-button.icp-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	font-family: var(--icp-font-body); font-weight: 700; font-size: 15px; line-height: 1;
	padding: 15px 26px; border-radius: 8px; border: 2px solid transparent;
	text-decoration: none !important; cursor: pointer; transition: transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.icp-btn--gold { background: var(--icp-gold); color: #0b0b0c !important; box-shadow: 0 8px 24px rgba(255, 194, 0, 0.22); }
.icp-btn--gold:hover, .icp-btn--gold:focus { background: var(--icp-gold-2); color: #000 !important; transform: translateY(-2px); }
.icp-btn--silver { background: transparent; color: #fff !important; border-color: var(--icp-silver); }
.icp-btn--silver:hover, .icp-btn--silver:focus { background: var(--icp-silver); color: #0b0b0c !important; }
.icp-btn--ghost { background: transparent; color: #fff !important; border-color: var(--icp-border-strong); }
.icp-btn--ghost:hover, .icp-btn--ghost:focus { border-color: var(--icp-gold); color: var(--icp-gold) !important; }
.icp-btns { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 8px; }
.icp-btns.is-center { justify-content: center; }
.icp-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--icp-gold); text-decoration: none; }
.icp-link:hover .icp-ico { transform: translateX(3px); }
.icp-link .icp-ico { transition: transform .2s ease; }

/* ---------- Hero ---------- */
.icp-hero { overflow: hidden; }
.icp-hero::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background:
		radial-gradient(900px 480px at 85% 10%, rgba(255, 194, 0, 0.13), transparent 60%),
		radial-gradient(700px 420px at 0% 100%, rgba(155, 158, 159, 0.10), transparent 60%);
}
.icp-hero::after {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .35;
	background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
	background-size: 46px 46px;
	mask-image: linear-gradient(to bottom, #000, transparent 85%);
	-webkit-mask-image: linear-gradient(to bottom, #000, transparent 85%);
}
.icp-hero > .e-con-inner, .icp-hero > * { position: relative; z-index: 1; }
.icp-hero--page { border-bottom: 1px solid var(--icp-border); }
.icp-hero-points { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; }
.icp-hero-points li { display: flex; align-items: center; gap: 8px; color: #e1e2e3; font-size: 15px; }
.icp-hero-points .icp-ico { color: var(--icp-gold); }
.icp-hero-art { position: relative; max-width: 560px; margin-left: auto; }
.icp-hero-svg { width: 100%; height: auto; display: block; filter: drop-shadow(0 30px 60px rgba(0,0,0,.6)); }
.icp-chip {
	position: absolute; display: flex; align-items: center; gap: 10px;
	background: rgba(20, 20, 22, 0.92); border: 1px solid var(--icp-border-strong);
	border-radius: 999px; padding: 10px 16px; color: #e8e8e8; font-size: 14px;
	box-shadow: var(--icp-shadow); backdrop-filter: blur(6px);
}
.icp-chip strong { color: #fff; font-family: var(--icp-font-head); font-size: 17px; }
.icp-chip .icp-ico { color: var(--icp-gold); }
.icp-chip--a { left: -6px; bottom: 54px; }
.icp-chip--b { right: -6px; top: 6px; }

/* Breadcrumbs */
.icp-crumbs { font-size: 14px; color: var(--icp-muted); margin-bottom: 6px; }
.icp-crumbs a { color: var(--icp-silver-2); text-decoration: none; }
.icp-crumbs a:hover { color: var(--icp-gold); }
.icp-crumbs .separator { color: var(--icp-gold); margin: 0 6px; }
.icp-crumbs .last { color: var(--icp-gold); }

/* ---------- Cards ---------- */
.icp-cards { display: grid; gap: 22px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.icp-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.icp-cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.icp-card {
	background: var(--icp-surface); border: 1px solid var(--icp-border); border-radius: var(--icp-radius);
	padding: 28px 26px; transition: border-color .2s ease, transform .2s ease;
}
.icp-card:hover { border-color: rgba(255, 194, 0, 0.45); transform: translateY(-3px); }
.icp-card h3 { font-size: 22px; margin: 14px 0 8px; }
.icp-card p { margin: 0; line-height: 1.65; font-size: 15.5px; }
.icp-card p + p { margin-top: 10px; }
.icp-card-ico {
	display: inline-flex; width: 54px; height: 54px; border-radius: 12px; align-items: center; justify-content: center;
	background: rgba(255, 194, 0, 0.1); color: var(--icp-gold); border: 1px solid rgba(255, 194, 0, 0.25);
}
.icp-card--link { display: block; text-decoration: none !important; color: var(--icp-text); }
.icp-card--link .icp-link { margin-top: 14px; }
.icp-card .icp-link { margin-top: 12px; }

/* Stats band */
.icp-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; background: var(--icp-surface); border: 1px solid var(--icp-border); border-radius: var(--icp-radius); padding: 34px 20px; }
.icp-stat { text-align: center; padding: 6px 10px; }
.icp-stat + .icp-stat { border-left: 1px solid var(--icp-border); }
.icp-stat-num { display: block; font-family: var(--icp-font-head); font-weight: 700; font-size: clamp(30px, 3.4vw, 46px); color: #fff; line-height: 1.1; }
.icp-stat-num span { color: var(--icp-gold); }
.icp-stat-label { display: block; margin-top: 6px; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--icp-gold); font-weight: 700; }

/* Steps */
.icp-steps { counter-reset: icpstep; display: grid; gap: 16px; }
.icp-steps.is-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.icp-step {
	position: relative; background: var(--icp-surface); border: 1px solid var(--icp-border); border-radius: var(--icp-radius);
	padding: 24px 24px 22px 84px; counter-increment: icpstep;
}
.icp-step::before {
	content: counter(icpstep); position: absolute; left: 22px; top: 22px; width: 44px; height: 44px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; background: var(--icp-gold); color: #0b0b0c;
	font-family: var(--icp-font-head); font-weight: 700; font-size: 20px;
}
.icp-steps.is-grid .icp-step { padding: 76px 24px 24px; }
.icp-step h3 { font-size: 21px; margin: 0 0 8px; }
.icp-step p { margin: 0 0 8px; line-height: 1.7; }
.icp-step p:last-child, .icp-step ul:last-child { margin-bottom: 0; }
.icp-step ul { margin: 6px 0 0 1.1em; padding: 0; }
.icp-step code, .icp-prose code {
	background: rgba(255, 194, 0, 0.12); color: var(--icp-gold-2); border-radius: 6px; padding: 2px 7px; font-size: .92em;
}

/* Checklist */
.icp-checklist { list-style: none; margin: 0 0 1.2em; padding: 0; display: grid; gap: 10px; }
.icp-checklist li { position: relative; padding-left: 32px; line-height: 1.6; }
.icp-checklist li::before {
	content: ""; position: absolute; left: 0; top: 3px; width: 20px; height: 20px; border-radius: 50%;
	background: var(--icp-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b0b0c' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.icp-checklist.is-2col { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 26px; }

/* FAQ */
.icp-faq { display: grid; gap: 12px; }
.icp-faq details { background: var(--icp-surface); border: 1px solid var(--icp-border); border-radius: var(--icp-radius-sm); transition: border-color .2s ease; }
.icp-faq details[open] { border-color: rgba(255, 194, 0, 0.45); }
.icp-faq summary {
	list-style: none; cursor: pointer; padding: 18px 56px 18px 22px; position: relative;
	font-family: var(--icp-font-head); font-size: 19px; font-weight: 600; color: #fff;
}
.icp-faq summary::-webkit-details-marker { display: none; }
.icp-faq summary::after {
	content: "+"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%);
	width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--icp-border-strong);
	display: flex; align-items: center; justify-content: center; color: var(--icp-gold); font-size: 20px; line-height: 1;
}
.icp-faq details[open] summary::after { content: "–"; }
.icp-faq .icp-faq-a { padding: 0 22px 20px; line-height: 1.75; }
.icp-faq .icp-faq-a p { margin: 0 0 10px; }
.icp-faq .icp-faq-a p:last-child { margin: 0; }

/* CTA band */
.icp-cta {
	background: linear-gradient(120deg, #ffc200 0%, #ffd54d 55%, #e0a800 100%);
	border-radius: 18px; overflow: hidden;
}
.icp-cta .elementor-heading-title, .icp-cta h2, .icp-cta p, .icp-cta .elementor-widget-text-editor { color: #0b0b0c !important; }
.icp-cta .icp-btn--dark { background: #0b0b0c; color: #fff !important; }
.icp-cta .icp-btn--dark:hover { background: #222; transform: translateY(-2px); }
.icp-cta .icp-btn--outline-dark { border-color: #0b0b0c; color: #0b0b0c !important; background: transparent; }
.icp-cta .icp-btn--outline-dark:hover { background: rgba(0,0,0,.08); }

/* Guides grid */
.icp-guides { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.icp-guide {
	display: flex; align-items: center; gap: 16px; padding: 18px 20px; text-decoration: none !important;
	background: var(--icp-surface); border: 1px solid var(--icp-border); border-radius: var(--icp-radius-sm);
	color: var(--icp-text); transition: border-color .2s ease, background .2s ease;
}
.icp-guide:hover { border-color: rgba(255, 194, 0, 0.5); background: var(--icp-surface-2); }
.icp-guide-ico { flex: 0 0 52px; height: 52px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: rgba(155, 158, 159, 0.1); color: var(--icp-gold); }
.icp-guide-body { flex: 1; min-width: 0; }
.icp-guide-title { display: block; font-family: var(--icp-font-head); font-size: 19px; font-weight: 700; color: #fff; }
.icp-guide-text { display: block; font-size: 14.5px; line-height: 1.5; margin-top: 3px; }
.icp-guide-arrow { color: var(--icp-gold); }

/* ---------- Plans ---------- */
.icp-plans { --gap: 20px; }
.icp-plan-switch {
	display: flex; justify-content: center; gap: 8px; margin: 0 auto 34px; padding: 6px; width: max-content; max-width: 100%;
	background: var(--icp-surface); border: 1px solid var(--icp-border); border-radius: 999px;
}
.icp-tier-btn {
	display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 150px; padding: 10px 26px; border-radius: 999px;
	background: transparent; border: 0; color: var(--icp-text); cursor: pointer; font-family: var(--icp-font-body); transition: background .2s ease, color .2s ease;
}
.icp-tier-name { font-family: var(--icp-font-head); font-size: 20px; font-weight: 700; }
.icp-tier-tag { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; opacity: .85; }
.icp-tier-btn--silver.is-active { background: linear-gradient(135deg, #d6d8d9, #9b9e9f); color: #0b0b0c; }
.icp-tier-btn--gold.is-active { background: linear-gradient(135deg, #ffd54d, #ffc200); color: #0b0b0c; }
.icp-tier-btn:hover:not(.is-active) { color: #fff; background: var(--icp-surface-2); }
.icp-plan-grid { display: none; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap); align-items: stretch; }
.icp-plan-grid.is-active { display: grid; }
.icp-plan {
	position: relative; display: flex; flex-direction: column; background: var(--icp-surface);
	border: 1px solid var(--icp-border); border-radius: var(--icp-radius); padding: 30px 24px 24px; overflow: hidden;
	transition: transform .2s ease, border-color .2s ease;
}
.icp-plan:hover { transform: translateY(-4px); }
.icp-plan--silver { border-top: 3px solid var(--icp-silver); }
.icp-plan--gold { border-top: 3px solid var(--icp-gold); }
.icp-plan.is-popular { background: linear-gradient(180deg, #1e1d18 0%, #141416 55%); box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.icp-plan--gold.is-popular { border-color: rgba(255, 194, 0, 0.7); }
.icp-plan--silver.is-popular { border-color: rgba(214, 216, 217, 0.6); background: linear-gradient(180deg, #1c1d1e 0%, #141416 55%); }
.icp-plan-badge {
	position: absolute; top: 18px; right: -38px; transform: rotate(45deg); width: 150px; text-align: center;
	font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 5px 0; color: #0b0b0c; background: var(--icp-gold);
}
.icp-plan--silver .icp-plan-badge { background: var(--icp-silver-2); }
.icp-plan-tier { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 800; }
.icp-plan--gold .icp-plan-tier { color: var(--icp-gold); }
.icp-plan--silver .icp-plan-tier { color: var(--icp-silver-2); }
.icp-plan-name { font-size: 28px; margin: 4px 0 2px; }
.icp-plan-server { margin: 0; font-size: 14px; color: var(--icp-muted); }
.icp-plan-price { display: flex; align-items: flex-start; gap: 3px; margin: 20px 0 4px; color: #fff; font-family: var(--icp-font-head); }
.icp-plan-price .cur { font-size: 24px; margin-top: 6px; }
.icp-plan-price .amt { font-size: 50px; font-weight: 700; line-height: 1; }
.icp-plan-price .per { font-size: 13px; margin-top: 8px; color: var(--icp-muted); font-family: var(--icp-font-body); font-weight: 700; }
.icp-plan-monthly { margin: 0 0 18px; font-size: 14px; color: var(--icp-muted); }
.icp-plan--gold .icp-plan-monthly strong { color: var(--icp-gold); }
.icp-plan--silver .icp-plan-monthly strong { color: var(--icp-silver-2); }
.icp-plan-feats { list-style: none; margin: 0 0 22px; padding: 18px 0 0; border-top: 1px solid var(--icp-border); display: grid; gap: 10px; flex: 1; }
.icp-plan-feats li { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; line-height: 1.45; }
.icp-plan-feats .icp-ico { flex: 0 0 16px; margin-top: 2px; }
.icp-plan--gold .icp-plan-feats .icp-ico { color: var(--icp-gold); }
.icp-plan--silver .icp-plan-feats .icp-ico { color: var(--icp-silver-2); }
.icp-plan .icp-btn { width: 100%; }
.icp-plan-pay { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 12px 0 0; font-size: 13px; color: var(--icp-muted); }
.icp-plan-trust { list-style: none; margin: 30px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 28px; }
.icp-plan-trust li { display: flex; align-items: center; gap: 8px; font-size: 14.5px; color: #dcdcdc; }
.icp-plan-trust .icp-ico { color: var(--icp-gold); }

/* Compare table */
.icp-table-wrap { overflow-x: auto; border: 1px solid var(--icp-border); border-radius: var(--icp-radius); }
.icp-compare { width: 100%; border-collapse: collapse; min-width: 560px; }
.icp-compare th, .icp-compare td { padding: 16px 18px; border-bottom: 1px solid var(--icp-border); text-align: left; font-size: 15px; }
.icp-compare thead th { background: var(--icp-surface-2); font-family: var(--icp-font-head); font-size: 20px; color: #fff; }
.icp-compare thead .is-gold { color: var(--icp-gold); }
.icp-compare thead .is-silver { color: var(--icp-silver-2); }
.icp-compare tbody th { font-weight: 600; color: #e6e6e6; }
.icp-compare tbody tr:last-child th, .icp-compare tbody tr:last-child td { border-bottom: 0; }
.icp-yes { color: var(--icp-gold); display: inline-flex; }

/* Posts */
.icp-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.icp-post { background: var(--icp-surface); border: 1px solid var(--icp-border); border-radius: var(--icp-radius); padding: 26px; display: flex; flex-direction: column; }
.icp-post-date { font-size: 13px; color: var(--icp-gold); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.icp-post-title { font-size: 22px; margin: 10px 0; }
.icp-post-title a { color: #fff; text-decoration: none; }
.icp-post-title a:hover { color: var(--icp-gold); }
.icp-post-ex { flex: 1; margin: 0 0 14px; line-height: 1.65; }

/* ---------- Forms ---------- */
.icp-form { background: var(--icp-surface); border: 1px solid var(--icp-border); border-radius: var(--icp-radius); padding: 28px; }
.icp-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.icp-field { margin: 0 0 16px; }
.icp-field label { display: block; font-weight: 600; font-size: 14px; color: #e8e8e8; margin-bottom: 6px; }
.icp-field .req { color: var(--icp-gold); }
.icp-form input[type=text], .icp-form input[type=email], .icp-form input[type=tel], .icp-form select, .icp-form textarea,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container--default .select2-selection--single {
	width: 100%; background: #0e0e10 !important; border: 1px solid var(--icp-border-strong) !important; color: #fff !important;
	border-radius: 8px !important; padding: 12px 14px; font-size: 15px; font-family: var(--icp-font-body); min-height: 48px;
}
.icp-form input:focus, .icp-form select:focus, .icp-form textarea:focus, .woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { border-color: var(--icp-gold) !important; outline: none; box-shadow: 0 0 0 3px rgba(255, 194, 0, 0.15); }
.icp-check label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; color: var(--icp-text); }
.icp-check input { margin-top: 4px; accent-color: var(--icp-gold); }
.icp-hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.icp-alert { display: flex; gap: 10px; align-items: flex-start; padding: 14px 16px; border-radius: 10px; margin: 0 0 16px; }
.icp-alert--ok { background: rgba(76, 175, 80, 0.12); border: 1px solid rgba(76, 175, 80, 0.4); color: #cfe9d0; }
.icp-alert--ok .icp-ico { color: #6fcf73; flex: 0 0 auto; }
.icp-alert--err { background: rgba(244, 67, 54, 0.12); border: 1px solid rgba(244, 67, 54, 0.4); color: #f6c9c5; }

/* ---------- Header (ElementsKit) ---------- */
.icp-header { background: rgba(11, 11, 12, 0.92); border-bottom: 1px solid var(--icp-border); backdrop-filter: blur(10px); position: sticky; top: 0; z-index: 999; }
.admin-bar .icp-header { top: 32px; }
.icp-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none !important; }
.icp-logo-text { display: flex; flex-direction: column; line-height: 1; }
.icp-logo-top { font-family: var(--icp-font-head); font-weight: 700; font-size: 21px; color: #fff; letter-spacing: .02em; }
.icp-logo-sub { font-family: var(--icp-font-body); font-weight: 800; font-size: 10.5px; letter-spacing: .42em; color: var(--icp-gold); margin-top: 4px; }
.icp-header .elementskit-navbar-nav > li > a { color: #e9e9e9 !important; font-weight: 600 !important; font-size: 15px !important; padding: 26px 13px !important; font-family: var(--icp-font-body) !important; }
.icp-header .elementskit-navbar-nav > li > a:hover, .icp-header .elementskit-navbar-nav > li.current-menu-item > a, .icp-header .elementskit-navbar-nav > li.current-menu-ancestor > a { color: var(--icp-gold) !important; }
.icp-header .elementskit-navbar-nav .elementskit-submenu-panel { background: var(--icp-surface) !important; border: 1px solid var(--icp-border) !important; border-radius: 12px !important; padding: 10px 0 !important; min-width: 260px; box-shadow: var(--icp-shadow) !important; }
.icp-header .elementskit-navbar-nav .elementskit-submenu-panel > li > a { color: #ddd !important; padding: 10px 20px !important; font-size: 14.5px !important; }
.icp-header .elementskit-navbar-nav .elementskit-submenu-panel > li > a:hover { color: var(--icp-gold) !important; background: rgba(255,255,255,.03) !important; }
.icp-header .elementskit-submenu-indicator, .icp-header .ekit-submenu-indicator-icon { color: inherit !important; fill: currentColor; }
.icp-header .elementskit-menu-hamburger { border: 1px solid var(--icp-border-strong) !important; border-radius: 8px !important; }
.icp-header .elementskit-menu-hamburger .elementskit-menu-hamburger-icon { background-color: #fff !important; }
.icp-header .elementskit-menu-close { color: #fff !important; border-color: var(--icp-border-strong) !important; }
@media (max-width: 1024px) {
	.icp-header .elementskit-menu-container { background: #0e0e10 !important; }
	.icp-header .elementskit-navbar-nav > li > a { padding: 14px 20px !important; }
	.icp-header .elementskit-navbar-nav .elementskit-submenu-panel { border: 0 !important; box-shadow: none !important; background: #151517 !important; }
	.icp-header-cta { display: none !important; }
}

/* ---------- Footer ---------- */
.icp-footer { background: #070708; border-top: 1px solid var(--icp-border); }
.icp-footer h4, .icp-footer .elementor-heading-title { font-size: 18px !important; color: #fff !important; margin: 0 0 14px; }
.icp-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.icp-footer a { color: var(--icp-text); text-decoration: none; font-size: 14.5px; }
.icp-footer a:hover { color: var(--icp-gold); }
.icp-footer p { font-size: 14.5px; line-height: 1.7; }
.icp-footer-bottom { border-top: 1px solid var(--icp-border); }
.icp-footer-bottom p { margin: 0; font-size: 13.5px; color: var(--icp-muted); }
.icp-pay-badge { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--icp-border-strong); border-radius: 8px; padding: 7px 12px; font-size: 13px; color: #ddd; }
.icp-pay-badge .icp-ico { color: var(--icp-gold); }

/* ---------- Floating contact button ---------- */
.icp-float {
	position: fixed; right: 18px; bottom: 18px; z-index: 998; display: inline-flex; align-items: center; gap: 8px;
	background: var(--icp-gold); color: #0b0b0c !important; font-weight: 800; font-size: 14px; padding: 13px 18px; border-radius: 999px;
	box-shadow: 0 10px 30px rgba(0,0,0,.5); text-decoration: none !important;
}
.icp-float:hover { background: var(--icp-gold-2); }

/* ---------- Modal (checkout payment popup) ---------- */
.icp-modal { position: fixed; inset: 0; z-index: 100000; display: none; align-items: center; justify-content: center; padding: 16px; }
.icp-modal.is-open { display: flex; }
.icp-modal-backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.78); backdrop-filter: blur(3px); }
.icp-modal-box {
	position: relative; width: 100%; max-width: 620px; max-height: calc(100vh - 32px); overflow-y: auto;
	background: var(--icp-surface); border: 1px solid rgba(255, 194, 0, 0.45); border-radius: 18px; padding: 32px 30px 26px; box-shadow: var(--icp-shadow);
}
.icp-modal-box h2 { font-size: 32px; margin: 4px 0 16px; }
.icp-modal-x { position: absolute; right: 14px; top: 14px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--icp-border-strong); background: transparent; color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; }
.icp-modal-x:hover { border-color: var(--icp-gold); color: var(--icp-gold); }
.icp-modal-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.icp-modal-note { margin: 14px 0 0; font-size: 13.5px; color: var(--icp-muted); }
.icp-order-sum { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 18px; }
.icp-order-sum div { background: #0e0e10; border: 1px solid var(--icp-border); border-radius: 10px; padding: 12px 14px; }
.icp-order-sum dt { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--icp-muted); margin: 0 0 4px; }
.icp-order-sum dd { margin: 0; color: #fff; font-size: 15px; }
.icp-pay-box { background: #0e0e10; border: 1px solid var(--icp-border); border-radius: 12px; padding: 18px 20px; line-height: 1.65; }
.icp-pay-box p { margin: 0 0 10px; }
.icp-pay-lead { font-weight: 700; color: #fff; }
.icp-pay-email { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; background: rgba(255, 194, 0, 0.08); border: 1px dashed rgba(255, 194, 0, 0.6); border-radius: 10px; padding: 12px 14px; margin: 0 0 14px; }
.icp-pay-email .val { color: var(--icp-gold); font-size: 17px; word-break: break-all; }
.icp-copy { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; background: var(--icp-gold); color: #0b0b0c; border: 0; border-radius: 6px; padding: 8px 12px; font-weight: 700; font-size: 13px; cursor: pointer; }
.icp-copy.is-copied { background: #6fcf73; }
.icp-pay-important { background: rgba(244, 67, 54, 0.1); border-left: 3px solid #ff6b5e; border-radius: 6px; padding: 10px 14px; margin: 0 0 14px; color: #f2d6d3; font-size: 14.5px; }
.icp-pay-important strong { color: #ff8a80; }
.icp-pay-list { margin: 0 0 10px 1.2em; padding: 0; }
.icp-pay-thanks { margin-bottom: 0 !important; }
body.icp-modal-open { overflow: hidden; }

/* ---------- WooCommerce checkout ---------- */
.woocommerce-checkout .site-main, .woocommerce-order-received .site-main, .icp-default-page .site-main { max-width: 1140px; margin: 0 auto; padding: 50px 20px 80px; }
.woocommerce-checkout .page-header .entry-title, .woocommerce-order-received .page-header .entry-title { font-size: clamp(32px, 4vw, 48px); }
.icp-checkout-steps { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 28px; }
.icp-checkout-steps span { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--icp-border-strong); font-size: 13.5px; font-weight: 700; color: var(--icp-muted); }
.icp-checkout-steps .is-done { color: var(--icp-silver-2); }
.icp-checkout-steps .is-current { background: var(--icp-gold); border-color: var(--icp-gold); color: #0b0b0c; }
.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review, .woocommerce-checkout #order_review_heading {
	background: var(--icp-surface); border: 1px solid var(--icp-border); border-radius: var(--icp-radius); padding: 24px;
}
.woocommerce-checkout #order_review_heading { margin: 26px 0 0; border-bottom: 0; border-radius: var(--icp-radius) var(--icp-radius) 0 0; padding-bottom: 6px; font-size: 26px; }
.woocommerce-checkout #order_review { border-top: 0; border-radius: 0 0 var(--icp-radius) var(--icp-radius); }
.woocommerce-checkout h3 { font-size: 24px; }
.woocommerce form .form-row label { color: #e8e8e8; font-weight: 600; font-size: 14px; }
.woocommerce form .form-row .required { color: var(--icp-gold); text-decoration: none; }
.woocommerce table.shop_table { border-color: var(--icp-border) !important; color: var(--icp-text); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--icp-border) !important; }
.woocommerce table.shop_table .order-total .amount { color: var(--icp-gold); font-size: 20px; }
.woocommerce-checkout #payment { background: #0e0e10 !important; border-radius: 12px !important; border: 1px solid var(--icp-border); }
.woocommerce-checkout #payment ul.payment_methods { border-color: var(--icp-border) !important; }
.woocommerce-checkout #payment div.payment_box { background: rgba(255, 194, 0, 0.08) !important; color: #e8e8e8 !important; border-radius: 8px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: rgba(255, 194, 0, 0.08) !important; }
.woocommerce-checkout #payment label { color: #fff; font-weight: 700; }
.woocommerce #payment #place_order, .woocommerce button.button.alt {
	background: var(--icp-gold) !important; color: #0b0b0c !important; font-weight: 800 !important; border-radius: 8px !important; padding: 16px 28px !important; font-size: 16px !important; width: 100%;
}
.woocommerce #payment #place_order:hover { background: var(--icp-gold-2) !important; }
.icp-checkout-trust { display: flex; gap: 8px; align-items: flex-start; font-size: 13.5px; color: var(--icp-muted); margin: 14px 0 0; }
.icp-checkout-trust .icp-ico { color: var(--icp-gold); flex: 0 0 auto; margin-top: 3px; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { background: var(--icp-surface) !important; color: #e8e8e8 !important; border-top-color: var(--icp-gold) !important; }
.woocommerce-info::before, .woocommerce-message::before { color: var(--icp-gold) !important; }
.woocommerce-order-overview { background: var(--icp-surface); border: 1px solid var(--icp-border); border-radius: 12px; padding: 20px !important; }
.woocommerce ul.order_details li { border-color: var(--icp-border) !important; }
.icp-ty-instructions { margin: 26px 0; }
.icp-ty-instructions h2 { font-size: 30px; }
.woocommerce-privacy-policy-text p { font-size: 13px; color: var(--icp-muted); }

/* Checkout device picker */
.icp-device-pick { border: 0; padding: 0; margin: 18px 0 6px; }
.icp-device-pick legend { font-weight: 700; color: #fff; font-size: 15px; margin-bottom: 4px; padding: 0; }
.icp-device-pick legend .required { color: var(--icp-gold); text-decoration: none; }
.icp-device-help { margin: 0 0 12px; font-size: 14px; }
.icp-device-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.icp-device-opt {
	display: inline-flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 10px; cursor: pointer;
	background: #0e0e10; border: 1px solid var(--icp-border-strong); color: #fff; font-weight: 600; font-size: 14.5px; transition: border-color .2s ease, background .2s ease;
}
.icp-device-opt:hover { border-color: rgba(255, 194, 0, 0.6); }
.icp-device-opt input { width: 18px; height: 18px; accent-color: var(--icp-gold); margin: 0; }
.icp-device-opt:has(input:checked) { border-color: var(--icp-gold); background: rgba(255, 194, 0, 0.08); }
.icp-device-warn { margin: 12px 0 0; font-size: 14px; }
.icp-device-warn strong { color: #ff6b5e; }
.woocommerce-checkout .variation dt, .woocommerce-checkout .variation dd { color: var(--icp-muted); font-size: 13px; }
.icp-plan-devnote { text-align: center; margin: 22px 0 0; font-size: 14.5px; color: #dcdcdc; }

/* ---------- Default WP templates (blog, single, legal fallbacks) ---------- */
.site-main { color: var(--icp-text); }
.blog .site-main, .archive .site-main, .single-post .site-main, .search .site-main, .error404 .site-main { max-width: 860px; margin: 0 auto; padding: 60px 20px 90px; }
.single-post .entry-title, .blog .page-header h1, .archive .page-header h1 { font-size: clamp(34px, 4.4vw, 54px); }
.single-post .page-content, .single-post .entry-content { font-size: 17px; line-height: 1.85; }
.single-post .page-content h2 { font-size: clamp(26px, 3vw, 34px); margin: 1.7em 0 .5em; }
.single-post .page-content h3 { font-size: 23px; margin: 1.4em 0 .4em; }
.single-post .page-content a { text-decoration: underline; text-underline-offset: 3px; }
.single-post .page-content strong { color: #fff; }
.post-tags, .single-post .post-tags { margin-top: 30px; }
.icp-post-meta { color: var(--icp-muted); font-size: 14px; margin: -8px 0 26px; }
.blog article.post, .archive article.post { background: var(--icp-surface); border: 1px solid var(--icp-border); border-radius: var(--icp-radius); padding: 26px; margin-bottom: 20px; }
.blog article.post .entry-title a, .archive article.post .entry-title a { color: #fff; text-decoration: none; }
.blog article.post .entry-title a:hover { color: var(--icp-gold); }
.pagination, .navigation.pagination { margin-top: 30px; }
.page-numbers { color: var(--icp-gold); }

/* ---------- Responsive ---------- */
@media (max-width: 1200px) {
	.icp-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.icp-cards, .icp-cards--4, .icp-posts, .icp-steps.is-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.icp-hero-art { margin: 10px auto 0; }
	.icp-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 24px; }
	.icp-stat:nth-child(3) { border-left: 0; }
}
@media (max-width: 767px) {
	.icp-cards, .icp-cards--2, .icp-cards--4, .icp-posts, .icp-guides, .icp-plan-grid, .icp-steps.is-grid, .icp-form-grid, .icp-checklist.is-2col, .icp-order-sum { grid-template-columns: 1fr; }
	.icp-plan-switch { width: 100%; }
	.icp-tier-btn { min-width: 0; flex: 1; padding: 10px 12px; }
	.icp-step { padding: 72px 20px 20px; }
	.icp-step::before { top: 18px; left: 20px; }
	.icp-chip { font-size: 12.5px; padding: 8px 12px; }
	.icp-chip strong { font-size: 15px; }
	.icp-chip--a { left: 0; bottom: 30px; }
	.icp-chip--b { right: 0; top: -6px; }
	.icp-modal-box { padding: 26px 18px 20px; }
	.icp-modal-box h2 { font-size: 26px; }
	.icp-faq summary { font-size: 17px; }
	.icp-float span { display: none; }
	.icp-float { padding: 14px; }
	.admin-bar .icp-header { top: 0; }
}
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---------- Page figures & anchors ---------- */
.icp-sec[id], [id="plans"] { scroll-margin-top: 90px; }
.icp-figure { margin: 28px auto 0; max-width: 820px; width: 100%; border-radius: var(--icp-radius); overflow: hidden; border: 1px solid var(--icp-border-strong); box-shadow: var(--icp-shadow); background: var(--icp-surface); }
.icp-figure img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.icp-figure figcaption { padding: 10px 16px; font-size: 14px; color: var(--icp-muted); text-align: center; }
.icp-figure--card { margin: 0 0 20px; box-shadow: none; }
.icp-prose .icp-figure { margin: 8px 0 24px; }
.icp-hero--page .icp-figure { margin-top: 34px; }
.icp-figure--sm { max-width: 640px; }

/* ---------- Mobile menu: keep the off-canvas panel above everything ---------- */
@media (max-width: 1024px) {
	/* backdrop-filter creates a containing block that traps position:fixed children */
	.icp-header { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: #0b0b0c !important; }
	.icp-header .elementskit-menu-offcanvas-elements,
	.icp-header .elementskit-menu-container.elementskit-menu-offcanvas-elements {
		position: fixed !important; top: 0 !important; bottom: 0 !important; height: 100vh !important; height: 100dvh !important;
		max-height: none !important; overflow-y: auto !important; z-index: 100001 !important;
		width: min(86vw, 360px) !important; background: #0e0e10 !important; box-shadow: 0 0 60px rgba(0,0,0,.6);
	}
	.icp-header .elementskit-menu-overlay { position: fixed !important; top: 0 !important; height: 100vh !important; z-index: 100000 !important; background: rgba(0,0,0,.7) !important; }
	.icp-header .elementskit-nav-identity-panel { display: flex !important; justify-content: flex-end; padding: 14px 16px !important; border-bottom: 1px solid var(--icp-border); }
	.admin-bar .icp-header .elementskit-menu-offcanvas-elements { top: 46px !important; height: calc(100dvh - 46px) !important; }
	body.icp-menu-open { overflow: hidden; }
}

/* ---------- Post card thumbnails ---------- */
.icp-post-thumb { display: block; margin: -26px -26px 18px; border-radius: var(--icp-radius) var(--icp-radius) 0 0; overflow: hidden; border-bottom: 1px solid var(--icp-border); }
.icp-post-thumb img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .3s ease; }
.icp-post:hover .icp-post-thumb img { transform: scale(1.03); }

/* ---------- Sports schedule ---------- */
.icp-sched { margin: 10px 0 24px; }
.icp-sched-day { font-size: 20px; margin: 26px 0 10px; color: #fff; }
.icp-sched-table { width: 100%; border-collapse: collapse; font-size: 15px; background: var(--icp-surface); border: 1px solid var(--icp-border); border-radius: 12px; overflow: hidden; }
.icp-sched-table th { text-align: left; font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--icp-muted); padding: 10px 14px; border-bottom: 1px solid var(--icp-border); background: rgba(255,255,255,.02); }
.icp-sched-table td { padding: 12px 14px; border-bottom: 1px solid var(--icp-border); vertical-align: top; }
.icp-sched-table tr:last-child td { border-bottom: 0; }
.icp-sched-table tr.is-ca td { background: rgba(255, 194, 0, .06); }
.icp-sched-time { white-space: nowrap; color: #fff; font-weight: 700; }
.icp-sched-time abbr { color: var(--icp-muted); font-weight: 400; text-decoration: none; font-size: 12px; }
.icp-sched-lg { color: var(--icp-gold); font-weight: 700; font-size: 13px; }
.icp-sched-match strong { color: #fff; font-weight: 600; }
.icp-sched-match .at { color: var(--icp-muted); margin: 0 4px; }
.icp-sched-venue { display: block; font-size: 13px; color: var(--icp-muted); margin-top: 3px; }
.icp-sched-up { color: var(--icp-silver-light, #d6d8d9); font-size: 13px; }
.icp-sched-live { color: #ff5d5d; font-weight: 700; font-size: 13px; }
.icp-sched-final { color: var(--icp-muted); font-size: 13px; }
.icp-sched-note, .icp-sched-empty { font-size: 14px; color: var(--icp-muted); margin-top: 12px; }
@media (max-width: 640px) {
	.icp-sched-table thead { display: none; }
	.icp-sched-table, .icp-sched-table tbody, .icp-sched-table tr, .icp-sched-table td { display: block; width: 100%; }
	.icp-sched-table tr { padding: 10px 4px; border-bottom: 1px solid var(--icp-border); }
	.icp-sched-table td { border: 0; padding: 2px 12px; background: none !important; }
	.icp-sched-table tr.is-ca { background: rgba(255, 194, 0, .06); }
	.icp-sched-lg { display: inline-block !important; width: auto !important; }
	.icp-sched-time { display: inline-block !important; width: auto !important; }
}

/* ---------- Single product ---------- */
.single-product .woocommerce-Tabs-panel .icp-figure { display: none; } /* image already shown in the gallery */
.single-product .woocommerce-tabs ul.tabs { display: none; }
.single-product .woocommerce-Tabs-panel { max-width: 900px; margin: 0 auto; padding-top: 10px; }
.single-product .woocommerce-Tabs-panel h2 { font-size: 30px; margin: 34px 0 12px; line-height: 1.2; }
.single-product .woocommerce-Tabs-panel h3 { font-size: 21px; margin: 22px 0 8px; }
.single-product .woocommerce-Tabs-panel ul li, .single-product .woocommerce-Tabs-panel ol li { margin-bottom: 6px; }
.single-product .woocommerce-Tabs-panel table { width: 100%; border-collapse: collapse; margin: 14px 0 20px; background: var(--icp-surface); border: 1px solid var(--icp-border); }
.single-product .woocommerce-Tabs-panel th, .single-product .woocommerce-Tabs-panel td { padding: 10px 12px; border-bottom: 1px solid var(--icp-border); text-align: left; }
.single-product .woocommerce-Tabs-panel th { color: #fff; background: rgba(255,255,255,.03); }
.single-product .product_title { font-size: clamp(32px, 4vw, 48px) !important; line-height: 1.1; }
.single-product .summary .price { font-size: 30px !important; font-weight: 700; color: var(--icp-gold) !important; }
.single-product .icp-cad { font-size: 14px; color: var(--icp-muted); font-weight: 400; }
.icp-prod-compare a { color: var(--icp-gold); font-weight: 600; text-decoration: none; }
.icp-prod-trust { list-style: none; padding: 0; margin: 14px 0 0; display: grid; gap: 8px; color: var(--icp-text); font-size: 14.5px; }
.icp-prod-trust li { display: flex; align-items: center; gap: 8px; }
.icp-prod-trust svg { color: var(--icp-gold); }

/* ---------- iOS Safari: avoid black tiles from mask/filter/blur layers ---------- */
@media (max-width: 1024px) {
	.icp-hero::after { display: none; }
	.icp-hero-svg { filter: none; }
	.icp-chip, .icp-modal-backdrop { backdrop-filter: none; -webkit-backdrop-filter: none; }
}
@supports (-webkit-touch-callout: none) {
	.icp-hero::after { display: none; }
	.icp-hero-svg { filter: none; }
	.icp-chip, .icp-modal-backdrop { backdrop-filter: none; -webkit-backdrop-filter: none; }
}

/* MAG MAC field */
.icp-mag-mac { margin: 14px 0 0 !important; }
.icp-mag-mac[hidden] { display: none !important; }
.icp-mag-mac input { font-family: ui-monospace, Menlo, Consolas, monospace; letter-spacing: .04em; }
.icp-mag-mac small { display: block; margin-top: 6px; color: var(--icp-muted); font-size: 13px; }

/* Floating WhatsApp help button */
.icp-float--wa .icp-ico--wa { flex: 0 0 auto; }

/* ---------- City chips ---------- */
.icp-h2 em, .icp-sec .elementor-heading-title em { font-style: normal; color: var(--icp-gold); }
.icp-cities { width: 100%; }
.icp-city-chips { list-style: none; margin: 10px auto 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 16px; max-width: 1120px; }
.icp-city-chip { display: inline-flex; align-items: center; gap: 10px; padding: 15px 26px; border-radius: 999px; background: var(--icp-surface); border: 1px solid var(--icp-border-strong); color: #fff; font-weight: 700; font-size: 16.5px; text-decoration: none; transition: border-color .2s, transform .2s, background .2s; }
.icp-city-chip:hover, .icp-city-chip:focus-visible { border-color: var(--icp-gold); background: rgba(255, 194, 0, .06); color: #fff; transform: translateY(-2px); }
.icp-city-pin { color: var(--icp-gold); flex: 0 0 auto; }
.icp-city-all-wrap { display: flex; justify-content: center; margin-top: 34px; }
.icp-city-all { display: inline-flex !important; align-items: center; gap: 14px; padding: 16px 30px !important; font-size: 16.5px !important; }
.icp-city-ca { display: inline-flex; align-items: center; justify-content: center; padding: 4px 8px; border-radius: 6px; background: rgba(0, 0, 0, .18); font-size: 12px; font-weight: 800; letter-spacing: .04em; }
@media (max-width: 640px) {
	.icp-city-chips { gap: 10px; }
	.icp-city-chip { padding: 11px 16px; font-size: 14.5px; gap: 8px; }
	.icp-city-all { width: 100%; justify-content: center; }
}

/* ---------- Footer: 5 responsive columns ---------- */
.icp-footer-cols { display: grid !important; grid-template-columns: 1.5fr repeat(4, 1fr); gap: 40px 32px; width: 100%; }
.icp-footer-cols > .e-con { width: auto !important; min-width: 0; }
.icp-footer .elementor-heading-title, .icp-footer h4 { font-size: 17px !important; }
@media (max-width: 1024px) {
	.icp-footer-cols { grid-template-columns: repeat(3, 1fr); }
	.icp-footer-cols > .e-con:first-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) { .icp-footer-cols { grid-template-columns: repeat(2, 1fr); gap: 32px 20px; } }
@media (max-width: 380px) { .icp-footer-cols { grid-template-columns: 1fr; } }

/* Floating WhatsApp button: round, icon only, gold → WhatsApp green on hover */
.icp-float.icp-float--wa { width: 62px; height: 62px; padding: 0 !important; border-radius: 50%; justify-content: center; background: var(--icp-gold); color: #0b0b0c; box-shadow: 0 10px 30px rgba(0, 0, 0, .45); transition: background .2s ease, color .2s ease, transform .2s ease; }
.icp-float.icp-float--wa:hover, .icp-float.icp-float--wa:focus-visible, .icp-float.icp-float--wa:active { background: #25d366; color: #fff; transform: scale(1.05); }
.icp-float.icp-float--wa span { display: none; }
@media (max-width: 640px) { .icp-float.icp-float--wa { width: 56px; height: 56px; } }
.icp-city-chip, .icp-city-chip:hover, .icp-city-chip span { color: #fff !important; }
.icp-city-all, .icp-city-all:hover { color: #0b0b0c !important; }

/* ---------- Blog comments ---------- */
.single-post .comments-area { max-width: 820px; margin: 50px auto 0; padding-top: 30px; border-top: 1px solid var(--icp-border); }
.single-post .comments-area .title-comments, .single-post .comment-reply-title { font-size: 26px; color: #fff; margin: 0 0 18px; }
.single-post .comment-list { list-style: none; padding: 0; margin: 0 0 30px; }
.single-post .comment-list .comment { background: var(--icp-surface); border: 1px solid var(--icp-border); border-radius: var(--icp-radius); padding: 18px 20px; margin-bottom: 14px; }
.single-post .comment-list .children { list-style: none; padding-left: 22px; margin-top: 14px; }
.single-post .comment-author, .single-post .comment-author a { color: #fff; font-weight: 700; }
.single-post .comment-metadata a, .single-post .comment-meta { color: var(--icp-muted); font-size: 13px; }
.single-post .comment-content { color: var(--icp-text); }
.single-post .reply a { color: var(--icp-gold); font-weight: 600; font-size: 14px; }
.single-post .comment-form label { display: block; color: #fff; font-weight: 600; margin-bottom: 6px; }
.single-post .comment-form input[type="text"], .single-post .comment-form input[type="email"], .single-post .comment-form textarea { width: 100%; background: #0f0f11; color: #fff; border: 1px solid var(--icp-border-strong); border-radius: 10px; padding: 12px 14px; font-size: 16px; }
.single-post .comment-form input:focus, .single-post .comment-form textarea:focus { outline: none; border-color: var(--icp-gold); }
.single-post .comment-form .comment-notes, .single-post .comment-form-cookies-consent label { color: var(--icp-muted); font-size: 14px; font-weight: 400; }
.single-post .comment-form-cookies-consent { display: flex; gap: 8px; align-items: flex-start; }
.single-post .comment-form-cookies-consent input { margin-top: 4px; }
.single-post .comment-form .submit { background: var(--icp-gold); color: #0b0b0c; border: 0; border-radius: 10px; padding: 13px 26px; font-weight: 700; cursor: pointer; }
.single-post .comment-form .submit:hover { background: var(--icp-gold-2); }
.single-post .comment-awaiting-moderation { color: var(--icp-gold); font-size: 14px; }

/* ---------- Checkout layout: single details column, 2-col field grid ---------- */
.woocommerce-checkout #customer_details.col2-set .col-1 { width: 100% !important; float: none !important; max-width: none; }
.woocommerce-checkout #customer_details.col2-set .col-2 { display: none !important; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { display: flex; flex-wrap: wrap; gap: 0 20px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row { float: none !important; width: calc(50% - 10px) !important; margin-right: 0 !important; }
#billing_first_name_field { order: 1; } #billing_last_name_field { order: 2; }
#billing_country_field { order: 3; } #billing_email_field { order: 4; }
#billing_phone_field { order: 5; } #billing_package_field { order: 6; }
#billing_devices_count_field { order: 7; }
#billing_country_field strong, #billing_country_field .woocommerce-input-wrapper strong { display: block; padding: 13px 0; color: #fff; font-size: 16px; background: none; border: 0; }
.woocommerce-checkout #payment .form-row.place-order { display: flex; flex-direction: column; gap: 12px; float: none; }
.woocommerce-checkout .icp-checkout-trust { width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px; text-align: center; margin: 4px 0 0; }
@media (max-width: 760px) {
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row { width: 100% !important; }
}
#billing_country_field strong, #billing_country_field .woocommerce-input-wrapper strong { display: block !important; width: 100% !important; padding: 13px 16px !important; border: 1px solid var(--icp-border-strong) !important; border-radius: 10px !important; background: #0f0f11 !important; color: #fff !important; font-weight: 600; }
.woocommerce-checkout .icp-checkout-trust { display: block; text-align: center; }
.woocommerce-checkout .icp-checkout-trust svg { display: inline-block; vertical-align: -2px; margin-right: 6px; }
#billing_country_field .woocommerce-input-wrapper, #billing_country_field .select2-container { display: block; width: 100% !important; }
#billing_country.country_to_state--single, #billing_country_field .select2-selection { width: 100% !important; min-height: 48px; padding: 12px 16px !important; background: #0f0f11 !important; color: #fff !important; border: 1px solid var(--icp-border-strong) !important; border-radius: 10px !important; font-size: 16px; font-weight: 600; appearance: none; -webkit-appearance: none; pointer-events: none; background-image: none !important; }
#billing_country_field .select2-selection__arrow { display: none; }

/* WhatsApp button: official WhatsApp green */
.icp-float.icp-float--wa { background: #25d366 !important; color: #fff !important; box-shadow: 0 8px 28px rgba(37, 211, 102, .35); }
.icp-float.icp-float--wa:hover, .icp-float.icp-float--wa:focus-visible, .icp-float.icp-float--wa:active { background: #1ebe5b !important; color: #fff !important; }

/* ---------- Accessibility fixes (audit) ---------- */
.icp-plan-switch .icp-tier-btn { background: transparent !important; color: #e6e7e8 !important; border: 0 !important; }
.icp-plan-switch .icp-tier-btn:hover:not(.is-active) { background: var(--icp-surface-2) !important; color: #fff !important; }
.icp-plan-switch .icp-tier-btn--silver.is-active { background: linear-gradient(135deg, #e3e5e6, #b4b7b8) !important; color: #0b0b0c !important; }
.icp-plan-switch .icp-tier-btn--gold.is-active { background: linear-gradient(135deg, #ffd54d, #ffc200) !important; color: #0b0b0c !important; }
.icp-tier-tag { opacity: 1; }
.icp-sec p a:not(.icp-btn):not(.icp-link):not(.icp-city-chip), .icp-sec li a:not(.icp-btn):not(.icp-link):not(.icp-city-chip), .icp-steps a, .icp-faq a, .icp-lead a, .icp-hero p a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.icp-guides a, .icp-cards a.icp-link, .icp-posts a, .icp-plan a, .icp-city-chips a { text-decoration: none; }
.icp-plan-switch .icp-tier-btn--gold.is-active { background-color: #ffc200 !important; }
.icp-plan-switch .icp-tier-btn--silver.is-active { background-color: #cfd1d2 !important; }

/* ---------- Category archives (blog + product categories) ---------- */
.icp-arch .icp-wrap { max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.icp-arch .icp-wrap--narrow { max-width: 900px; text-align: center; }
.icp-arch-hero { padding: 64px 0 56px; border-bottom: 1px solid var(--icp-border); background: radial-gradient(900px 420px at 85% 0%, rgba(255,194,0,.10), transparent 60%); }
.icp-arch-title { font-family: var(--icp-font-head); font-size: clamp(34px, 5vw, 54px); line-height: 1.08; color: #fff; margin: 10px 0 16px; }
.icp-arch-desc { color: var(--icp-text); font-size: 17px; line-height: 1.75; text-align: left; }
.icp-arch-desc p { margin: 0 0 14px; }
.icp-arch-desc a, .icp-arch-note a { text-decoration: underline; text-underline-offset: 3px; }
.icp-arch-hero .icp-crumbs { display: flex; justify-content: center; }
.icp-arch-sec { padding: 64px 0; }
.icp-arch-sec--alt { background: rgba(255,255,255,.015); border-top: 1px solid var(--icp-border); border-bottom: 1px solid var(--icp-border); }
.icp-arch-h2 { font-family: var(--icp-font-head); font-size: clamp(26px, 3.2vw, 36px); color: #fff; text-align: center; margin: 0 0 28px; }
.icp-arch-products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.icp-arch-product { display: flex; flex-direction: column; gap: 8px; background: var(--icp-surface); border: 1px solid var(--icp-border); border-radius: var(--icp-radius); padding: 0 0 16px; overflow: hidden; text-decoration: none !important; transition: border-color .2s, transform .2s; }
.icp-arch-product:hover { border-color: var(--icp-gold); transform: translateY(-2px); }
.icp-arch-product img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.icp-arch-product-name { color: #fff !important; font-weight: 700; padding: 6px 16px 0; line-height: 1.35; }
.icp-arch-product-price { color: var(--icp-gold) !important; font-weight: 800; padding: 0 16px; font-size: 18px; }
.icp-arch-note { text-align: center; margin-top: 24px; color: var(--icp-text); }
.icp-arch-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 44px 48px; border-radius: var(--icp-radius); background-color: #ffc200; background-image: linear-gradient(135deg, #ffd54d, #ffc200); }
.icp-arch-cta .icp-arch-h2 { color: #0b0b0c; text-align: left; margin: 0 0 6px; }
.icp-arch-cta p { color: #1c1c1e; margin: 0; }
@media (max-width: 1024px) { .icp-arch-products { grid-template-columns: repeat(2, 1fr); } .icp-arch-cta { flex-direction: column; align-items: flex-start; } }
@media (max-width: 640px) { .icp-arch-products { grid-template-columns: 1fr; } .icp-arch-cta { padding: 30px 22px; } .icp-arch-hero { padding: 40px 0 36px; } }
.icp-arch-cta .icp-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.icp-arch-cta .icp-btn--dark { background: #0b0b0c !important; color: #fff !important; border: 2px solid #0b0b0c !important; }
.icp-arch-cta .icp-btn--outline-dark { background: transparent !important; color: #0b0b0c !important; border: 2px solid #0b0b0c !important; }
.icp-arch-cta .icp-btn--dark:hover { background: #1c1c1e !important; }
.icp-arch-cta .icp-btn--outline-dark:hover { background: rgba(0,0,0,.08) !important; }

/* "Think of It Like This" analogy callout */
.icp-analogy { display: flex; align-items: center; gap: 22px; margin: 6px 0 22px; padding: 22px 26px; border-radius: var(--icp-radius); background: rgba(255, 194, 0, .07); border: 1px solid rgba(255, 194, 0, .35); border-left: 4px solid var(--icp-gold); }
.icp-analogy-icons { display: flex; align-items: center; gap: 6px; color: var(--icp-gold); flex: 0 0 auto; }
.icp-analogy-icons span { color: var(--icp-silver-2, #d6d8d9); font-weight: 800; font-size: 20px; }
.icp-analogy-title { font-family: var(--icp-font-head); font-size: 22px; font-weight: 700; color: #fff; margin: 0 0 6px !important; }
.icp-analogy-body p:last-child { margin: 0; color: var(--icp-text); font-size: 16.5px; line-height: 1.7; }
@media (max-width: 640px) { .icp-analogy { flex-direction: column; align-items: flex-start; padding: 20px; gap: 12px; } }
