/* Resma site styles. Brand: #008763 (primary), #09B585 (hover), #FED700 (accent), Inter. */

/* ---------- Integration logos: uniform, tidy tiles ---------- */
.resma-logos .swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 120px;
	padding: 20px 26px;
	background: #fff;
	border: 1px solid #DCDCDE;
	border-radius: 14px;
	box-sizing: border-box;
	transition: box-shadow .25s ease, transform .25s ease;
}
.resma-logos .swiper-slide:hover { box-shadow: 0 10px 30px rgba(0, 0, 0, .08); transform: translateY(-2px); }
.resma-logos .swiper-slide figure,
.resma-logos .swiper-slide a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; margin: 0; }
.resma-logos .swiper-slide img.swiper-slide-image {
	width: 100%;
	height: 72px;
	max-width: 170px;
	object-fit: contain;
}
@media (max-width: 767px) {
	.resma-logos .swiper-slide { height: 96px; padding: 14px 16px; }
	.resma-logos .swiper-slide img.swiper-slide-image { height: 56px; }
}

/* ---------- Header navigation (ElementsKit menu) ---------- */
.resma-nav .elementskit-navbar-nav > li > a {
	font-family: "Inter", sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: #222 !important;
	padding: 16px 0 !important;
}
.resma-nav .elementskit-navbar-nav > li { margin-left: 32px; }
.resma-nav .elementskit-navbar-nav > li > a:hover,
.resma-nav .elementskit-navbar-nav > li.current-menu-item > a { color: #008763 !important; }
.resma-nav .elementskit-menu-hamburger { border-color: #008763; }
.resma-nav .elementskit-menu-hamburger .elementskit-menu-hamburger-icon { background-color: #008763; }
@media (max-width: 1024px) {
	.resma-nav .elementskit-navbar-nav > li { margin-left: 0; }
	.resma-nav .elementskit-navbar-nav > li > a { padding: 12px 20px !important; }
}

/* ---------- Contact Form 7 ---------- */
.resma-form .wpcf7-form { margin: 0; }
.resma-form .resma-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.resma-form .resma-form-grid .full { grid-column: 1 / -1; }
.resma-form p { margin: 0; }
.resma-form label { display: block; font: 600 13px/1.4 "Inter", sans-serif; color: #222; margin-bottom: 6px; }
.resma-form input[type=text], .resma-form input[type=email], .resma-form input[type=tel],
.resma-form input[type=date], .resma-form select, .resma-form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 11px 14px;
	font: 400 14px/1.4 "Inter", sans-serif;
	color: #222;
	background: #fff;
	border: 1px solid #DCDCDE;
	border-radius: 8px;
	transition: border-color .2s, box-shadow .2s;
}
.resma-form textarea { min-height: 120px; }
.resma-form input:focus, .resma-form select:focus, .resma-form textarea:focus {
	outline: none;
	border-color: #008763;
	box-shadow: 0 0 0 3px rgba(0, 135, 99, .15);
}
.resma-form .wpcf7-submit {
	width: 100%;
	margin-top: 16px;
	padding: 14px 20px;
	font: 600 15px/1 "Inter", sans-serif;
	color: #fff;
	background: #008763;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	transition: background .2s;
}
.resma-form .wpcf7-submit:hover { background: #09B585; }
.resma-form .wpcf7-spinner { display: block; margin: 10px auto 0; }
.resma-form .wpcf7-not-valid-tip { font-size: 12px; margin-top: 4px; }
.resma-form .wpcf7 form .wpcf7-response-output {
	margin: 16px 0 0;
	padding: 14px 16px;
	border-radius: 8px;
	font: 500 14px/1.5 "Inter", sans-serif;
}
.resma-form .wpcf7 form.sent .wpcf7-response-output { background: #E7F6F1; border-color: #008763; color: #064e3b; }
.resma-form.resma-form--newsletter .resma-form-grid { grid-template-columns: 1fr; }
.resma-form.resma-form--newsletter .wpcf7-submit { background: #FED700; color: #005C43; margin-top: 10px; }
.resma-form.resma-form--newsletter .wpcf7-submit:hover { background: #fff; color: #008763; }
.resma-form--newsletter .wpcf7 form.sent .wpcf7-response-output { background: rgba(255,255,255,.15); color: #fff; border-color: #fff; }
@media (max-width: 600px) { .resma-form .resma-form-grid { grid-template-columns: 1fr; } }

/* ---------- Shared section bits ---------- */
.resma-eyebrow .elementor-heading-title { letter-spacing: 2px; text-transform: uppercase; }

/* ---------- Traction ---------- */
.resma-traction .elementor-counter { padding: 26px 16px; border-radius: 16px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .18); }
.resma-traction .elementor-counter-number-wrapper { justify-content: center; }

/* ---------- Cards (roles, benefits) ---------- */
.resma-card .elementor-widget-container {
	height: 100%;
	padding: 32px 28px;
	background: #fff;
	border: 1px solid #DCDCDE;
	border-radius: 16px;
	transition: box-shadow .25s ease, transform .25s ease, border-color .25s;
}
.resma-card:hover .elementor-widget-container { box-shadow: 0 18px 40px rgba(0, 0, 0, .08); transform: translateY(-4px); border-color: #09B585; }
.resma-card .elementor-icon { background: #E7F6F1; border-radius: 14px; padding: 16px; }
.resma-card, .resma-card .elementor-icon-box-wrapper { height: 100%; }
.resma-cards > .elementor-container > .elementor-column > .elementor-widget-wrap { align-content: stretch; }

/* ---------- Smart & secure panels ---------- */
.resma-panel > .elementor-widget-wrap { padding: 36px 34px !important; border-radius: 18px; }
.resma-panel .elementor-icon-list-item { padding-bottom: 12px !important; align-items: flex-start !important; }
.resma-panel .elementor-icon-list-icon { margin-top: 3px; }

/* ---------- Testimonials ---------- */
.resma-quote .elementor-widget-container {
	height: 100%;
	padding: 34px 30px;
	background: #fff;
	border: 1px solid #DCDCDE;
	border-radius: 16px;
}
.resma-quote .elementor-testimonial-content::before { content: "\201C"; display: block; font: 700 56px/0.6 Georgia, serif; color: #09B585; margin-bottom: 14px; }

/* ---------- Product screenshots ---------- */
.resma-shot img { border-radius: 14px; box-shadow: 0 24px 60px rgba(0, 0, 0, .14); border: 1px solid #DCDCDE; }

/* ---------- Trends page ---------- */
.resma-trend .elementor-widget-container { height: 100%; padding: 30px 28px; background: #F7F7F7; border-radius: 16px; border-left: 4px solid #008763; }

/* Width-limited text centred inside its column */
.elementor-widget.resma-center { margin-left: auto; margin-right: auto; }

/* ---------- Mobile off-canvas menu ---------- */
@media (max-width: 1024px) {
	.resma-nav .elementskit-menu-container.elementskit-menu-offcanvas-elements { background: #fff !important; box-shadow: 0 0 40px rgba(0, 0, 0, .2); }
	.resma-nav .elementskit-menu-overlay { background: rgba(0, 0, 0, .45) !important; }
	.resma-nav .elementskit-nav-identity-panel { padding: 18px 20px; border-bottom: 1px solid #DCDCDE; display: flex; align-items: center; justify-content: space-between; }
	.resma-nav .elementskit-nav-logo img { max-height: 46px; width: auto; }
	.resma-nav .elementskit-menu-close { border: 1px solid #DCDCDE !important; border-radius: 8px; color: #222 !important; background: #fff; padding: 6px 12px !important; }
	.resma-nav .elementskit-navbar-nav > li > a { border-bottom: 1px solid #F0F0F0; }
}

/* ---------- Business hours (sits on a green background) ---------- */
.elementor-widget-elementskit-business-hours .ekit-single-day,
.elementor-widget-elementskit-business-hours .ekit-wid-con .ekit-single-day { background: transparent !important; border-bottom: 1px solid rgba(255, 255, 255, .25) !important; }
.elementor-widget-elementskit-business-hours .ekit-wid-con { background: rgba(255, 255, 255, .08) !important; border: 1px solid rgba(255, 255, 255, .25); border-radius: 12px; }
.elementor-widget-elementskit-business-hours .ekit-business-day,
.elementor-widget-elementskit-business-hours .ekit-business-time { color: #fff !important; font-family: "Inter", sans-serif; font-weight: 600; }
.elementor-widget-elementskit-business-hours .ekit-closed-day .ekit-business-time { color: #FED700 !important; }
.elementor-widget-elementskit-business-hours.elementor-element { background: transparent !important; box-shadow: none !important; }
.elementor-widget-elementskit-business-hours .ekit-single-day { padding: 14px 20px !important; }

.resma-shot figcaption, .resma-shot .widget-image-caption { font-style: normal; }
