/*!
Theme Name: ecm-theme
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ecm-theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

ecm-theme is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

.wp-block-image img{
	width: 100%;
}
.product-page .product__image .image_link img{
	margin: 0 auto;
}
.jsVariationImage, .jsVariationGallery{
	display: none !important;
}
.jsVariationImage.active{
	display: block !important;
}

.jsVariationGallery.active{
	display: flex !important;
}
.b-article-page .wp-caption {
	margin: 64px 0;
}
.b-article-page figcaption {
	font-size: 16px;
	margin: 8px 0 0 !important;
	padding: 0 0 0 8px;
	border-left: 2px solid var(--theme-background-black);
	text-align: left;
}
.article-card__title, .category-filter .category{
	color: inherit;
}
.b-search-results .search-form .form__control{
	padding-right: 54px;
}

.b-search-results .search-form .btn-search {
	position: absolute;
	top: 50%;
	right: 12px;
	width: 40px;
	height: 40px;
	transform: translateY(-50%);
}

.b-search-results .button-wrapper:not(:first-child) {
	margin-top: 100px;
}
#login-message{
	margin-top: 30px;
	color: red;
	font-size: 14px;
	text-align: center;
}
.b-instagram .button-wrapper:not(:first-child) {
	margin-top: 48px;
}
.b-dealer-page .rows-list .row-title a{
	color: inherit;
}
#table-pagination-wrapper.blocked{
	pointer-events: none;
	opacity: .7;
}
.prev-wrap.blocked, .next-wrap.blocked{
	pointer-events: none;
	opacity: 0;
}
.error-section__title {
	font-size: 160px;
	line-height: 1;
	color: black;
}
@media (max-width: 767px) {
	.error-section__title {
		font-size: 120px;
	}
}
.wpcf7-list-item{
	margin: 0;
}
.b-simple-section .button-wrapper:not(:first-child) {
	margin-top: 40px;
}
.b-faq.section + .b-dealer-page.section, .b-dealer-page.section + .b-dealer-product-files.section {
	padding-top: 0;
}
.b-faq .faq-list{
	max-width: 100% !important;
}
.product__image .image img{
	object-fit: contain;
}
.mobile-only{
	display: none;
}
@media (max-width: 767px){
	.desktop-only{
		display: none;
	}
	.mobile-only{
		display: block;
	}
	.b-product-page .button-wrapper{
		margin-top: 32px;
	}
}
.mega-menu .menu__wrapper a[href="#"]:hover{
	cursor: default;
}
.b-footer .footer__bottom .logo-2{
	max-width: 100px;
}
.b-footer .footer__bottom .logo-2 img{
	width: 100%;
}
@media (max-width: 767px) {
	.b-footer .bottom-part{
		gap: 32px 0 !important;
	}
}
html .b-one-slider .gallery-top .swiper-slide img{
	object-fit: contain;
}

html .b-product-page .gallery-top .swiper-slide img{
	object-fit: contain;
}

.b-product-page .swiper-container {
	overflow: hidden;
	width: 100%;
}

.b-product-page .swiper-container-wrapper {
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	gap: 32px;
	width: 100%;
}

@media (max-width: 1199px) {
	.b-product-page .swiper-container-wrapper {
		gap: 16px;
	}
}

@media (max-width: 991px) {
	.b-product-page .swiper-container-wrapper {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
}

.b-product-page .swiper-container-wrapper.more-items .gallery-thumbs__wrapper {
	padding: 0 50px;
	position: relative;
}

@media (max-width: 991px) {
	.b-product-page .swiper-container-wrapper.more-items .gallery-thumbs__wrapper {
		padding: 0;
		width: 100%;
	}
}

.b-product-page .gallery-thumbs__wrapper {
	position: relative;
}

.b-product-page .gallery-top {
	position: relative;
	width: 100%;
}

.b-product-page .gallery-top .swiper-slide {
	position: relative;
}

.b-product-page .gallery-top .swiper-slide img {
	width: 100%;
	height: 100%;
}

.b-product-page .gallery-thumbs {
	position: relative;
	width: 100%;
}

.b-product-page .gallery-thumbs .swiper-slide {
	cursor: pointer;
	position: relative;
	width: 100%;
}

@media (max-width: 991px) {
	.b-product-page .gallery-thumbs .swiper-slide {
		width: calc(20% - 16px*4/5);
		aspect-ratio: 5/3;
	}
}

@media (max-width: 600px) {
	.b-product-page .gallery-thumbs .swiper-slide {
		width: calc(33.33% - 16px*2/3);
	}
}

@media (max-width: 475px) {
	.b-product-page .gallery-thumbs .swiper-slide {
		width: calc(50% - 8px);
		aspect-ratio: 16/9;
	}
}


.b-product-page .gallery-thumbs .swiper-slide img {
	aspect-ratio: 16 / 9;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.b-product-page .gallery-thumbs .swiper-slide-thumb-active::after {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	content: '';
	z-index: 1;
	box-shadow: inset 0px 0px 0px 2px var(--theme-background-black);
}

.b-product-page .swiper-next,
.b-product-page .swiper-prev {
	position: absolute;
	width: 50px !important;
	background-repeat: no-repeat;
	background-position: center;
}

@media (max-width: 991px) {
	.b-product-page .swiper-next,
	.b-product-page .swiper-prev {
		display: none;
	}
}

.b-product-page .swiper-next {
	bottom: 0;
	background-image: url("data:image/svg+xml,%3Csvg width='13' height='20' viewBox='0 0 13 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_2541_479)'%3E%3Cpath d='M1.8705 18.8498L1.47052 18.4499C1.47053 18.4499 1.47052 18.4499 1.47052 18.4499C1.36011 18.3394 1.36009 18.1604 1.47053 18.0499C1.47053 18.0499 1.47053 18.0499 1.47053 18.0499L9.12003 10.4005L9.51995 10.0006L9.12003 9.60064L1.47053 1.95115C1.36009 1.84075 1.36008 1.66175 1.47053 1.55135L1.8705 1.15134C1.98095 1.04084 2.15992 1.04084 2.27036 1.15134L10.9197 9.80064C11.0302 9.91108 11.0302 10.0901 10.9197 10.2005L2.27036 18.8498C2.27036 18.8498 2.27036 18.8498 2.27036 18.8498C2.15991 18.9602 1.98094 18.9602 1.8705 18.8498Z' fill='%23111111'/%3E%3Cpath d='M1.47052 18.4499L1.8705 18.8498C1.98094 18.9602 2.15991 18.9602 2.27036 18.8498M1.47052 18.4499C1.47052 18.4499 1.47053 18.4499 1.47052 18.4499ZM1.47052 18.4499C1.36011 18.3394 1.36009 18.1604 1.47053 18.0499M1.47053 18.0499C1.47053 18.0499 1.47053 18.0499 1.47053 18.0499ZM1.47053 18.0499L9.12003 10.4005L9.51995 10.0006L9.12003 9.60064L1.47053 1.95115C1.36009 1.84075 1.36008 1.66175 1.47053 1.55135L1.8705 1.15134C1.98095 1.04084 2.15992 1.04084 2.27036 1.15134L10.9197 9.80064C11.0302 9.91108 11.0302 10.0901 10.9197 10.2005L2.27036 18.8498M2.27036 18.8498C2.27036 18.8498 2.27036 18.8498 2.27036 18.8498Z' stroke='%23111111' stroke-width='1.13115'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_2541_479'%3E%3Crect width='19' height='12' fill='white' transform='translate(0.5 19.5) rotate(-90)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}

.b-product-page .swiper-prev {
	top: 0;
	background-image: url("data:image/svg+xml,%3Csvg width='13' height='20' viewBox='0 0 13 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_2541_476)'%3E%3Cpath d='M11.1295 1.15021L11.5295 1.55015C11.5295 1.55015 11.5295 1.55015 11.5295 1.55015C11.6399 1.66058 11.6399 1.83962 11.5295 1.95006C11.5295 1.95006 11.5295 1.95006 11.5295 1.95006L3.87997 9.59951L3.48005 9.99943L3.87997 10.3994L11.5295 18.0489C11.6399 18.1593 11.6399 18.3383 11.5295 18.4487L11.1295 18.8487C11.0191 18.9592 10.8401 18.9592 10.7296 18.8487L2.08034 10.1994C1.96984 10.0889 1.96984 9.90995 2.08034 9.79951L10.7296 1.15021C10.7296 1.15021 10.7296 1.15021 10.7296 1.15021C10.8401 1.03978 11.0191 1.03977 11.1295 1.15021Z' fill='%23111111'/%3E%3Cpath d='M11.5295 1.55015L11.1295 1.15021C11.0191 1.03977 10.8401 1.03978 10.7296 1.15021M11.5295 1.55015C11.5295 1.55015 11.5295 1.55015 11.5295 1.55015ZM11.5295 1.55015C11.6399 1.66058 11.6399 1.83962 11.5295 1.95006M11.5295 1.95006C11.5295 1.95006 11.5295 1.95006 11.5295 1.95006ZM11.5295 1.95006L3.87997 9.59951L3.48005 9.99943L3.87997 10.3994L11.5295 18.0489C11.6399 18.1593 11.6399 18.3383 11.5295 18.4487L11.1295 18.8487C11.0191 18.9592 10.8401 18.9592 10.7296 18.8487L2.08034 10.1994C1.96984 10.0889 1.96984 9.90995 2.08034 9.79951L10.7296 1.15021M10.7296 1.15021C10.7296 1.15021 10.7296 1.15021 10.7296 1.15021Z' stroke='%23111111' stroke-width='1.13115'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_2541_476'%3E%3Crect width='19' height='12' fill='white' transform='translate(12.5 0.5) rotate(90)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}
.b-category-products .filter__wrapper{
	display: flex;
	align-items: flex-start;
	gap: 20px 40px;
}
.b-search-results .card__image .image.image_contain img{
	object-fit: contain;
}
.b-dealer-page.section + .b-dealer-product-files.section{
	margin-top: -80px;
}
.product-legend{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px;
}
.product-legend img{
	height: 60px;
	width: 60px;
	object-fit: contain;
}
.product__title, .product__title h2, .product__title h3{
	color: var(--theme-text-color);
}
.product__labels{
	right: 10px;
	top: 10px;
}
.product__labels .product__label{
	width: 60px;
	height: 60px;
}
@media (max-width: 1440px){
	.product__labels .product__label{
		width: 40px;
		height: 40px;
	}
}
@media (max-width: 991px){
	.product__labels .product__label{
		width: 40px;
		height: 40px;
	}
}
.b-product-page .swiper-prev.swiper-button-disabled, .b-product-page .swiper-next.swiper-button-disabled{
	opacity: .4;
}
.block{
	display: block;
}
.b-dealer-search .bottom-content__inner .loader{
	width: calc(66.66666667% - 16px);
	max-height: 528px;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	background: white;
	opacity: 0.7;
	z-index: 1;
	display: none;
}
@media (max-width: 1199px) {
	.b-dealer-search .bottom-content__inner .loader {
		width: 100%;
	}
}
html .b-dealer-search .dealers-list__wrapper {
    -ms-flex-align: initial;
    align-items: initial;
}
html .product__card .icon img, html .product__card .icon svg{
    max-width: 100%;
    max-height: 100%;
}
.product__labels .product__label img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
html .product__info{
    padding-top: 0;
}
.b-dealer-page .filter-form form{
    display: flex;
    align-items: center;
    gap: 10px;
}
.b-dealer-search .dealers-filter .form__row.form__row--big{
    width: auto;
}
#postcode-select-range label{
    position: relative;
}
#postcode-select-range{
    display: flex;
    align-content: center;
    flex-wrap: wrap;
    gap: 5px;
    margin: 0;
    margin-top: auto;
}
#postcode-select-range span{
    border: 1px solid #100A05;
    border-radius: 50px;
    width: 30px;
    height: 30px;
    line-height: 28px;
    background: #100A05;
    color: #fff;
    outline: none;
    font-size: 16px;
    transition: all .3s ease;
    display: flex;
    align-content: center;
    justify-content: center;
    cursor: pointer;
}
#postcode-select-range input{
    opacity: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
#postcode-select-range label:first-child span {
    width: 60px;
}
#postcode-select-range input:checked ~ span{
    background: white;
    color: #000;
}
#postcode-select-range span:hover{
    background: #e6e5e3;
    border: 1px solid #e6e5e3;
    color: #000;
}
.b-text-screen .text-screen .text{
    padding-top: 10px;
}
@media (max-width: 991px){
    .b-one-slider .gallery-thumbs__wrapper{
        width: 100%;
    }
}
.b-section-content-media{
    max-width: 1920px;
    margin: 0 auto;
}
.b-company-history .company-history__content .controls-wrapper{
    margin-top: auto;
}
.section-1 {
    padding: 70px 0 50px;
}

.section-2 {
    padding: 50px 0 70px;
}

.section-3 {
    padding: 70px 0;
}

.section-4 {
    padding: 30px 0 96px;
}

@media (max-width: 767px) {
    .section-1, .section-2, .section-3 {
        padding: 50px 0;
    }
    .section-4 {
        padding: 30px 0 50px;
    }
}
.b-dealer-search .legend__icon .icon{
    box-shadow: none !important;
}
html .b-dealer-search .legend__icon{
    width: 55px;
}
#dealer_note .mfp-close{
    display: none;
}
html .b-dealer-search .dealers-list .icon{
    box-shadow: none !important;
}
html .b-dealer-search .dealers-list .icon img, html .b-dealer-search .dealers-list .icon svg{
    max-height: 100%;
    max-width: 100%;
}
.mCSB_inside>.mCSB_container{
    margin-right: 30px !important;
}
.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {
    margin-right: 0 !important;
}
.mega-menu__bg .jsCurrentWidthHeader {
    height: 0;
}
.b-related-products .products__list .title{
    text-align: center;
}
.b-one-slider .gallery-top .swiper-slide video{
    width: 100%;
    height: 100%;
    object-fit: contain;
    position: absolute;
    top: 0;
    left: 0;
}
.form__files +.wpcf7-not-valid-tip{
    margin-top: 5px;
}
/* =========================
   CF7 Dynamic Summary Table
   ========================= */
