@media (max-width: 1180px) and (min-width: 768px) {
	.iptvfr-marquee-group {
		gap: 24px;
		min-width: 100vw;
		padding-inline: max(18px, calc((100vw - 960px) / 2));
	}

	.iptvfr-marquee-item {
		gap: 6px;
		font-size: 12px;
	}

	.iptvfr-marquee-item .iptvfr-icon {
		width: 17px;
		height: 17px;
	}

	.iptvfr-header-main {
		grid-template-columns: 200px minmax(0, 1fr) 42px 156px;
		gap: 14px;
		padding-inline: 24px;
	}

	.iptvfr-header-logo {
		width: min(100%, 200px) !important;
	}

	.iptvfr-desktop-nav .elementor-nav-menu--main .elementor-nav-menu {
		gap: 14px;
	}

	.iptvfr-desktop-nav .elementor-nav-menu--main .elementor-item {
		font-size: 13px;
	}

	.iptvfr-header-whatsapp .elementor-button {
		width: 42px;
		height: 42px;
		padding: 0;
		font-size: 0;
	}

	.iptvfr-header-whatsapp .elementor-button-icon {
		margin: 0 !important;
		font-size: 18px;
	}

	.iptvfr-header-cta .elementor-button {
		padding-inline: 20px;
	}

	.iptvfr-footer-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 0;
	}

	.iptvfr-footer-column:nth-child(3) {
		border-inline-start: 0;
		padding-inline-start: 0;
	}
}

/* 2.6.0 — Responsive blog layouts. */
@media (max-width: 1024px) {
  .iptvfr-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .iptvfr-article-layout {
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 38px;
  }

  .iptvfr-blog-card__body {
    min-height: 238px;
  }
}

@media (max-width: 767px) {
  .iptvfr-blog-shell {
    width: min(100% - 28px, 620px);
  }

  .iptvfr-blog-hero,
  .iptvfr-blog-hero--archive {
    padding: 64px 0 48px;
  }

  .iptvfr-blog-hero h1,
  .iptvfr-article-header h1 {
    font-size: clamp(38px, 11.5vw, 52px);
  }

  .iptvfr-blog-hero > .iptvfr-blog-shell > p:not(.iptvfr-blog-eyebrow),
  .iptvfr-blog-archive__description,
  .iptvfr-article-excerpt {
    font-size: 16px;
    line-height: 1.65;
  }

  .iptvfr-blog-listing,
  .iptvfr-related {
    padding: 48px 0 64px;
  }

  .iptvfr-blog-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .iptvfr-blog-card {
    border-radius: 18px;
  }

  .iptvfr-blog-card__body {
    min-height: 0;
    padding: 22px;
  }

  .iptvfr-blog-card h3 {
    font-size: 25px;
  }

  .iptvfr-blog-card__link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  .iptvfr-blog-cta {
    padding-bottom: 64px;
  }

  .iptvfr-blog-cta__inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 30px 24px;
    border-radius: 20px;
  }

  .iptvfr-blog-cta__inner > a {
    width: 100%;
  }

  .iptvfr-home-blog-section {
    padding: 68px 14px;
  }

  .iptvfr-home-blog-inner {
    gap: 28px;
  }

  .iptvfr-home-blog-title .elementor-heading-title {
    font-size: clamp(36px, 10vw, 48px);
  }

  .iptvfr-home-blog-intro p {
    font-size: 15px;
  }

  .iptvfr-home-blog-button,
  .iptvfr-home-blog-button .elementor-button-wrapper,
  .iptvfr-home-blog-button .elementor-button {
    width: 100%;
  }

  .iptvfr-home-blog-button .elementor-button {
    min-height: 48px;
    justify-content: center;
  }

  .iptvfr-article-header {
    padding-top: 62px;
  }

  .iptvfr-article-breadcrumb {
    margin-bottom: 22px;
  }

  .iptvfr-article-featured {
    margin-top: 36px;
    aspect-ratio: 16 / 10;
    border-radius: 18px;
  }

  .iptvfr-article-layout {
    grid-template-columns: 1fr;
    gap: 38px;
    padding-block: 46px 68px;
  }

  .iptvfr-article-content {
    font-size: 16px;
    line-height: 1.75;
  }

  .iptvfr-article-content h2 {
    margin-top: 38px;
    font-size: 31px;
  }

  .iptvfr-article-summary,
  .iptvfr-article-note {
    padding: 22px;
  }

  .iptvfr-article-sidebar {
    position: static;
  }

  .iptvfr-article-sidebar > a {
    width: 100%;
  }

  .iptvfr-related h2 {
    font-size: 38px;
  }
}

