/* =====================================================
   DMA REVIEW SLIDER - Multi Style System
   Styles: default, hiking, desert, glass, magazine, tripadvisor
===================================================== */
/* Blog review form: animated hover/click star rating */
.dma-rating-stars-field {
	margin-bottom: 26px;
}

.dma-rating-stars-field > span {
	display: block;
	margin-bottom: 10px;
	font-weight: 800;
	color: #020617;
}

.dma-star-radios {
	display: inline-flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	gap: 8px;
}

.dma-star-radios input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.dma-star-radios label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 27px;
	line-height: 1;
	color: #d1d5db;
	cursor: pointer;
	transition: color .18s ease, transform .18s ease, text-shadow .18s ease;
}

.dma-star-radios label:hover,
.dma-star-radios label:hover ~ label {
	color: #f59e0b;
	transform: translateY(-1px) scale(1.14);
	text-shadow: 0 6px 16px rgba(245, 158, 11, .28);
}

.dma-star-radios input[type="radio"]:checked ~ label {
	color: #f59e0b;
}

.dma-star-radios input[type="radio"]:checked + label {
	animation: dma-review-star-pop .24s ease both;
}

.dma-star-radios input[type="radio"]:focus-visible + label {
	outline: 3px solid rgba(245, 158, 11, .35);
	outline-offset: 4px;
	border-radius: 8px;
}

@keyframes dma-review-star-pop {
	0% {
		transform: scale(.75);
	}
	60% {
		transform: scale(1.25);
	}
	100% {
		transform: scale(1);
	}
}

@media (max-width: 480px) {
	.dma-star-radios {
		gap: 7px;
	}

	.dma-star-radios label {
		font-size: 25px;
	}
}



.elementor-widget-shortcode,
.elementor-widget-shortcode .elementor-widget-container,
.elementor-shortcode,
.elementor-shortcode .dma-review-slider-section,
.elementor-shortcode .dma-review-swiper,
.elementor-widget-dma_review_slider,
.elementor-widget-dma_review_slider .dma-review-slider-section {
   width: 100%;
   max-width: 100%;
   box-sizing: border-box;
}

.elementor-widget-shortcode,
.elementor-widget-shortcode .elementor-widget-container,
.elementor-shortcode {
   overflow: hidden;
}

.dma-review-slider-section,
.dma-review-slider-section *,
.dma-review-slider-section *::before,
.dma-review-slider-section *::after {
   box-sizing: border-box;
}

.dma-review-slider-section {
   width: 100%;
   max-width: 1280px;
   margin: 24px auto;
   position: relative;
   overflow: hidden;
   padding: 8px 4px;
}

.dma-review-swiper {
   position: relative;
   overflow: hidden;
   width: 100%;
   padding: 8px 52px 18px;
}

.dma-review-swiper .swiper-slide {
   height: auto;
   display: flex;
}

.dma-review-slide-card {
   width: 100%;
   min-height: 100%;
   position: relative;
   padding: 24px;
   border-radius: 18px;
   background: #fff;
   border: 1px solid rgba(15, 23, 42, .10);
   box-shadow: none!important;
   color: #071521;
   overflow: hidden;
}

.dma-review-title-link {
   display: block;
   margin-bottom: 10px;
   color: #071521;
   font-size: 15px;
   line-height: 1.45;
   font-weight: 850;
   text-decoration: underline;
   text-underline-offset: 2px;
}

.dma-review-stars {
   display: inline-flex;
   align-items: center;
   gap: 7px;
   margin: 0 0 12px;
   color: #093864;
   font-size: 17px;
   letter-spacing: 1px;
   line-height: 1;
   font-weight: 900;
}

.dma-review-stars span {
   color: #071521;
   font-size: 13px;
   letter-spacing: 0;
}

.dma-review-person {
   display: flex;
   align-items: center;
   gap: 12px;
   margin: 0 0 14px;
}

.dma-review-avatar,
.dma-letter-avatar {
   width: 42px;
   height: 42px;
   min-width: 42px;
   border-radius: 50%;
   color: #fff;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   font-size: 20px;
   font-weight: 900;
   text-transform: uppercase;
}

.dma-review-person strong {
   display: block;
   color: #071521;
   font-size: 13px;
   font-weight: 800;
   line-height: 1.25;
}

.dma-review-person span {
   display: block;
   color: #64748b;
   font-size: 12px;
   line-height: 1.3;
}

.dma-country-inline {
   display: inline-flex !important;
   align-items: center;
   gap: 5px;
   margin-left: 6px;
   color: #64748b !important;
   font-size: 12px !important;
   font-weight: 700;
}