.cf7-summary { 
  margin-top: 16px; 
  overflow-x: auto; /* Fallback horizontal scroll on very small screens */
}

.cf7-summary .summary__table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #e5e7eb; /* light gray border */
  background: #fff;
}

.cf7-summary .summary__group { }

.cf7-summary .summary__group-title {
  font-weight: 700; /* bold */
  font-size: 25px; /* required size */
  line-height: 1.3;
  padding: 16px 12px;
  background: #f3f4f6; /* subtle background for group headers */
  border-bottom: 1px solid #e5e7eb;
}

/* Sub-group header (within a group) */
.cf7-summary .summary__subgroup-title {
  font-weight: 700;
  font-size: 18px; /* smaller than main group */
  line-height: 1.35;
  padding: 12px 12px;
  background: #f9fafb; /* a bit lighter */
  border-bottom: 1px solid #e5e7eb;
}

.cf7-summary .summary__row { }

.cf7-summary .summary__cell {
  padding: 10px 12px;
  border-bottom: 1px solid #e5e7eb;
  border-left: 1px solid #e5e7eb;
  vertical-align: top;
  word-break: break-word; /* break long words/URLs */
}

/* Remove left border on first cell to avoid double border with table outline */
.cf7-summary .summary__row .summary__cell:first-child { border-left: 0; }