@media (max-width: 430px) {
  .iptvfr-blog-shell {
    width: calc(100% - 24px);
  }

  .iptvfr-blog-eyebrow,
  .iptvfr-home-blog-eyebrow {
    font-size: 11px;
  }

  .iptvfr-blog-card__body {
    padding: 20px;
  }

  .iptvfr-blog-card__meta,
  .iptvfr-article-meta {
    gap: 7px 10px;
    font-size: 10px;
  }

  .iptvfr-article-summary,
  .iptvfr-article-note,
  .iptvfr-article-sidebar {
    padding: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .iptvfr-blog-card,
  .iptvfr-blog-card__image img {
    transition: none;
  }
}

@media (max-width: 940px) and (min-width: 768px) {
	.iptvfr-header-main {
		grid-template-columns: 160px minmax(0, 1fr) 44px 128px;
		gap: 8px;
		min-height: 72px;
		padding-inline: 16px;
	}

	.iptvfr-header-logo {
		width: 160px !important;
	}

	.iptvfr-desktop-nav .elementor-nav-menu--main .elementor-nav-menu {
		gap: 9px;
	}

	.iptvfr-desktop-nav .elementor-nav-menu--main .elementor-item {
		font-size: 12px;
	}

	.iptvfr-header-cta .elementor-button {
		padding-inline: 13px;
		font-size: 12px;
	}

	.iptvfr-newsletter {
		grid-template-columns: 54px 1fr;
	}

	.iptvfr-newsletter-form {
		grid-column: 1 / -1;
		width: 100% !important;
	}

	.iptvfr-footer-trust-row {
		grid-template-columns: minmax(0, 1fr);
	}

	.iptvfr-payment-image-desktop {
		justify-self: center;
	}
}

@media (max-width: 767px) {
	.iptvfr-desktop-header,
	.iptvfr-desktop-footer {
		display: none !important;
	}

	.iptvfr-mobile-header-shell {
		display: flex !important;
		position: relative;
		flex-direction: column;
		gap: 0 !important;
		width: 100%;
		margin: 0 !important;
		padding: 0 !important;
		background: transparent;
	}

	.iptvfr-mobile-marquee-widget,
	.iptvfr-mobile-marquee-widget > .elementor-widget-container {
		width: 100%;
		margin: 0 !important;
	}

	.iptvfr-mobile-header-shell .iptvfr-marquee,
	.iptvfr-mobile-header-shell .iptvfr-marquee-belt,
	.iptvfr-mobile-header-shell .iptvfr-marquee-group {
		height: 34px;
	}

	.iptvfr-mobile-header-shell .iptvfr-marquee-group {
		gap: 24px;
		padding: 0 20px;
	}

	.iptvfr-mobile-header-shell .iptvfr-marquee-item {
		gap: 7px;
		min-height: 34px;
		font-size: 11px;
	}

	.iptvfr-mobile-header-shell .iptvfr-marquee-item .iptvfr-icon {
		width: 15px;
		height: 15px;
	}

	.iptvfr-mobile-header {
		display: grid !important;
		position: relative;
		grid-template-columns: minmax(115px, 1fr) auto 44px;
		align-items: center;
		gap: 8px;
		width: calc(100% - 16px);
		min-height: 66px;
		margin: 8px !important;
		padding: 10px 12px;
		background: var(--iptvfr-white);
		border: 1px solid var(--iptvfr-border);
		border-radius: 16px;
		box-shadow: 0 8px 24px rgba(3, 21, 47, 0.08);
	}

	.iptvfr-mobile-header.iptvfr-is-sticky {
		position: fixed !important;
		top: var(--iptvfr-sticky-top, 0);
		right: auto;
		left: 0;
		z-index: 990;
		box-shadow: 0 10px 28px rgba(3, 21, 47, 0.14);
	}

	.iptvfr-mobile-logo {
		width: clamp(115px, 33vw, 135px) !important;
		margin: 0 !important;
		padding: 0;
		background: transparent;
	}

	.iptvfr-mobile-logo img {
		display: block;
		width: 100%;
		height: 44px;
		object-fit: contain;
		object-position: left center;
	}

	.iptvfr-mobile-cta {
		width: max-content !important;
		margin: 0 !important;
	}

	.iptvfr-mobile-cta .elementor-button {
		min-height: 40px;
		padding: 10px 13px;
		color: var(--iptvfr-white);
		font-size: 12px;
		font-weight: 600;
		white-space: nowrap;
		border-radius: 9px;
		background: var(--iptvfr-orange);
	}

	.iptvfr-mobile-menu-widget,
	.iptvfr-mobile-menu-widget > .elementor-widget-container {
		width: 44px;
		margin: 0 !important;
	}

	.iptvfr-menu-toggle {
		width: 44px;
		height: 44px;
		background: var(--iptvfr-soft-orange);
	}

	.iptvfr-mobile-footer {
		display: flex !important;
		width: calc(100% - 16px);
		margin: 18px 8px 8px !important;
		padding: 18px 14px 14px;
		background: var(--iptvfr-white);
		border: 1px solid var(--iptvfr-border);
		border-radius: 16px;
		box-shadow: 0 10px 30px rgba(3, 21, 47, 0.07);
	}

	.iptvfr-mobile-footer-logo {
		width: min(190px, 62vw) !important;
		margin: 0 auto 8px !important;
	}

	.iptvfr-mobile-footer-logo img {
		display: block;
		width: 100%;
		height: 54px;
		object-fit: contain;
	}

	.iptvfr-mobile-footer-description {
		margin: 0 auto 14px !important;
	}

	.iptvfr-mobile-footer-description p {
		max-width: 390px;
		margin: 0 auto;
		color: var(--iptvfr-body);
		font-size: 13px;
		line-height: 1.55;
		text-align: center;
	}

	.iptvfr-newsletter-mobile {
		display: flex !important;
		width: 100%;
		margin: 0 0 14px !important;
		padding: 18px;
		gap: 14px;
		border-radius: 16px;
		box-shadow: none;
	}

	.iptvfr-newsletter-mobile .iptvfr-newsletter-icon {
		width: 44px !important;
		height: 44px;
		margin: 0 auto !important;
	}

	.iptvfr-newsletter-mobile .iptvfr-newsletter-copy {
		text-align: center;
	}

	.iptvfr-newsletter-mobile .iptvfr-newsletter-title .elementor-heading-title {
		font-size: 19px;
	}

	.iptvfr-newsletter-form {
		width: 100% !important;
	}

	.iptvfr-newsletter-form .elementor-form-fields-wrapper {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.iptvfr-newsletter-form .elementor-field-group,
	.iptvfr-newsletter-form .elementor-field-type-submit {
		grid-column: 1;
	}

	.iptvfr-newsletter-form .elementor-button {
		min-height: 48px;
	}

	.iptvfr-footer-accordion {
		width: 100% !important;
		margin: 0 0 14px !important;
	}

	.iptvfr-footer-accordion .e-n-accordion {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	.iptvfr-footer-accordion .e-n-accordion-item {
		border: 0 !important;
		border-bottom: 1px solid var(--iptvfr-border) !important;
	}

	.iptvfr-footer-accordion .e-n-accordion-item > summary {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		min-height: 48px;
		padding: 11px 4px !important;
		color: var(--iptvfr-text) !important;
		font-size: 15px;
		font-weight: 600;
		cursor: pointer;
		list-style: none;
		border: 0 !important;
		background: transparent !important;
	}

	.iptvfr-footer-accordion .e-n-accordion-item > summary::-webkit-details-marker {
		display: none;
	}

	.iptvfr-footer-accordion .e-n-accordion-item[open] > summary,
	.iptvfr-footer-accordion .e-n-accordion-item > summary:focus-visible {
		color: var(--iptvfr-orange) !important;
	}

	.iptvfr-footer-accordion .e-n-accordion-item-title-text {
		margin: 0;
		font: inherit;
		color: inherit;
	}

	.iptvfr-footer-accordion .e-n-accordion-item-title-icon {
		color: var(--iptvfr-text);
	}

	.iptvfr-footer-accordion .iptvfr-accordion-panel {
		width: 100% !important;
		padding: 0 4px 10px !important;
	}

	.iptvfr-accordion-list,
	.iptvfr-accordion-list .elementor-icon-list-items {
		width: 100%;
		margin: 0 !important;
	}

	.iptvfr-accordion-list .elementor-icon-list-items {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	.iptvfr-accordion-list .elementor-icon-list-item {
		min-height: 40px;
		margin: 0;
	}

	.iptvfr-accordion-list .elementor-icon-list-text {
		color: var(--iptvfr-body);
		font-size: 13px;
	}

	.iptvfr-accordion-list .elementor-icon-list-icon {
		color: var(--iptvfr-orange);
		font-size: 9px;
	}

	.iptvfr-payment-image-mobile {
		width: min(100%, 220px) !important;
		max-width: 220px;
		margin: 2px auto 18px !important;
		justify-self: center;
	}

	.iptvfr-mobile-trust-widget,
	.iptvfr-mobile-trust-widget > .elementor-widget-container {
		width: 100%;
	}

	.iptvfr-mobile-trust {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0;
		padding: 14px 8px;
		color: var(--iptvfr-white);
		background: var(--iptvfr-dark);
		border-radius: 16px;
	}

	.iptvfr-mobile-trust > div {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 6px;
		min-width: 0;
		padding: 0 6px;
		text-align: center;
		border-inline-end: 1px solid rgba(255, 255, 255, 0.17);
	}

	.iptvfr-mobile-trust > div:last-child {
		border-inline-end: 0;
	}

	.iptvfr-mobile-trust .iptvfr-icon {
		width: 28px;
		height: 28px;
		color: var(--iptvfr-orange);
	}

	.iptvfr-mobile-trust strong {
		font-size: 12px;
		line-height: 1.3;
	}

	.iptvfr-mobile-copyright {
		margin: 0 !important;
		padding-top: 10px;
	}

	.iptvfr-mobile-copyright p {
		margin: 0;
		color: var(--iptvfr-body);
		font-size: 11px;
		text-align: center;
	}
}

@media (max-width: 782px) {
	.admin-bar .iptvfr-location-header {
		top: auto;
	}
}

@media (max-width: 390px) {
	.iptvfr-mobile-header {
		grid-template-columns: minmax(115px, 1fr) auto 44px;
		gap: 6px;
		padding-inline: 10px;
	}

	.iptvfr-mobile-cta .elementor-button {
		padding-inline: 12px;
		font-size: 12px;
	}

	.iptvfr-menu-toggle {
		width: 44px;
	}

	.iptvfr-menu-toggle span {
		width: 25px;
	}
}

@media (max-width: 340px) {
	.iptvfr-mobile-logo {
		width: 115px !important;
	}

	.iptvfr-mobile-cta .elementor-button {
		padding: 11px 9px;
		font-size: 11px;
	}
}

@media (max-width: 1280px) and (min-width: 1025px) {
	.iptvfr-hero-actions {
		gap: 12px !important;
	}

	.iptvfr-hero-actions .elementor-button {
		padding-inline: 20px;
		font-size: 15px;
	}

	.iptvfr-feature-row {
		gap: 12px !important;
		margin-inline-end: 0 !important;
	}

	.iptvfr-feature-row > .iptvfr-feature-card {
		gap: 10px !important;
		min-height: 80px;
		padding: 14px !important;
	}

	.iptvfr-feature-row .iptvfr-feature-icon {
		flex-basis: 44px;
		width: 44px !important;
		height: 44px;
		padding: 8px;
	}

	.iptvfr-feature-row .iptvfr-feature-icon img {
		width: 28px;
		height: 28px;
	}

	.iptvfr-feature-row .iptvfr-feature-value .elementor-heading-title {
		font-size: 21px;
	}

	.iptvfr-feature-row .iptvfr-feature-label p {
		font-size: 14px;
	}
}

@media (max-width: 1024px) {
	.iptvfr-hero {
		min-height: 0;
		padding: 60px 24px !important;
	}

	.iptvfr-hero-inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 46px !important;
	}

	.iptvfr-hero-content {
		width: min(100%, 760px) !important;
		margin-inline: auto !important;
	}

	.iptvfr-hero-title .elementor-heading-title {
		font-size: 46px;
		line-height: 1.06;
	}

	.iptvfr-hero-description p {
		font-size: 17px;
	}

	.iptvfr-hero-visual {
		width: min(100%, 820px) !important;
		margin-inline: auto !important;
		padding: 10px 0 20px !important;
	}

	.iptvfr-device-image {
		max-width: 760px;
		margin-inline: auto !important;
	}

	.iptvfr-feature-row {
		width: min(100%, 700px) !important;
		margin: -12px auto 0 !important;
	}
}

@media (max-width: 767px) {
	.iptvfr-hero {
		padding: 38px 18px 42px !important;
	}

	.iptvfr-hero-inner {
		gap: 30px !important;
	}

	.iptvfr-hero-content {
		align-items: center;
		text-align: center;
	}

	.iptvfr-hero-title {
		margin-top: 22px !important;
	}

	.iptvfr-hero-title .elementor-heading-title {
		font-size: 39px;
		line-height: 1.08;
		letter-spacing: -0.02em;
	}

	.iptvfr-hero-description {
		margin-top: 18px !important;
	}

	.iptvfr-hero-description p {
		font-size: 16px;
	}

	.iptvfr-hero-actions {
		flex-direction: column;
		gap: 12px !important;
		width: 100% !important;
		margin-top: 26px !important;
	}

	.iptvfr-hero-actions .elementor-widget-button,
	.iptvfr-hero-actions .elementor-button {
		width: 100% !important;
	}

	.iptvfr-hero-actions .elementor-button {
		min-height: 52px;
		font-size: 15px;
	}

	.iptvfr-hero-trust {
		flex-direction: column;
		gap: 10px !important;
		margin-top: 30px !important;
	}

	.iptvfr-hero-trust-copy {
		align-items: center;
	}

	.iptvfr-hero-visual {
		width: calc(100% + 36px) !important;
		margin-inline: -18px !important;
		padding: 8px 0 16px !important;
	}

	.iptvfr-hero-visual::before {
		top: 4%;
		right: 3%;
		bottom: 0;
		left: 3%;
		border-width: 2px;
		border-radius: 24px;
	}

	.iptvfr-device-image img {
		border-radius: 18px;
	}

	.iptvfr-feature-row {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px !important;
		width: calc(100% - 36px) !important;
		margin: -4px 18px 0 !important;
	}

	.iptvfr-feature-row > .iptvfr-feature-card {
		min-height: 76px;
		padding: 12px 16px !important;
		border-radius: 14px;
	}

	.iptvfr-feature-row .iptvfr-feature-icon {
		flex-basis: 46px;
		width: 46px !important;
		height: 46px;
		padding: 9px;
	}

	.iptvfr-feature-row .iptvfr-feature-icon img {
		width: 28px;
		height: 28px;
	}

	.iptvfr-feature-row .iptvfr-feature-value .elementor-heading-title {
		font-size: 21px;
	}

	.iptvfr-feature-row .iptvfr-feature-label p {
		font-size: 14px;
	}
}

@media (max-width: 360px) {
	.iptvfr-hero-title .elementor-heading-title {
		font-size: 36px;
	}

	.iptvfr-hero-visual {
		width: calc(100% + 24px) !important;
		margin-inline: -12px !important;
	}

	.iptvfr-feature-row {
		width: calc(100% - 24px) !important;
		margin-inline: 12px !important;
	}
}

@media (max-width: 1024px) {
	.iptvfr-features-section {
		padding: 80px 24px !important;
	}

	.iptvfr-features-title .elementor-heading-title {
		font-size: 46px;
	}

	.iptvfr-features-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px !important;
		margin-top: 44px !important;
	}

	.iptvfr-features-column {
		display: contents !important;
	}

	.iptvfr-device-stage {
		grid-column: 1 / -1;
		grid-row: 1;
		min-height: 455px;
		margin-bottom: 8px !important;
	}

	.iptvfr-features-section .iptvfr-feature-live {
		grid-column: 1;
		grid-row: 2;
	}

	.iptvfr-features-section .iptvfr-feature-movies {
		grid-column: 2;
		grid-row: 2;
	}

	.iptvfr-features-section .iptvfr-feature-quality {
		grid-column: 1;
		grid-row: 3;
	}

	.iptvfr-features-section .iptvfr-feature-devices {
		grid-column: 2;
		grid-row: 3;
	}

	.iptvfr-features-section .iptvfr-feature-card {
		min-height: 232px;
	}

	.iptvfr-flow-ribbon {
		width: 130% !important;
		height: 74% !important;
	}

	.iptvfr-flow-ribbon-art {
		opacity: 0.58;
	}
}

@media (max-width: 767px) {
	.iptvfr-features-section {
		padding: 65px 16px !important;
	}

	.iptvfr-features-eyebrow p {
		font-size: 11px;
		letter-spacing: 0.22em;
	}

	.iptvfr-features-title {
		margin-top: 12px !important;
	}

	.iptvfr-features-title .elementor-heading-title {
		font-size: 38px;
		line-height: 1.07;
	}

	.iptvfr-features-subtitle {
		margin-top: 16px !important;
	}

	.iptvfr-features-subtitle p {
		font-size: 15px;
		line-height: 1.55;
	}

	.iptvfr-features-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px !important;
		margin-top: 34px !important;
	}

	.iptvfr-device-stage {
		grid-column: 1;
		grid-row: 1;
		min-height: 286px;
		margin-bottom: 10px !important;
	}

	.iptvfr-features-section .iptvfr-feature-live {
		grid-column: 1;
		grid-row: 2;
	}

	.iptvfr-features-section .iptvfr-feature-movies {
		grid-column: 1;
		grid-row: 3;
	}

	.iptvfr-features-section .iptvfr-feature-quality {
		grid-column: 1;
		grid-row: 4;
	}

	.iptvfr-features-section .iptvfr-feature-devices {
		grid-column: 1;
		grid-row: 5;
	}

	.iptvfr-features-section .iptvfr-feature-card {
		min-height: 0;
		padding: 24px 20px !important;
		border-radius: 18px;
	}

	.iptvfr-features-section .iptvfr-feature-icon {
		flex-basis: 80px;
		width: 80px !important;
		height: 80px;
		margin-bottom: 15px !important;
		padding: 7px !important;
	}

	.iptvfr-features-section .iptvfr-feature-icon-image,
	.iptvfr-features-section .iptvfr-feature-icon-image .elementor-widget-container,
	.iptvfr-features-section .iptvfr-feature-icon-image img {
		width: 64px !important;
		height: 64px !important;
	}

	.iptvfr-features-section .iptvfr-feature-value .elementor-heading-title {
		font-size: 27px;
	}

	.iptvfr-features-section .iptvfr-feature-title .elementor-heading-title {
		font-size: 20px;
	}

	.iptvfr-features-section .iptvfr-feature-description p {
		max-width: 290px;
		font-size: 14px;
	}

	.iptvfr-flow-ribbon {
		width: 128% !important;
		height: 76% !important;
	}
}

@media (max-width: 360px) {
	.iptvfr-features-title .elementor-heading-title {
		font-size: 34px;
	}

	.iptvfr-device-stage {
		min-height: 250px;
	}

	.iptvfr-features-section .iptvfr-feature-card {
		padding: 22px 18px !important;
	}
}

/* Responsive premium entertainment showcase. */
@media (max-width: 1180px) {
	.iptvfr-entertainment-section {
		padding: 78px 22px !important;
	}

	.iptvfr-entertainment-panels {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.iptvfr-entertainment-panel--sports {
		grid-column: 1 / -1;
		min-height: 540px;
	}

	.iptvfr-entertainment-panel--sports .iptvfr-entertainment-panel-title,
	.iptvfr-entertainment-panel--sports .iptvfr-entertainment-panel-description {
		max-width: 520px !important;
	}
}

@media (max-width: 1024px) {
	.iptvfr-entertainment-title .elementor-heading-title {
		font-size: 56px;
	}

	.iptvfr-entertainment-device-stage {
		max-width: 900px !important;
	}

	.iptvfr-entertainment-benefit {
		padding-inline: 12px !important;
	}

	.iptvfr-entertainment-benefit-title .elementor-heading-title {
		font-size: 14px;
	}

	.iptvfr-entertainment-trust {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.iptvfr-entertainment-trust-item:nth-child(3) {
		border-right: 0;
	}

	.iptvfr-entertainment-trust-item:nth-child(n + 4) {
		border-top: 1px solid var(--iptvfr-entertainment-border);
	}

	.iptvfr-entertainment-trust-item:last-child {
		grid-column: span 2;
	}
}

@media (max-width: 900px) {
	.iptvfr-entertainment-benefits {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.iptvfr-entertainment-benefit:nth-child(2) {
		border-right: 0;
	}

	.iptvfr-entertainment-benefit:nth-child(n + 3) {
		border-top: 1px solid var(--iptvfr-entertainment-border);
	}

	.iptvfr-entertainment-categories {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		gap: 7px !important;
		overflow-x: auto;
		scroll-snap-type: x proximity;
	}

	.iptvfr-entertainment-category {
		flex: 0 0 auto;
		width: auto !important;
		scroll-snap-align: start;
	}

	.iptvfr-entertainment-category .elementor-button {
		width: auto;
		min-width: 102px;
		padding: 9px 11px;
		font-size: 11px;
		line-height: 1.2;
	}

	.iptvfr-entertainment-category .elementor-button-content-wrapper {
		flex-direction: row !important;
		gap: 6px !important;
	}

	.iptvfr-entertainment-category .elementor-button-icon {
		font-size: 11px;
	}
}

@media (max-width: 767px) {
	.iptvfr-entertainment-section {
		padding: 58px 14px !important;
	}

	.iptvfr-entertainment-header {
		align-items: flex-start;
		text-align: left;
	}

	.iptvfr-entertainment-eyebrow p {
		justify-content: flex-start;
		gap: 10px;
		font-size: 10.5px;
		line-height: 1.45;
		letter-spacing: 0.14em;
	}

	.iptvfr-entertainment-eyebrow p::before {
		display: none;
	}

	.iptvfr-entertainment-eyebrow p::after {
		width: 28px;
	}

	.iptvfr-entertainment-title {
		margin-top: 12px !important;
	}

	.iptvfr-entertainment-title .elementor-heading-title {
		font-size: clamp(36px, 10.4vw, 42px);
		line-height: 1.04;
	}

	.iptvfr-entertainment-intro {
		margin-top: 15px !important;
	}

	.iptvfr-entertainment-intro p {
		font-size: 15px;
		line-height: 1.58;
	}

	.iptvfr-entertainment-device-stage {
		margin-top: 26px !important;
		border-radius: 18px;
	}

	.iptvfr-entertainment-benefits {
		margin-top: 14px !important;
		padding: 8px !important;
		border-radius: 16px;
	}

	.iptvfr-entertainment-benefit {
		justify-content: flex-start;
		gap: 9px !important;
		min-height: 64px;
		padding: 9px 10px !important;
	}

	.iptvfr-entertainment-benefit-icon {
		flex-basis: 36px;
		width: 36px !important;
		height: 36px;
	}

	.iptvfr-entertainment-benefit-icon .elementor-icon {
		font-size: 15px;
	}

	.iptvfr-entertainment-benefit-title .elementor-heading-title {
		font-size: 12px;
		line-height: 1.3;
	}

	.iptvfr-entertainment-panels {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px !important;
		margin-top: 26px !important;
	}

	.iptvfr-entertainment-panel,
	.iptvfr-entertainment-panel--sports {
		grid-column: 1;
		min-height: 570px;
		padding: 24px 18px 18px !important;
		border-radius: 20px;
	}

	.iptvfr-entertainment-panel-title,
	.iptvfr-entertainment-panel--sports .iptvfr-entertainment-panel-title {
		max-width: 310px !important;
		margin-top: 20px !important;
	}

	.iptvfr-entertainment-panel-title .elementor-heading-title {
		font-size: 33px;
	}

	.iptvfr-entertainment-panel-description,
	.iptvfr-entertainment-panel--sports .iptvfr-entertainment-panel-description {
		max-width: 315px !important;
		margin-top: 15px !important;
	}

	.iptvfr-entertainment-panel-description p {
		font-size: 13.5px;
		line-height: 1.58;
	}

	.iptvfr-entertainment-panel-cta {
		width: 100% !important;
		margin-top: 20px !important;
	}

	.iptvfr-entertainment-panel-cta .elementor-button {
		width: 100%;
		min-height: 48px;
	}

	.iptvfr-entertainment-categories {
		margin-top: 22px !important;
		padding: 7px !important;
	}

	.iptvfr-entertainment-trust {
		grid-template-columns: minmax(0, 1fr);
		margin-top: 16px !important;
		padding: 8px 14px !important;
		border-radius: 16px;
	}

	.iptvfr-entertainment-trust-item,
	.iptvfr-entertainment-trust-item:nth-child(3),
	.iptvfr-entertainment-trust-item:nth-child(n + 4),
	.iptvfr-entertainment-trust-item:last-child {
		grid-column: 1;
		justify-content: flex-start;
		min-height: 52px;
		padding: 8px 4px !important;
		border-top: 0;
		border-right: 0;
		border-bottom: 1px solid var(--iptvfr-entertainment-border);
	}

	.iptvfr-entertainment-trust-item:last-child {
		border-bottom: 0;
	}

	.iptvfr-entertainment-trust-label p {
		font-size: 13px;
	}
}

@media (max-width: 360px) {
	.iptvfr-entertainment-section {
		padding-inline: 12px !important;
	}

	.iptvfr-entertainment-title .elementor-heading-title {
		font-size: 34px;
	}

	.iptvfr-entertainment-benefit-title .elementor-heading-title {
		font-size: 11.5px;
	}

	.iptvfr-entertainment-panel,
	.iptvfr-entertainment-panel--sports {
		min-height: 584px;
		padding-inline: 16px !important;
	}

	.iptvfr-entertainment-panel-title .elementor-heading-title {
		font-size: 31px;
	}
}

/* Responsive premium Pourquoi nous choisir section. */
@media (max-width: 1180px) {
	.iptvfr-why-section {
		padding: 80px 22px !important;
	}

	.iptvfr-why-shell {
		padding: 28px 28px 18px !important;
	}

	.iptvfr-why-heading .elementor-heading-title {
		font-size: 60px;
	}

	.iptvfr-why-card--featured {
		padding-inline: 24px !important;
	}

	.iptvfr-why-card--featured .iptvfr-why-icon,
	.iptvfr-why-card--featured .iptvfr-why-icon .elementor-widget-container,
	.iptvfr-why-card--featured .iptvfr-why-icon img {
		width: 214px !important;
		height: 214px !important;
		max-width: 214px !important;
	}

	.iptvfr-why-title .elementor-heading-title {
		font-size: 24px;
	}

	.iptvfr-why-card--featured .iptvfr-why-title .elementor-heading-title {
		font-size: 31px;
	}

	.iptvfr-why-trust-item {
		padding-inline: 16px !important;
	}
}

@media (max-width: 1100px) {
	.iptvfr-why-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px !important;
	}

	.iptvfr-why-card,
	.iptvfr-why-card--server,
	.iptvfr-why-card--quality {
		grid-column: span 1;
		min-height: 280px;
	}

	.iptvfr-why-card--featured {
		grid-column: 1 / -1;
		min-height: 300px;
	}

	.iptvfr-why-card--featured .iptvfr-why-card-copy {
		padding-left: 30px !important;
	}

	.iptvfr-why-trust-item {
		gap: 10px !important;
		padding-inline: 12px !important;
	}

	.iptvfr-why-trust-label p {
		font-size: 14px;
	}
}

@media (max-width: 900px) {
	.iptvfr-why-header {
		margin-bottom: 40px !important;
		padding-top: 20px !important;
	}

	.iptvfr-why-heading .elementor-heading-title {
		font-size: 54px;
	}

	.iptvfr-why-trust {
		padding-inline: 14px !important;
	}

	.iptvfr-why-trust-icon,
	.iptvfr-why-trust-icon .elementor-widget-container,
	.iptvfr-why-trust-icon img {
		width: 46px !important;
		height: 46px !important;
		max-width: 46px !important;
	}
}

@media (max-width: 767px) {
	.iptvfr-why-section {
		padding: 56px 14px !important;
	}

	.iptvfr-why-shell {
		padding: 18px 14px 14px !important;
		border-radius: 22px;
	}

	.iptvfr-why-header {
		margin-bottom: 32px !important;
		padding: 18px 4px 0 !important;
	}

	.iptvfr-why-eyebrow .elementor-widget-container {
		gap: 10px;
	}

	.iptvfr-why-eyebrow .elementor-widget-container::before,
	.iptvfr-why-eyebrow .elementor-widget-container::after {
		width: 28px;
	}

	.iptvfr-why-eyebrow p {
		font-size: 10.5px;
		letter-spacing: 0.13em;
	}

	.iptvfr-why-heading {
		margin-top: 13px !important;
	}

	.iptvfr-why-heading .elementor-heading-title {
		font-size: 35px;
		line-height: 1.04;
		letter-spacing: -0.025em;
	}

	.iptvfr-why-subtitle {
		margin-top: 14px !important;
		padding-bottom: 15px !important;
	}

	.iptvfr-why-subtitle p {
		font-size: 15px;
		line-height: 1.5;
	}

	.iptvfr-why-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px !important;
	}

	.iptvfr-why-card,
	.iptvfr-why-card--server,
	.iptvfr-why-card--quality,
	.iptvfr-why-card--featured {
		grid-column: 1;
		min-height: 0;
		padding: 18px !important;
		border-radius: 20px;
	}

	.iptvfr-why-card--featured {
		flex-direction: column;
	}

	.iptvfr-why-featured-visual {
		flex: 0 0 auto;
		min-height: 185px;
	}

	.iptvfr-why-card--featured .iptvfr-why-card-copy {
		padding: 4px 2px 2px !important;
	}

	.iptvfr-why-card-head {
		min-height: 104px;
	}

	.iptvfr-why-badge {
		flex-basis: 38px;
		width: 38px !important;
		height: 38px;
	}

	.iptvfr-why-badge p {
		font-size: 15px;
	}

	.iptvfr-why-icon,
	.iptvfr-why-icon .elementor-widget-container,
	.iptvfr-why-icon img {
		width: 104px !important;
		height: 104px !important;
		max-width: 104px !important;
	}

	.iptvfr-why-card--featured .iptvfr-why-icon,
	.iptvfr-why-card--featured .iptvfr-why-icon .elementor-widget-container,
	.iptvfr-why-card--featured .iptvfr-why-icon img {
		width: 174px !important;
		height: 174px !important;
		max-width: 174px !important;
	}

	.iptvfr-why-title .elementor-heading-title,
	.iptvfr-why-card--featured .iptvfr-why-title .elementor-heading-title {
		font-size: 22px;
		line-height: 1.16;
	}

	.iptvfr-why-title .elementor-heading-title::after {
		margin-top: 10px;
	}

	.iptvfr-why-text {
		margin-top: 12px !important;
	}

	.iptvfr-why-text p,
	.iptvfr-why-card--featured .iptvfr-why-text p {
		font-size: 14.5px;
		line-height: 1.62;
	}

	.iptvfr-why-trust {
		grid-template-columns: minmax(0, 1fr);
		margin-top: 14px !important;
		padding: 8px 16px !important;
		border-radius: 18px;
	}

	.iptvfr-why-trust-item {
		justify-content: flex-start;
		gap: 12px !important;
		padding: 10px 2px !important;
	}

	.iptvfr-why-trust-item + .iptvfr-why-trust-item {
		border-top: 1px solid var(--iptvfr-why-border);
		border-left: 0;
	}

	.iptvfr-why-trust-icon,
	.iptvfr-why-trust-icon .elementor-widget-container,
	.iptvfr-why-trust-icon img {
		width: 44px !important;
		height: 44px !important;
		max-width: 44px !important;
	}

	.iptvfr-why-trust-label p {
		font-size: 14px;
	}
}

@media (max-width: 360px) {
	.iptvfr-why-heading .elementor-heading-title {
		font-size: 34px;
	}

	.iptvfr-why-card,
	.iptvfr-why-card--featured {
		padding: 17px !important;
	}

	.iptvfr-why-card--featured .iptvfr-why-icon,
	.iptvfr-why-card--featured .iptvfr-why-icon .elementor-widget-container,
	.iptvfr-why-card--featured .iptvfr-why-icon img {
		width: 158px !important;
		height: 158px !important;
		max-width: 158px !important;
	}
}

@media (max-width: 1024px) {
	.iptvfr-offer-section {
		padding: 70px 22px !important;
	}

	.iptvfr-offer-container {
		grid-template-columns: minmax(0, 46fr) minmax(0, 54fr);
		gap: 36px !important;
		padding: 40px 34px !important;
	}

	.iptvfr-offer-heading .elementor-heading-title {
		font-size: 46px;
	}

	.iptvfr-offer-description p {
		font-size: 16px;
	}

	.iptvfr-offer-benefits {
		gap: 14px 18px !important;
	}

	.iptvfr-offer-pricing {
		grid-template-columns: 118px minmax(0, 1fr);
		padding: 18px 20px !important;
	}

	.iptvfr-offer-visual {
		min-height: 380px;
	}

	.iptvfr-offer-image {
		max-width: 600px !important;
	}
}

@media (max-width: 900px) {
	.iptvfr-offer-container {
		grid-template-columns: minmax(0, 1fr);
		gap: 34px !important;
	}

	.iptvfr-offer-content {
		width: min(100%, 680px) !important;
		margin-inline: auto !important;
	}

	.iptvfr-offer-visual {
		min-height: 0;
	}

	.iptvfr-offer-image {
		width: min(100%, 600px) !important;
		margin-inline: auto !important;
	}
}

@media (max-width: 767px) {
	.iptvfr-offer-section {
		padding: 60px 14px !important;
	}

	.iptvfr-offer-container {
		gap: 28px !important;
		padding: 28px 18px !important;
		border-radius: 20px;
	}

	.iptvfr-offer-eyebrow p {
		font-size: 11px;
	}

	.iptvfr-offer-heading {
		margin-top: 16px !important;
	}

	.iptvfr-offer-heading .elementor-heading-title {
		font-size: 37px;
		line-height: 1.08;
	}

	.iptvfr-offer-description {
		margin-top: 18px !important;
	}

	.iptvfr-offer-description p {
		font-size: 15px;
		line-height: 1.6;
	}

	.iptvfr-offer-benefits {
		grid-template-columns: minmax(0, 1fr);
		gap: 13px !important;
		margin-top: 24px !important;
	}

	.iptvfr-offer-pricing {
		grid-template-columns: 96px minmax(0, 1fr);
		gap: 16px !important;
		width: 100% !important;
		margin-top: 26px !important;
		padding: 18px !important;
	}

	.iptvfr-offer-price .elementor-heading-title {
		font-size: 40px;
	}

	.iptvfr-offer-actions {
		flex-direction: column;
		gap: 8px !important;
		margin-top: 20px !important;
	}

	.iptvfr-offer-primary,
	.iptvfr-offer-secondary,
	.iptvfr-offer-primary .elementor-button,
	.iptvfr-offer-secondary .elementor-button {
		width: 100% !important;
	}

	.iptvfr-offer-secondary .elementor-button {
		text-align: center;
	}

	.iptvfr-offer-visual::before {
		width: 92%;
	}

	.iptvfr-offer-image {
		width: 112% !important;
		max-width: none !important;
		margin-inline: -6% !important;
	}
}

@media (max-width: 360px) {
	.iptvfr-offer-container {
		padding-inline: 16px !important;
	}

	.iptvfr-offer-heading .elementor-heading-title {
		font-size: 35px;
	}

	.iptvfr-offer-pricing {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px !important;
		text-align: center;
	}

	.iptvfr-offer-pricing-meta,
	.iptvfr-offer-price-main {
		align-items: center;
	}
}

/* Responsive refinements for the editable pricing section. */
@media (max-width: 1180px) {
	.iptvfr-pricing-section {
		padding: 80px 22px !important;
	}

	.iptvfr-pricing-top-grid,
	.iptvfr-pricing-bottom-grid {
		gap: 18px !important;
	}

	.iptvfr-pricing-bottom-grid {
		margin-top: 18px !important;
	}

	.iptvfr-price-card {
		padding: 24px !important;
	}

	.iptvfr-price-card-standard {
		min-height: 470px;
	}

	.iptvfr-price-feature {
		gap: 7px !important;
	}

	.iptvfr-price-feature-text p {
		font-size: 13px;
	}

	.iptvfr-price-multiscreen-head {
		grid-template-columns: minmax(0, 1fr) 125px;
		gap: 16px !important;
	}

	.iptvfr-price-multiscreen-title {
		gap: 11px !important;
	}

	.iptvfr-price-card-multiscreen .iptvfr-price-title .elementor-heading-title {
		font-size: 23px;
	}

	.iptvfr-price-features-two-column {
		column-gap: 18px !important;
	}

	.iptvfr-pricing-trust {
		padding-inline: 14px !important;
	}

	.iptvfr-pricing-trust-item {
		gap: 9px !important;
		padding-inline: 10px !important;
	}

	.iptvfr-pricing-trust-icon {
		flex-basis: 32px;
		width: 32px !important;
	}

	.iptvfr-pricing-trust-icon .elementor-icon {
		font-size: 23px;
	}
}

@media (max-width: 1024px) {
	.iptvfr-pricing-title .elementor-heading-title {
		font-size: 44px;
	}

	.iptvfr-pricing-top-grid {
		gap: 14px !important;
	}

	.iptvfr-price-card {
		padding: 22px !important;
	}

	.iptvfr-price-title .elementor-heading-title {
		font-size: 24px;
	}

	.iptvfr-current-price p {
		font-size: 44px;
	}

	.iptvfr-price-button .elementor-button {
		padding-inline: 12px;
		font-size: 14px;
	}

	.iptvfr-pricing-trust-title .elementor-heading-title {
		font-size: 12px;
	}

	.iptvfr-pricing-trust-description p {
		font-size: 10px;
	}
}

@media (max-width: 900px) {
	.iptvfr-pricing-section {
		padding: 70px 22px !important;
	}

	.iptvfr-pricing-header {
		margin-bottom: 38px !important;
	}

	.iptvfr-pricing-top-grid,
	.iptvfr-pricing-bottom-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px !important;
	}

	.iptvfr-pricing-bottom-grid {
		margin-top: 16px !important;
	}

	.iptvfr-price-card,
	.iptvfr-price-card-standard,
	.iptvfr-price-card-multiscreen {
		min-height: 0;
	}

	.iptvfr-price-card-popular,
	.iptvfr-price-card-popular:hover {
		transform: none;
	}

	.iptvfr-price-card-head {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(135px, 0.55fr);
		align-items: center;
		gap: 20px !important;
		text-align: left;
	}

	.iptvfr-price-card-head .iptvfr-price-amounts {
		align-items: flex-end;
		margin-top: 0 !important;
		text-align: right;
	}

	.iptvfr-price-features-two-column {
		grid-template-columns: minmax(0, 1fr);
	}

	.iptvfr-pricing-trust {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 0 !important;
	}

	.iptvfr-pricing-trust-item {
		padding: 13px 18px !important;
	}

	.iptvfr-pricing-trust-item:nth-child(2)::after {
		display: none;
	}

	.iptvfr-pricing-trust-item:nth-child(-n+2)::before {
		position: absolute;
		right: 18px;
		bottom: 0;
		left: 18px;
		height: 1px;
		background: var(--iptvfr-pricing-border);
		content: "";
	}
}

@media (max-width: 767px) {
	.iptvfr-pricing-section {
		padding: 60px 14px !important;
	}

	.iptvfr-pricing-header {
		margin-bottom: 34px !important;
	}

	.iptvfr-pricing-eyebrow p {
		font-size: 11px;
		letter-spacing: 0.13em;
	}

	.iptvfr-pricing-title {
		max-width: 430px;
		margin-top: 12px !important;
	}

	.iptvfr-pricing-title .elementor-heading-title {
		font-size: clamp(34px, 9.2vw, 38px);
		line-height: 1.05;
	}

	.iptvfr-pricing-subtitle {
		max-width: 400px;
		margin-top: 13px !important;
	}

	.iptvfr-pricing-subtitle p {
		font-size: 15px;
		line-height: 1.45;
	}

	.iptvfr-pricing-top-grid,
	.iptvfr-pricing-bottom-grid {
		gap: 14px !important;
	}

	.iptvfr-pricing-bottom-grid {
		margin-top: 14px !important;
	}

	.iptvfr-price-card {
		padding: 20px !important;
		border-radius: 18px;
	}

	.iptvfr-price-card-has-badge {
		margin-top: 8px !important;
	}

	.iptvfr-price-badge {
		top: -14px;
		right: 18px;
		min-height: 29px;
		padding: 6px 10px !important;
	}

	.iptvfr-price-badge-label p {
		font-size: 10px;
	}

	.iptvfr-price-card-head {
		grid-template-columns: minmax(0, 1fr) minmax(118px, 0.52fr);
		gap: 14px !important;
	}

	.iptvfr-price-title .elementor-heading-title,
	.iptvfr-price-card-multiscreen .iptvfr-price-title .elementor-heading-title {
		font-size: 22px;
		line-height: 1.2;
	}

	.iptvfr-price-helper p,
	.iptvfr-monthly-price p {
		font-size: 13px;
	}

	.iptvfr-old-price p {
		font-size: 16px;
	}

	.iptvfr-current-price p,
	.iptvfr-price-card-multiscreen .iptvfr-current-price p {
		font-size: 40px;
	}

	.iptvfr-price-divider,
	.iptvfr-price-multiscreen-divider {
		margin: 9px 0 !important;
	}

	.iptvfr-price-features {
		gap: 6px !important;
	}

	.iptvfr-price-feature-text p {
		font-size: 13px;
		line-height: 1.22;
	}

	.iptvfr-price-feature-icon {
		flex-basis: 14px;
		width: 14px !important;
		height: 14px;
	}

	.iptvfr-price-button {
		padding-top: 14px !important;
	}

	.iptvfr-price-button .elementor-button {
		min-height: 46px;
		font-size: 14px;
	}

	.iptvfr-price-multiscreen-head {
		grid-template-columns: minmax(0, 1fr) minmax(112px, 0.46fr);
		gap: 12px !important;
	}

	.iptvfr-price-multiscreen-title {
		gap: 10px !important;
	}

	.iptvfr-price-multiscreen-icon {
		flex-basis: 38px;
		width: 38px !important;
		height: 38px;
		border-radius: 10px;
	}

	.iptvfr-price-multiscreen-icon .elementor-icon {
		font-size: 21px;
	}

	.iptvfr-pricing-trust {
		margin-top: 14px !important;
		padding: 8px !important;
		border-radius: 14px;
	}

	.iptvfr-pricing-trust-item {
		gap: 9px !important;
		padding: 12px 10px !important;
	}

	.iptvfr-pricing-trust-item:nth-child(-n+2)::before {
		right: 10px;
		left: 10px;
	}

	.iptvfr-pricing-trust-icon {
		flex-basis: 30px;
		width: 30px !important;
		height: 30px;
	}

	.iptvfr-pricing-trust-icon .elementor-icon {
		font-size: 21px;
	}

	.iptvfr-pricing-trust-title .elementor-heading-title {
		font-size: 11px;
	}

	.iptvfr-pricing-trust-description p {
		font-size: 9px;
		line-height: 1.25;
	}
}

@media (max-width: 360px) {
	.iptvfr-pricing-section {
		padding-inline: 12px !important;
	}

	.iptvfr-pricing-title .elementor-heading-title {
		font-size: 34px;
	}

	.iptvfr-price-card {
		padding-inline: 17px !important;
	}

	.iptvfr-price-card-head,
	.iptvfr-price-multiscreen-head {
		grid-template-columns: minmax(0, 1fr) 108px;
		gap: 9px !important;
	}

	.iptvfr-price-title .elementor-heading-title,
	.iptvfr-price-card-multiscreen .iptvfr-price-title .elementor-heading-title {
		font-size: 21px;
	}

	.iptvfr-current-price p,
	.iptvfr-price-card-multiscreen .iptvfr-current-price p {
		font-size: 38px;
	}

	.iptvfr-price-feature {
		gap: 7px !important;
	}

	.iptvfr-price-feature-text p {
		font-size: 12.5px;
	}

	.iptvfr-price-multiscreen-icon {
		display: none !important;
	}

	.iptvfr-pricing-trust-item {
		padding-inline: 7px !important;
	}

	.iptvfr-pricing-trust-title .elementor-heading-title {
		font-size: 10px;
	}
}

/* Responsive compact 12-month promotional component. */
@media (max-width: 1024px) {
	.iptvfr-plan-banner-section {
		padding-inline: 22px !important;
	}

	.iptvfr-plan-banner {
		grid-template-columns: minmax(210px, 0.8fr) minmax(190px, 0.7fr) minmax(280px, 1fr);
		padding: 14px !important;
	}

	.iptvfr-plan-banner__badge {
		padding-inline: 21px !important;
	}

	.iptvfr-plan-banner__price,
	.iptvfr-plan-banner__action {
		padding-inline: 20px !important;
	}

	.iptvfr-plan-banner__badge-title .elementor-heading-title {
		font-size: 23px;
	}

	.iptvfr-plan-banner__new-price p {
		font-size: 39px;
	}

	.iptvfr-plan-banner__button .elementor-button {
		padding-inline: 15px;
		font-size: 14px;
	}
}

@media (max-width: 850px) {
	.iptvfr-plan-banner-section {
		padding-bottom: 58px !important;
	}

	.iptvfr-plan-banner {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px !important;
		max-width: 620px !important;
	}

	.iptvfr-plan-banner__badge,
	.iptvfr-plan-banner__price,
	.iptvfr-plan-banner__action {
		width: 100% !important;
	}

	.iptvfr-plan-banner__badge {
		min-height: 118px;
		text-align: center;
	}

	.iptvfr-plan-banner__price {
		padding-block: 18px !important;
		border-right: 0;
		border-bottom: 1px solid var(--iptvfr-plan-border);
	}

	.iptvfr-plan-banner__action {
		padding: 2px 12px 8px !important;
	}

	.iptvfr-plan-banner__button {
		max-width: 420px;
	}
}

@media (max-width: 767px) {
	.iptvfr-plan-banner-section {
		padding: 0 14px 48px !important;
	}

	.iptvfr-plan-banner {
		gap: 14px !important;
		padding: 16px !important;
		border-radius: 18px;
		box-shadow: 0 10px 26px rgba(7, 30, 60, 0.07);
	}

	.iptvfr-plan-banner__badge {
		min-height: 0;
		padding: 20px 16px !important;
		border-radius: 14px;
	}

	.iptvfr-plan-banner__badge-title .elementor-heading-title {
		font-size: 24px;
	}

	.iptvfr-plan-banner__price {
		padding: 4px 8px 18px !important;
	}

	.iptvfr-plan-banner__new-price p {
		font-size: 38px;
	}

	.iptvfr-plan-banner__action {
		gap: 10px !important;
		padding: 0 !important;
	}

	.iptvfr-plan-banner__button {
		max-width: none;
	}

	.iptvfr-plan-banner__button .elementor-button {
		min-height: 50px;
		border-radius: 11px;
	}

	.iptvfr-plan-banner__trust p {
		font-size: 10.5px;
	}
}

@media (max-width: 360px) {
	.iptvfr-plan-banner-section {
		padding-inline: 12px !important;
	}

	.iptvfr-plan-banner {
		padding: 14px !important;
	}

	.iptvfr-plan-banner__badge-title .elementor-heading-title {
		font-size: 22px;
	}

	.iptvfr-plan-banner__trust span {
		margin-inline: 2px;
	}
}

/* Responsive compatibility-section layout. */
@media (max-width: 1100px) {
	.iptvfr-compatible-section {
		padding: 70px 22px !important;
	}

	.iptvfr-compatible-container {
		max-width: 960px !important;
		padding: 34px !important;
		border-radius: 24px;
	}

	.iptvfr-compatible-title .elementor-heading-title {
		font-size: 42px;
	}

	.iptvfr-compatible-visual {
		max-width: 820px !important;
		margin: 0 auto !important;
	}

	.iptvfr-compatible-content.iptvfr-compatible-intro {
		margin-top: 30px !important;
	}

	.iptvfr-compatible-list {
		column-gap: 28px !important;
	}
}

@media (max-width: 900px) {
	.iptvfr-compatible-content.iptvfr-compatible-details {
		grid-template-columns: minmax(0, 1fr);
		max-width: 760px !important;
	}
}

@media (max-width: 767px) {
	.iptvfr-compatible-section {
		padding: 60px 14px !important;
	}

	.iptvfr-compatible-container {
		width: 100% !important;
		padding: 24px 17px !important;
		border-radius: 20px;
	}

	.iptvfr-compatible-content.iptvfr-compatible-intro {
		align-items: flex-start;
		margin-top: 24px !important;
		text-align: left;
	}

	.iptvfr-compatible-content.iptvfr-compatible-details {
		gap: 14px !important;
		margin-top: 24px !important;
	}

	.iptvfr-compatible-eyebrow p {
		font-size: 11px;
	}

	.iptvfr-compatible-title {
		margin-top: 10px !important;
	}

	.iptvfr-compatible-title .elementor-heading-title {
		font-size: clamp(34px, 9.4vw, 37px);
		line-height: 1.06;
	}

	.iptvfr-compatible-copy p {
		font-size: 15px;
		line-height: 1.6;
	}

	.iptvfr-compatible-lead {
		margin-top: 14px !important;
	}

	.iptvfr-compatible-visual {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 8px !important;
		border-radius: 16px;
	}

	.iptvfr-compatible-info-card {
		padding: 19px 17px !important;
		border-radius: 16px;
	}

	.iptvfr-compatible-info-heading {
		gap: 10px !important;
	}

	.iptvfr-compatible-info-icon {
		flex-basis: 42px;
		width: 42px !important;
		height: 42px;
	}

	.iptvfr-compatible-info-icon .elementor-icon {
		font-size: 18px;
	}

	.iptvfr-compatible-list {
		grid-template-columns: minmax(0, 1fr);
		gap: 7px !important;
		margin-top: 16px !important;
	}

	.iptvfr-compatible-list-text p {
		font-size: 13px;
		line-height: 1.4;
	}

	.iptvfr-compatible-installation-title {
		margin-top: 0 !important;
	}

	.iptvfr-compatible-multiscreen {
		margin-top: 18px !important;
		padding: 15px 16px !important;
	}

	.iptvfr-compatible-callout-text p {
		font-size: 13px;
	}

	.iptvfr-compatible-offer {
		flex-direction: column !important;
		align-items: stretch;
		gap: 0 !important;
		padding: 17px !important;
	}

	.iptvfr-compatible-offer-prices {
		flex: 0 0 auto;
		flex-direction: row;
		align-items: baseline;
		justify-content: flex-start;
		gap: 9px !important;
		margin-top: 10px !important;
		text-align: left;
	}

	.iptvfr-compatible-price p {
		font-size: 38px;
	}

	.iptvfr-compatible-actions {
		flex-direction: column !important;
		align-items: stretch;
		gap: 3px !important;
		margin-top: 13px !important;
	}

	.iptvfr-compatible-primary,
	.iptvfr-compatible-secondary,
	.iptvfr-compatible-primary .elementor-button,
	.iptvfr-compatible-secondary .elementor-button {
		width: 100% !important;
	}

	.iptvfr-compatible-secondary .elementor-button {
		min-height: 44px;
		text-align: center;
	}

	.iptvfr-compatible-trust {
		margin-top: 6px !important;
		text-align: center;
	}

	.iptvfr-compatible-trust p {
		font-size: 12px;
	}
}

@media (max-width: 360px) {
	.iptvfr-compatible-section {
		padding-inline: 12px !important;
	}

	.iptvfr-compatible-container {
		padding: 22px 15px !important;
	}

	.iptvfr-compatible-title .elementor-heading-title {
		font-size: 34px;
	}

	.iptvfr-compatible-multiscreen,
	.iptvfr-compatible-offer {
		padding-inline: 14px !important;
	}

	.iptvfr-compatible-trust p span {
		padding-inline: 2px;
	}
}

/* 2.5 responsive order and spacing for the approved compatibility redesign. */
@media (max-width: 1100px) {
	.iptvfr-compatible-container {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"intro"
			"visual"
			"details";
		row-gap: 0 !important;
		max-width: 960px !important;
		padding: 32px !important;
	}

	.iptvfr-compatible-content.iptvfr-compatible-intro {
		align-items: flex-start;
		max-width: 820px !important;
		margin: 0 !important;
		text-align: left;
	}

	.iptvfr-compatible-visual {
		width: 100% !important;
		max-width: 820px !important;
		margin: 30px auto 0 !important;
	}

	.iptvfr-compatible-content.iptvfr-compatible-details {
		display: flex !important;
		flex-direction: column !important;
		gap: 0 !important;
		width: 100% !important;
		max-width: 820px !important;
		margin: 30px auto 0 !important;
	}
}

@media (max-width: 767px) {
	.iptvfr-compatible-container {
		padding: 23px 16px !important;
	}

	.iptvfr-compatible-title .elementor-heading-title {
		font-size: clamp(35px, 9.5vw, 38px);
		line-height: 1.04;
	}

	.iptvfr-compatible-visual {
		margin-top: 24px !important;
	}

	.iptvfr-compatible-image-wrap {
		padding: 16px !important;
		border-radius: 18px;
	}

	.iptvfr-compatible-offer {
		flex-direction: column !important;
		align-items: stretch;
		gap: 0 !important;
		margin-top: 16px !important;
		padding: 17px !important;
	}

	.iptvfr-compatible-offer-prices {
		flex: 0 0 auto;
		flex-direction: row !important;
		align-items: baseline;
		justify-content: flex-start;
		gap: 10px !important;
		margin-top: 12px !important;
		text-align: left;
	}

	.iptvfr-compatible-actions {
		flex-direction: column !important;
		align-items: stretch;
		gap: 10px !important;
		margin-top: 10px !important;
	}

	.iptvfr-compatible-primary,
	.iptvfr-compatible-secondary,
	.iptvfr-compatible-primary .elementor-button,
	.iptvfr-compatible-secondary .elementor-button {
		width: 100% !important;
	}

	.iptvfr-compatible-primary .elementor-button,
	.iptvfr-compatible-secondary .elementor-button {
		min-height: 50px;
	}

	.iptvfr-compatible-content.iptvfr-compatible-details {
		margin-top: 26px !important;
	}

	.iptvfr-compatible-list {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px !important;
	}

	.iptvfr-compatible-list-text p {
		font-size: 14px;
	}

	.iptvfr-compatible-installation-title {
		margin-top: 24px !important;
	}

	.iptvfr-compatible-multiscreen {
		align-items: flex-start;
		gap: 12px !important;
		padding: 16px !important;
	}

	.iptvfr-compatible-callout-icon {
		flex-basis: 38px;
		width: 38px !important;
		height: 38px;
	}

	.iptvfr-compatible-callout-icon .elementor-icon {
		font-size: 23px;
	}
}

@media (max-width: 360px) {
	.iptvfr-compatible-container {
		padding: 22px 15px !important;
	}

	.iptvfr-compatible-title .elementor-heading-title {
		font-size: 35px;
	}

	.iptvfr-compatible-image-wrap,
	.iptvfr-compatible-offer,
	.iptvfr-compatible-multiscreen {
		padding-inline: 14px !important;
	}
}

/* Responsive activation-process layout. */
@media (max-width: 1100px) {
	.iptvfr-process-section {
		padding: 80px 22px !important;
	}

	.iptvfr-process-container {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"content"
			"actions"
			"visual"
			"reassurance";
		row-gap: 0 !important;
		max-width: 860px !important;
	}

	.iptvfr-process-title .elementor-heading-title {
		font-size: 42px;
	}

	.iptvfr-process-actions {
		margin-top: 22px !important;
	}

	.iptvfr-process-visual {
		max-width: 760px !important;
		margin: 34px auto 0 !important;
	}

	.iptvfr-process-offer {
		width: 350px !important;
		max-width: 100%;
		margin-top: 16px !important;
	}

	.iptvfr-process-reassurance {
		margin-top: 18px !important;
		text-align: center;
	}
}

@media (max-width: 767px) {
	.iptvfr-process-section {
		padding: 68px 14px !important;
	}

	.iptvfr-process-container {
		width: 100% !important;
	}

	.iptvfr-process-eyebrow p {
		font-size: 11px;
	}

	.iptvfr-process-eyebrow::after {
		width: 34px;
		height: 2px;
		margin-top: 11px;
	}

	.iptvfr-process-title {
		margin-top: 17px !important;
	}

	.iptvfr-process-title .elementor-heading-title {
		font-size: clamp(35px, 9.5vw, 38px);
		line-height: 1.05;
	}

	.iptvfr-process-intro {
		margin-top: 15px !important;
	}

	.iptvfr-process-intro p {
		font-size: 15px;
		line-height: 1.65;
	}

	.iptvfr-process-list {
		gap: 16px !important;
		margin-top: 24px !important;
	}

	.iptvfr-process-item {
		gap: 14px !important;
	}

	.iptvfr-process-item:not(:last-child)::after {
		bottom: -16px;
		left: 19px;
	}

	.iptvfr-process-number {
		flex-basis: 40px;
		width: 40px !important;
		height: 40px;
		border-radius: 11px;
	}

	.iptvfr-process-number p {
		font-size: 14px;
	}

	.iptvfr-process-step-title .elementor-heading-title {
		font-size: 17px;
	}

	.iptvfr-process-step-description p {
		font-size: 14px;
		line-height: 1.55;
	}

	.iptvfr-process-actions {
		flex-direction: column !important;
		align-items: stretch;
		gap: 4px !important;
		margin-top: 24px !important;
	}

	.iptvfr-process-primary,
	.iptvfr-process-secondary,
	.iptvfr-process-primary .elementor-button,
	.iptvfr-process-secondary .elementor-button {
		width: 100% !important;
	}

	.iptvfr-process-primary .elementor-button {
		min-height: 52px;
	}

	.iptvfr-process-secondary .elementor-button {
		min-height: 48px;
		border-bottom: 0;
		text-align: center;
	}

	.iptvfr-process-visual {
		width: 100% !important;
		max-width: none !important;
		margin-top: 24px !important;
	}

	.iptvfr-process-image {
		border-radius: 18px;
	}

	.iptvfr-process-offer {
		align-self: stretch;
		width: 100% !important;
		max-width: none;
		margin: 16px 0 0 !important;
		padding: 18px !important;
		border-radius: 16px;
	}

	.iptvfr-process-offer-title .elementor-heading-title {
		font-size: 22px;
	}

	.iptvfr-process-price p {
		font-size: 40px;
	}

	.iptvfr-process-offer-link,
	.iptvfr-process-offer-link .elementor-button {
		width: 100% !important;
	}

	.iptvfr-process-offer-link {
		margin-top: 10px !important;
	}

	.iptvfr-process-offer-link .elementor-button {
		min-height: 48px;
		border: 1px solid var(--iptvfr-process-orange);
		border-radius: 9px;
	}

	.iptvfr-process-trust {
		align-self: stretch;
		width: 100% !important;
		margin: 10px 0 0 !important;
	}

	.iptvfr-process-trust p {
		font-size: 12.5px;
		text-align: center;
	}

	.iptvfr-process-reassurance {
		margin-top: 16px !important;
	}

	.iptvfr-process-reassurance p {
		font-size: 12px;
		line-height: 1.55;
	}

	.iptvfr-process-reassurance p span {
		padding-inline: 3px;
	}
}

@media (max-width: 360px) {
	.iptvfr-process-section {
		padding-inline: 12px !important;
	}

	.iptvfr-process-title .elementor-heading-title {
		font-size: 35px;
	}

	.iptvfr-process-item {
		gap: 12px !important;
	}

	.iptvfr-process-step-description p {
		font-size: 13.5px;
	}

	.iptvfr-process-offer {
		padding-inline: 16px !important;
	}

	.iptvfr-process-reassurance p span {
		padding-inline: 1px;
	}
}

/* Homepage FAQ responsive composition. */
@media (max-width: 1100px) {
	.iptvfr-faq-section {
		padding: 78px 24px !important;
	}

	.iptvfr-faq-container {
		flex-direction: column !important;
		align-items: center !important;
		padding: 34px !important;
		gap: 40px;
	}

	.iptvfr-faq-content,
	.iptvfr-faq-visual {
		width: 100%;
		flex: 0 0 auto;
	}

	.iptvfr-faq-title .elementor-heading-title {
		font-size: 44px;
	}

	.iptvfr-faq-visual {
		max-width: 720px;
	}

	.iptvfr-faq-offer {
		left: -20px;
	}
}

@media (max-width: 900px) {
	.iptvfr-faq-title .elementor-heading-title {
		font-size: 42px;
	}

	.iptvfr-faq-subtitle {
		max-width: 720px;
	}
}

@media (max-width: 767px) {
	.iptvfr-faq-section {
		padding: 60px 14px !important;
	}

	.iptvfr-faq-container {
		padding: 22px 16px !important;
		gap: 32px;
		border-radius: 22px;
	}

	.iptvfr-faq-eyebrow p {
		font-size: 11.5px;
		letter-spacing: 0.13em;
	}

	.iptvfr-faq-eyebrow::after {
		width: 36px;
		margin-top: 11px;
	}

	.iptvfr-faq-title {
		margin-top: 17px !important;
	}

	.iptvfr-faq-title .elementor-heading-title {
		font-size: 36px;
		line-height: 1.06;
	}

	.iptvfr-faq-title br {
		display: none;
	}

	.iptvfr-faq-subtitle {
		margin-top: 16px !important;
	}

	.iptvfr-faq-subtitle p {
		font-size: 15px;
		line-height: 1.65;
	}

	.iptvfr-faq-trust-line {
		margin-top: 11px !important;
	}

	.iptvfr-faq-trust-line p,
	.iptvfr-faq-caption p {
		font-size: 12.5px;
		line-height: 1.6;
	}

	.iptvfr-faq-trust-line span,
	.iptvfr-faq-caption span {
		margin: 0 4px;
	}

	.iptvfr-faq-accordion {
		margin-top: 24px !important;
	}

	.iptvfr-faq-accordion .e-n-accordion {
		gap: 10px;
	}

	.iptvfr-faq-accordion .e-n-accordion-item-title {
		min-height: 60px;
		padding: 14px !important;
		gap: 11px;
		font-size: 14.5px;
		line-height: 1.4;
	}

	.iptvfr-faq-accordion .e-n-accordion-item-title-icon {
		flex-basis: 30px;
		width: 30px;
		height: 30px;
	}

	.iptvfr-faq-answer {
		padding: 0 14px 15px !important;
	}

	.iptvfr-faq-answer-text p {
		max-width: none;
		font-size: 14px;
		line-height: 1.65;
	}

	.iptvfr-faq-visual {
		max-width: none;
	}

	.iptvfr-faq-image .elementor-widget-container {
		border-radius: 20px;
	}

	.iptvfr-faq-image img {
		height: auto;
		aspect-ratio: auto;
		object-fit: contain;
	}

	.iptvfr-faq-offer {
		position: static;
		width: 100%;
		margin-top: 14px !important;
		padding: 18px !important;
		border-radius: 16px;
		box-shadow: 0 12px 30px rgba(7, 30, 60, 0.08);
	}

	.iptvfr-faq-offer-title .elementor-heading-title {
		font-size: 21px;
	}

	.iptvfr-faq-offer-current p {
		font-size: 42px;
	}

	.iptvfr-faq-caption {
		margin-top: 14px !important;
		padding: 0 2px;
	}
}

@media (max-width: 360px) {
	.iptvfr-faq-section {
		padding-right: 10px !important;
		padding-left: 10px !important;
	}

	.iptvfr-faq-container {
		padding: 20px 14px !important;
	}

	.iptvfr-faq-title .elementor-heading-title {
		font-size: 34px;
	}

	.iptvfr-faq-accordion .e-n-accordion-item-title {
		padding: 13px !important;
		font-size: 14px;
	}

	.iptvfr-faq-offer {
		padding: 16px !important;
	}

	.iptvfr-faq-offer-button .elementor-button {
		padding-right: 13px;
		padding-left: 13px;
		font-size: 13.5px;
	}
}

/* Homepage WhatsApp reviews responsive composition. */
@media (max-width: 1180px) {
	.iptvfr-reviews-section {
		padding: 82px 20px !important;
	}

	.iptvfr-reviews-container {
		padding: 28px 22px 20px !important;
	}

	.iptvfr-reviews-title .elementor-heading-title {
		font-size: 50px;
	}

	.iptvfr-reviews-trust {
		max-width: 900px;
	}

	.iptvfr-reviews-footer {
		grid-template-columns: 1fr 1fr;
		gap: 18px 0;
	}

	.iptvfr-reviews-action {
		grid-column: 1 / -1;
		width: 100%;
		padding: 16px 0 0 !important;
		border-top: 1px solid var(--iptvfr-reviews-border);
		border-left: 0;
	}

	.iptvfr-reviews-action .iptvfr-reviews-button {
		max-width: 360px;
	}
}

@media (max-width: 900px) {
	.iptvfr-reviews-title .elementor-heading-title {
		font-size: 44px;
	}

	.iptvfr-reviews-subtitle p {
		font-size: 15px;
	}

	.iptvfr-reviews-trust {
		max-width: 760px;
	}

	.iptvfr-reviews-trust-item {
		padding: 0 20px !important;
		gap: 10px;
	}

	.iptvfr-reviews-trust-icon {
		flex-basis: 44px;
		width: 44px;
		height: 44px;
	}

	.iptvfr-reviews-trust-title .elementor-heading-title {
		font-size: 14px;
	}

	.iptvfr-reviews-trust-description p {
		font-size: 11.5px;
	}

	.iptvfr-reviews-gallery {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		overflow-x: auto;
		overflow-y: hidden;
		padding: 2px 2px 14px;
		scroll-behavior: smooth;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
		scrollbar-color: rgba(255, 98, 0, 0.36) transparent;
		overscroll-behavior-inline: contain;
		-webkit-overflow-scrolling: touch;
	}

	.iptvfr-reviews-gallery::-webkit-scrollbar {
		height: 4px;
	}

	.iptvfr-reviews-gallery::-webkit-scrollbar-thumb {
		border-radius: 999px;
		background: rgba(255, 98, 0, 0.36);
	}

	.iptvfr-review-card {
		flex: 0 0 calc((100% - 14px) / 2) !important;
		width: auto !important;
		scroll-snap-align: start;
	}
}

@media (max-width: 767px) {
	.iptvfr-reviews-section {
		padding: 60px 14px !important;
	}

	.iptvfr-reviews-container {
		padding: 24px 16px 16px !important;
		border-radius: 22px;
	}

	.iptvfr-reviews-eyebrow {
		gap: 11px;
	}

	.iptvfr-reviews-eyebrow::before,
	.iptvfr-reviews-eyebrow::after {
		width: 30px;
	}

	.iptvfr-reviews-eyebrow p {
		font-size: 11.5px;
		letter-spacing: 0.13em;
	}

	.iptvfr-reviews-title {
		margin-top: 10px !important;
	}

	.iptvfr-reviews-title .elementor-heading-title {
		font-size: 38px;
		line-height: 1.06;
	}

	.iptvfr-reviews-subtitle {
		margin-top: 12px !important;
	}

	.iptvfr-reviews-subtitle p {
		font-size: 14px;
		line-height: 1.6;
	}

	.iptvfr-reviews-trust {
		display: grid !important;
		grid-template-columns: 1fr;
		margin-top: 22px !important;
		gap: 0;
		border-top: 1px solid var(--iptvfr-reviews-border);
	}

	.iptvfr-reviews-trust-item {
		justify-content: flex-start;
		padding: 11px 4px !important;
		border-left: 0;
		border-bottom: 1px solid var(--iptvfr-reviews-border);
	}

	.iptvfr-reviews-trust-icon {
		flex-basis: 40px;
		width: 40px;
		height: 40px;
	}

	.iptvfr-reviews-trust-icon svg {
		width: 21px;
		height: 21px;
	}

	.iptvfr-reviews-trust-title .elementor-heading-title {
		font-size: 14.5px;
	}

	.iptvfr-reviews-trust-description p {
		font-size: 12px;
	}

	.iptvfr-reviews-gallery {
		width: calc(100% + 16px);
		margin-top: 18px !important;
		margin-right: -16px !important;
		padding-right: 16px;
		gap: 12px;
		scroll-padding-left: 0;
	}

	.iptvfr-review-card {
		flex: 0 0 min(82%, 310px) !important;
		width: auto !important;
		border-radius: 16px;
	}

	.iptvfr-review-card:hover {
		transform: none;
	}

	.iptvfr-reviews-footer {
		display: grid !important;
		grid-template-columns: 1fr;
		margin-top: 14px !important;
		padding: 16px !important;
		gap: 0;
		border-radius: 16px;
	}

	.iptvfr-reviews-rating {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-start;
		padding-bottom: 16px !important;
		gap: 10px;
	}

	.iptvfr-reviews-rating-score {
		flex: 0 0 auto !important;
		width: auto !important;
	}

	.iptvfr-reviews-rating-icon {
		flex-basis: 48px;
		width: 48px;
		height: 48px;
	}

	.iptvfr-reviews-rating-value .elementor-heading-title {
		font-size: 24px;
	}

	.iptvfr-reviews-stars-copy {
		flex: 1 1 auto !important;
		width: auto !important;
		margin-left: auto !important;
		text-align: right;
	}

	.iptvfr-reviews-stars span {
		font-size: 16px;
	}

	.iptvfr-reviews-rating-note p {
		max-width: 130px;
		font-size: 10.5px;
	}

	.iptvfr-reviews-assurance {
		flex-direction: row !important;
		align-items: center !important;
		padding: 16px 0 !important;
		border-top: 1px solid var(--iptvfr-reviews-border);
		border-left: 0;
		gap: 12px;
	}

	.iptvfr-reviews-assurance-copy {
		flex: 1 1 auto !important;
		width: auto !important;
	}

	.iptvfr-reviews-assurance-title .elementor-heading-title {
		font-size: 18px;
	}

	.iptvfr-reviews-action {
		grid-column: auto;
		padding-top: 16px !important;
	}

	.iptvfr-reviews-action .iptvfr-reviews-button {
		max-width: none;
	}

	.iptvfr-reviews-button .elementor-button {
		min-height: 46px;
		font-size: 13.5px;
	}
}

@media (max-width: 360px) {
	.iptvfr-reviews-section {
		padding-right: 10px !important;
		padding-left: 10px !important;
	}

	.iptvfr-reviews-container {
		padding-right: 14px !important;
		padding-left: 14px !important;
	}

	.iptvfr-reviews-title .elementor-heading-title {
		font-size: 34px;
	}

	.iptvfr-reviews-gallery {
		width: calc(100% + 14px);
		margin-right: -14px !important;
		padding-right: 14px;
	}

	.iptvfr-review-card {
		flex: 0 0 84% !important;
	}

	.iptvfr-reviews-stars-copy {
		margin-left: auto !important;
		text-align: right;
	}

	.iptvfr-reviews-rating {
		gap: 6px;
	}

	.iptvfr-reviews-rating-icon {
		flex-basis: 44px;
		width: 44px;
		height: 44px;
	}

	.iptvfr-reviews-stars span {
		font-size: 13px;
		letter-spacing: 0.02em;
	}

	.iptvfr-reviews-rating-note p {
		font-size: 9.5px;
	}

	.iptvfr-reviews-rating-note p {
		max-width: none;
	}
}