.dma-country-inline img {
   width: 18px;
   height: 13px;
   border-radius: 3px;
   object-fit: cover;
}

.dma-review-text {
   margin: 0 0 16px;
   color: #071521;
   font-size: 14px;
   font-weight: 600;
   line-height: 1.55;
}

.dma-read-more-toggle {
   display: inline;
   margin-left: 4px;
   padding: 0;
   border: 0;
   background: transparent;
   color: #071521;
   font: inherit;
   font-weight: 850;
   text-decoration: underline;
   cursor: pointer;
}

.dma-review-card-images {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 8px;
   margin-top: 14px;
}

.dma-review-card-image {
   display: block;
   position: relative;
   width: 100%;
   aspect-ratio: 1 / .72;
   overflow: hidden;
   border-radius: 8px;
   background: #eef2f6;
   text-decoration: none;
}

.dma-review-card-image img,
img.dma-review-thumb {
   width: 100%;
   height: 100%;
   max-width: none;
   display: block;
   object-fit: cover;
   object-position: center;
   transition: transform .25s ease, filter .25s ease;
}

.dma-review-card-image:hover img {
   transform: scale(1.05);
   filter: brightness(.92);
}

.dma-review-more-images {
   position: absolute;
   inset: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   background: rgba(0, 0, 0, .48);
   color: #fff;
   font-size: 22px;
   font-weight: 900;
   z-index: 2;
}

.dma-review-hidden-lightbox {
   display: none !important;
}

.dma-tour-link {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   margin-top: 14px;
   padding: 8px 13px;
   border-radius: 999px;
   background: #f1f5f9;
   color: #071521;
   border: 1px solid rgba(15, 23, 42, .10);
   text-decoration: none;
   font-size: 13px;
   font-weight: 850;
}

.dma-tour-link:hover {
   background: #071521;
   color: #fff;
}

.dma-review-prev,
.dma-review-next {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   width: 42px;
   height: 42px;
   border: 0;
   border-radius: 50%;
   background: #fff;
   box-shadow: 0 10px 28px rgba(15, 23, 42, .16);
   display: flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   z-index: 20;
   color: #071521;
   font-size: 28px;
   font-weight: 900;
   transition: transform .2s ease, background .2s ease, color .2s ease;
}

.dma-review-prev:hover,
.dma-review-next:hover {
   transform: translateY(-50%) scale(1.06);
   background: #071521;
   color: #fff;
}

.dma-review-prev { left: 6px; }
.dma-review-next { right: 6px; }

.dma-review-prev.swiper-button-disabled,
.dma-review-next.swiper-button-disabled { display: none; }

.dma-all-reviews-link {
   display: inline-flex;
   margin: 10px 0 0 52px;
   color: #071521;
   font-size: 16px;
   font-weight: 900;
   text-decoration: none;
   border-bottom: 2px solid currentColor;
}