/* Last row bottom border handled by table border; keep visual consistency */
.cf7-summary .summary__row:last-child .summary__cell { border-bottom: 0; }

.cf7-summary .summary__title {
  width: 40%;
  font-weight: 600;
  background: #fafafa; /* light background for labels */
}

.cf7-summary .summary__value { }

/* Empty state (if ever used) */
.cf7-summary .summary__empty { color: #9ca3af; padding: 8px 0; }

/* Mobile responsiveness */
@media (max-width: 640px) {
  /* Stack each row into a card-like block for readability */
  .cf7-summary .summary__table { border: 0; }
  .cf7-summary .summary__group-title { 
    display: block; 
    padding-left: 0; 
    padding-right: 0; 
    border: 0; 
  }
  .cf7-summary .summary__subgroup-title {
    display: block;
    padding-left: 0;
    padding-right: 0;
    border: 0;
  }
  .cf7-summary .summary__row { 
    display: block; 
    border: 1px solid #e5e7eb; 
    margin-bottom: 10px; 
    background: #fff; 
  }
  .cf7-summary .summary__cell { 
    display: block; 
    width: 100%; 
    border: 0; 
    border-top: 1px solid #e5e7eb; 
    padding: 10px 12px; 
  }
  .cf7-summary .summary__row .summary__cell:first-child { border-top: 0; }
  .cf7-summary .summary__row .summary__title { 
    background: transparent; 
    font-weight: 700; 
    width: 100%; 
  }
}
