/* ==========================================================================
   Feed The Deals — design system
   Red #ff3131 leads the deals site, blue #5270ff leads phone plans, and the
   logo's "black block + offset outline" shows up on posters, buttons, stickers.
   ========================================================================== */

@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 100 900;
	font-stretch: 62% 125%;
	font-display: swap;
	src: url("../fonts/archivo-latin-wdth-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 100 900;
	font-stretch: 62% 125%;
	font-display: swap;
	src: url("../fonts/archivo-latin-ext-wdth-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
	--ftd-red: #ff3131;
	--ftd-red-deep: #d81e1e;
	--ftd-blue: #5270ff;
	--ftd-blue-deep: #3350d6;
	--ftd-yellow: #ffd60a;
	--ftd-ink: #000;
	--ftd-text: #1f2128;
	--ftd-mute: #5b6070;
	--ftd-line: #dfe3ee;
	--ftd-wash: #f3f5fb;
	--ftd-paper: #fff;
	--ftd-accent: var(--ftd-red);
	--ftd-accent-deep: var(--ftd-red-deep);
	--ftd-font: "Archivo", "Helvetica Neue", Arial, sans-serif;
	--ftd-wrap: 1240px;
	--ftd-gut: clamp(16px, 4vw, 32px);
	--ftd-r: 14px;
	--ftd-r-sm: 10px;
	--ftd-ease: cubic-bezier(.2, .8, .2, 1);
	--ftd-ticker-h: 36px;
}
.ftd-ctx-plans {
	--ftd-accent: var(--ftd-blue);
	--ftd-accent-deep: var(--ftd-blue-deep);
}

/* ---- Base ---------------------------------------------------------------- */
body.ftd {
	margin: 0;
	background: var(--ftd-paper);
	color: var(--ftd-text);
	font-family: var(--ftd-font);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}
.ftd *, .ftd *::before, .ftd *::after { box-sizing: border-box; }
.ftd img { max-width: 100%; height: auto; }
.ftd a { color: var(--ftd-accent-deep); text-decoration: none; }
.ftd a:hover { color: var(--ftd-ink); }
.ftd :focus-visible { outline: 3px solid var(--ftd-blue); outline-offset: 2px; border-radius: 4px; }
.ftd-ctx-plans :focus-visible { outline-color: var(--ftd-ink); }
.ftd .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ftd-skip { position: absolute; left: 12px; top: -60px; z-index: 1000; background: #000; color: #fff !important; padding: 10px 16px; border-radius: 8px; font-weight: 700; }
.ftd-skip:focus { top: 12px; }
.ftd-main { display: block; min-height: 50vh; }
.ftd-i { flex: none; width: 1.15em; height: 1.15em; vertical-align: -.2em; }

/* ---- Elementor containers: our classes own spacing ----------------------- */
.ftd .e-con[class*="ftd-"] { padding: 0; gap: 0; }
.ftd .e-con.ftd-wrap,
.ftd-wrap { width: 100%; max-width: calc(var(--ftd-wrap) + var(--ftd-gut) * 2); margin-inline: auto; padding-inline: var(--ftd-gut); }
.ftd .e-con.ftd-sec { padding-block: clamp(44px, 6vw, 80px); }
.ftd .e-con.ftd-sec--tight { padding-block: clamp(24px, 3.4vw, 40px); }
.ftd .e-con.ftd-sec--wash { background: var(--ftd-wash); }
.ftd .e-con.ftd-stack { gap: 18px; }
.ftd .e-con.ftd-stack--lg { gap: 32px; }
.ftd .elementor-widget-shortcode .elementor-shortcode { display: contents; }
.ftd .elementor-widget-text-editor p { margin: 0 0 1em; }
.ftd .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.ftd .elementor-widget-heading .elementor-heading-title { margin: 0; }

/* ---- Type ---------------------------------------------------------------- */
.ftd .ftd-display .elementor-heading-title,
.ftd .ftd-display,
.ftd-h {
	font-family: var(--ftd-font);
	font-stretch: 62%;
	font-weight: 900;
	text-transform: uppercase;
	line-height: .94;
	letter-spacing: .005em;
	color: var(--ftd-ink);
	margin: 0;
}
.ftd .ftd-h1 .elementor-heading-title { font-size: clamp(2.6rem, 6.2vw, 5rem); }
.ftd .ftd-h2 .elementor-heading-title { font-size: clamp(2rem, 3.6vw, 3rem); }
.ftd .ftd-h3 .elementor-heading-title { font-size: clamp(1.5rem, 2.2vw, 1.9rem); }
.ftd .ftd-lead, .ftd .ftd-lead p { font-size: clamp(1.05rem, 1.5vw, 1.25rem); line-height: 1.5; color: var(--ftd-text); max-width: 62ch; }
.ftd .ftd-muted, .ftd .ftd-muted p { color: var(--ftd-mute); }
.ftd .ftd-on-dark .elementor-heading-title, .ftd .ftd-on-dark, .ftd .ftd-on-dark p { color: #fff; }
.ftd .ftd-center { text-align: center; }
.ftd .ftd-center.ftd-lead, .ftd .ftd-center .ftd-lead { margin-inline: auto; }

/* Poster headline: the logo treatment — solid letters with an outline knocked
   out of register. JS copies the text into data-text for the ::after layer. */
.ftd .ftd-poster .elementor-heading-title { position: relative; display: inline-block; z-index: 0; }
.ftd .ftd-poster .elementor-heading-title::after {
	content: attr(data-text);
	position: absolute; inset: 0;
	color: transparent;
	-webkit-text-stroke: 2px var(--poster-stroke, var(--ftd-red));
	transform: translate(-.045em, .075em);
	z-index: -1;
	pointer-events: none;
}
.ftd .ftd-poster--white { --poster-stroke: #fff; }
.ftd .ftd-poster--blue { --poster-stroke: var(--ftd-blue); }
.ftd .ftd-poster--ink { --poster-stroke: #000; }
.ftd .ftd-poster--ink .elementor-heading-title { color: #fff; }

/* Section heading row: title left, "see all" right */
.ftd .e-con.ftd-sechead { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; margin-bottom: clamp(20px, 2.6vw, 32px); }
.ftd .ftd-sechead > .elementor-widget { width: auto; max-width: 100%; }
.ftd .ftd-more .elementor-button,
.ftd a.ftd-more {
	background: none; padding: 0; border: 0; border-radius: 0;
	color: var(--ftd-ink); font: 700 1rem/1.2 var(--ftd-font);
	box-shadow: inset 0 -2px 0 var(--ftd-accent);
	padding-bottom: 4px; transition: box-shadow .25s var(--ftd-ease), color .2s;
	fill: currentColor;
}
.ftd .ftd-more .elementor-button:hover { box-shadow: inset 0 -1.6em 0 var(--ftd-yellow); color: #000; }

/* ---- Buttons ------------------------------------------------------------- */
.ftd .ftd-btn,
.ftd .ftd-b .elementor-button {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	font: 800 1rem/1.1 var(--ftd-font); letter-spacing: .01em;
	padding: .95em 1.4em; border-radius: var(--ftd-r-sm);
	background: var(--ftd-red); color: #000; fill: #000;
	border: 2px solid #000; box-shadow: 4px 4px 0 #000;
	cursor: pointer; text-decoration: none;
	transition: transform .18s var(--ftd-ease), box-shadow .18s var(--ftd-ease), background .2s;
}
.ftd .ftd-btn:hover,
.ftd .ftd-b .elementor-button:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 #000; color: #000; }
.ftd .ftd-btn:active,
.ftd .ftd-b .elementor-button:active { transform: translate(3px, 3px); box-shadow: 1px 1px 0 #000; }
.ftd .ftd-btn--blue, .ftd .ftd-b--blue .elementor-button { background: var(--ftd-blue); color: #fff; fill: #fff; }
.ftd .ftd-btn--blue:hover, .ftd .ftd-b--blue .elementor-button:hover { color: #fff; }
.ftd .ftd-btn--ink, .ftd .ftd-b--ink .elementor-button { background: #000; color: #fff; fill: #fff; box-shadow: 4px 4px 0 var(--ftd-yellow); }
.ftd .ftd-btn--ink:hover, .ftd .ftd-b--ink .elementor-button:hover { color: #fff; box-shadow: 6px 6px 0 var(--ftd-yellow); }
.ftd .ftd-btn--ink:active { box-shadow: 1px 1px 0 var(--ftd-yellow); }
.ftd .ftd-btn--white, .ftd .ftd-b--white .elementor-button { background: #fff; color: #000; }
.ftd .ftd-btn--yellow, .ftd .ftd-b--yellow .elementor-button { background: var(--ftd-yellow); color: #000; }
.ftd .ftd-btn--ghost, .ftd .ftd-b--ghost .elementor-button { background: transparent; color: #000; box-shadow: none; }
.ftd .ftd-btn--ghost:hover, .ftd .ftd-b--ghost .elementor-button:hover { background: #000; color: #fff; fill: #fff; transform: none; box-shadow: none; }
.ftd .ftd-btn--xl { font-size: 1.15rem; padding: 1.05em 1.6em; width: 100%; }
.ftd .e-con.ftd-btnrow { flex-direction: row; flex-wrap: wrap; gap: 14px; align-items: center; }
.ftd .ftd-btnrow > .elementor-widget { width: auto; }

/* ---- Chips, stickers, prices -------------------------------------------- */
.ftd .ftd-chip {
	display: inline-flex; align-items: center; font: 700 .78rem/1 var(--ftd-font);
	padding: .42em .7em; border-radius: 999px; background: var(--ftd-wash); color: var(--ftd-text);
	border: 1px solid var(--ftd-line); transition: background .2s, color .2s, border-color .2s;
}
.ftd a.ftd-chip:hover { background: #000; border-color: #000; color: #fff; }
.ftd-sticker {
	position: absolute; left: 10px; top: 10px; z-index: 2;
	font: 900 .82rem/1 var(--ftd-font); font-stretch: 75%; text-transform: uppercase; letter-spacing: .04em;
	padding: .5em .7em; background: var(--ftd-yellow); color: #000;
	border: 2px solid #000; border-radius: 6px; box-shadow: 2px 2px 0 #000; transform: rotate(-4deg);
}
.ftd-sticker--free { background: #fff; }
.ftd-sticker--run { background: var(--ftd-red); }
.ftd-sticker--texas { background: var(--ftd-blue); color: #fff; }
.ftd-sticker--expired { background: #e6e8ee; color: #444; box-shadow: none; transform: none; }
.ftd-price { display: inline-flex; align-items: baseline; gap: .45em; }
.ftd-price b { font: 900 1.45rem/1 var(--ftd-font); font-stretch: 70%; color: #000; }
.ftd-price s { color: var(--ftd-mute); font-size: .9rem; }
.ftd-price--free b { background: var(--ftd-yellow); padding: .12em .3em; border-radius: 4px; }

/* ---- Empty states, disclosure, ads --------------------------------------- */
.ftd-empty { border: 2px dashed var(--ftd-line); border-radius: var(--ftd-r); padding: 28px; text-align: center; color: var(--ftd-mute); }
.ftd-empty b { display: block; color: #000; font-size: 1.1rem; margin-bottom: 4px; }
.ftd-empty p { margin: 0 0 12px; }
.ftd-disclosure { font-size: .85rem; color: var(--ftd-mute); margin: 0; }
.ftd-disclosure a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ftd-ad { display: flex; flex-direction: column; align-items: center; gap: 6px; margin-inline: auto; max-width: 100%; overflow: hidden; }
.ftd-ad__label { font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: #8a8fa0; }
.ftd-ad--empty { border: 2px dashed #c3c9da; border-radius: 10px; background: repeating-linear-gradient(135deg, #fafbfe 0 12px, #f1f3f9 12px 24px); justify-content: center; min-height: 90px; width: 100%; color: #6a7084; }
.ftd-ad--empty .ftd-ad__label { color: #4b5063; font-weight: 700; letter-spacing: .02em; text-transform: none; font-size: .85rem; }
.ftd-ad__size { font-size: .75rem; }
.ftd-ad--leaderboard.ftd-ad--empty, .ftd-ad--footer.ftd-ad--empty, .ftd-ad--plans_top.ftd-ad--empty { max-width: 728px; }
.ftd-ad--sidebar.ftd-ad--empty { min-height: 250px; }
.ftd .e-con.ftd-adrow { padding-block: 18px; }
.ftd .e-con.ftd-adrow:not(:has(.ftd-ad)) { display: none; }

/* ---- Scroll reveals (only when JS is on; never in the Elementor editor) --- */
.ftd-js .ftd-rv, .ftd-js .ftd-rv-l, .ftd-js .ftd-rv-r, .ftd-js .ftd-rv-pop, .ftd-js .ftd-stagger > * {
	opacity: 0; transition: opacity .7s var(--ftd-ease), transform .7s var(--ftd-ease);
	transition-delay: calc(var(--i, 0) * 70ms);
}
.ftd-js .ftd-rv, .ftd-js .ftd-stagger > * { transform: translateY(26px); }
.ftd-js .ftd-rv-l { transform: translateX(-36px); }
.ftd-js .ftd-rv-r { transform: translateX(36px); }
.ftd-js .ftd-rv-pop { transform: scale(.9) rotate(-2deg); }
.ftd-js .is-in.ftd-rv, .ftd-js .is-in.ftd-rv-l, .ftd-js .is-in.ftd-rv-r, .ftd-js .is-in.ftd-rv-pop, .ftd-js .ftd-stagger.is-in > * { opacity: 1; transform: none; }
.elementor-editor-active .ftd-rv, .elementor-editor-active .ftd-rv-l, .elementor-editor-active .ftd-rv-r, .elementor-editor-active .ftd-rv-pop, .elementor-editor-active .ftd-stagger > * { opacity: 1 !important; transform: none !important; }

@media (prefers-reduced-motion: reduce) {
	.ftd *, .ftd *::before, .ftd *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
	.ftd-js .ftd-rv, .ftd-js .ftd-rv-l, .ftd-js .ftd-rv-r, .ftd-js .ftd-rv-pop, .ftd-js .ftd-stagger > * { opacity: 1; transform: none; }
}
/* ==========================================================================
   The mark + animated loader
   ========================================================================== */
.ftd-mark { display: block; width: 56px; height: 56px; flex: none; overflow: visible; }

.ftd-loader { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; overflow: hidden; }
.ftd-no-loader .ftd-loader { display: none; }
html.ftd-loading { overflow: hidden; }
.ftd-loader__half { position: absolute; top: 0; bottom: 0; width: 56%; transition: transform .75s cubic-bezier(.76, 0, .24, 1); will-change: transform; }
.ftd-loader__half--a { left: 0; background: var(--ftd-red); clip-path: polygon(0 0, 100% 0, 78.6% 100%, 0 100%); }
.ftd-loader__half--b { right: 0; width: calc(56% + 2px); background: var(--ftd-blue); clip-path: polygon(21.4% 0, 100% 0, 100% 100%, 0 100%); }
.ftd-loader__mid { position: relative; display: grid; justify-items: center; gap: 4px; transition: transform .5s var(--ftd-ease), opacity .35s; }
.ftd-loader .ftd-mark { width: min(78vw, 400px); height: min(78vw, 400px); margin-block: -40px -30px; }
.ftd-loader__word { font: 900 clamp(1.5rem, 5vw, 2.2rem)/1 var(--ftd-font); font-stretch: 62%; text-transform: uppercase; letter-spacing: .08em; color: #fff; margin-top: -34px; display: flex; gap: .35em; }
.ftd-loader__word span { display: inline-block; opacity: 0; transform: translateY(14px); animation: ftdWord .5s var(--ftd-ease) forwards; }
.ftd-loader__word span:nth-child(1) { animation-delay: .75s; }
.ftd-loader__word span:nth-child(2) { animation-delay: .85s; }
.ftd-loader__word span:nth-child(3) { animation-delay: .95s; }
.ftd-loader__bar { width: min(52vw, 220px); height: 8px; border: 2px solid #000; border-radius: 99px; background: #fff; overflow: hidden; margin-top: 16px; }
.ftd-loader__bar i { display: block; height: 100%; width: 100%; background: #000; transform-origin: left; transform: scaleX(0); animation: ftdBar 1.5s .35s cubic-bezier(.6, 0, .2, 1) forwards; }
.ftd-loader__note { font: 600 .82rem/1 var(--ftd-font); color: #fff; margin-top: 10px; opacity: 0; animation: ftdFade .4s 1s forwards; }

/* Letters drop in one by one, then the white outline draws itself. */
.ftd-mark--anim .ftd-mark__l { opacity: 0; transform-box: fill-box; transform-origin: 50% 100%; animation: ftdDrop .62s cubic-bezier(.3, 1.5, .5, 1) forwards; }
.ftd-mark--anim .ftd-mark__l--f { animation-delay: .05s; --from: translate(-90px, -40px) rotate(-14deg); }
.ftd-mark--anim .ftd-mark__l--t { animation-delay: .2s; --from: translate(0, -150px) rotate(0deg); }
.ftd-mark--anim .ftd-mark__l--d { animation-delay: .35s; --from: translate(90px, -40px) rotate(14deg); }
.ftd-mark--anim .ftd-mark__o { stroke-dasharray: 1; stroke-dashoffset: 1; animation: ftdDraw .7s cubic-bezier(.6, 0, .2, 1) forwards; }
.ftd-mark--anim .ftd-mark__l--f .ftd-mark__o { animation-delay: .5s; }
.ftd-mark--anim .ftd-mark__l--t .ftd-mark__o { animation-delay: .62s; }
.ftd-mark--anim .ftd-mark__l--d .ftd-mark__o { animation-delay: .74s; }

.ftd-loader.is-done { pointer-events: none; }
.ftd-loader.is-done .ftd-loader__half--a { transform: translateX(-101%); }
.ftd-loader.is-done .ftd-loader__half--b { transform: translateX(101%); }
.ftd-loader.is-done .ftd-loader__mid { transform: scale(.82); opacity: 0; }
/* Failsafe: if JS never runs, the loader removes itself. */
.ftd-loader { animation: ftdBail .01s 6s forwards; }

@keyframes ftdDrop { 0% { opacity: 0; transform: var(--from); } 60% { opacity: 1; } 100% { opacity: 1; transform: none; } }
@keyframes ftdDraw { to { stroke-dashoffset: 0; } }
@keyframes ftdWord { to { opacity: 1; transform: none; } }
@keyframes ftdBar { 0% { transform: scaleX(0); } 55% { transform: scaleX(.72); } 100% { transform: scaleX(1); } }
@keyframes ftdFade { to { opacity: .9; } }
@keyframes ftdBail { to { visibility: hidden; pointer-events: none; } }

/* Hover replay on the header badge: the outline redraws. */
.ftd-logo:hover .ftd-mark__o { stroke-dasharray: 1; animation: ftdDraw .6s cubic-bezier(.6, 0, .2, 1); stroke-dashoffset: 0; }
.ftd-logo:hover .ftd-mark__o { animation-name: ftdRedraw; }
@keyframes ftdRedraw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }

/* ==========================================================================
   Header
   ========================================================================== */
.elementor-location-header { position: sticky; top: calc(-1 * var(--ftd-ticker-h)); z-index: 900; pointer-events: none; }
.elementor-location-header > * { pointer-events: auto; }
.admin-bar .elementor-location-header { top: calc(32px - var(--ftd-ticker-h)); }
@media (max-width: 782px) { .admin-bar .elementor-location-header { top: calc(46px - var(--ftd-ticker-h)); } }
@media (max-width: 600px) { .admin-bar .elementor-location-header { top: calc(-1 * var(--ftd-ticker-h)); } }

/* Ticker */
.ftd .e-con.ftd-tickerbar { background: #000; }
.ftd-ticker { display: flex; align-items: center; height: var(--ftd-ticker-h); color: #fff; font-size: .84rem; overflow: hidden; width: 100%; }
.ftd-ticker__label { flex: none; margin-left: var(--ftd-gut); margin-right: 14px; background: var(--ftd-yellow); color: #000; font-weight: 800; font-stretch: 80%; text-transform: uppercase; letter-spacing: .05em; font-size: .72rem; padding: .35em .6em; border-radius: 4px; }
.ftd-ticker__view { flex: 1; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 40px, #000 calc(100% - 60px), transparent); mask-image: linear-gradient(90deg, transparent, #000 40px, #000 calc(100% - 60px), transparent); }
.ftd-ticker__track { display: inline-flex; white-space: nowrap; animation: ftdMarquee var(--ticker-time, 60s) linear infinite; will-change: transform; }
.ftd-ticker:hover .ftd-ticker__track, .ftd-ticker:focus-within .ftd-ticker__track { animation-play-state: paused; }
.ftd-ticker__dup { display: inline-flex; }
.ftd .ftd-ticker__item { color: #fff; padding-right: 44px; position: relative; }
.ftd .ftd-ticker__item::after { content: ""; position: absolute; right: 19px; top: 50%; width: 6px; height: 6px; background: var(--ftd-red); transform: translateY(-50%) rotate(45deg); }
.ftd .ftd-ticker__item b { color: var(--ftd-yellow); font-weight: 800; margin-right: .3em; }
.ftd a.ftd-ticker__item:hover { color: var(--ftd-yellow); }
@keyframes ftdMarquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ftd-ticker__track { animation: none; } .ftd-ticker__dup { display: none; } .ftd-ticker__view { overflow-x: auto; } }

/* Red bar */
.ftd .e-con.ftd-header, .ftd-header { background: var(--ftd-accent); border-bottom: 2px solid #000; transition: background .3s; }
.ftd .e-con.ftd-header__row, .ftd-header__row { display: flex; flex-direction: row; align-items: center; gap: clamp(12px, 2vw, 28px); min-height: 68px; flex-wrap: nowrap; }
.ftd .ftd-header__row > .elementor-widget { width: auto; flex: none; }
.ftd .ftd-header__row > .ftd-w-nav { flex: 1 1 auto; min-width: 0; }
.ftd .ftd-header__row > .ftd-w-nav > .elementor-widget-container, .ftd .ftd-header__row > .ftd-w-nav .elementor-shortcode { display: flex; align-items: center; }

.ftd .ftd-logo { display: inline-flex; align-items: center; gap: 12px; color: #fff; }
.ftd .ftd-logo .ftd-mark { width: 74px; height: 74px; margin-block: -6px -22px; filter: drop-shadow(0 0 0 #000); border-radius: 50%; box-shadow: 0 0 0 2px #000; background: #000; transition: transform .35s var(--ftd-ease); }
.ftd .ftd-logo:hover .ftd-mark { transform: rotate(-6deg) scale(1.04); }
.ftd .ftd-logo__img { max-height: 54px; width: auto; }
.ftd-logo__text { display: grid; line-height: 1; }
.ftd-logo__text b { font: 900 1.55rem/.9 var(--ftd-font); font-stretch: 62%; text-transform: uppercase; letter-spacing: .02em; color: #fff; white-space: nowrap; }
.ftd-logo__text i { font: 700 .72rem/1.3 var(--ftd-font); font-style: normal; color: #000; letter-spacing: .02em; white-space: nowrap; }

.ftd-nav { flex: 1; min-width: 0; }
.ftd .ftd-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: clamp(2px, .8vw, 10px); }
.ftd .ftd-menu > li { position: relative; }
.ftd .ftd-menu > li > a {
	display: flex; align-items: center; gap: .3em; padding: 23px 10px 21px;
	font: 800 1.22rem/1 var(--ftd-font); font-stretch: 66%; text-transform: uppercase; letter-spacing: .03em;
	color: #fff; white-space: nowrap; position: relative;
}
.ftd .ftd-menu > li > a::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 14px; height: 3px; background: #000; transform: scaleX(0); transform-origin: left; transition: transform .28s var(--ftd-ease); }
.ftd .ftd-menu > li:hover > a::after, .ftd .ftd-menu > li:focus-within > a::after, .ftd .ftd-menu > li.current-menu-item:not(.menu-item-type-custom) > a::after, .ftd .ftd-menu > li.current-menu-parent > a::after, .ftd .ftd-menu > li.current-menu-ancestor > a::after { transform: scaleX(1); }
.ftd .ftd-menu > li.menu-item-has-children > a::before { content: ""; order: 2; width: .42em; height: .42em; border-right: 2.5px solid currentColor; border-bottom: 2.5px solid currentColor; transform: rotate(45deg) translateY(-2px); margin-left: .25em; }
.ftd .ftd-menu .sub-menu {
	list-style: none; margin: 0; padding: 8px; position: absolute; left: 0; top: calc(100% - 6px); min-width: 230px;
	background: #fff; border: 2px solid #000; border-radius: 12px; box-shadow: 5px 5px 0 #000;
	opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .2s, transform .25s var(--ftd-ease), visibility .2s; z-index: 5;
}
.ftd .ftd-menu > li:hover > .sub-menu, .ftd .ftd-menu > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.ftd .ftd-menu .sub-menu a { display: block; padding: 9px 12px; border-radius: 8px; color: var(--ftd-text); font-weight: 600; font-size: .95rem; }
.ftd .ftd-menu .sub-menu a:hover { background: var(--ftd-yellow); color: #000; }
.ftd .ftd-menu .sub-menu li:last-child a { border-top: 1px solid var(--ftd-line); border-radius: 0 0 8px 8px; margin-top: 4px; font-weight: 800; }

/* Search pop-out + socials */
.ftd-searchbox { position: relative; }
.ftd .ftd-searchbox__btn, .ftd .ftd-soc--dots .ftd-soc__a, .ftd .ftd-burger {
	width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%;
	background: #fff; color: #000; border: 2px solid #000; padding: 0; cursor: pointer;
	transition: transform .2s var(--ftd-ease), background .2s, color .2s;
}
.ftd .ftd-searchbox__btn:hover, .ftd .ftd-soc--dots .ftd-soc__a:hover { background: #000; color: #fff; transform: translateY(-2px) rotate(-6deg); }
.ftd-searchbox__pop { position: absolute; right: 0; top: calc(100% + 14px); width: min(86vw, 380px); background: #fff; border: 2px solid #000; border-radius: 12px; box-shadow: 5px 5px 0 #000; padding: 10px; z-index: 6; animation: ftdPop .22s var(--ftd-ease); }
@keyframes ftdPop { from { opacity: 0; transform: translateY(-8px) scale(.97); } }
.ftd .ftd-search { display: flex; align-items: center; background: #fff; border: 2px solid #000; border-radius: var(--ftd-r-sm); overflow: hidden; width: 100%; }
.ftd .ftd-search input[type=search] { flex: 1; min-width: 0; border: 0; outline: 0; background: none; padding: 12px 14px; font: 500 1rem var(--ftd-font); color: #000; border-radius: 0; }
.ftd .ftd-search button { border: 0; background: #000; color: #fff; align-self: stretch; padding: 0 16px; cursor: pointer; border-radius: 0; display: grid; place-items: center; transition: background .2s; }
.ftd .ftd-search button:hover { background: var(--ftd-accent); color: #000; }
.ftd .ftd-search:focus-within { box-shadow: 4px 4px 0 var(--ftd-yellow); }
.ftd-soc { display: flex; gap: 8px; flex-wrap: wrap; }
.ftd .ftd-soc--dots .ftd-soc__a .ftd-i { width: 18px; height: 18px; }
.ftd .ftd-soc--labels { gap: 10px; }
.ftd .ftd-soc--labels .ftd-soc__a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border: 2px solid #000; border-radius: 999px; background: #fff; color: #000; font-weight: 700; font-size: .92rem; transition: transform .2s var(--ftd-ease), box-shadow .2s var(--ftd-ease), background .2s; }
.ftd .ftd-soc--labels .ftd-soc__a:hover { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 #000; background: var(--ftd-yellow); }

/* Utility row */
.ftd .e-con.ftd-utility { background: #fff; border-bottom: 1px solid var(--ftd-line); transition: transform .3s var(--ftd-ease), opacity .25s; }
.ftd-stuck .ftd-utility { transform: translateY(-100%); opacity: 0; pointer-events: none; }
.ftd .e-con.ftd-utility__row { flex-direction: row; justify-content: flex-end; align-items: center; min-height: 40px; }
.ftd .ftd-util { list-style: none; margin: 0; padding: 0 0 0 110px; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px 26px; }
.ftd .ftd-util a { color: var(--ftd-mute); font-size: .82rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; font-stretch: 88%; padding: 10px 0; display: block; transition: color .2s; }
.ftd .ftd-util a:hover, .ftd .ftd-util .current-menu-item:not(.menu-item-type-custom) a { color: var(--ftd-accent-deep); }

/* Burger + drawer */
.ftd .ftd-burger { display: none; flex-direction: column; gap: 4px; place-content: center; margin-left: auto; flex: none; }
.ftd-burger span { display: block; width: 18px; height: 2.5px; background: currentColor; border-radius: 2px; transition: transform .3s var(--ftd-ease), opacity .2s; }
.ftd-drawer { position: fixed; inset: 0; z-index: 9990; background: rgba(0, 0, 0, 0); transition: background .3s; }
.ftd-drawer[hidden] { display: none; }
.ftd-drawer.is-open { background: rgba(0, 0, 0, .55); }
.ftd-drawer__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(88vw, 380px); background: #fff; border-left: 2px solid #000; padding: 18px 20px 28px; overflow-y: auto; display: flex; flex-direction: column; gap: 18px; transform: translateX(102%); transition: transform .4s var(--ftd-ease); }
.ftd-drawer.is-open .ftd-drawer__panel { transform: none; }
.ftd-drawer__panel > * { flex: none; }
.ftd-drawer__top { display: flex; align-items: center; justify-content: space-between; }
.ftd-drawer__top .ftd-mark { width: 52px; height: 52px; }
.ftd .ftd-drawer__close { width: 42px; height: 42px; border-radius: 50%; border: 2px solid #000; background: #fff; color: #000; display: grid; place-items: center; cursor: pointer; padding: 0; }
.ftd .ftd-dmenu { list-style: none; margin: 0; padding: 0; }
.ftd .ftd-dmenu > li { border-bottom: 1px solid var(--ftd-line); opacity: 0; transform: translateX(18px); transition: opacity .35s var(--ftd-ease), transform .35s var(--ftd-ease); transition-delay: calc(var(--i, 0) * 45ms + 120ms); }
.ftd-drawer.is-open .ftd-dmenu > li { opacity: 1; transform: none; }
.ftd .ftd-dmenu > li > a { display: block; padding: 14px 2px; font: 900 1.6rem/1 var(--ftd-font); font-stretch: 62%; text-transform: uppercase; color: #000; }
.ftd .ftd-dmenu .sub-menu { list-style: none; margin: -4px 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.ftd .ftd-dmenu .sub-menu a { display: block; padding: 6px 11px; border: 1px solid var(--ftd-line); border-radius: 999px; font-size: .88rem; font-weight: 600; color: var(--ftd-text); background: var(--ftd-wash); }
.ftd .ftd-dmenu--small > li > a { font: 700 1rem/1 var(--ftd-font); font-stretch: 100%; text-transform: none; padding: 12px 2px; color: var(--ftd-text); }
.ftd-drawer .ftd-soc { margin-top: auto; }

@media (max-width: 1100px) {
	.ftd-logo__text i { display: none; }
	.ftd .ftd-menu > li > a { font-size: 1.08rem; padding-inline: 7px; }
}
@media (max-width: 960px) {
	.ftd .ftd-nav, .ftd .e-con.ftd-utility, .ftd .ftd-header__row > .ftd-w-soc { display: none; }
	.ftd .ftd-burger { display: flex; }
	.ftd .e-con.ftd-header__row, .ftd-header__row { min-height: 60px; }
	.ftd .ftd-header__row > .ftd-w-nav { flex: 0 0 auto; order: 5; }
	.ftd .ftd-header__row > .ftd-w-search { margin-left: auto; }
	.ftd .ftd-logo .ftd-mark { width: 58px; height: 58px; margin-block: -4px -14px; }
	.ftd-logo__text b { font-size: 1.3rem; }
}
/* ==========================================================================
   Home: intro, carousel, store strip, filter row
   ========================================================================== */
.ftd .e-con.ftd-intro { padding-block: clamp(34px, 4.6vw, 56px) clamp(16px, 2vw, 24px); }
.ftd .e-con.ftd-intro__row { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 16px 40px; flex-wrap: wrap; }
.ftd .ftd-intro__row > .elementor-widget { width: auto; }
.ftd .ftd-intro__h { flex: 0 1 auto; }
.ftd .ftd-intro__p { flex: 1 1 100%; max-width: 62ch; }
.ftd .ftd-intro__p p { font-size: 1.08rem; color: var(--ftd-mute); }
/* Page-load moment: the headline lands as the loader curtains open. */
.ftd-js .ftd-intro__h .elementor-heading-title { opacity: 0; transform: translateY(30px) rotate(-1.2deg); }
.ftd-js .ftd-intro__p, .ftd-js .ftd-herowrap, .ftd-js .ftd-storesrow { opacity: 0; transform: translateY(22px); }
.ftd-loaded .ftd-intro__h .elementor-heading-title, .ftd-no-loader .ftd-intro__h .elementor-heading-title { opacity: 1; transform: none; transition: opacity .7s var(--ftd-ease) .1s, transform .8s cubic-bezier(.3, 1.4, .5, 1) .1s; }
.ftd-loaded .ftd-intro__p, .ftd-no-loader .ftd-intro__p { opacity: 1; transform: none; transition: opacity .6s var(--ftd-ease) .28s, transform .6s var(--ftd-ease) .28s; }
.ftd-loaded .ftd-herowrap, .ftd-no-loader .ftd-herowrap { opacity: 1; transform: none; transition: opacity .7s var(--ftd-ease) .38s, transform .7s var(--ftd-ease) .38s; }
.ftd-loaded .ftd-storesrow, .ftd-no-loader .ftd-storesrow { opacity: 1; transform: none; transition: opacity .7s var(--ftd-ease) .5s, transform .7s var(--ftd-ease) .5s; }
.elementor-editor-active .ftd-intro__h .elementor-heading-title, .elementor-editor-active .ftd-intro__p, .elementor-editor-active .ftd-herowrap, .elementor-editor-active .ftd-storesrow { opacity: 1 !important; transform: none !important; }

/* Carousel — image on top, caption underneath, so text-heavy deal graphics stay readable */
.ftd-hero { position: relative; }
.ftd-hero__track { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding: 4px 6px 8px 0; outline-offset: 4px; }
.ftd-hero__track::-webkit-scrollbar { display: none; }
.ftd .ftd-slide { position: relative; flex: 0 0 calc((100% - 36px - 6px) / 3); display: flex; flex-direction: column; border-radius: var(--ftd-r); overflow: hidden; scroll-snap-align: start; background: #000; color: #fff; border: 2px solid #000; transition: transform .25s var(--ftd-ease), box-shadow .25s var(--ftd-ease); }
.ftd .ftd-slide:hover, .ftd .ftd-slide:focus-visible { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--ftd-accent); color: #fff; }
.ftd-slide img, .ftd-slide .ftd-noimg { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; flex: none; }
.ftd-slide .ftd-noimg { display: grid; }
.ftd-slide__cap { display: grid; gap: 8px; padding: 14px 16px 16px; align-content: start; flex: 1; border-top: 2px solid #000; background: #000; }
.ftd-slide__store { justify-self: start; font: 800 .7rem/1 var(--ftd-font); font-stretch: 80%; text-transform: uppercase; letter-spacing: .07em; background: var(--ftd-yellow); color: #000; padding: .4em .6em; border-radius: 4px; }
.ftd-slide__title { font: 700 1.1rem/1.25 var(--ftd-font); color: #fff; text-wrap: balance; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ftd-slide__price { position: absolute; right: 12px; top: 12px; z-index: 2; background: var(--ftd-yellow); color: #000; border: 2px solid #000; box-shadow: 3px 3px 0 #000; border-radius: 8px; font: 900 1.25rem/1 var(--ftd-font); font-stretch: 66%; padding: .4em .55em; transform: rotate(4deg); transition: transform .3s var(--ftd-ease); }
.ftd-slide__price.is-free { background: #fff; }
.ftd-slide:hover .ftd-slide__price { transform: rotate(-3deg) scale(1.08); }
.ftd .ftd-hero__nav { position: absolute; top: calc(50% - 70px); z-index: 3; width: 46px; height: 46px; border-radius: 50%; background: #fff; color: #000; border: 2px solid #000; box-shadow: 3px 3px 0 #000; display: grid; place-items: center; padding: 0; cursor: pointer; transition: transform .18s var(--ftd-ease), box-shadow .18s, background .2s; }
.ftd .ftd-hero__nav:hover { background: var(--ftd-yellow); transform: translate(-1px, -1px); box-shadow: 4px 4px 0 #000; }
.ftd .ftd-hero__nav:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 #000; }
.ftd-hero__nav--prev { left: -14px; }
.ftd-hero__nav--next { right: -14px; }
.ftd-hero__dots { display: flex; justify-content: center; gap: 8px; padding-top: 16px; min-height: 26px; }
.ftd .ftd-hero__dots button { width: 10px; height: 10px; border-radius: 99px; border: 0; padding: 0; background: #c9cee0; cursor: pointer; transition: width .35s var(--ftd-ease), background .25s; }
.ftd .ftd-hero__dots button.is-on { width: 30px; background: var(--ftd-accent); }
.ftd-noimg { display: grid; place-items: center; background: repeating-linear-gradient(135deg, var(--ftd-red) 0 26px, #f02626 26px 52px); color: #000; }
.ftd-noimg b { font: 900 1.6rem/1 var(--ftd-font); font-stretch: 62%; text-transform: uppercase; background: #fff; border: 2px solid #000; padding: .35em .6em; border-radius: 6px; transform: rotate(-3deg); }

/* Store strip */
.ftd .e-con.ftd-storesrow { padding-block: 6px 0; }
.ftd-strip { display: flex; align-items: center; gap: 14px; }
.ftd-strip__track { display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; padding: 6px 2px 10px; flex: 1; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 50px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 50px), transparent); }
.ftd-strip__track::-webkit-scrollbar { display: none; }
.ftd .ftd-tile { flex: none; display: grid; place-items: center; min-width: 104px; height: 60px; padding: 8px 16px; background: #fff; border: 1.5px solid var(--ftd-line); border-radius: 12px; color: #000; position: relative; overflow: hidden; transition: transform .22s var(--ftd-ease), border-color .2s, box-shadow .22s var(--ftd-ease); }
.ftd .ftd-tile::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--tile, var(--ftd-red)); transition: height .25s var(--ftd-ease); }
.ftd .ftd-tile:hover { transform: translateY(-3px); border-color: #000; box-shadow: 3px 3px 0 #000; }
.ftd .ftd-tile:hover::before { height: 7px; }
.ftd-tile img { max-height: 34px; width: auto; max-width: 110px; object-fit: contain; }
.ftd-tile__name { font: 800 1.02rem/1 var(--ftd-font); font-stretch: 78%; white-space: nowrap; }
.ftd .ftd-strip__all { flex: none; display: inline-flex; align-items: center; gap: 6px; font-weight: 800; color: #000; white-space: nowrap; padding: 8px 0; }
.ftd .ftd-strip__all .ftd-i { transition: transform .25s var(--ftd-ease); }
.ftd .ftd-strip__all:hover .ftd-i { transform: translateX(4px); }

/* Category pills + search row */
.ftd .e-con.ftd-filterrow { padding-block: 14px 8px; }
.ftd .e-con.ftd-filterrow__in { flex-direction: row; align-items: center; gap: 14px 20px; flex-wrap: wrap; }
.ftd .ftd-filterrow__in > .ftd-w-pills { flex: 1 1 520px; width: auto; min-width: 0; }
.ftd .ftd-filterrow__in > .ftd-w-searchbar { flex: 1 1 260px; width: auto; max-width: 380px; }
.ftd-pills, .ftd-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ftd .ftd-pill { display: inline-flex; padding: .58em 1em; border-radius: 999px; background: #fff; border: 1.5px solid #000; color: #000; font-weight: 700; font-size: .92rem; line-height: 1; transition: background .2s, color .2s, transform .2s var(--ftd-ease), box-shadow .2s var(--ftd-ease); }
.ftd .ftd-pill:hover { background: var(--ftd-yellow); transform: translate(-1px, -2px); box-shadow: 2px 3px 0 #000; }
.ftd .ftd-pill.is-on { background: #000; color: #fff; }

/* ==========================================================================
   Deal cards + feed
   ========================================================================== */
.ftd-deals { display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ftd-deals.ftd-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ftd-deals.ftd-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ftd-deals--list, .ftd-deals--compact { grid-template-columns: minmax(0, 1fr) !important; }
.ftd-deals--compact { gap: 0; }
.ftd-deals__ad { grid-column: 1 / -1; }
.ftd-deals__ad:empty { display: none; }

.ftd-card { display: flex; flex-direction: column; background: #fff; border: 1.5px solid var(--ftd-line); border-radius: var(--ftd-r); overflow: hidden; position: relative; transition: transform .25s var(--ftd-ease), box-shadow .25s var(--ftd-ease), border-color .2s; }
.ftd-card:hover, .ftd-card:focus-within { transform: translate(-3px, -3px); border-color: #000; box-shadow: 6px 6px 0 var(--ftd-accent); }
.ftd .ftd-card__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--ftd-wash); }
.ftd-card__media img, .ftd-card__media .ftd-noimg { width: 100%; height: 100%; object-fit: cover; display: grid; transition: transform .7s var(--ftd-ease); }
.ftd-card:hover .ftd-card__media img { transform: scale(1.05); }
.ftd-card:hover .ftd-sticker { animation: ftdWiggle .5s var(--ftd-ease); }
@keyframes ftdWiggle { 0%, 100% { transform: rotate(-4deg); } 35% { transform: rotate(5deg) scale(1.1); } 70% { transform: rotate(-7deg); } }
.ftd-card__body { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px 16px; flex: 1; }
.ftd-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: .8rem; color: var(--ftd-mute); }
.ftd .ftd-card__title { margin: 0; font: 700 1.06rem/1.3 var(--ftd-font); letter-spacing: -.005em; }
.ftd .ftd-card__title a { color: #000; }
.ftd .ftd-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.ftd .ftd-card__meta a, .ftd .ftd-card__go { position: relative; z-index: 2; }
.ftd-card__ex { margin: 0; color: var(--ftd-mute); font-size: .95rem; }
.ftd-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 6px; }
.ftd .ftd-card__go { display: inline-flex; align-items: center; gap: 6px; font-weight: 800; font-size: .9rem; color: #000; background: var(--ftd-wash); border: 1.5px solid #000; border-radius: 8px; padding: .5em .75em; margin-left: auto; transition: background .2s, color .2s; white-space: nowrap; }
.ftd .ftd-card__go .ftd-i { width: 14px; height: 14px; }
.ftd .ftd-card__go:hover { background: #000; color: #fff; }
.ftd .ftd-card__go--quiet { border-color: var(--ftd-line); font-weight: 700; }
.ftd-card.is-expired .ftd-card__media img { filter: grayscale(1); opacity: .7; }
.ftd-card.is-expired .ftd-price b { text-decoration: line-through; color: var(--ftd-mute); }

/* list + compact variants */
.ftd-card--list { flex-direction: row; }
.ftd-card--list .ftd-card__media { flex: 0 0 34%; aspect-ratio: auto; min-height: 170px; }
.ftd-card--compact { flex-direction: row; align-items: center; gap: 12px; border: 0; border-bottom: 1px solid var(--ftd-line); border-radius: 0; padding: 12px 0; background: none; }
.ftd-card--compact:last-child { border-bottom: 0; }
.ftd-card--compact:hover, .ftd-card--compact:focus-within { transform: none; box-shadow: none; }
.ftd-card--compact .ftd-card__media { flex: 0 0 76px; height: 58px; aspect-ratio: auto; border-radius: 8px; }
.ftd-card--compact .ftd-sticker { display: none; }
.ftd-card--compact .ftd-card__body { padding: 0; gap: 4px; }
.ftd-card--compact .ftd-card__meta { order: 3; }
.ftd-card--compact .ftd-card__meta .ftd-chip { display: none; }
.ftd .ftd-card--compact .ftd-card__title { font-size: .95rem; }
.ftd .ftd-card--compact:hover .ftd-card__title a { color: var(--ftd-accent-deep); }
.ftd-card--compact .ftd-price { display: none; }

.ftd-pager { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 36px; flex-wrap: wrap; }
.ftd .ftd-pager .page-numbers { min-width: 44px; height: 44px; display: grid; place-items: center; padding: 0 12px; border: 1.5px solid #000; border-radius: 10px; color: #000; font-weight: 800; background: #fff; transition: background .2s, transform .2s var(--ftd-ease), box-shadow .2s; }
.ftd .ftd-pager a.page-numbers:hover { background: var(--ftd-yellow); transform: translate(-1px, -2px); box-shadow: 2px 3px 0 #000; }
.ftd .ftd-pager .page-numbers.current { background: #000; color: #fff; }
.ftd .ftd-pager .page-numbers.dots { border: 0; background: none; }

.ftd .e-con.ftd-sec--top0 { padding-top: clamp(16px, 2vw, 24px); }
.ftd .e-con.ftd-feed { flex-direction: row; align-items: flex-start; gap: clamp(24px, 3vw, 40px); flex-wrap: nowrap; }
.ftd .e-con.ftd-feed__main { flex: 1 1 0; min-width: 0; }
.ftd .e-con.ftd-feed__side, .ftd .e-con.ftd-single__side { flex: 0 0 320px; width: 320px; gap: 22px; position: sticky; top: 96px; }
.ftd .e-con.ftd-sidebox { background: #fff; border: 1.5px solid #000; border-radius: var(--ftd-r); padding: 20px; gap: 12px; }
.ftd .ftd-sidebox__t .elementor-heading-title { font: 900 1.45rem/1 var(--ftd-font); font-stretch: 66%; text-transform: uppercase; color: #000; }
.ftd .e-con.ftd-sidebox--news { background: var(--ftd-yellow); box-shadow: 5px 5px 0 #000; }
.ftd .ftd-sidebox--news .ftd-muted p { color: #2b2b2b; }

/* Colour bands */
.ftd .e-con.ftd-band--yellow { background: var(--ftd-yellow); }
.ftd .e-con.ftd-band--red { background: var(--ftd-red); }
.ftd .e-con.ftd-band--blue { background: var(--ftd-blue); }
.ftd .ftd-band--yellow .ftd-card { border-color: #000; }
.ftd .ftd-band--yellow .ftd-card:hover { box-shadow: 6px 6px 0 #000; }
.ftd .ftd-band--yellow .ftd-more .elementor-button { box-shadow: inset 0 -2px 0 #000; }
.ftd .ftd-band--yellow .ftd-more .elementor-button:hover { box-shadow: inset 0 -1.6em 0 #fff; }

/* Phone-plans band on the home page */
.ftd .e-con.ftd-plansband { flex-direction: row; align-items: center; gap: clamp(28px, 5vw, 72px); flex-wrap: nowrap; }
.ftd .e-con.ftd-plansband__txt { flex: 1 1 0; gap: 20px; min-width: 0; }
.ftd .e-con.ftd-plansband__picks { flex: 0 0 44%; min-width: 0; }
.ftd .ftd-plansband__picks .ftd-picks { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Watch + follow */
.ftd .e-con.ftd-watch { flex-direction: row; gap: clamp(24px, 3vw, 40px); align-items: stretch; flex-wrap: nowrap; }
.ftd .e-con.ftd-watch__video { flex: 1.5 1 0; gap: 10px; min-width: 0; }
.ftd .ftd-watch__video .elementor-widget-video .elementor-wrapper, .ftd .ftd-watch__video .elementor-widget-video .e-hosted-video { border: 2px solid #000; border-radius: var(--ftd-r); overflow: hidden; box-shadow: 6px 6px 0 var(--ftd-red); background: #000; }
/* The video column and its helper note only appear once a video link is set (always visible in the editor). */
.ftd .ftd-watch__note { display: none; }
.ftd .e-con.ftd-watch__video:not(:has(.elementor-wrapper, iframe, video)) { display: none; }
.elementor-editor-active .ftd-watch__note, .elementor-editor-active .e-con.ftd-watch__video { display: flex !important; }
.ftd .ftd-watch__note p { font-size: .85rem; }
.ftd .e-con.ftd-watch:not(:has(.ftd-watch__video .elementor-wrapper, .ftd-watch__video iframe, .ftd-watch__video video)) .ftd-watch__ig { flex-direction: row; align-items: center; flex-wrap: wrap; }
.ftd .e-con.ftd-watch:not(:has(.ftd-watch__video .elementor-wrapper, .ftd-watch__video iframe, .ftd-watch__video video)) .ftd-watch__ig > .elementor-widget { flex: 1 1 320px; width: auto; }
.ftd .e-con.ftd-watch__ig { flex: 1 1 0; gap: 18px; min-width: 0; }
.ftd blockquote.ftd-igcard { margin: 0 !important; border: 2px solid #000 !important; border-radius: var(--ftd-r) !important; background: linear-gradient(120deg, var(--ftd-red) 0 50%, var(--ftd-blue) 50% 100%) !important; padding: 0 !important; min-width: 0 !important; max-width: none !important; width: 100% !important; box-shadow: none !important; }
.ftd .ftd-igcard > a { display: grid; gap: 8px; padding: 28px 24px; color: #000; }
.ftd-igcard b { font: 900 2rem/1 var(--ftd-font); font-stretch: 62%; color: #fff; }
.ftd-igcard span { font-weight: 600; max-width: 26ch; }
.ftd-igcard em { font-style: normal; font-weight: 800; background: #fff; border: 2px solid #000; border-radius: 8px; padding: .5em .8em; justify-self: start; box-shadow: 3px 3px 0 #000; margin-top: 6px; }
.ftd .ftd-watch__ig iframe.instagram-media { border: 2px solid #000 !important; border-radius: var(--ftd-r) !important; min-width: 0 !important; width: 100% !important; }

/* About strip + stats */
.ftd .e-con.ftd-about { flex-direction: row; align-items: center; gap: clamp(28px, 5vw, 72px); flex-wrap: nowrap; }
.ftd .e-con.ftd-about__txt { flex: 1.2 1 0; gap: 20px; min-width: 0; }
.ftd .e-con.ftd-stats { flex: 1 1 0; flex-direction: row; gap: 14px; flex-wrap: wrap; min-width: 0; }
.ftd .e-con.ftd-stats--col { flex: 0 0 300px; flex-direction: column; }
.ftd .e-con.ftd-stat { flex: 1 1 150px; background: #fff; border: 2px solid #000; border-radius: var(--ftd-r); padding: 18px 18px 16px; gap: 4px; box-shadow: 4px 4px 0 #000; }
.ftd .ftd-stats--col .e-con.ftd-stat { flex: 0 0 auto; }
.ftd .ftd-about__txt .elementor-widget-text-editor { font-size: 1.08rem; line-height: 1.65; max-width: 64ch; }
.ftd .ftd-stat:nth-child(2) { box-shadow: 4px 4px 0 var(--ftd-red); }
.ftd .ftd-stat:nth-child(3) { box-shadow: 4px 4px 0 var(--ftd-blue); }
.ftd .ftd-stat__n .elementor-heading-title { font: 900 clamp(2.4rem, 4vw, 3.4rem)/.9 var(--ftd-font); font-stretch: 62%; color: #000; font-variant-numeric: tabular-nums; }
.ftd .ftd-stat__l p { font-size: .9rem; color: var(--ftd-mute); line-height: 1.3; }

/* Newsletter band */
.ftd .e-con.ftd-newsband { align-items: center; gap: 16px; text-align: center; }
.ftd .ftd-newsband .ftd-lead p { color: #000; }
.ftd .ftd-newsband__form { width: min(100%, 560px); margin-top: 8px; }

@media (max-width: 1100px) {
	.ftd-deals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ftd-deals.ftd-cols-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ftd .e-con.ftd-plansband { flex-direction: column; align-items: stretch; }
	.ftd .e-con.ftd-plansband__picks { flex: 1 1 auto; }
}
@media (max-width: 900px) {
	.ftd .e-con.ftd-feed, .ftd .e-con.ftd-watch, .ftd .e-con.ftd-about { flex-direction: column; align-items: stretch; }
	.ftd .e-con.ftd-feed__side, .ftd .e-con.ftd-single__side { position: static; flex: 1 1 auto; width: 100%; }
	.ftd .e-con.ftd-stats--col { flex: 1 1 auto; flex-direction: row; }
	.ftd .ftd-slide { flex-basis: calc((100% - 18px - 6px) / 2); }
	.ftd-deals.ftd-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ftd-hero__nav--prev { left: 6px; }
	.ftd-hero__nav--next { right: 6px; }
}
@media (max-width: 600px) {
	.ftd .ftd-slide { flex-basis: 86%; }
	.ftd .ftd-hero__nav { display: none; }
	.ftd-deals, .ftd-deals.ftd-cols-4, .ftd-deals.ftd-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.ftd-card__body { padding: 10px 11px 12px; gap: 8px; }
	.ftd .ftd-card__title { font-size: .93rem; }
	.ftd-card__meta time { display: none; }
	.ftd-card__foot { flex-wrap: wrap; }
	.ftd .ftd-card__go { width: 100%; justify-content: center; margin-left: 0; }
	.ftd-price b { font-size: 1.25rem; }
	.ftd-sticker { font-size: .7rem; left: 7px; top: 7px; }
	.ftd .ftd-pills { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(-1 * var(--ftd-gut)); padding-inline: var(--ftd-gut); padding-block: 4px; }
	.ftd .ftd-pills::-webkit-scrollbar { display: none; }
	.ftd .ftd-pill { flex: none; }
	.ftd .ftd-filterrow__in > .ftd-w-searchbar { max-width: none; flex-basis: 100%; }
	.ftd .ftd-filterrow__in > .ftd-w-pills { flex-basis: 100%; }
	.ftd .ftd-strip__all { display: none; }
	.ftd .ftd-plansband__picks .ftd-picks { grid-template-columns: 1fr; }
	.ftd .e-con.ftd-stat { flex-basis: 100%; }
	.ftd-card--list { flex-direction: column; }
}
/* ==========================================================================
   Footer
   ========================================================================== */
.ftd .e-con.ftd-footer { background: #000; color: #c9ccd6; padding-block: clamp(40px, 5vw, 64px) 26px; position: relative; }
.ftd .e-con.ftd-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 8px; background: linear-gradient(105deg, var(--ftd-red) 0 50%, var(--ftd-blue) 50% 100%); }
.ftd .e-con.ftd-footer__top { flex-direction: row; gap: clamp(28px, 5vw, 72px); align-items: flex-start; flex-wrap: wrap; }
.ftd .e-con.ftd-footer__brand { flex: 1.2 1 260px; gap: 16px; }
.ftd .e-con.ftd-footer__col { flex: 1 1 180px; gap: 14px; }
.ftd .e-con.ftd-footer__col--news { flex: 1.4 1 300px; }
.ftd .ftd-footer .ftd-logo .ftd-mark { margin: 0; width: 60px; height: 60px; box-shadow: none; }
.ftd .ftd-footer .ftd-logo__text i { color: #9a9fb0; display: block; }
.ftd .ftd-footer__blurb p { color: #c9ccd6; max-width: 34ch; }
.ftd .ftd-footer__t .elementor-heading-title { font: 900 1.3rem/1 var(--ftd-font); font-stretch: 66%; text-transform: uppercase; letter-spacing: .03em; color: #fff; }
.ftd .ftd-fmenu { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ftd .ftd-fmenu a { color: #c9ccd6; font-weight: 500; transition: color .2s, padding-left .25s var(--ftd-ease); }
.ftd .ftd-fmenu a:hover { color: var(--ftd-yellow); padding-left: 6px; }
.ftd .ftd-footer .ftd-soc--dots .ftd-soc__a { background: #000; color: #fff; border-color: #fff; }
.ftd .ftd-footer .ftd-soc--dots .ftd-soc__a:hover { background: var(--ftd-yellow); color: #000; border-color: var(--ftd-yellow); }
.ftd .e-con.ftd-footer__bottom { margin-top: clamp(28px, 4vw, 44px); padding-top: 22px; border-top: 1px solid #2a2c33; gap: 14px; }
.ftd .ftd-footer .ftd-disclosure { color: #9a9fb0; max-width: 90ch; }
.ftd .e-con.ftd-footer__legal { flex-direction: row; justify-content: space-between; align-items: center; gap: 10px 24px; flex-wrap: wrap; }
.ftd .ftd-footer__legal > .elementor-widget { width: auto; }
.ftd .ftd-footer__copy p { color: #9a9fb0; font-size: .88rem; }
.ftd .ftd-footer__legalnav .ftd-fmenu { display: flex; gap: 20px; flex-wrap: wrap; }
.ftd .ftd-footer__legalnav .ftd-fmenu a { font-size: .88rem; color: #9a9fb0; }

/* ==========================================================================
   Forms
   ========================================================================== */
.ftd-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.ftd-form { display: grid; gap: 10px; text-align: left; }
.ftd-form__row { display: flex; gap: 10px; flex-wrap: wrap; }
.ftd .ftd-form input[type=email], .ftd .ftd-form input[type=text], .ftd .ftd-form select, .ftd .ftd-form textarea,
.ftd .ftd-finder select {
	width: 100%; min-height: 50px; padding: 12px 14px; font: 500 1rem/1.3 var(--ftd-font); color: #000; background: #fff;
	border: 2px solid #000; border-radius: var(--ftd-r-sm); transition: box-shadow .2s var(--ftd-ease); appearance: none; -webkit-appearance: none;
}
.ftd .ftd-form select, .ftd .ftd-finder select, .ftd .ftd-pf select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9l7 7 7-7'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; padding-right: 38px; }
.ftd .ftd-form input:focus, .ftd .ftd-form select:focus, .ftd .ftd-form textarea:focus, .ftd .ftd-finder select:focus { outline: 0; box-shadow: 4px 4px 0 var(--ftd-blue); }
.ftd .ftd-form--news input[type=email] { flex: 1 1 220px; width: auto; }
.ftd .ftd-form--news .ftd-btn { flex: 0 0 auto; }
.ftd .ftd-form__note { margin: 0; font-size: .82rem; color: inherit; opacity: .75; }
.ftd .ftd-form__msg { margin: 0; font-weight: 700; font-size: .95rem; min-height: 0; }
.ftd .ftd-form__msg:empty { display: none; }
.ftd .ftd-form.is-ok .ftd-form__msg { background: #fff; color: #0a5c2b; border: 2px solid #000; border-radius: 8px; padding: 10px 12px; animation: ftdPop .3s var(--ftd-ease); }
.ftd .ftd-form.is-bad .ftd-form__msg { background: #fff; color: #a30f0f; border: 2px solid #a30f0f; border-radius: 8px; padding: 10px 12px; }
.ftd .ftd-form--contact { gap: 16px; }
.ftd .ftd-form--contact label { display: grid; gap: 6px; font-weight: 700; font-size: .92rem; color: #000; }
.ftd .ftd-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ftd .ftd-form--contact .ftd-btn { justify-self: start; }
.ftd .ftd-footer .ftd-form__note { color: #9a9fb0; opacity: 1; }
.ftd .ftd-footer .ftd-form--news .ftd-btn { background: var(--ftd-red); color: #000; box-shadow: 4px 4px 0 #fff; }
.ftd .ftd-footer .ftd-form input[type=email] { border-color: #fff; }
@media (max-width: 600px) { .ftd .ftd-form__grid { grid-template-columns: 1fr; } .ftd .ftd-form--news .ftd-btn { flex: 1 1 100%; } }

/* ==========================================================================
   Page heads, breadcrumbs, archive
   ========================================================================== */
.ftd .e-con.ftd-pagehead { padding-block: clamp(30px, 4.4vw, 56px) clamp(14px, 2vw, 22px); }
.ftd .e-con.ftd-pagehead--blue { padding-block: clamp(36px, 5vw, 64px); }
.ftd-crumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: .85rem; color: var(--ftd-mute); margin-bottom: 14px; }
.ftd .ftd-crumbs a { color: var(--ftd-mute); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--ftd-line); }
.ftd .ftd-crumbs a:hover { color: #000; text-decoration-color: var(--ftd-accent); }
.ftd-ahead__row { display: flex; align-items: center; gap: 18px; }
.ftd-ahead__logo { flex: none; width: 96px; height: 72px; display: grid; place-items: center; border: 1.5px solid #000; border-radius: 12px; padding: 10px; background: #fff; }
.ftd-ahead__logo img { max-height: 48px; width: auto; object-fit: contain; }
.ftd .ftd-ahead__title { margin: 0; font: 900 clamp(2.4rem, 5.4vw, 4.2rem)/.94 var(--ftd-font); font-stretch: 62%; text-transform: uppercase; color: #000; }
.ftd-ahead__desc { margin: 10px 0 0; color: var(--ftd-mute); font-size: 1.08rem; max-width: 62ch; }
.ftd .ftd-w-bigsearch { width: min(100%, 620px); }
.ftd .ftd-w-bigsearch .ftd-search input[type=search] { padding-block: 16px; font-size: 1.1rem; }

/* Directories: stores, categories */
.ftd-dir { display: grid; gap: 22px; }
.ftd-dir__tools { display: flex; gap: 14px 20px; flex-wrap: wrap; align-items: center; }
.ftd .ftd-dir__find, .ftd .ftd-links__find { display: flex; align-items: center; gap: 10px; border: 2px solid #000; border-radius: var(--ftd-r-sm); padding: 0 14px; background: #fff; max-width: 420px; flex: 1 1 260px; }
.ftd .ftd-dir__find input, .ftd .ftd-links__find input { border: 0; outline: 0; background: none; padding: 13px 0; font: 500 1rem var(--ftd-font); width: 100%; color: #000; border-radius: 0; }
.ftd .ftd-dir__find:focus-within, .ftd .ftd-links__find:focus-within { box-shadow: 4px 4px 0 var(--ftd-yellow); }
.ftd-dir__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; }
.ftd-dir__grid > [hidden] { display: none !important; }
.ftd .ftd-tile--big { height: 112px; min-width: 0; align-content: center; gap: 6px; padding: 14px; }
.ftd .ftd-tile--big .ftd-tile__name { font-size: 1.25rem; white-space: normal; text-align: center; }
.ftd-tile__count { font-size: .8rem; color: var(--ftd-mute); font-weight: 600; }
.ftd-dir__none { color: var(--ftd-mute); margin: 0; }
.ftd-catgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.ftd .ftd-cat { position: relative; display: grid; gap: 6px; padding: 22px 56px 22px 22px; background: #fff; border: 2px solid #000; border-radius: var(--ftd-r); color: #000; transition: transform .22s var(--ftd-ease), box-shadow .22s var(--ftd-ease), background .2s; }
.ftd .ftd-cat b { font: 900 1.7rem/1 var(--ftd-font); font-stretch: 62%; text-transform: uppercase; }
.ftd .ftd-cat span { color: var(--ftd-mute); font-size: .93rem; line-height: 1.4; }
.ftd .ftd-cat .ftd-i { position: absolute; right: 20px; top: 24px; width: 22px; height: 22px; transition: transform .25s var(--ftd-ease); }
.ftd .ftd-cat:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--ftd-red); background: var(--ftd-yellow); }
.ftd .ftd-cat:nth-child(even):hover { box-shadow: 6px 6px 0 var(--ftd-blue); }
.ftd .ftd-cat:hover .ftd-i { transform: translateX(5px); }
.ftd .ftd-cat:hover span { color: #000; }

/* ==========================================================================
   Single deal
   ========================================================================== */
.ftd .e-con.ftd-single { padding-block: clamp(22px, 3vw, 40px) clamp(40px, 5vw, 64px); }
.ftd .e-con.ftd-single__row { flex-direction: row; align-items: flex-start; justify-content: space-between; gap: clamp(24px, 3.4vw, 48px); flex-wrap: nowrap; }
.ftd .e-con.ftd-single__side { flex-basis: 360px; width: 360px; }
.ftd .e-con.ftd-article { flex: 1 1 0; min-width: 0; gap: 20px; max-width: 820px; }
.ftd .ftd-phead__title { margin: 0 0 14px; font: 800 clamp(1.8rem, 3.6vw, 2.7rem)/1.1 var(--ftd-font); font-stretch: 86%; letter-spacing: -.01em; color: #000; text-wrap: balance; }
.ftd-phead__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; font-size: .88rem; color: var(--ftd-mute); }
.ftd-phead__meta span { display: inline-flex; align-items: center; gap: 6px; }
.ftd-phead__meta .is-over { color: #a30f0f; font-weight: 700; }
.ftd-pimg { position: relative; margin: 0; border: 2px solid #000; border-radius: var(--ftd-r); overflow: hidden; background: var(--ftd-wash); }
.ftd-pimg img { display: block; width: 100%; height: auto; }
.ftd-pimg .ftd-sticker { left: 14px; top: 14px; font-size: 1rem; }
.ftd .ftd-only-mobile { display: none; }

.ftd-dealbox { background: #fff; border: 2px solid #000; border-radius: var(--ftd-r); padding: 20px; display: grid; gap: 14px; box-shadow: 6px 6px 0 var(--ftd-red); }
.ftd-dealbox__price .ftd-price b { font-size: 2.6rem; }
.ftd-dealbox__price .ftd-price s { font-size: 1.1rem; }
.ftd-dealbox__note { margin: 0; font-size: .8rem; color: var(--ftd-mute); line-height: 1.45; }
.ftd-dealbox__over { margin: 0; background: #fff3f3; border: 1.5px solid #a30f0f; border-radius: 8px; padding: 10px 12px; font-size: .92rem; color: #5c0b0b; }
.ftd-dealbox.is-expired { box-shadow: none; }
.ftd .ftd-code { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 12px; width: 100%; text-align: left; background: var(--ftd-yellow); color: #000; border: 2px dashed #000; border-radius: var(--ftd-r-sm); padding: 10px 14px; cursor: pointer; font-family: var(--ftd-font); transition: background .2s, transform .15s var(--ftd-ease); }
.ftd .ftd-code:hover { background: #ffe14d; color: #000; }
.ftd .ftd-code:active { transform: scale(.98); }
.ftd-code__label { grid-column: 1; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.ftd-code__val { grid-column: 1; font: 900 1.5rem/1 var(--ftd-font); font-stretch: 75%; letter-spacing: .06em; }
.ftd-code__act { grid-column: 2; grid-row: 1 / 3; display: inline-flex; align-items: center; gap: 6px; font-weight: 800; font-size: .88rem; }
.ftd-code__act em { font-style: normal; white-space: nowrap; }
.ftd .ftd-code.is-copied { background: #000; color: #fff; border-style: solid; }

.ftd-prose { font-size: 1.08rem; line-height: 1.7; color: var(--ftd-text); max-width: 72ch; }
.ftd-prose > *:first-child { margin-top: 0; }
.ftd .ftd-prose h2 { font: 800 1.6rem/1.2 var(--ftd-font); font-stretch: 86%; color: #000; margin: 1.8em 0 .5em; }
.ftd .ftd-prose h3 { font: 800 1.25rem/1.25 var(--ftd-font); color: #000; margin: 1.5em 0 .4em; }
.ftd .ftd-prose p { margin: 0 0 1.1em; }
.ftd .ftd-prose a { color: var(--ftd-accent-deep); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 2px; }
.ftd .ftd-prose a:hover { color: #000; background: var(--ftd-yellow); }
.ftd .ftd-prose ul, .ftd .ftd-prose ol { margin: 0 0 1.2em; padding-left: 1.3em; }
.ftd .ftd-prose li { margin-bottom: .45em; }
.ftd .ftd-prose ol { list-style: none; counter-reset: s; padding-left: 0; }
.ftd .ftd-prose ol > li { counter-increment: s; position: relative; padding-left: 2.6em; margin-bottom: .8em; }
.ftd .ftd-prose ol > li::before { content: counter(s); position: absolute; left: 0; top: -.05em; width: 1.9em; height: 1.9em; display: grid; place-items: center; background: #000; color: #fff; border-radius: 50%; font-weight: 800; font-size: .88em; }
.ftd .ftd-prose img { border-radius: 12px; }
.ftd .ftd-prose blockquote { margin: 1.4em 0; padding: 14px 18px; border-left: 6px solid var(--ftd-accent); background: var(--ftd-wash); border-radius: 0 10px 10px 0; }
.ftd .ftd-prose table { width: 100%; border-collapse: collapse; margin: 0 0 1.2em; font-size: .95rem; }
.ftd .ftd-prose th, .ftd .ftd-prose td { border: 1px solid var(--ftd-line); padding: 10px 12px; text-align: left; }
.ftd .ftd-prose--legal em { color: var(--ftd-mute); }

.ftd-share { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding-block: 16px; border-block: 1px solid var(--ftd-line); }
.ftd-share > span { font-weight: 800; margin-right: 6px; color: #000; }
.ftd .ftd-share a, .ftd .ftd-share button { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; border: 2px solid #000; background: #fff; color: #000; padding: 0; cursor: pointer; transition: transform .2s var(--ftd-ease), background .2s, color .2s; }
.ftd .ftd-share a:hover, .ftd .ftd-share button:hover { background: #000; color: #fff; transform: translateY(-3px); }
.ftd .ftd-share .is-copied { background: var(--ftd-yellow); }
.ftd .ftd-comments input[type=text], .ftd .ftd-comments input[type=email], .ftd .ftd-comments input[type=url], .ftd .ftd-comments textarea { width: 100%; border: 2px solid #000; border-radius: var(--ftd-r-sm); padding: 12px; font: inherit; }
.ftd .ftd-comments input[type=submit] { background: #000; color: #fff; border: 2px solid #000; border-radius: var(--ftd-r-sm); padding: 12px 20px; font: 800 1rem var(--ftd-font); cursor: pointer; }

/* ==========================================================================
   About, contact, 404
   ========================================================================== */
.ftd .e-con.ftd-abouthero { padding-block: clamp(48px, 7vw, 96px); }
.ftd .ftd-abouthero .ftd-lead p { color: #000; max-width: 54ch; font-weight: 500; }
.ftd .e-con.ftd-rules { flex-direction: row; gap: 18px; flex-wrap: wrap; }
.ftd .e-con.ftd-rule { flex: 1 1 240px; background: #fff; border: 2px solid #000; border-radius: var(--ftd-r); padding: 24px; gap: 10px; transition: transform .22s var(--ftd-ease), box-shadow .22s var(--ftd-ease); }
.ftd .e-con.ftd-rule:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 #000; }
.ftd .ftd-rule__t .elementor-heading-title { font: 900 1.6rem/1 var(--ftd-font); font-stretch: 66%; text-transform: uppercase; color: #000; }
.ftd .ftd-rule__t .elementor-heading-title::before { content: ""; display: block; width: 34px; height: 8px; margin-bottom: 14px; background: var(--ftd-red); }
.ftd .ftd-rule:nth-child(2) .ftd-rule__t .elementor-heading-title::before { background: var(--ftd-blue); }
.ftd .ftd-rule:nth-child(3) .ftd-rule__t .elementor-heading-title::before { background: var(--ftd-yellow); }
.ftd .e-con.ftd-twocol { flex-direction: row; gap: 24px; flex-wrap: wrap; align-items: stretch; }
.ftd .e-con.ftd-money, .ftd .e-con.ftd-follow { flex: 1 1 320px; border: 2px solid #000; border-radius: var(--ftd-r); padding: clamp(22px, 3vw, 34px); gap: 14px; align-items: flex-start; }
.ftd .e-con.ftd-money { background: var(--ftd-wash); }
.ftd .e-con.ftd-follow { background: var(--ftd-yellow); box-shadow: 6px 6px 0 #000; }
.ftd .ftd-money > .elementor-widget-button, .ftd .ftd-follow > .elementor-widget { width: auto; max-width: 100%; }
.ftd .e-con.ftd-contact { flex-direction: row; gap: clamp(24px, 4vw, 56px); align-items: flex-start; flex-wrap: wrap; }
.ftd .e-con.ftd-contact__form { flex: 1.5 1 360px; border: 2px solid #000; border-radius: var(--ftd-r); padding: clamp(20px, 3vw, 32px); box-shadow: 6px 6px 0 var(--ftd-red); background: #fff; }
.ftd .e-con.ftd-contact__side { flex: 1 1 260px; gap: 18px; }
.ftd .e-con.ftd-404 { padding-block: clamp(48px, 8vw, 110px); }
.ftd .e-con.ftd-404__in { align-items: center; text-align: center; gap: 18px; }
.ftd .ftd-404__in > .elementor-widget { width: auto; max-width: 100%; }
.ftd .ftd-404__in > .ftd-w-bigsearch { width: min(100%, 520px); }
.ftd .e-con.ftd-404__in > .e-con.ftd-btnrow { justify-content: center; }
.ftd .ftd-404__n .elementor-heading-title { font-size: clamp(7rem, 22vw, 15rem); line-height: .8; animation: ftdTilt 4s ease-in-out infinite; }
@keyframes ftdTilt { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } }
.ftd .ftd-fallback { padding-block: 48px; }

@media (max-width: 900px) {
	.ftd .e-con.ftd-single__row { flex-direction: column; align-items: stretch; }
	.ftd .ftd-only-mobile { display: block; }
	.ftd .ftd-only-desktop { display: none; }
}
/* ==========================================================================
   Phone plans
   ========================================================================== */
.ftd .e-con.ftd-planshero { padding-block: clamp(44px, 6vw, 84px); position: relative; overflow: hidden; }
.ftd .e-con.ftd-planshero::after { content: ""; position: absolute; right: -6%; top: -30%; width: 46%; height: 160%; background: var(--ftd-red); transform: skewX(-15deg); border-left: 2px solid #000; z-index: 0; }
.ftd .e-con.ftd-planshero__in { gap: 26px; position: relative; z-index: 1; }
.ftd .e-con.ftd-planshero__txt { gap: 18px; max-width: 760px; }
.ftd-ticks { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; color: #fff; font-weight: 600; font-size: .95rem; }
.ftd-ticks li { display: inline-flex; align-items: center; gap: 8px; }
.ftd-ticks li::before { content: ""; width: 18px; height: 18px; border-radius: 50%; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.500 10 17.500 19 7'/%3E%3C/svg%3E") center / 11px no-repeat; border: 1.5px solid #000; flex: none; }

.ftd-finder { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 12px; align-items: end; background: #fff; border: 2px solid #000; border-radius: var(--ftd-r); padding: 16px; box-shadow: 6px 6px 0 #000; max-width: 860px; }
.ftd-finder label { display: grid; gap: 6px; }
.ftd-finder label span { font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: #000; }
.ftd .ftd-finder .ftd-btn { min-height: 50px; white-space: nowrap; }
.ftd .ftd-plansband__txt .ftd-finder { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ftd .ftd-plansband__txt .ftd-finder .ftd-btn { grid-column: 1 / -1; }

/* Picks */
.ftd-picks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ftd-pick { position: relative; background: #fff; border: 2px solid #000; border-radius: var(--ftd-r); padding: 34px 22px 22px; display: grid; gap: 12px; align-content: start; transition: transform .22s var(--ftd-ease), box-shadow .22s var(--ftd-ease); box-shadow: 5px 5px 0 #000; }
.ftd-pick:hover { transform: translate(-3px, -3px); box-shadow: 8px 8px 0 #000; }
.ftd-pick__tag { position: absolute; left: 16px; top: -14px; background: var(--ftd-yellow); border: 2px solid #000; border-radius: 6px; font: 900 .82rem/1 var(--ftd-font); font-stretch: 78%; text-transform: uppercase; letter-spacing: .04em; padding: .5em .7em; transform: rotate(-2deg); color: #000; }
.ftd .ftd-pick h3 { margin: 0; font: 800 1.2rem/1.2 var(--ftd-font); color: #000; }
.ftd .ftd-pick ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: .95rem; color: var(--ftd-text); }
.ftd .ftd-pick li { display: flex; gap: 8px; align-items: center; }
.ftd .ftd-pick li .ftd-i { color: var(--ftd-blue-deep); }
.ftd .ftd-pick .ftd-btn { margin-top: 6px; }
.ftd .ftd-brand { display: inline-grid; place-items: center start; min-height: 40px; color: #000; position: relative; padding-left: 12px; }
.ftd .ftd-brand::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 5px; border-radius: 3px; background: var(--tile, var(--ftd-blue)); }
.ftd-brand img { max-height: 40px; width: auto; max-width: 140px; object-fit: contain; }
.ftd-brand__name { font: 900 1.35rem/1 var(--ftd-font); font-stretch: 70%; text-transform: uppercase; letter-spacing: .01em; }
.ftd-plan__price { display: inline-flex; align-items: flex-start; color: #000; line-height: 1; }
.ftd-plan__price sup { font: 800 1.2rem/1 var(--ftd-font); margin-top: .3em; }
.ftd-plan__price b { font: 900 3.2rem/.85 var(--ftd-font); font-stretch: 62%; letter-spacing: -.01em; }
.ftd-plan__price span { align-self: flex-end; font-weight: 700; color: var(--ftd-mute); margin-left: 3px; font-size: .95rem; }

/* Filter bar */
.ftd-plans { display: grid; gap: 18px; scroll-margin-top: 110px; }
.ftd .ftd-pf { display: flex; flex-wrap: wrap; gap: 16px 26px; align-items: flex-end; background: #fff; border: 2px solid #000; border-radius: var(--ftd-r); padding: 18px 20px; position: sticky; top: 84px; z-index: 20; box-shadow: 0 10px 24px -18px rgba(0, 0, 0, .5); }
.ftd .ftd-pf fieldset { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; gap: 7px; }
.ftd .ftd-pf legend, .ftd .ftd-pf__g--sel label > span { font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: #000; padding: 0; margin-bottom: 0; display: flex; gap: 8px; align-items: baseline; float: none; width: auto; }
.ftd .ftd-pf legend output { font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--ftd-blue-deep); font-size: .82rem; }
.ftd-seg { display: inline-flex; border: 2px solid #000; border-radius: var(--ftd-r-sm); overflow: hidden; background: #fff; flex-wrap: wrap; }
.ftd-seg label { position: relative; cursor: pointer; margin: 0; }
.ftd-seg input { position: absolute; opacity: 0; inset: 0; cursor: pointer; margin: 0; }
.ftd-seg span { display: block; padding: 9px 13px; font-weight: 700; font-size: .92rem; color: #000; border-right: 1.5px solid #000; transition: background .18s, color .18s; white-space: nowrap; line-height: 1.2; }
.ftd-seg label:last-child span { border-right: 0; }
.ftd-seg label:hover span { background: var(--ftd-wash); }
.ftd-seg input:checked + span { background: #000; color: #fff; }
.ftd-seg input:focus-visible + span { outline: 3px solid var(--ftd-blue); outline-offset: -3px; }
.ftd .ftd-pf__g--range { flex: 1 1 40%; min-width: 200px; }
.ftd .ftd-pf input[type=range] { -webkit-appearance: none; appearance: none; width: 100%; height: 40px; background: none; margin: 0; padding: 0; border: 0; cursor: pointer; }
.ftd .ftd-pf input[type=range]::-webkit-slider-runnable-track { height: 8px; background: #000; border-radius: 99px; }
.ftd .ftd-pf input[type=range]::-moz-range-track { height: 8px; background: #000; border-radius: 99px; }
.ftd .ftd-pf input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 26px; height: 26px; margin-top: -9px; border-radius: 50%; background: var(--ftd-yellow); border: 2px solid #000; box-shadow: 2px 2px 0 #000; }
.ftd .ftd-pf input[type=range]::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: var(--ftd-yellow); border: 2px solid #000; }
.ftd .ftd-pf__g--sel { display: flex; gap: 14px; flex-wrap: wrap; }
.ftd .ftd-pf__g--sel label { display: grid; gap: 7px; margin: 0; }
.ftd .ftd-pf select { min-height: 42px; border: 2px solid #000; border-radius: var(--ftd-r-sm); padding: 8px 36px 8px 12px; font: 700 .92rem var(--ftd-font); color: #000; background-color: #fff; appearance: none; -webkit-appearance: none; }
.ftd-plans__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ftd-plans__count { margin: 0; color: var(--ftd-mute); font-size: .95rem; }
.ftd-plans__count b { color: #000; font-size: 1.15rem; }
.ftd .ftd-plans__bar .ftd-plans__reset { background: none; border: 0; color: #000; font: 700 .9rem var(--ftd-font); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; padding: 6px 0; }
.ftd-plans__list { display: grid; gap: 14px; }
.ftd-plans__list.is-fresh > .ftd-plan:not([hidden]) { animation: ftdRise .45s var(--ftd-ease) both; animation-delay: calc(var(--i, 0) * 35ms); }
@keyframes ftdRise { from { opacity: 0; transform: translateY(14px); } }
.ftd-plans__adslot:empty { display: none; }

/* Plan row */
.ftd-plan { position: relative; display: grid; grid-template-columns: 190px minmax(0, 1fr) 220px; gap: 0 26px; align-items: center; background: #fff; border: 1.5px solid var(--ftd-line); border-radius: var(--ftd-r); padding: 20px 24px 16px; transition: border-color .2s, box-shadow .22s var(--ftd-ease), transform .22s var(--ftd-ease); }
.ftd-plan[hidden] { display: none; }
.ftd-plan:hover { border-color: #000; box-shadow: 5px 5px 0 var(--ftd-blue); transform: translate(-2px, -2px); }
.ftd-plan.is-pick { border: 2px solid #000; }
.ftd-plan.is-picked { background: #f4f6ff; border-color: var(--ftd-blue-deep); }
.ftd-plan__badge { position: absolute; left: 18px; top: -12px; background: var(--ftd-yellow); border: 2px solid #000; border-radius: 6px; font: 900 .76rem/1 var(--ftd-font); font-stretch: 80%; text-transform: uppercase; letter-spacing: .04em; padding: .45em .65em; color: #000; transform: rotate(-2deg); }
.ftd-plan__brand { display: grid; gap: 8px; align-content: center; }
.ftd-plan__net { display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; color: var(--ftd-mute); font-weight: 600; }
.ftd-plan__net .ftd-i { width: 14px; height: 14px; }
.ftd .ftd-plan__name { margin: 0 0 12px; font: 800 1.18rem/1.2 var(--ftd-font); color: #000; }
.ftd .ftd-plan__specs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 16px; }
.ftd .ftd-plan__specs li { display: grid; grid-template-columns: auto 1fr; gap: 0 8px; align-items: center; }
.ftd .ftd-plan__specs .ftd-i { grid-row: 1 / 3; color: var(--ftd-blue-deep); width: 20px; height: 20px; }
.ftd .ftd-plan__specs b { font-size: .98rem; color: #000; line-height: 1.2; }
.ftd .ftd-plan__specs span { font-size: .78rem; color: var(--ftd-mute); line-height: 1.2; }
.ftd-plan__promo { margin: 12px 0 0; display: inline-flex; gap: 8px; align-items: center; font-size: .88rem; font-weight: 600; background: #fff7cc; border-radius: 6px; padding: 6px 10px; color: #3d3300; }
.ftd-plan__buy { display: grid; gap: 8px; justify-items: stretch; text-align: right; }
.ftd-plan__buy .ftd-plan__price { justify-self: end; }
.ftd-plan__note { color: var(--ftd-mute); font-size: .78rem; line-height: 1.3; }
.ftd-plan__links { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.ftd .ftd-plan__more { background: none; border: 0; padding: 4px 0; font: 700 .86rem var(--ftd-font); color: #000; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; }
.ftd .ftd-plan__more:hover { background: none; color: var(--ftd-blue-deep); }
.ftd .ftd-plan__more .ftd-i { width: 14px; height: 14px; transition: transform .3s var(--ftd-ease); }
.ftd .ftd-plan__more[aria-expanded=true] .ftd-i { transform: rotate(180deg); }
.ftd-plan__cmp { display: inline-flex; align-items: center; gap: 6px; font-size: .86rem; font-weight: 600; cursor: pointer; color: var(--ftd-text); margin: 0; }
.ftd .ftd-plan__cmp input { width: 18px; height: 18px; accent-color: #000; margin: 0; }
.ftd-plan__detail { grid-column: 1 / -1; margin-top: 18px; padding-top: 18px; border-top: 1px dashed var(--ftd-line); display: grid; grid-template-columns: 1.2fr 1fr; gap: 16px 32px; animation: ftdRise .35s var(--ftd-ease); }
.ftd-plan__detail[hidden] { display: none; }
.ftd .ftd-plan__detail dl { margin: 0; display: grid; gap: 8px; }
.ftd .ftd-plan__detail dl > div { display: grid; grid-template-columns: 150px 1fr; gap: 12px; font-size: .92rem; }
.ftd .ftd-plan__detail dt { color: var(--ftd-mute); font-weight: 600; }
.ftd .ftd-plan__detail dd { margin: 0; color: #000; font-weight: 600; }
.ftd .ftd-plan__perks { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: .92rem; }
.ftd .ftd-plan__perks li { display: flex; gap: 8px; align-items: flex-start; }
.ftd .ftd-plan__perks .ftd-i { color: #0a7a3a; margin-top: .2em; }
.ftd-plan__desc { grid-column: 1 / -1; margin: 0; font-size: .9rem; color: var(--ftd-mute); }
.ftd .ftd-plans__disc { margin-top: 18px; }

/* Compare tray + dialog */
.ftd-cmp { position: sticky; bottom: 14px; z-index: 30; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; background: #000; color: #fff; border-radius: var(--ftd-r); padding: 12px 14px 12px 20px; box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .6); animation: ftdRise .35s var(--ftd-ease); }
.ftd-cmp[hidden] { display: none; }
.ftd-cmp__txt { font-weight: 700; margin-right: auto; }
.ftd .ftd-cmp .ftd-btn { box-shadow: 3px 3px 0 var(--ftd-yellow); border-color: #fff; padding-block: .7em; }
.ftd .ftd-cmp .ftd-btn:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.ftd .ftd-cmp__clear { background: none; border: 0; color: #fff; text-decoration: underline; cursor: pointer; font: 600 .9rem var(--ftd-font); padding: 6px; }
.ftd-cmpmodal { border: 2px solid #000; border-radius: var(--ftd-r); padding: 0; width: min(94vw, 900px); max-height: 88vh; box-shadow: 10px 10px 0 var(--ftd-blue); font-family: var(--ftd-font); color: var(--ftd-text); }
.ftd-cmpmodal::backdrop { background: rgba(0, 0, 0, .6); }
.ftd-cmpmodal[open] { animation: ftdPop .28s var(--ftd-ease); }
.ftd-cmpmodal__head { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; border-bottom: 2px solid #000; background: var(--ftd-yellow); position: sticky; top: 0; }
.ftd-cmpmodal__head h3 { margin: 0; font: 900 1.6rem/1 var(--ftd-font); font-stretch: 62%; text-transform: uppercase; color: #000; }
.ftd-cmpmodal__x { width: 40px; height: 40px; border-radius: 50%; border: 2px solid #000; background: #fff; color: #000; display: grid; place-items: center; cursor: pointer; padding: 0; }
.ftd-cmpmodal__body { overflow: auto; padding: 6px 20px 20px; }
.ftd-cmpmodal table { width: 100%; border-collapse: collapse; font-size: .95rem; min-width: 520px; }
.ftd-cmpmodal th, .ftd-cmpmodal td { text-align: left; padding: 12px 10px; border-bottom: 1px solid var(--ftd-line); vertical-align: top; }
.ftd-cmpmodal th { color: var(--ftd-mute); font-weight: 600; width: 130px; white-space: nowrap; }
.ftd-cmpmodal td { color: #000; font-weight: 600; }
.ftd-cmpmodal tr:nth-child(1) td, .ftd-cmpmodal tr:nth-child(3) td { font-weight: 800; font-size: 1.05rem; }
.ftd-cmpmodal .ftd-btn { display: inline-flex; align-items: center; justify-content: center; font: 800 .95rem/1.1 var(--ftd-font); padding: .8em 1.1em; border-radius: 10px; background: var(--ftd-blue); color: #fff; border: 2px solid #000; box-shadow: 3px 3px 0 #000; text-decoration: none; }

/* Carrier directory + carrier head */
.ftd .ftd-seg--net span { font-size: .88rem; }
.ftd-dir--carriers .ftd-dir__grid { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
.ftd .ftd-carrier { position: relative; display: grid; gap: 4px; padding: 16px 16px 14px; background: #fff; border: 1.5px solid var(--ftd-line); border-radius: var(--ftd-r); color: #000; overflow: hidden; transition: transform .22s var(--ftd-ease), box-shadow .22s var(--ftd-ease), border-color .2s; }
.ftd .ftd-carrier::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--tile, var(--ftd-blue)); transition: width .25s var(--ftd-ease); }
.ftd .ftd-carrier:hover { transform: translate(-2px, -3px); border-color: #000; box-shadow: 5px 5px 0 #000; }
.ftd .ftd-carrier:hover::before { width: 10px; }
.ftd-carrier__logo { display: none; }
.ftd-carrier__logo:has(img) { display: block; height: 34px; margin-bottom: 6px; }
.ftd-carrier__logo img { max-height: 34px; width: auto; max-width: 130px; object-fit: contain; }
.ftd-carrier__name { font: 800 1.08rem/1.2 var(--ftd-font); padding-left: 6px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ftd-carrier__name em { font: 800 .64rem/1 var(--ftd-font); font-style: normal; text-transform: uppercase; letter-spacing: .05em; background: var(--ftd-yellow); border: 1.5px solid #000; border-radius: 4px; padding: .35em .5em; }
.ftd-carrier__net { font-size: .8rem; color: var(--ftd-mute); padding-left: 6px; }
.ftd-carrier__from { font-size: .88rem; color: var(--ftd-text); padding-left: 6px; margin-top: 4px; }
.ftd-carrier__from b { font: 900 1.3rem/1 var(--ftd-font); font-stretch: 70%; color: #000; }
.ftd-carrier__from--soon { color: var(--ftd-mute); font-size: .8rem; }
.ftd-chead__row { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.ftd-chead__logo { flex: none; min-width: 120px; min-height: 88px; display: grid; place-items: center; background: #fff; border: 2px solid #000; border-radius: var(--ftd-r); padding: 14px 18px; box-shadow: 5px 5px 0 var(--ftd-blue); }
.ftd-chead__logo b { font: 900 1.5rem/1 var(--ftd-font); font-stretch: 66%; text-transform: uppercase; }
.ftd-chead__logo img { max-height: 56px; width: auto; }
.ftd-chead__txt { flex: 1 1 320px; }
.ftd .ftd-chead__txt h1 { margin: 0; font: 900 clamp(2.2rem, 5vw, 3.8rem)/.94 var(--ftd-font); font-stretch: 62%; text-transform: uppercase; color: #000; }
.ftd-chead__txt p { margin: 10px 0 0; color: var(--ftd-mute); font-size: 1.05rem; max-width: 60ch; }
.ftd .ftd-chead__facts { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; font-weight: 600; font-size: .92rem; color: #000; }
.ftd .ftd-chead__facts li { display: inline-flex; align-items: center; gap: 6px; }
.ftd .ftd-chead__facts .ftd-i { color: var(--ftd-blue-deep); }

/* Steps + FAQ */
.ftd .e-con.ftd-steps { flex-direction: row; gap: 18px; flex-wrap: wrap; counter-reset: none; }
.ftd .e-con.ftd-step { flex: 1 1 220px; background: #fff; border: 2px solid #000; border-radius: var(--ftd-r); padding: 22px; gap: 10px; }
.ftd .ftd-step__n .elementor-heading-title { width: 46px; height: 46px; display: grid; place-items: center; background: var(--ftd-blue); color: #fff; border: 2px solid #000; border-radius: 50%; font: 900 1.4rem/1 var(--ftd-font); font-stretch: 70%; box-shadow: 3px 3px 0 #000; }
.ftd .ftd-step__t .elementor-heading-title { font: 800 1.15rem/1.25 var(--ftd-font); color: #000; }
.ftd .ftd-step p { font-size: .95rem; color: var(--ftd-mute); }
.ftd .e-con.ftd-faqwrap { max-width: calc(880px + var(--ftd-gut) * 2); }
.ftd .ftd-faq .elementor-accordion { border: 0; }
.ftd .ftd-faq .elementor-accordion-item { border: 2px solid #000 !important; border-radius: var(--ftd-r-sm); margin-bottom: 12px; overflow: hidden; background: #fff; }
.ftd .ftd-faq .elementor-tab-title { margin: 0; padding: 18px 20px; font: 800 1.08rem/1.3 var(--ftd-font); color: #000; display: flex; align-items: center; gap: 12px; cursor: pointer; border: 0; transition: background .2s; }
.ftd .ftd-faq .elementor-tab-title:hover, .ftd .ftd-faq .elementor-tab-title.elementor-active { background: var(--ftd-yellow); }
.ftd .ftd-faq .elementor-tab-title a { color: #000; }
.ftd .ftd-faq .elementor-accordion-icon { color: #000; fill: #000; }
.ftd .ftd-faq .elementor-accordion-icon svg { width: 14px; height: 14px; }
.ftd .ftd-faq .elementor-tab-content { padding: 16px 20px 20px; border: 0; border-top: 2px solid #000; color: var(--ftd-text); font-size: 1rem; line-height: 1.65; }
.ftd .ftd-faq .elementor-tab-content p { margin: 0; }

@media (max-width: 1100px) {
	.ftd-plan { grid-template-columns: 150px minmax(0, 1fr) 190px; gap: 0 18px; padding: 20px 18px; }
	.ftd .ftd-plan__specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ftd .ftd-pf { position: static; }
}
@media (max-width: 760px) {
	.ftd .e-con.ftd-planshero::after { display: none; }
	.ftd-finder { grid-template-columns: 1fr 1fr; }
	.ftd-finder label:nth-of-type(3), .ftd .ftd-finder .ftd-btn { grid-column: 1 / -1; }
	.ftd-picks { grid-template-columns: 1fr; gap: 24px; }
	.ftd-plan { grid-template-columns: 1fr; gap: 14px; padding: 22px 16px 16px; }
	.ftd-plan__brand { grid-template-columns: auto 1fr; align-items: center; justify-content: space-between; }
	.ftd-plan__net { justify-self: end; }
	.ftd .ftd-plan__name { margin-bottom: 10px; }
	.ftd-plan__buy { text-align: left; grid-template-columns: auto 1fr; align-items: center; gap: 10px 14px; border-top: 1px dashed var(--ftd-line); padding-top: 14px; }
	.ftd-plan__buy .ftd-plan__price { justify-self: start; }
	.ftd-plan__buy .ftd-plan__note { text-align: right; }
	.ftd-plan__buy .ftd-btn, .ftd-plan__links { grid-column: 1 / -1; }
	.ftd-plan__detail { grid-template-columns: 1fr; }
	.ftd .ftd-plan__detail dl > div { grid-template-columns: 120px 1fr; }
	.ftd .ftd-pf { padding: 14px; gap: 14px; }
	.ftd .ftd-pf__g--sel { margin-left: 0; width: 100%; }
	.ftd .ftd-pf__g--sel label { flex: 1 1 140px; }
	.ftd .ftd-pf select { width: 100%; }
	.ftd-seg span { padding: 9px 11px; }
	.ftd-dir--carriers .ftd-dir__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.ftd-dir__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ==========================================================================
   Link hub (canvas page)
   ========================================================================== */
.ftd .e-con.ftd-linkpage, .ftd .e-con.ftd-soon { min-height: 100vh; min-height: 100dvh; position: relative; isolation: isolate; align-items: center; padding: clamp(28px, 6vw, 64px) 16px 48px; background: var(--ftd-blue); overflow: hidden; }
.ftd .e-con.ftd-linkpage::before, .ftd .e-con.ftd-soon::before { content: ""; position: absolute; z-index: -1; left: -10%; top: 0; width: 120%; height: clamp(400px, 34vw + 300px, 560px); background: var(--ftd-red); transform: skewY(-7deg); transform-origin: top left; border-bottom: 2px solid #000; }
.ftd .e-con.ftd-linkpage__in { width: min(100%, 560px); align-items: center; gap: 14px; text-align: center; }
.ftd .ftd-linkpage__markw { display: none; }
.ftd .ftd-linkpage__logo .ftd-logo__text { display: none; }
.ftd .ftd-linkpage__logo .ftd-logo .ftd-mark { width: 112px; height: 112px; margin: 0; box-shadow: 0 0 0 3px #000, 6px 8px 0 #000; animation: ftdBob 5s ease-in-out infinite; }
@keyframes ftdBob { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-7px) rotate(2deg); } }
.ftd .ftd-linkpage__h .elementor-heading-title { font-size: clamp(2.4rem, 9vw, 3.4rem); color: #000; margin-top: 6px; }
.ftd .ftd-linkpage__bio p { color: #000; font-weight: 600; max-width: 34ch; margin-inline: auto; }
.ftd .ftd-linkpage__soc .ftd-soc { justify-content: center; margin-block: 4px 10px; }
.ftd .ftd-linkpage__in > .elementor-widget-shortcode { width: 100%; }
.ftd-links { display: grid; gap: 14px; width: 100%; text-align: left; }
.ftd .ftd-links__find { max-width: none; flex: none; box-shadow: 4px 4px 0 #000; }
.ftd-links__tabs { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 2px 2px 6px; }
.ftd-links__tabs::-webkit-scrollbar { display: none; }
.ftd .ftd-links__tabs button { flex: none; background: #fff; color: #000; border: 2px solid #000; border-radius: 999px; padding: .5em 1em; font: 700 .9rem/1 var(--ftd-font); cursor: pointer; transition: background .2s, color .2s; }
.ftd .ftd-links__tabs button:hover { background: var(--ftd-yellow); color: #000; }
.ftd .ftd-links__tabs button.is-on { background: #000; color: #fff; }
.ftd-links__list { display: grid; gap: 12px; }
.ftd .ftd-link { display: grid; grid-template-columns: 44px 1fr auto auto; align-items: center; gap: 12px; background: #fff; color: #000; border: 2px solid #000; border-radius: var(--ftd-r); padding: 10px 16px 10px 10px; min-height: 66px; box-shadow: 4px 4px 0 #000; transition: transform .18s var(--ftd-ease), box-shadow .18s var(--ftd-ease), background .2s; animation: ftdLinkIn .5s var(--ftd-ease) both; animation-delay: calc(var(--i, 0) * 45ms + 150ms); }
@keyframes ftdLinkIn { from { opacity: 0; transform: translateY(16px) scale(.98); } }
.ftd .ftd-link[hidden] { display: none; }
.ftd .ftd-link:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 #000; background: var(--ftd-yellow); color: #000; }
.ftd .ftd-link:active { transform: translate(3px, 3px); box-shadow: 1px 1px 0 #000; }
.ftd .ftd-link.is-pinned { background: var(--ftd-yellow); }
.ftd-link__ico { width: 44px; height: 44px; display: grid; place-items: center; background: var(--ftd-wash); border: 1.5px solid #000; border-radius: 10px; font-size: 1.35rem; line-height: 1; }
.ftd .ftd-link.is-pinned .ftd-link__ico, .ftd .ftd-link:hover .ftd-link__ico { background: #fff; }
.ftd-link__t { font-weight: 800; font-size: 1rem; line-height: 1.25; }
.ftd-link__b { font: 900 .72rem/1 var(--ftd-font); font-stretch: 80%; text-transform: uppercase; letter-spacing: .04em; background: var(--ftd-red); color: #000; border: 1.5px solid #000; border-radius: 5px; padding: .4em .55em; white-space: nowrap; }
.ftd .ftd-link__go { width: 18px; height: 18px; transition: transform .25s var(--ftd-ease); }
.ftd .ftd-link:hover .ftd-link__go { transform: translateX(4px); }
.ftd-links__none { color: #fff; font-weight: 600; margin: 0; text-align: center; }
.ftd .e-con.ftd-linkpage__box { width: 100%; background: #fff; border: 2px solid #000; border-radius: var(--ftd-r); padding: 20px; gap: 12px; box-shadow: 4px 4px 0 #000; text-align: left; margin-top: 10px; align-items: stretch; }
.ftd .ftd-linkpage__boxt .elementor-heading-title { font: 900 1.5rem/1 var(--ftd-font); font-stretch: 66%; text-transform: uppercase; color: #000; }
.ftd .ftd-linkpage__box .elementor-widget-button .elementor-button { width: 100%; }
.ftd .ftd-linkpage__disc .ftd-disclosure { color: #fff; opacity: .95; text-align: center; margin-top: 12px; }

/* ==========================================================================
   Coming soon (canvas page)
   ========================================================================== */
.ftd .e-con.ftd-soon { justify-content: center; }
.ftd .e-con.ftd-soon::before { height: 54%; }
.ftd .e-con.ftd-soon__in { width: min(100%, 760px); align-items: center; text-align: center; gap: 20px; }
.ftd .ftd-soon__in > .elementor-widget { width: auto; max-width: 100%; }
.ftd .ftd-soon__logo .ftd-logo__text { display: none; }
.ftd .ftd-soon__logo .ftd-logo .ftd-mark { width: 132px; height: 132px; margin: 0; box-shadow: 0 0 0 3px #000, 7px 9px 0 #000; animation: ftdBob 5s ease-in-out infinite; }
.ftd .ftd-soon .ftd-h1 .elementor-heading-title { color: #000; }
.ftd .ftd-soon .ftd-lead p { color: #fff; font-weight: 500; margin-inline: auto; max-width: 52ch; }
.ftd .ftd-soon__in > .ftd-soon__form { width: min(100%, 540px); }
.ftd .ftd-soon__form .ftd-form__note { color: #fff; opacity: .9; text-align: center; }
.ftd .ftd-soon__btns { justify-content: center; }
.ftd .ftd-soon .ftd-soc { justify-content: center; }