.dma-all-reviews-link:hover { color: #c88737; }

/* DEFAULT */
.dma-review-style-default .dma-review-slide-card {
   border-radius: 24px;
   background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
}
.dma-review-style-default .dma-review-stars { color: #f5a400; }

/* HIKING - close to your screenshot */
.dma-review-style-hiking .dma-review-swiper { padding-left: 50px; padding-right: 50px; }
.dma-review-style-hiking .dma-review-slide-card {
   padding: 16px;
   border-radius: 12px;
   background: #fff;
   border: 1px solid #d8dee7;
   box-shadow: 0 6px 20px rgba(15, 23, 42, .15);
}
.dma-review-style-hiking .dma-review-title-link {
   font-size: 14px;
   margin-bottom: 9px;
   color: #071a2d;
}
.dma-review-style-hiking .dma-review-stars {
   color: #093864;
   margin-bottom: 8px;
}
.dma-review-style-hiking .dma-review-avatar {
   width: 38px;
   height: 38px;
   min-width: 38px;
   font-size: 19px;
   background: #ff5733 !important;
}
.dma-review-style-hiking .dma-review-text {
   font-size: 13px;
   line-height: 1.55;
   margin-bottom: 10px;
}
.dma-review-style-hiking .dma-review-card-images {
   margin-top: 10px;
   gap: 5px;
}
.dma-review-style-hiking .dma-review-card-image {
   border-radius: 7px;
   aspect-ratio: 1 / .74;
}
.dma-review-style-hiking .dma-tour-link { display: none; }

/* DESERT */
.dma-review-style-desert .dma-review-slide-card {
   background: #fff8ef;
   border: 1px solid #ead6bd;
   border-radius: 18px;
   box-shadow: 0 18px 45px rgba(58, 36, 18, .10);
}
.dma-review-style-desert .dma-review-slide-card::before {
   content: "";
   position: absolute;
   inset: 0;
   pointer-events: none;
   background: linear-gradient(135deg, rgba(200,135,55,.18), transparent 45%);
}
.dma-review-style-desert .dma-review-slide-card > * { position: relative; z-index: 2; }
.dma-review-style-desert .dma-review-card-images {
   grid-template-columns: 1.35fr 1fr 1fr;
   gap: 7px;
}
.dma-review-style-desert .dma-review-card-image:first-child {
   grid-row: span 2;
   aspect-ratio: auto;
}
.dma-review-style-desert .dma-review-stars { color: #c88737; }
.dma-review-style-desert .dma-tour-link { background: #c88737; color: #fff; border-color: #c88737; }
.dma-review-style-desert .dma-tour-link:hover { background: #1f2d3d; border-color: #1f2d3d; }

/* GLASS */
.dma-review-style-glass {
   padding: 24px;
   border-radius: 28px;
   background: radial-gradient(circle at 10% 10%, rgba(8,169,232,.18), transparent 30%), radial-gradient(circle at 80% 20%, rgba(200,135,55,.22), transparent 34%);
}
.dma-review-style-glass .dma-review-slide-card {
   background: rgba(255,255,255,.70);
   backdrop-filter: blur(14px);
   -webkit-backdrop-filter: blur(14px);
   border: 1px solid rgba(255,255,255,.60);
   border-radius: 24px;
   box-shadow: 0 22px 60px rgba(15, 23, 42, .14);
}
.dma-review-style-glass .dma-review-card-image { border-radius: 14px; }
.dma-review-style-glass .dma-review-stars { color: #0891b2; }

/* MAGAZINE */
.dma-review-style-magazine .dma-review-slide-card {
   display: flex;
   flex-direction: column;
   border-radius: 0;
   border: 0;
   border-left: 5px solid #c88737;
   box-shadow: 0 18px 42px rgba(15,23,42,.10);
}
.dma-review-style-magazine .dma-review-title-link {
   font-family: Georgia, "Times New Roman", serif;
   font-size: 19px;
   line-height: 1.25;
   text-decoration: none;
}
.dma-review-style-magazine .dma-review-text {
   font-family: Georgia, "Times New Roman", serif;
   font-size: 17px;
   font-weight: 500;
}
.dma-review-style-magazine .dma-review-card-images {
   order: -1;
   grid-template-columns: 1fr;
   margin: -24px -24px 18px;
}
.dma-review-style-magazine .dma-review-card-image {
   display: none;
   border-radius: 0;
   aspect-ratio: 16 / 9;
}
.dma-review-style-magazine .dma-review-card-image:first-child { display: block; }
.dma-review-style-magazine .dma-review-more-images { width: 70px; height: 44px; inset: auto 12px 12px auto; border-radius: 999px; }

/* TRIPADVISOR / VIATOR-LIKE */
.dma-review-style-tripadvisor .dma-review-slide-card {
   border-radius: 14px;
   border: 1px solid #d7e5df;
   box-shadow: none;
}
.dma-review-style-tripadvisor .dma-review-title-link {
   color: #111827;
   text-decoration: none;
}
.dma-review-style-tripadvisor .dma-review-stars {
   color: #00aa6c;
   letter-spacing: 2px;
}
.dma-review-style-tripadvisor .dma-review-avatar {
   background: #00aa6c !important;
}
.dma-review-style-tripadvisor .dma-read-more-toggle { color: #00aa6c; }
.dma-review-style-tripadvisor .dma-tour-link {
   background: #00aa6c;
   color: #fff;
   border-color: #00aa6c;
}
.dma-review-style-tripadvisor .dma-review-card-image {
   border-radius: 10px;
}

@media (max-width: 1024px) {
   .dma-review-slider-section { max-width: 100%; }
   .dma-review-swiper { padding: 6px 38px 16px; }
   .dma-all-reviews-link { margin-left: 38px; }
}

@media (max-width: 767px) {
   .dma-review-slider-section { margin: 20px 0; padding: 4px 0; }
   .dma-review-swiper { padding: 4px 24px 14px; }
   .dma-review-slide-card { padding: 16px; border-radius: 16px; }
   .dma-review-title-link { font-size: 14px; }
   .dma-review-text { font-size: 14px; }
   .dma-review-card-images { gap: 5px; }
   .dma-review-card-image { border-radius: 7px; }
   .dma-review-prev,
   .dma-review-next { width: 34px; height: 34px; font-size: 20px; }
   .dma-all-reviews-link { margin-left: 24px; font-size: 15px; }
   .dma-review-style-desert .dma-review-card-images { grid-template-columns: repeat(3, minmax(0, 1fr)); }
   .dma-review-style-desert .dma-review-card-image:first-child { grid-row: auto; aspect-ratio: 1 / .74; }
   .dma-review-style-magazine .dma-review-card-images { margin: -16px -16px 14px; }
}

/* =====================================================
   TRIPO STYLE - WP Travel Engine custom tab / compact cards
   Shortcode example:
   [dma_review_slider show_images="yes" style="tripo" cards="2" limit="6" excerpt_words="42" expanded_words="180" heading="What travelers loved" show_heading="yes"]
===================================================== */
.dma-review-style-tripo {
   max-width: 100%;
   margin: 18px auto 8px;
   padding: 0;
   overflow: visible;
}

.dma-review-slider-head {
   display: flex;
   align-items: center;
   gap: 8px;
   margin: 0 0 14px;
}

.dma-review-slider-head h3 {
   margin: 0;
   color: #071521;
   font-size: clamp(22px, 2.4vw, 28px);
   line-height: 1.2;
   font-weight: 900;
   letter-spacing: -.02em;
}

.dma-review-slider-head span {
   color: #071521;
   font-size: 13px;
   opacity: .75;
}

.dma-review-style-tripo .dma-review-swiper {
   padding: 0 48px 14px;
   overflow: hidden;
}

.dma-review-style-tripo .dma-review-slide-card {
   min-height: 224px;
   padding: 22px;
   border-radius: 15px;
   border: 1px solid #d8e0ea;
   background: #fff;
   box-shadow: none;
   overflow: hidden;
}

.dma-review-style-tripo .dma-review-title-link {
   display: none;
}

.dma-review-style-tripo .dma-review-stars {
   margin-bottom: 10px;
   color: #062a55;
   font-size: 15px;
   letter-spacing: 1px;
}

.dma-review-style-tripo .dma-review-stars span {
   color: #071521;
   font-size: 13px;
   font-weight: 800;
}

.dma-review-style-tripo .dma-review-person {
   gap: 12px;
   margin-bottom: 10px;
}

.dma-review-style-tripo .dma-review-avatar {
   width: 44px;
   height: 44px;
   min-width: 44px;
   font-size: 22px;
   background: #ff5a3d !important;
}

.dma-review-style-tripo .dma-review-person strong {
   font-size: 14px;
   font-weight: 900;
}

.dma-review-style-tripo .dma-country-inline {
   margin-left: 4px;
   color: #071521 !important;
   font-size: 14px !important;
   font-weight: 900;
}

.dma-review-style-tripo .dma-review-person span {
   margin-top: 2px;
   color: #334155;
   font-size: 13px;
   font-weight: 650;
}

.dma-review-style-tripo .dma-review-person span::after {
   content: " - Verified booking";
}

.dma-review-style-tripo .dma-review-text {
   margin-bottom: 0;
   color: #06142b;
   font-size: 16px;
   line-height: 1.45;
   font-weight: 700;
}

.dma-review-style-tripo .dma-read-more-toggle {
   color: #4b5563;
   font-weight: 900;
   text-decoration-thickness: 2px;
   text-underline-offset: 3px;
}

.dma-review-style-tripo .dma-review-card-images {
   margin-top: 12px;
}

.dma-review-style-tripo .dma-review-card-image {
   border-radius: 9px;
   aspect-ratio: 1 / .72;
}

.dma-review-style-tripo .dma-tour-link {
   display: none;
}

.dma-review-style-tripo .dma-review-prev,
.dma-review-style-tripo .dma-review-next {
   width: 36px;
   height: 36px;
   background: #fff;
   border: 1px solid #d8e0ea;
   box-shadow: none;
   color: #0b74ff;
   font-size: 28px;
}

.dma-review-style-tripo .dma-review-prev:hover,
.dma-review-style-tripo .dma-review-next:hover {
   background: #0b74ff;
   border-color: #0b74ff;
   color: #fff;
}

.dma-review-style-tripo .dma-all-reviews-link {
   float: right;
   margin: 2px 16px 0 0;
   color: #071521;
   font-size: 16px;
   font-weight: 900;
   border-bottom: 2px solid #071521;
}

@media (max-width: 767px) {
   .dma-review-style-tripo .dma-review-swiper { padding: 0 22px 12px; }
   .dma-review-style-tripo .dma-review-slide-card { padding: 18px; }
   .dma-review-style-tripo .dma-review-text { font-size: 15px; }
   .dma-review-style-tripo .dma-all-reviews-link { float: none; display: inline-flex; margin-left: 22px; }
}
