.wpys-villa-listing,.wpys-single-villa,.wpys-booking-flow{width:100%;max-width:none;margin:0!important;padding:0!important;color:#111827;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.elementor-widget-shortcode .elementor-widget-container,.elementor-widget-shortcode .elementor-shortcode{margin:0!important;padding:0!important}.elementor-widget-shortcode .wpys-villa-search--standalone,.elementor-widget-shortcode .wpys-villa-tabs--standalone,.elementor-widget-shortcode .wpys-villa-results--standalone{margin:0!important;padding:0!important}.wpys-villa-listing h1,.wpys-villa-listing h2,.wpys-villa-listing h3,.wpys-single-villa h1,.wpys-single-villa h2,.wpys-single-villa h3{font-family:"Playfair Display",Georgia,serif;letter-spacing:-.02em;color:#111}.wpys-villa-section-label{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#6b7280}.wpys-villa-filter-card.is-loading{pointer-events:none}.wpys-villa-results__loading{margin:0 0 24px;padding:8px 0 0}.wpys-villa-results__loading-bar{height:4px;border-radius:999px;background:linear-gradient(90deg,#111 0%,#d1d5db 50%,#111 100%);background-size:200% 100%;animation:wpysShimmer 1.2s linear infinite}.wpys-villa-results__skeleton-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:16px}.wpys-villa-results__skeleton-card{position:relative;overflow:hidden;border-radius:32px;background:#fff;box-shadow:0 22px 64px rgba(15,23,42,.08)}.wpys-villa-results__skeleton-media,.wpys-villa-results__skeleton-line,.wpys-villa-results__skeleton-specs span,.wpys-villa-results__skeleton-cta,.wpys-villa-results__skeleton-badge,.wpys-villa-results__skeleton-fav{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 37%,#f3f4f6 63%);background-size:400% 100%;animation:wpysShimmer 1.4s ease infinite}.wpys-villa-results__skeleton-media{height:420px}.wpys-villa-results__skeleton-body{padding:26px 24px 24px}.wpys-villa-results__skeleton-line{display:block;height:14px;border-radius:999px}.wpys-villa-results__skeleton-line--location{width:34%;height:11px;margin-bottom:14px}.wpys-villa-results__skeleton-line--title{width:58%;height:30px;margin-bottom:18px}.wpys-villa-results__skeleton-line--text{width:100%;height:15px;margin-bottom:18px}.wpys-villa-results__skeleton-specs{display:flex;gap:10px;margin-bottom:22px}.wpys-villa-results__skeleton-specs span{display:block;width:92px;height:36px;border-radius:999px}.wpys-villa-results__skeleton-footer{display:flex;justify-content:space-between;gap:16px;align-items:end}.wpys-villa-results__skeleton-line--price{width:120px;height:28px;margin-bottom:8px}.wpys-villa-results__skeleton-line--small{width:78px;height:14px}.wpys-villa-results__skeleton-cta{display:block;width:120px;height:48px;border-radius:999px}.wpys-villa-results__skeleton-badge{position:absolute;top:20px;left:20px;width:96px;height:34px;border-radius:999px}.wpys-villa-results__skeleton-fav{position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:999px}.wpys-villa-listing__grid,.wpys-villa-empty{transition:opacity .22s ease,transform .22s ease}.wpys-villa-listing__grid.is-loading-out,.wpys-villa-empty.is-loading-out{opacity:0;transform:translateY(8px);pointer-events:none}.ui-datepicker td .wpys-date-unavailable a,.ui-datepicker td.wpys-date-unavailable a{background:#f3f4f6!important;color:#9ca3af!important;text-decoration:line-through;pointer-events:none}.ui-datepicker td .wpys-date-unavailable,.ui-datepicker td.wpys-date-unavailable{opacity:.55}.ui-datepicker .ui-state-disabled,.ui-datepicker .ui-datepicker-unselectable{cursor:not-allowed}@keyframes wpysShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@media(max-width:767px){.wpys-villa-results__skeleton-grid{grid-template-columns:1fr}.wpys-villa-results__skeleton-media{height:320px}.wpys-villa-results__skeleton-footer{flex-direction:column;align-items:flex-start}.wpys-villa-results__skeleton-cta{width:100%}}.wpys-villa-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:999px;border:1px solid #111;background:#fff;color:#111;text-decoration:none;font-weight:600;cursor:pointer;transition:.2s ease;box-shadow:none}.wpys-villa-button:hover{transform:translateY(-1px)}.wpys-villa-button--primary{background:#111;color:#fff;border-color:#111}.wpys-villa-listing__hero{position:relative;min-height:540px;padding:72px 56px 180px;border-radius:40px;overflow:hidden;background:linear-gradient(180deg,rgba(17,24,39,.22) 0%,rgba(17,24,39,.55) 100%),url('https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat;display:flex;align-items:flex-start}.wpys-villa-listing__hero-backdrop{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.2),rgba(0,0,0,.45));z-index:1}.wpys-villa-listing__hero-copy{position:relative;z-index:2;max-width:640px;color:#fff}.wpys-villa-listing__eyebrow{margin:0 0 14px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.82)}.wpys-villa-listing__hero-title{margin:0;font-size:clamp(42px,6vw,78px);line-height:.95;color:#fff}.wpys-villa-listing__hero-text{max-width:520px;margin:20px 0 0;font-size:18px;line-height:1.7;color:rgba(255,255,255,.92)}.wpys-villa-search--floating{position:absolute;left:50%;bottom:36px;transform:translateX(-50%);z-index:3;width:calc(100% - 96px);max-width:1120px;padding:24px;border-radius:28px;background:rgba(255,255,255,.95);backdrop-filter:blur(20px);box-shadow:0 22px 60px rgba(15,23,42,.16)}.wpys-villa-search--standalone{position:relative;left:auto;bottom:auto;transform:none;width:100%;max-width:none;margin:0!important;padding:0!important;border-radius:0;background:transparent;backdrop-filter:none;box-shadow:none;display:flex;flex-direction:column;gap:12px}.wpys-villa-search__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}.wpys-villa-search--standalone .wpys-villa-search__grid{margin:0}.wpys-villa-search--standalone .wpys-villa-button{align-self:flex-start}.wpys-villa-filter-card{display:grid!important;grid-template-columns:minmax(340px,340px) minmax(340px,340px) minmax(340px,340px) auto;align-items:end;justify-content:space-between;gap:64px!important;width:100%!important;max-width:100%!important;margin:0!important;padding:24px 26px!important;border:1px solid #ddd!important;border-radius:24px!important;background:#fff!important;box-shadow:none!important}.wpys-villa-filter-card__group{display:flex;flex-direction:column;gap:12px;min-width:0}.wpys-villa-filter-card__group--villa,.wpys-villa-filter-card__group--dates,.wpys-villa-filter-card__group--guests{max-width:none!important}.wpys-villa-filter-card__label,.wpys-villa-filter-card__submit-label{margin:0!important;font-size:18px;font-weight:700;line-height:1.2;letter-spacing:-.01em;color:#111;display:block;min-height:22px}.wpys-villa-filter-card__double{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wpys-villa-filter-card__field-wrap{position:relative;display:flex;align-items:center;min-height:60px;padding:0 16px 0 48px;border-radius:18px;background:#f3f3f1;transition:background .2s ease,box-shadow .2s ease,transform .2s ease}.wpys-villa-filter-card__field-wrap:hover{background:#efefec}.wpys-villa-filter-card__field-wrap:focus-within,.wpys-villa-filter-card__field-wrap.is-open{background:#efefec;box-shadow:0 0 0 1px rgba(17,17,17,.08)}.wpys-villa-filter-card__field-wrap--half{min-width:0}.wpys-villa-filter-card__field-wrap--select{padding-right:10px}.wpys-villa-filter-card__icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:0;line-height:1;color:#8b8b8b;pointer-events:none;width:16px;height:16px;z-index:2}.wpys-villa-filter-card__icon::before{content:"";display:block;width:16px;height:16px;background:#9a9a9a}.wpys-villa-filter-card__icon--villa::before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5V21h14V9.5'/%3E%3Cpath d='M9 21v-6h6v6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5V21h14V9.5'/%3E%3Cpath d='M9 21v-6h6v6'/%3E%3C/svg%3E") center/contain no-repeat}.wpys-villa-filter-card__icon--date::before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E") center/contain no-repeat}.wpys-villa-filter-card__icon--guest::before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3C/svg%3E") center/contain no-repeat}.wpys-villa-filter-card__chevron,.wpys-villa-filter-card__date-trigger{display:flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;margin-left:10px;border-radius:999px;background:#e9e9e6;color:#8b8b8b;font-size:12px;line-height:1}.wpys-villa-filter-card__chevron{pointer-events:none}.wpys-villa-filter-card__date-trigger{border:none;cursor:pointer}.wpys-villa-filter-card__input,.wpys-villa-filter-card__select,.wpys-villa-filter-card__select-trigger{width:100%!important;min-width:0;border:none!important;background:transparent!important;padding:0!important;font-size:15px!important;font-weight:500;line-height:1.4;color:#6b7280;box-shadow:none!important;outline:none}.wpys-villa-filter-card__input::placeholder{color:#9ca3af!important;opacity:1}.wpys-villa-filter-card__input::-webkit-input-placeholder{color:#9ca3af!important}.wpys-villa-filter-card__input[type=number]::-webkit-outer-spin-button,.wpys-villa-filter-card__input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.wpys-villa-filter-card__input[type=number]{-moz-appearance:textfield;appearance:textfield}.wpys-villa-filter-card__input--date{padding-right:4px!important}.wpys-villa-filter-card__input--date::-webkit-calendar-picker-indicator{opacity:0;position:absolute;right:0;top:0;width:100%;height:100%;cursor:pointer}.wpys-villa-filter-card__select-trigger{display:flex!important;align-items:center!important;justify-content:space-between!important;text-align:left!important;cursor:pointer;position:relative;z-index:1}.wpys-villa-filter-card__select-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}.wpys-villa-filter-card__dropdown{position:absolute;left:0;right:0;top:calc(100% + 10px);z-index:30;padding:8px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 20px 40px rgba(15,23,42,.12)}.wpys-villa-filter-card__option{display:flex;width:100%;border:none;background:transparent;padding:12px 14px;border-radius:12px;font-size:14px;font-weight:500;color:#374151;text-align:left;cursor:pointer}.wpys-villa-filter-card__option:hover,.wpys-villa-filter-card__option.is-active{background:#f3f4f6;color:#111}.wpys-villa-filter-card__submit-wrap{display:flex;flex-direction:column;gap:12px;align-self:stretch;justify-content:flex-end;min-width:150px}.wpys-villa-filter-card__submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;align-self:stretch;flex:0 0 auto;height:60px;padding:0 30px;border:none;border-radius:18px;background:#111;color:#fff;font-size:16px;font-weight:700;line-height:1;cursor:pointer;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease}.wpys-villa-filter-card__submit:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(17,17,17,.16)}.wpys-villa-filter-card__submit span{font-size:18px;line-height:1}.wpys-villa-search label,.wpys-booking-form label{display:flex;flex-direction:column;gap:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#6b7280}.wpys-villa-search input,.wpys-booking-form input{width:100%;padding:16px 18px;border:1px solid #e5e7eb;border-radius:18px;background:#fff;font-size:15px;color:#111827}.wpys-villa-tabs{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:34px 0 8px;padding:0}.wpys-villa-tabs--standalone{display:flex!important;justify-content:flex-start!important;align-items:center;align-content:flex-start;flex-wrap:wrap;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;line-height:1;gap:12px;min-height:0!important}.wpys-villa-tabs--standalone::before,.wpys-villa-tabs--standalone::after{display:none!important;content:none!important}.wpys-villa-tabs__item{display:inline-flex;align-items:center;line-height:1;padding:12px 18px;border-radius:999px;background:#f4f4f5;color:#111827;text-decoration:none;font-weight:600}.wpys-villa-tabs__item.is-active{background:#111;color:#fff}.wpys-villa-results{margin-top:36px}.wpys-villa-results--standalone{margin-top:0!important;padding:0!important}.wpys-villa-results__head,.wpys-single-villa__section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:26px}.wpys-villa-results__head h2,.wpys-single-villa__section-head h2{margin:0;font-size:clamp(28px,4vw,46px)}.wpys-villa-listing__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.wpys-villa-card{overflow:hidden;border-radius:32px;background:#fff;box-shadow:0 22px 64px rgba(15,23,42,.08)}.wpys-villa-card__media{position:relative;height:420px;background:#ddd}.wpys-villa-card__image{width:100%;height:100%;object-fit:cover;display:block}.wpys-villa-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,24,39,.08) 0%,rgba(17,24,39,.65) 100%)}.wpys-villa-card__status,.wpys-single-villa__status,.wpys-package-card__status{display:inline-flex;align-items:center;padding:9px 14px;border-radius:999px;font-size:12px;font-weight:700;background:#dcfce7;color:#166534}.wpys-villa-card__status{position:absolute;top:20px;left:20px;z-index:2}.wpys-villa-wishlist-toggle{position:absolute;top:20px;right:20px;z-index:2;width:44px;height:44px;border:none;border-radius:999px;background:rgba(255,255,255,.92);font-size:18px;cursor:pointer}.wpys-villa-card__hero-copy{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;color:#fff}.wpys-villa-card__location{margin:0 0 10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78)}.wpys-villa-card__hero-copy h3{margin:0;font-size:34px;line-height:1.05}.wpys-villa-card__hero-copy h3 a{color:#fff;text-decoration:none}.wpys-villa-card__thumbs{position:absolute;left:24px;bottom:112px;display:flex;gap:10px;z-index:2}.wpys-villa-card__thumbs img{width:62px;height:62px;border-radius:18px;object-fit:cover;border:2px solid rgba(255,255,255,.72);background:#fff}.wpys-villa-card__body{padding:26px 24px 24px}.wpys-villa-card__excerpt{margin:0 0 18px;font-size:15px;line-height:1.7;color:#52525b}.wpys-villa-card__specs{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0 0 22px;list-style:none}.wpys-villa-card__specs li,.wpys-single-villa__amenity{display:inline-flex;padding:10px 14px;border-radius:999px;background:#f4f4f5;color:#111827;font-size:14px}.wpys-villa-card__footer,.wpys-package-card__footer{display:flex;justify-content:space-between;gap:16px;align-items:end}.wpys-villa-card__price{margin:0;font-size:28px;font-weight:800;color:#111827}.wpys-villa-card__price-label{margin:6px 0 0;color:#71717a}.wpys-villa-empty,.wpys-villa-support{padding:32px;border-radius:30px;background:linear-gradient(135deg,#111827,#2f2618);color:#fff}.wpys-villa-support{margin-top:42px;display:flex;justify-content:space-between;gap:24px;align-items:center}.wpys-villa-support__body h3,.wpys-villa-support__body h2{margin:0 0 12px;color:#fff;font-size:36px}.wpys-villa-support__body p{margin:0;color:rgba(255,255,255,.78);max-width:640px}.wpys-single-villa__hero{position:relative;min-height:620px;border-radius:40px;overflow:hidden;background:#111 center/cover no-repeat;display:flex;align-items:end;padding:72px 56px}.wpys-single-villa__hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,24,39,.14) 0%,rgba(17,24,39,.72) 100%)}.wpys-single-villa__hero-inner{position:relative;z-index:2;max-width:720px;color:#fff}.wpys-single-villa__hero-inner h1{margin:18px 0 12px;font-size:clamp(44px,6vw,78px);line-height:.95;color:#fff}.wpys-single-villa__location{margin:0;font-size:15px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.8)}.wpys-single-villa__hero-specs{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:24px 0 0}.wpys-single-villa__hero-specs li{padding:12px 16px;border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(18px);color:#fff}.wpys-single-villa__gallery-section{margin-top:28px;background:#fff;border-radius:32px;padding:30px;box-shadow:0 20px 64px rgba(15,23,42,.08)}.wpys-single-villa__gallery-intro{margin:-12px 0 24px;color:#52525b;max-width:720px;line-height:1.8}.wpys-single-villa__gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}.wpys-single-villa__gallery-grid figure{margin:0;border-radius:24px;overflow:hidden;height:340px}.wpys-single-villa__gallery-grid img{width:100%;height:100%;object-fit:cover;display:block}.wpys-single-villa__gallery-grid figure:first-child{height:420px}.wpys-single-villa__layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.85fr);gap:28px;margin-top:30px;align-items:start}.wpys-single-villa__main{display:flex;flex-direction:column;gap:24px}.wpys-single-villa__section{padding:30px;border-radius:32px;background:#fff;box-shadow:0 20px 64px rgba(15,23,42,.07)}.wpys-single-villa__description{color:#444;line-height:1.9;font-size:16px}.wpys-single-villa__amenities{display:flex;flex-wrap:wrap;gap:12px}.wpys-package-list{display:grid;gap:18px}.wpys-package-card{padding:24px;border-radius:28px;background:#fafaf9;border:1px solid #ece7df}.wpys-package-card.is-active{border-color:#111827;box-shadow:0 16px 40px rgba(15,23,42,.08)}.wpys-package-card h3{margin:16px 0 8px;font-size:30px}.wpys-package-card p{margin:0 0 16px;color:#52525b;line-height:1.8}.wpys-package-card__meta{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0 0 14px;list-style:none}.wpys-package-card__meta li{padding:10px 14px;border-radius:999px;background:#fff;border:1px solid #e7e5e4;font-size:14px}.wpys-package-card__urgency{margin:0 0 16px;color:#92400e;font-weight:600}.wpys-package-card__footer strong{display:block;font-size:30px;color:#111}.wpys-package-card__footer small{display:block;margin-top:4px;color:#71717a}.wpys-single-villa__accordion{display:grid;gap:14px}.wpys-single-villa__accordion details{border:1px solid #e5e7eb;border-radius:22px;padding:18px 20px;background:#fcfcfc}.wpys-single-villa__accordion summary{display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;font-weight:700;list-style:none}.wpys-single-villa__accordion summary::-webkit-details-marker{display:none}.wpys-single-villa__accordion summary small{font-weight:600;color:#71717a}.wpys-single-villa__accordion p{margin:14px 0 0;color:#52525b;line-height:1.8}.wpys-single-villa__policies{display:grid;gap:14px;list-style:none;padding:0;margin:0}.wpys-single-villa__policies li{display:grid;gap:8px;padding:18px 20px;border-radius:22px;background:#fafaf9;border:1px solid #ece7df}.wpys-single-villa__policies strong{font-size:17px}.wpys-single-villa__policies span{color:#52525b;line-height:1.8}.wpys-single-villa__testimonials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wpys-single-villa__testimonial,.wpys-villa-testimonial{margin:0;padding:24px;border-radius:28px;background:#fafaf9;border:1px solid #ece7df}.wpys-single-villa__testimonial p,.wpys-villa-testimonial p{margin:0 0 14px;line-height:1.9;color:#444}.wpys-single-villa__testimonial cite,.wpys-villa-testimonial cite{font-style:normal;font-weight:700;color:#111}.wpys-booking-sticky{position:sticky;top:32px;padding:28px;border-radius:32px;background:#111827;color:#fff;box-shadow:0 24px 64px rgba(15,23,42,.18)}.wpys-booking-sticky .wpys-villa-section-label,.wpys-booking-sticky h2{color:#fff}.wpys-booking-sticky h2{margin:0 0 22px;font-size:38px}.wpys-booking-sticky .wpys-villa-wishlist-toggle{position:static;margin-left:auto;margin-bottom:18px;background:#fff}.wpys-booking-form{display:grid;gap:14px}.wpys-booking-form input{background:rgba(255,255,255,.98)}.wpys-booking-sticky__summary{padding:18px 20px;border-radius:22px;background:rgba(255,255,255,.08)}.wpys-booking-sticky__summary p{margin:0}.wpys-booking-sticky__direct-link{display:inline-flex;justify-content:center;color:#fff;text-decoration:underline}.wpys-villa-testimonials{margin-top:42px}.wpys-villa-testimonials__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.wpys-single-villa__view-all{font-weight:700;color:#111827}.wpys-booking-flow{padding-top:24px}.wpys-booking-flow__layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:24px}.wpys-booking-flow__panel{padding:28px;border-radius:28px;background:#fff;box-shadow:0 18px 48px rgba(15,23,42,.08)}.wpys-booking-flow__summary{background:#111827;color:#fff}.wpys-booking-flow__summary h2,.wpys-booking-flow__summary .wpys-villa-section-label{color:#fff}@media (max-width:1024px){.wpys-villa-listing__grid,.wpys-single-villa__layout,.wpys-booking-flow__layout,.wpys-single-villa__testimonials{grid-template-columns:1fr}.wpys-single-villa__gallery-grid{grid-template-columns:1fr 1fr}.wpys-single-villa__gallery-grid figure:first-child{grid-column:1/-1}.wpys-booking-sticky{position:relative;top:auto}}@media (max-width:768px){.wpys-villa-listing__hero,.wpys-single-villa__hero{padding:32px 20px 150px;min-height:460px;border-radius:28px}.wpys-villa-search--floating{position:relative;left:auto;bottom:auto;transform:none;width:100%;margin-top:24px;padding:18px;border-radius:24px}.wpys-villa-search__grid,.wpys-single-villa__gallery-grid,.wpys-villa-testimonials__grid{grid-template-columns:1fr}.wpys-villa-card__media{height:360px}.wpys-villa-card__hero-copy h3,.wpys-package-card h3,.wpys-booking-sticky h2,.wpys-villa-support__body h2,.wpys-villa-support__body h3{font-size:28px}.wpys-villa-support,.wpys-villa-results__head,.wpys-single-villa__section-head,.wpys-package-card__footer{flex-direction:column;align-items:flex-start}.wpys-villa-card__thumbs{bottom:130px}.wpys-single-villa__gallery-grid figure,.wpys-single-villa__gallery-grid figure:first-child{height:220px}}.wpys-villa-search--standalone,.wpys-villa-search--standalone *,.wpys-villa-tabs--standalone,.wpys-villa-tabs--standalone *,.wpys-villa-results--standalone{margin-top:0!important}.wpys-villa-search--standalone,.wpys-villa-tabs--standalone,.wpys-villa-results--standalone,.wpys-villa-results--standalone .wpys-villa-results__head,.wpys-villa-results--standalone h2,.wpys-villa-results--standalone p{margin:0!important;padding-top:0!important;padding-bottom:0!important}.wpys-villa-search--standalone{gap:0!important}.wpys-villa-search--standalone .wpys-villa-search__grid{margin:0!important}.wpys-villa-search--standalone .wpys-villa-button{margin-top:12px!important}.wpys-villa-tabs--standalone{display:flex!important;align-items:center!important;width:auto!important;min-height:0!important}.wpys-villa-tabs--standalone .wpys-villa-tabs__item{margin:0!important}.wpys-villa-results--standalone .wpys-villa-results__head{display:none!important}.wpys-villa-tabs.wpys-villa-tabs--standalone{display:flex!important;justify-content:flex-start!important;align-items:center!important;align-content:flex-start!important;flex-wrap:wrap!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;gap:12px!important;line-height:1!important;min-height:0!important}.wpys-villa-tabs.wpys-villa-tabs--standalone::before,.wpys-villa-tabs.wpys-villa-tabs--standalone::after{display:none!important;content:none!important}.wpys-villa-tabs.wpys-villa-tabs--standalone .wpys-villa-tabs__item{margin:0!important;display:inline-flex!important;align-items:center!important;line-height:1!important}.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone{display:grid!important;grid-template-columns:minmax(180px,.8fr) minmax(320px,1.25fr) minmax(320px,1.1fr) auto!important;align-items:end!important;gap:18px!important;width:100%!important;max-width:100%!important;margin:0!important;padding:22px 24px!important;border:1px solid #e5e7eb!important;border-radius:28px!important;background:#fff!important;box-shadow:none!important}.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__group{display:flex!important;flex-direction:column!important;gap:10px!important;min-width:0!important}.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__double{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__field-wrap{display:flex!important;align-items:center!important;min-height:56px!important;padding:0 14px 0 44px!important;border-radius:14px!important;background:#f5f5f5!important}.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__submit{align-self:end!important;margin:0!important}.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-button{margin:0!important}@media (max-width:1024px){.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone{grid-template-columns:1fr 1fr!important}.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__submit{width:100%!important;grid-column:1/-1}}@media (max-width:767px){.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone{grid-template-columns:1fr!important;padding:18px!important;gap:14px!important}.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__double{grid-template-columns:1fr!important}}

/* FIGMA FILTER OVERRIDE */
.wpys-villa-filter-card,
.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:64px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:24px 26px!important;
  box-sizing:border-box!important;
  background:#FFFFFF!important;
  border:1px solid #DDDDDD!important;
  border-radius:24px!important;
  box-shadow:none!important;
}

.wpys-villa-filter-card__main{
  display:grid!important;
  grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) minmax(240px,1fr)!important;
  align-items:end!important;
  gap:21px!important;
  width:100%!important;
  min-width:0!important;
}

.wpys-villa-filter-card__group,
.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__group{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:15px!important;
  width:100%!important;
  min-width:0!important;
}

.wpys-villa-filter-card__label,
.wpys-villa-filter-card__submit-label{
  margin:0!important;
  width:auto!important;
  min-height:28px!important;
  font-family:Geist,Inter,system-ui,sans-serif!important;
  font-style:normal!important;
  font-weight:500!important;
  font-size:20px!important;
  line-height:140%!important;
  letter-spacing:-0.02em!important;
  color:#000000!important;
}

.wpys-villa-filter-card__double,
.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__double{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:start!important;
  gap:16px!important;
  width:100%!important;
  min-width:0!important;
}

.wpys-villa-filter-card__field-wrap,
.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__field-wrap{
  position:relative!important;
  display:flex!important;
  flex-direction:row!important;
  justify-content:space-between!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  height:48px!important;
  min-height:48px!important;
  padding:12px 8px!important;
  gap:12px!important;
  box-sizing:border-box!important;
  background:#F2F2F2!important;
  border:none!important;
  border-radius:8px!important;
  box-shadow:none!important;
}

.wpys-villa-filter-card__field-wrap:hover,
.wpys-villa-filter-card__field-wrap:focus-within,
.wpys-villa-filter-card__field-wrap.is-open{
  background:#F2F2F2!important;
  box-shadow:none!important;
}

.wpys-villa-filter-card__icon{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
  margin:0!important;
  color:#585B5F!important;
}

.wpys-villa-filter-card__icon::before{
  width:24px!important;
  height:24px!important;
  background:#585B5F!important;
}

.wpys-villa-filter-card__input,
.wpys-villa-filter-card__select,
.wpys-villa-filter-card__select-trigger{
  width:100%!important;
  min-width:0!important;
  border:none!important;
  background:transparent!important;
  padding:0!important;
  box-shadow:none!important;
  outline:none!important;
  font-family:Geist,Inter,system-ui,sans-serif!important;
  font-style:normal!important;
  font-weight:400!important;
  font-size:16px!important;
  line-height:140%!important;
  letter-spacing:-0.02em!important;
  color:#585B5F!important;
}

.wpys-villa-filter-card__input::placeholder,
.wpys-villa-filter-card__input::-webkit-input-placeholder,
.wpys-villa-filter-card__select-text{
  color:#585B5F!important;
}

.wpys-villa-filter-card__select-trigger{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  text-align:left!important;
  cursor:pointer!important;
}

.wpys-villa-filter-card__select-text{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.wpys-villa-filter-card__input--date.is-empty{
  color:transparent!important;
  caret-color:transparent!important;
}

.wpys-villa-filter-card__input--date.is-empty::before{
  content:attr(data-display-value);
  color:#585B5F;
}

.wpys-villa-filter-card__input--date.is-empty::-webkit-datetime-edit,
.wpys-villa-filter-card__input--date.is-empty::-webkit-date-and-time-value{
  color:transparent!important;
}

.wpys-villa-filter-card__input--date::-webkit-calendar-picker-indicator{
  opacity:0!important;
  position:absolute!important;
  right:0!important;
}

.wpys-villa-filter-card__chevron,
.wpys-villa-filter-card__date-trigger{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  margin:0!important;
  padding:2px!important;
  box-sizing:border-box!important;
  border:none!important;
  border-radius:100px!important;
  background:rgba(88,91,95,.74)!important;
  color:#F7F7F7!important;
  font-size:11px!important;
  line-height:1!important;
}

.wpys-villa-filter-card__date-trigger{
  cursor:pointer!important;
}

.wpys-villa-filter-card__dropdown{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:calc(100% + 10px)!important;
  z-index:40!important;
  padding:8px!important;
  background:#FFFFFF!important;
  border:1px solid #DDDDDD!important;
  border-radius:12px!important;
  box-shadow:0 20px 40px rgba(15,23,42,.12)!important;
}

.wpys-villa-filter-card__option{
  display:flex!important;
  width:100%!important;
  border:none!important;
  background:transparent!important;
  padding:12px 14px!important;
  border-radius:8px!important;
  font-family:Geist,Inter,system-ui,sans-serif!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:140%!important;
  letter-spacing:-0.02em!important;
  color:#585B5F!important;
  text-align:left!important;
  cursor:pointer!important;
}

.wpys-villa-filter-card__option:hover,
.wpys-villa-filter-card__option.is-active{
  background:#F2F2F2!important;
  color:#000000!important;
}

.wpys-villa-filter-card__submit-wrap{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  gap:10px!important;
  width:131px!important;
  min-width:131px!important;
  flex:0 0 131px!important;
}

.wpys-villa-filter-card__submit{
  display:inline-flex!important;
  flex-direction:row!important;
  justify-content:center!important;
  align-items:center!important;
  gap:10px!important;
  width:131px!important;
  height:48px!important;
  padding:12px 22px!important;
  box-sizing:border-box!important;
  border:none!important;
  border-radius:100px!important;
  background:#000000!important;
  color:#FFFFFF!important;
  font-family:Geist,Inter,system-ui,sans-serif!important;
  font-style:normal!important;
  font-weight:400!important;
  font-size:18px!important;
  line-height:140%!important;
  letter-spacing:-0.02em!important;
  white-space:nowrap!important;
}

.wpys-villa-filter-card__submit span{
  font-size:20px!important;
  line-height:1!important;
}

@media (max-width:1280px){
  .wpys-villa-filter-card,
  .wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone{
    grid-template-columns:1fr!important;
    gap:24px!important;
    max-width:100%!important;
  }

  .wpys-villa-filter-card__main{
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    min-width:0!important;
    gap:24px!important;
  }

  .wpys-villa-filter-card__group,
  .wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__group,
  .wpys-villa-filter-card__double,
  .wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__double{
    width:100%!important;
    min-width:0!important;
  }

  .wpys-villa-filter-card__double{
    grid-template-columns:1fr 1fr!important;
  }

  .wpys-villa-filter-card__submit-wrap{
    width:100%!important;
    min-width:100%!important;
    align-items:stretch!important;
  }

  .wpys-villa-filter-card__submit{
    width:100%!important;
  }
}

@media (max-width:767px){
  .wpys-villa-filter-card,
  .wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone{
    grid-template-columns:1fr!important;
    gap:24px!important;
    padding:24px!important;
    border-radius:24px!important;
  }

  .wpys-villa-filter-card__main{
    grid-template-columns:1fr!important;
    width:100%!important;
    min-width:0!important;
    gap:24px!important;
  }

  .wpys-villa-filter-card__group,
  .wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__group{
    width:100%!important;
    min-width:0!important;
    gap:15px!important;
  }

  .wpys-villa-filter-card__label,
  .wpys-villa-filter-card__submit-label{
    min-height:auto!important;
    font-size:20px!important;
  }

  .wpys-villa-filter-card__double,
  .wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__double{
    grid-template-columns:1fr!important;
    width:100%!important;
    min-width:0!important;
    gap:16px!important;
  }

  .wpys-villa-filter-card__submit-label{
    display:none!important;
  }

  .wpys-villa-filter-card__submit-wrap,
  .wpys-villa-filter-card__submit{
    width:100%!important;
    min-width:100%!important;
  }
}

/* === WPYS FILTER FIGMA OVERRIDE START === */
.wpys-villa-filter-card,
.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:64px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:24px 26px!important;
  box-sizing:border-box!important;
  background:#FFFFFF!important;
  border:1px solid #DDDDDD!important;
  border-radius:24px!important;
  box-shadow:none!important;
}

.wpys-villa-filter-card__main{
  display:grid!important;
  grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) minmax(240px,1fr)!important;
  align-items:end!important;
  gap:21px!important;
  width:100%!important;
  min-width:0!important;
}

.wpys-villa-filter-card__group,
.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__group{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:15px!important;
  width:100%!important;
  min-width:0!important;
}

.wpys-villa-filter-card__label,
.wpys-villa-filter-card__submit-label{
  margin:0!important;
  width:auto!important;
  min-height:28px!important;
  font-family:Geist,Inter,system-ui,sans-serif!important;
  font-style:normal!important;
  font-weight:500!important;
  font-size:20px!important;
  line-height:140%!important;
  letter-spacing:-0.02em!important;
  color:#000000!important;
}

.wpys-villa-filter-card__double,
.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__double{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:start!important;
  gap:16px!important;
  width:100%!important;
  min-width:0!important;
}

.wpys-villa-filter-card__field-wrap,
.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__field-wrap{
  position:relative!important;
  display:flex!important;
  flex-direction:row!important;
  justify-content:space-between!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  height:48px!important;
  min-height:48px!important;
  padding:12px 8px!important;
  gap:12px!important;
  box-sizing:border-box!important;
  background:#F2F2F2!important;
  border:none!important;
  border-radius:8px!important;
  box-shadow:none!important;
}

.wpys-villa-filter-card__field-wrap:hover,
.wpys-villa-filter-card__field-wrap:focus-within,
.wpys-villa-filter-card__field-wrap.is-open{
  background:#F2F2F2!important;
  box-shadow:none!important;
}

.wpys-villa-filter-card__icon{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
  margin:0!important;
  color:#585B5F!important;
}

.wpys-villa-filter-card__icon::before{
  width:24px!important;
  height:24px!important;
  background:#585B5F!important;
}

.wpys-villa-filter-card__input,
.wpys-villa-filter-card__select,
.wpys-villa-filter-card__select-trigger{
  width:100%!important;
  min-width:0!important;
  border:none!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
  box-shadow:none!important;
  outline:none!important;
  font-family:Geist,Inter,system-ui,sans-serif!important;
  font-style:normal!important;
  font-weight:400!important;
  font-size:16px!important;
  line-height:24px!important;
  letter-spacing:-0.02em!important;
  color:#585B5F!important;
}

.wpys-villa-filter-card__input::placeholder,
.wpys-villa-filter-card__input::-webkit-input-placeholder,
.wpys-villa-filter-card__select-text{
  color:#585B5F!important;
}

.wpys-villa-filter-card__select-trigger{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  text-align:left!important;
  cursor:pointer!important;
}

.wpys-villa-filter-card__select-text{
  display:block!important;
  line-height:24px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.wpys-villa-filter-card__input--date{
  position:relative!important;
  z-index:1!important;
  color:transparent!important;
  caret-color:transparent!important;
}

.wpys-villa-filter-card__input--date::-webkit-datetime-edit,
.wpys-villa-filter-card__input--date::-webkit-date-and-time-value,
.wpys-villa-filter-card__input--date::-webkit-datetime-edit-fields-wrapper,
.wpys-villa-filter-card__input--date::-webkit-datetime-edit-text,
.wpys-villa-filter-card__input--date::-webkit-datetime-edit-month-field,
.wpys-villa-filter-card__input--date::-webkit-datetime-edit-day-field,
.wpys-villa-filter-card__input--date::-webkit-datetime-edit-year-field{
  color:transparent!important;
}

.wpys-villa-filter-card__input--date::-webkit-calendar-picker-indicator{
  opacity:0!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  cursor:pointer!important;
}

.wpys-villa-filter-card__date-text{
  position:absolute!important;
  left:44px!important;
  right:34px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:2!important;
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  pointer-events:none!important;
  font-family:Geist,Inter,system-ui,sans-serif!important;
  font-style:normal!important;
  font-weight:400!important;
  font-size:16px!important;
  line-height:24px!important;
  letter-spacing:-0.02em!important;
  color:#585B5F!important;
}

.wpys-villa-filter-card__chevron,
.wpys-villa-filter-card__date-trigger{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  margin:0!important;
  padding:2px!important;
  box-sizing:border-box!important;
  border:none!important;
  border-radius:100px!important;
  background:rgba(88,91,95,.74)!important;
  color:#F7F7F7!important;
  font-size:11px!important;
  line-height:1!important;
}

.wpys-villa-filter-card__date-trigger{
  cursor:pointer!important;
}

.wpys-villa-filter-card__dropdown{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:calc(100% + 10px)!important;
  z-index:40!important;
  padding:8px!important;
  background:#FFFFFF!important;
  border:1px solid #DDDDDD!important;
  border-radius:12px!important;
  box-shadow:0 20px 40px rgba(15,23,42,.12)!important;
}

.wpys-villa-filter-card__option{
  display:flex!important;
  width:100%!important;
  border:none!important;
  background:transparent!important;
  padding:12px 14px!important;
  border-radius:8px!important;
  font-family:Geist,Inter,system-ui,sans-serif!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:140%!important;
  letter-spacing:-0.02em!important;
  color:#585B5F!important;
  text-align:left!important;
  cursor:pointer!important;
}

.wpys-villa-filter-card__option:hover,
.wpys-villa-filter-card__option.is-active{
  background:#F2F2F2!important;
  color:#000000!important;
}

.wpys-villa-filter-card__submit-wrap{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  gap:10px!important;
  width:131px!important;
  min-width:131px!important;
  flex:0 0 131px!important;
}

.wpys-villa-filter-card__submit{
  display:inline-flex!important;
  flex-direction:row!important;
  justify-content:center!important;
  align-items:center!important;
  gap:10px!important;
  width:131px!important;
  height:48px!important;
  padding:12px 22px!important;
  box-sizing:border-box!important;
  border:none!important;
  border-radius:100px!important;
  background:#000000!important;
  color:#FFFFFF!important;
  font-family:Geist,Inter,system-ui,sans-serif!important;
  font-style:normal!important;
  font-weight:400!important;
  font-size:18px!important;
  line-height:140%!important;
  letter-spacing:-0.02em!important;
  white-space:nowrap!important;
}

.wpys-villa-filter-card__submit span{
  font-size:20px!important;
  line-height:1!important;
}

@media (max-width:1280px){
  .wpys-villa-filter-card,
  .wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone{
    grid-template-columns:1fr!important;
    gap:24px!important;
    max-width:100%!important;
  }

  .wpys-villa-filter-card__main{
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    min-width:0!important;
    gap:24px!important;
  }

  .wpys-villa-filter-card__group,
  .wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__group,
  .wpys-villa-filter-card__double,
  .wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__double{
    width:100%!important;
    min-width:0!important;
  }

  .wpys-villa-filter-card__double{
    grid-template-columns:1fr 1fr!important;
  }
}

@media (max-width:767px){
  .wpys-villa-filter-card,
  .wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone{
    grid-template-columns:1fr!important;
    gap:24px!important;
    padding:24px!important;
    border-radius:24px!important;
  }

  .wpys-villa-filter-card__main{
    grid-template-columns:1fr!important;
    width:100%!important;
    min-width:0!important;
    gap:24px!important;
  }

  .wpys-villa-filter-card__group,
  .wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__group{
    width:100%!important;
    min-width:0!important;
    gap:15px!important;
  }

  .wpys-villa-filter-card__label,
  .wpys-villa-filter-card__submit-label{
    min-height:auto!important;
    font-size:20px!important;
  }

  .wpys-villa-filter-card__double,
  .wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__double{
    grid-template-columns:1fr!important;
    width:100%!important;
    min-width:0!important;
    gap:16px!important;
  }

  .wpys-villa-filter-card__submit-label{
    display:none!important;
  }

  .wpys-villa-filter-card__submit-wrap,
  .wpys-villa-filter-card__submit{
    width:100%!important;
    min-width:100%!important;
  }
}

.wpys-villa-tabs,
.wpys-villa-tabs.wpys-villa-tabs--standalone,
.elementor-widget-shortcode .wpys-villa-tabs--standalone{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:40px!important;
  width:100%!important;
  margin:0!important;
  padding:0 0 14px!important;
  border-bottom:none!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}

.wpys-villa-tabs::-webkit-scrollbar{
  display:none!important;
}

.wpys-villa-tabs__item,
.wpys-villa-tabs.wpys-villa-tabs--standalone .wpys-villa-tabs__item{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  padding:0 10px 12px!important;
  margin:0!important;
  border:none!important;
  border-bottom:2px solid transparent!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  font-family:Geist,Inter,system-ui,sans-serif!important;
  font-style:normal!important;
  font-weight:400!important;
  font-size:20px!important;
  line-height:1.3!important;
  letter-spacing:-0.02em!important;
  color:#9CA3AF!important;
  transition:color .2s ease,border-color .2s ease!important;
}

.wpys-villa-tabs__label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.wpys-villa-tabs__item:hover{
  color:#4B5563!important;
}

.wpys-villa-tabs__item.is-active,
.wpys-villa-tabs__item[aria-current="page"],
.wpys-villa-tabs.wpys-villa-tabs--standalone .wpys-villa-tabs__item.is-active,
.wpys-villa-tabs.wpys-villa-tabs--standalone .wpys-villa-tabs__item[aria-current="page"]{
  color:#000000!important;
  font-weight:400!important;
  border-bottom-color:#000000!important;
}

@media (max-width:991px){
  .wpys-villa-tabs,
  .wpys-villa-tabs.wpys-villa-tabs--standalone,
  .elementor-widget-shortcode .wpys-villa-tabs--standalone{
    justify-content:flex-start!important;
    gap:28px!important;
    padding-bottom:12px!important;
  }

  .wpys-villa-tabs__item,
  .wpys-villa-tabs.wpys-villa-tabs--standalone .wpys-villa-tabs__item{
    padding-bottom:12px!important;
    font-size:18px!important;
  }
}

@media (max-width:767px){
  .wpys-villa-tabs,
  .wpys-villa-tabs.wpys-villa-tabs--standalone,
  .elementor-widget-shortcode .wpys-villa-tabs--standalone{
    gap:20px!important;
  }

  .wpys-villa-tabs__item,
  .wpys-villa-tabs.wpys-villa-tabs--standalone .wpys-villa-tabs__item{
    font-size:16px!important;
  }
}

/* === WPYS FILTER FIGMA OVERRIDE END === */

/* FIGMA OVERRIDES START */
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700;800&display=swap');

body .wpys-villa-listing,
body .wpys-villa-filter,
body .wpys-villa-category,
body .stitch-villa-results,
body .wpys-rating-showcase,
body [class*="wpys-"],
body [class*="stitch-card-villa"],
body [class*="simple-villa"]{
  font-family:"Geist",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}

.wpys-villa-filter-card,
.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:64px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:24px 26px!important;
  box-sizing:border-box!important;
  background:#FFFFFF!important;
  border:1px solid #DDDDDD!important;
  border-radius:24px!important;
  box-shadow:none!important;
}

.wpys-villa-filter-card__main{
  display:grid!important;
  grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) minmax(240px,1fr)!important;
  align-items:end!important;
  gap:21px!important;
  width:100%!important;
  min-width:0!important;
}

.wpys-villa-filter-card__group,
.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__group{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:15px!important;
  width:100%!important;
  min-width:0!important;
}

.wpys-villa-filter-card__label,
.wpys-villa-filter-card__submit-label{
  margin:0!important;
  width:auto!important;
  min-height:28px!important;
  font-family:Geist,Inter,system-ui,sans-serif!important;
  font-style:normal!important;
  font-weight:500!important;
  font-size:20px!important;
  line-height:140%!important;
  letter-spacing:-0.02em!important;
  color:#000000!important;
}

.wpys-villa-filter-card__double,
.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__double{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:start!important;
  gap:16px!important;
  width:100%!important;
  min-width:0!important;
}

.wpys-villa-filter-card__field-wrap,
.wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__field-wrap{
  position:relative!important;
  display:flex!important;
  flex-direction:row!important;
  justify-content:space-between!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  height:48px!important;
  min-height:48px!important;
  padding:12px 8px!important;
  gap:12px!important;
  box-sizing:border-box!important;
  background:#F2F2F2!important;
  border:none!important;
  border-radius:8px!important;
  box-shadow:none!important;
}

.wpys-villa-filter-card__field-wrap:hover,
.wpys-villa-filter-card__field-wrap:focus-within,
.wpys-villa-filter-card__field-wrap.is-open{
  background:#F2F2F2!important;
  box-shadow:none!important;
}

.wpys-villa-filter-card__icon{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
  margin:0!important;
  color:#585B5F!important;
}

.wpys-villa-filter-card__icon::before{
  width:24px!important;
  height:24px!important;
  background:#585B5F!important;
}

.wpys-villa-filter-card__input,
.wpys-villa-filter-card__select,
.wpys-villa-filter-card__select-trigger{
  width:100%!important;
  min-width:0!important;
  border:none!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
  box-shadow:none!important;
  outline:none!important;
  font-family:Geist,Inter,system-ui,sans-serif!important;
  font-style:normal!important;
  font-weight:400!important;
  font-size:16px!important;
  line-height:24px!important;
  letter-spacing:-0.02em!important;
  color:#585B5F!important;
}

.wpys-villa-filter-card__input::placeholder,
.wpys-villa-filter-card__input::-webkit-input-placeholder,
.wpys-villa-filter-card__select-text{
  color:#585B5F!important;
}

.wpys-villa-filter-card__select-trigger{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  text-align:left!important;
  cursor:pointer!important;
}

.wpys-villa-filter-card__select-text{
  display:block!important;
  line-height:24px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.wpys-villa-filter-card__input--date{
  position:relative!important;
  z-index:1!important;
  color:transparent!important;
  caret-color:transparent!important;
}

.wpys-villa-filter-card__input--date::-webkit-datetime-edit,
.wpys-villa-filter-card__input--date::-webkit-date-and-time-value,
.wpys-villa-filter-card__input--date::-webkit-datetime-edit-fields-wrapper,
.wpys-villa-filter-card__input--date::-webkit-datetime-edit-text,
.wpys-villa-filter-card__input--date::-webkit-datetime-edit-month-field,
.wpys-villa-filter-card__input--date::-webkit-datetime-edit-day-field,
.wpys-villa-filter-card__input--date::-webkit-datetime-edit-year-field{
  color:transparent!important;
}

.wpys-villa-filter-card__input--date::-webkit-calendar-picker-indicator{
  opacity:0!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  cursor:pointer!important;
}

.wpys-villa-filter-card__date-text{
  position:absolute!important;
  left:44px!important;
  right:34px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:2!important;
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  pointer-events:none!important;
  font-family:Geist,Inter,system-ui,sans-serif!important;
  font-style:normal!important;
  font-weight:400!important;
  font-size:16px!important;
  line-height:24px!important;
  letter-spacing:-0.02em!important;
  color:#585B5F!important;
}

.wpys-villa-filter-card__chevron,
.wpys-villa-filter-card__date-trigger{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  margin:0!important;
  padding:2px!important;
  box-sizing:border-box!important;
  border:none!important;
  border-radius:100px!important;
  background:rgba(88,91,95,.74)!important;
  color:#F7F7F7!important;
  font-size:11px!important;
  line-height:1!important;
}

.wpys-villa-filter-card__date-trigger{
  cursor:pointer!important;
}

.wpys-villa-filter-card__dropdown{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:calc(100% + 10px)!important;
  z-index:40!important;
  padding:8px!important;
  background:#FFFFFF!important;
  border:1px solid #DDDDDD!important;
  border-radius:12px!important;
  box-shadow:0 20px 40px rgba(15,23,42,.12)!important;
}

.wpys-villa-filter-card__option{
  display:flex!important;
  width:100%!important;
  border:none!important;
  background:transparent!important;
  padding:12px 14px!important;
  border-radius:8px!important;
  font-family:Geist,Inter,system-ui,sans-serif!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:140%!important;
  letter-spacing:-0.02em!important;
  color:#585B5F!important;
  text-align:left!important;
  cursor:pointer!important;
}

.wpys-villa-filter-card__option:hover,
.wpys-villa-filter-card__option.is-active{
  background:#F2F2F2!important;
  color:#000000!important;
}

.wpys-villa-filter-card__submit-wrap{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  gap:10px!important;
  width:131px!important;
  min-width:131px!important;
  flex:0 0 131px!important;
}

.wpys-villa-filter-card__submit{
  display:inline-flex!important;
  flex-direction:row!important;
  justify-content:center!important;
  align-items:center!important;
  gap:10px!important;
  width:131px!important;
  height:48px!important;
  padding:12px 22px!important;
  box-sizing:border-box!important;
  border:none!important;
  border-radius:100px!important;
  background:#000000!important;
  color:#FFFFFF!important;
  font-family:Geist,Inter,system-ui,sans-serif!important;
  font-style:normal!important;
  font-weight:400!important;
  font-size:18px!important;
  line-height:140%!important;
  letter-spacing:-0.02em!important;
  white-space:nowrap!important;
}

.wpys-villa-filter-card__submit span{
  font-size:20px!important;
  line-height:1!important;
}

@media (max-width:1280px){
  .wpys-villa-filter-card,
  .wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone{
    grid-template-columns:1fr!important;
    gap:24px!important;
    max-width:100%!important;
  }

  .wpys-villa-filter-card__main{
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    min-width:0!important;
    gap:24px!important;
  }

  .wpys-villa-filter-card__group,
  .wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__group,
  .wpys-villa-filter-card__double,
  .wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__double{
    width:100%!important;
    min-width:0!important;
  }

  .wpys-villa-filter-card__double{
    grid-template-columns:1fr 1fr!important;
  }
}

@media (max-width:767px){
  .wpys-villa-filter-card,
  .wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone{
    grid-template-columns:1fr!important;
    gap:24px!important;
    padding:24px!important;
    border-radius:24px!important;
  }

  .wpys-villa-filter-card__main{
    grid-template-columns:1fr!important;
    width:100%!important;
    min-width:0!important;
    gap:24px!important;
  }

  .wpys-villa-filter-card__group,
  .wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__group{
    width:100%!important;
    min-width:0!important;
    gap:15px!important;
  }

  .wpys-villa-filter-card__label,
  .wpys-villa-filter-card__submit-label{
    min-height:auto!important;
    font-size:20px!important;
  }

  .wpys-villa-filter-card__double,
  .wpys-villa-search.wpys-villa-filter-card.wpys-villa-search--standalone .wpys-villa-filter-card__double{
    grid-template-columns:1fr!important;
    width:100%!important;
    min-width:0!important;
    gap:16px!important;
  }

  .wpys-villa-filter-card__submit-label{
    display:none!important;
  }

  .wpys-villa-filter-card__submit-wrap,
  .wpys-villa-filter-card__submit{
    width:100%!important;
    min-width:100%!important;
  }
}

.wpys-villa-tabs,
.wpys-villa-tabs.wpys-villa-tabs--standalone,
.elementor-widget-shortcode .wpys-villa-tabs--standalone{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:40px!important;
  width:100%!important;
  margin:0!important;
  padding:0 0 14px!important;
  border-bottom:none!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}

.wpys-villa-tabs::-webkit-scrollbar{
  display:none!important;
}

.wpys-villa-tabs__item,
.wpys-villa-tabs.wpys-villa-tabs--standalone .wpys-villa-tabs__item{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  padding:0 10px 12px!important;
  margin:0!important;
  border:none!important;
  border-bottom:2px solid transparent!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  font-family:Geist,Inter,system-ui,sans-serif!important;
  font-style:normal!important;
  font-weight:400!important;
  font-size:20px!important;
  line-height:1.3!important;
  letter-spacing:-0.02em!important;
  color:#9CA3AF!important;
  transition:color .2s ease,border-color .2s ease!important;
}

.wpys-villa-tabs__label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.wpys-villa-tabs__item:hover{
  color:#4B5563!important;
}

.wpys-villa-tabs__item.is-active,
.wpys-villa-tabs__item[aria-current="page"],
.wpys-villa-tabs.wpys-villa-tabs--standalone .wpys-villa-tabs__item.is-active,
.wpys-villa-tabs.wpys-villa-tabs--standalone .wpys-villa-tabs__item[aria-current="page"]{
  color:#000000!important;
  font-weight:400!important;
  border-bottom-color:#000000!important;
}

@media (max-width:991px){
  .wpys-villa-tabs,
  .wpys-villa-tabs.wpys-villa-tabs--standalone,
  .elementor-widget-shortcode .wpys-villa-tabs--standalone{
    justify-content:flex-start!important;
    gap:28px!important;
    padding-bottom:12px!important;
  }

  .wpys-villa-tabs__item,
  .wpys-villa-tabs.wpys-villa-tabs--standalone .wpys-villa-tabs__item{
    padding-bottom:12px!important;
    font-size:18px!important;
  }
}

@media (max-width:767px){
  .wpys-villa-tabs__item,
  .wpys-villa-tabs.wpys-villa-tabs--standalone .wpys-villa-tabs__item{
    padding:0 10px 12px!important;
  }
}

/* STITCH CARD VILLA SOURCE OF TRUTH */
.stitch-villa-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:32px!important;
}

.stitch-card-villa{
  background:#fff!important;
  border:1px solid #e0e1e3!important;
  border-radius:32px!important;
  overflow:hidden!important;
  box-shadow:0 1px 2px rgba(16,24,40,.04)!important;
  display:flex!important;
  flex-direction:column!important;
}

.stitch-card-villa__media{
  position:relative!important;
  height:288px!important;
  width:100%!important;
}

.stitch-card-villa__image-link,
.stitch-card-villa__image{
  display:block!important;
  width:100%!important;
  height:100%!important;
}

.stitch-card-villa__image{object-fit:cover!important;}

.stitch-card-villa__overlay{
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(to top, rgba(0,0,0,.70) 0%, rgba(0,0,0,0) 50%)!important;
}

.stitch-card-villa__circle{
  position:absolute!important;
  top:16px!important;
  width:40px!important;
  height:40px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.20)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  backdrop-filter:blur(12px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  text-decoration:none!important;
  border:none!important;
  z-index:3!important;
  font-size:20px!important;
}

.stitch-card-villa__circle--left{left:16px!important;}
.stitch-card-villa__circle--right{right:16px!important;}

.stitch-card-villa__hero-copy{
  position:absolute!important;
  left:24px!important;
  bottom:16px!important;
  color:#fff!important;
  z-index:3!important;
}

.stitch-card-villa__hero-copy h3,
.stitch-card-villa__hero-copy h3 a{
  margin:0 0 4px!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:32px!important;
  line-height:1.05!important;
  font-weight:700!important;
  text-shadow:0 1px 2px rgba(0,0,0,.5)!important;
}

.stitch-card-villa__hero-copy p{
  margin:0!important;
  font-size:14px!important;
  font-weight:500!important;
  opacity:.9!important;
  text-shadow:0 1px 2px rgba(0,0,0,.5)!important;
}

.stitch-card-villa__thumbs{
  position:absolute!important;
  right:16px!important;
  bottom:16px!important;
  display:flex!important;
  gap:8px!important;
  z-index:3!important;
}

.stitch-card-villa__thumbs img{
  width:56px!important;
  height:56px!important;
  border-radius:12px!important;
  object-fit:cover!important;
  border:2px solid #fff!important;
  box-shadow:0 1px 2px rgba(16,24,40,.06)!important;
}

.stitch-card-villa__body{
  padding:24px!important;
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
}

.stitch-card-villa__pricing-row{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  margin-bottom:24px!important;
}

.stitch-card-villa__price-prefix{
  margin:0 0 4px!important;
  color:#4b4d52!important;
  font-size:14px!important;
}

.stitch-card-villa__price-line{
  display:flex!important;
  align-items:baseline!important;
  gap:4px!important;
}

.stitch-card-villa__price{
  color:#1a1b1e!important;
  font-size:28px!important;
  font-weight:700!important;
  line-height:1!important;
}

.stitch-card-villa__price-label{
  color:#4b4d52!important;
  font-size:14px!important;
}

.stitch-card-villa__rating{text-align:right!important;}

.stitch-card-villa__rating-top{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  margin-bottom:4px!important;
}

.stitch-card-villa__rating-value{
  font-weight:700!important;
  color:#1a1b1e!important;
}

.stitch-card-villa__rating-count{
  font-size:14px!important;
  color:#4b4d52!important;
}

.stitch-card-villa__stars{
  color:#FFC107!important;
  font-size:14px!important;
}

.stitch-card-villa__specs{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:16px!important;
  font-size:14px!important;
  color:#4b4d52!important;
  font-weight:500!important;
  margin-bottom:24px!important;
}

.stitch-card-villa__spec{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
}

.stitch-card-villa__spec .icon{font-size:14px!important;}

.stitch-card-villa__tags{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:auto!important;
}

.stitch-card-villa__tag{
  padding:6px 12px!important;
  background:#f8f9fa!important;
  color:#4b4d52!important;
  font-size:12px!important;
  border-radius:999px!important;
  border:1px solid #e0e1e3!important;
}

@media (max-width:991px){
  .stitch-villa-grid{grid-template-columns:1fr!important;}
}

@media (max-width:767px){
  .stitch-card-villa__media{height:260px!important;}
  .stitch-card-villa__hero-copy h3,
  .stitch-card-villa__hero-copy h3 a{font-size:28px!important;}
  .stitch-card-villa__thumbs{display:none!important;}
  .stitch-card-villa__pricing-row{flex-direction:column!important;gap:12px!important;}
  .stitch-card-villa__rating{text-align:left!important;}
}

/* HARD MATCH REFERENCE CARD */
.wpys-villa-card--reference .wpys-villa-card__shell{
  background:#F3F5F6!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:30px!important;
  padding:14px!important;
  gap:0!important;
}

.wpys-villa-card--reference .wpys-villa-card__media{
  position:relative!important;
  overflow:hidden!important;
  border-radius:24px!important;
  aspect-ratio:1.16/1!important;
  min-height:350px!important;
  background:#D8DEE3!important;
}

.wpys-villa-card--reference .wpys-villa-card__image-link,
.wpys-villa-card--reference .wpys-villa-card__image{
  display:block!important;
  width:100%!important;
  height:100%!important;
}

.wpys-villa-card--reference .wpys-villa-card__image{
  object-fit:cover!important;
}

.wpys-villa-card--reference .wpys-villa-card__overlay{
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.01) 38%,rgba(0,0,0,.08) 70%,rgba(0,0,0,.34) 100%)!important;
}

.wpys-villa-card--reference .wpys-villa-card__media-actions{
  position:absolute!important;
  inset:20px 20px auto 20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  z-index:4!important;
}

.wpys-villa-card--reference .wpys-villa-wishlist-toggle,
.wpys-villa-card--reference .wpys-villa-card__quicklink{
  width:48px!important;
  height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.30)!important;
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  box-shadow:0 10px 20px rgba(0,0,0,.08)!important;
}

.wpys-villa-card--reference .wpys-villa-card__status{display:none!important;}

.wpys-villa-card--reference .wpys-villa-card__hero-copy{
  position:absolute!important;
  left:22px!important;
  bottom:22px!important;
  right:190px!important;
  z-index:4!important;
}

.wpys-villa-card--reference .wpys-villa-card__media:not(.has-thumbs) .wpys-villa-card__hero-copy{
  right:22px!important;
}

.wpys-villa-card--reference .wpys-villa-card__hero-copy h3,
.wpys-villa-card--reference .wpys-villa-card__hero-copy h3 a{
  margin:0!important;
  color:#fff!important;
  font-size:31px!important;
  line-height:1.02!important;
  font-weight:700!important;
  letter-spacing:-.05em!important;
  text-decoration:none!important;
  text-shadow:0 10px 30px rgba(0,0,0,.20)!important;
}

.wpys-villa-card--reference .wpys-villa-card__location{
  margin:10px 0 0!important;
  color:rgba(255,255,255,.92)!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:500!important;
  letter-spacing:.10em!important;
  text-transform:none!important;
}

.wpys-villa-card--reference .wpys-villa-card__thumbs{
  position:absolute!important;
  right:18px!important;
  bottom:18px!important;
  display:flex!important;
  align-items:flex-end!important;
  gap:8px!important;
  z-index:5!important;
}

.wpys-villa-card--reference .wpys-villa-card__thumbs img{
  width:56px!important;
  height:72px!important;
  object-fit:cover!important;
  border-radius:14px!important;
  border:2px solid rgba(255,255,255,.95)!important;
  box-shadow:0 14px 24px rgba(15,23,42,.16)!important;
}

.wpys-villa-card--reference .wpys-villa-card__thumbs img:nth-child(2){
  transform:translateY(6px)!important;
}

.wpys-villa-card--reference .wpys-villa-card__thumbs img:nth-child(3){
  transform:translateY(12px)!important;
}

.wpys-villa-card--reference .wpys-villa-card__body{
  display:flex!important;
  flex-direction:column!important;
  gap:20px!important;
  padding:24px 10px 8px!important;
}

.wpys-villa-card--reference .wpys-villa-card__pricing-row{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
}

.wpys-villa-card--reference .wpys-villa-card__price-prefix{
  margin:0 0 6px!important;
  color:#7A7F87!important;
  font-size:14px!important;
  font-weight:500!important;
}

.wpys-villa-card--reference .wpys-villa-card__price{
  margin:0!important;
  color:#101828!important;
  font-size:35px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:-.04em!important;
}

.wpys-villa-card--reference .wpys-villa-card__price-label{
  margin:7px 0 0!important;
  color:#7A7F87!important;
  font-size:14px!important;
  font-weight:500!important;
}

.wpys-villa-card--reference .wpys-villa-card__rating{
  min-width:118px!important;
  text-align:right!important;
}

.wpys-villa-card--reference .wpys-villa-card__rating-value{
  color:#121826!important;
  font-size:17px!important;
  font-weight:700!important;
}

.wpys-villa-card--reference .wpys-villa-card__rating-stars{
  display:block!important;
  margin-top:3px!important;
  color:#F3B441!important;
  font-size:14px!important;
  letter-spacing:.08em!important;
}

.wpys-villa-card--reference .wpys-villa-card__rating-count{
  margin-top:4px!important;
  color:#7A7F87!important;
  font-size:13px!important;
}

.wpys-villa-card--reference .wpys-villa-card__specs--reference{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px 16px!important;
  list-style:none!important;
  padding:0!important;
  margin:0!important;
}

.wpys-villa-card--reference .wpys-villa-card__spec-item{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#424B57!important;
  font-size:14px!important;
  font-weight:500!important;
}

.wpys-villa-card--reference .wpys-villa-card__spec-icon{
  width:20px!important;
  height:20px!important;
  border-radius:999px!important;
  background:#EEF2F5!important;
  position:relative!important;
  flex:0 0 20px!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:11px 11px!important;
}

.wpys-villa-card--reference .wpys-villa-card__spec-icon::after{display:none!important;}

.wpys-villa-card--reference .spec-1 .wpys-villa-card__spec-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c1.8-3.5 5-5 8-5s6.2 1.5 8 5'/%3E%3C/svg%3E")!important;}
.wpys-villa-card--reference .spec-2 .wpys-villa-card__spec-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12V7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v5'/%3E%3Cpath d='M3 12h18v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Z'/%3E%3Cpath d='M7 10v2M17 10v2'/%3E%3C/svg%3E")!important;}
.wpys-villa-card--reference .spec-3 .wpys-villa-card__spec-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16v6H4z'/%3E%3Cpath d='M7 12V9a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v3'/%3E%3C/svg%3E")!important;}
.wpys-villa-card--reference .spec-4 .wpys-villa-card__spec-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4h10v5a5 5 0 0 1-10 0V4Z'/%3E%3Cpath d='M6 20h12'/%3E%3Cpath d='M12 14v6'/%3E%3C/svg%3E")!important;}
.wpys-villa-card--reference .spec-5 .wpys-villa-card__spec-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M7 4v6M17 4v6M5 17h14M5 20V4M19 20V4'/%3E%3C/svg%3E")!important;}

.wpys-villa-card--reference .wpys-villa-card__amenities{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}

.wpys-villa-card--reference .wpys-villa-card__amenity-pill{
  display:inline-flex!important;
  align-items:center!important;
  min-height:38px!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  border:1px solid #D7DDE3!important;
  background:#FFFFFF!important;
  color:#4C5561!important;
  font-size:14px!important;
  font-weight:500!important;
}

.wpys-villa-card--reference .wpys-villa-card__excerpt,
.wpys-villa-card--reference .wpys-villa-card__footer,
.wpys-villa-card--reference .wpys-villa-card__footer-note,
.wpys-villa-card--reference .wpys-villa-card__cta{display:none!important;}

@media (max-width:991px){
  .wpys-villa-card--reference .wpys-villa-card__hero-copy{right:22px!important;}
  .wpys-villa-card--reference .wpys-villa-card__thumbs{display:none!important;}
}

@media (max-width:767px){
  .wpys-villa-card--reference .wpys-villa-card__media{min-height:290px!important;}
  .wpys-villa-card--reference .wpys-villa-card__hero-copy h3,
  .wpys-villa-card--reference .wpys-villa-card__hero-copy h3 a{font-size:27px!important;}
  .wpys-villa-card--reference .wpys-villa-card__pricing-row{flex-direction:column!important;align-items:flex-start!important;}
  .wpys-villa-card--reference .wpys-villa-card__rating{text-align:left!important;}
  .wpys-villa-card--reference .wpys-villa-card__price{font-size:29px!important;}
}

.wpys-villa-listing__grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:28px!important;
  align-items:start!important;
}

.wpys-villa-card{
  display:block!important;
  width:100%!important;
  margin:0!important;
}

.wpys-villa-card__shell{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  padding:14px!important;
  border-radius:28px!important;
  background:#F3F5F6!important;
  border:1px solid rgba(17,24,39,.05)!important;
  box-shadow:none!important;
  overflow:hidden!important;
}

.wpys-villa-card__media{
  position:relative!important;
  overflow:hidden!important;
  border-radius:22px!important;
  aspect-ratio:1.16/1!important;
  min-height:342px!important;
  background:#DDE4E8!important;
}

.wpys-villa-card__image-link,
.wpys-villa-card__image-link:hover{
  display:block!important;
  width:100%!important;
  height:100%!important;
  text-decoration:none!important;
}

.wpys-villa-card__image{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  transform:scale(1.001)!important;
}

.wpys-villa-card__overlay{
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.01) 38%,rgba(0,0,0,.08) 68%,rgba(0,0,0,.34) 100%)!important;
  pointer-events:none!important;
}

.wpys-villa-card__media-actions{
  position:absolute!important;
  top:16px!important;
  left:16px!important;
  right:16px!important;
  z-index:3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
}

.wpys-villa-wishlist-toggle,
.wpys-villa-card__quicklink{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:44px!important;
  height:44px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  background:rgba(255,255,255,.10)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  color:#FFFFFF!important;
  box-shadow:none!important;
}

.wpys-villa-wishlist-toggle span,
.wpys-villa-card__quicklink span{
  font-size:19px!important;
  line-height:1!important;
}

.wpys-villa-card__quicklink{
  text-decoration:none!important;
}

.wpys-villa-card__status{
  display:none!important;
}

.wpys-villa-card__hero-copy{
  position:absolute!important;
  left:22px!important;
  right:208px!important;
  bottom:24px!important;
  z-index:4!important;
}

.wpys-villa-card__media:not(:has(.wpys-villa-card__thumbs)) .wpys-villa-card__hero-copy{
  right:22px!important;
}

.wpys-villa-card__hero-copy h3,
.wpys-villa-card__hero-copy h3 a{
  margin:0!important;
  color:#FFFFFF!important;
  text-decoration:none!important;
  font-family:Inter,system-ui,sans-serif!important;
  font-size:29px!important;
  line-height:1.08!important;
  letter-spacing:-.04em!important;
  font-weight:700!important;
}

.wpys-villa-card__location{
  margin:10px 0 0!important;
  color:rgba(255,255,255,.90)!important;
  font-family:Inter,system-ui,sans-serif!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:500!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}

.wpys-villa-card__thumbs{
  position:absolute!important;
  right:18px!important;
  bottom:18px!important;
  z-index:3!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}

.wpys-villa-card__thumbs img{
  width:54px!important;
  height:72px!important;
  object-fit:cover!important;
  border-radius:14px!important;
  border:2px solid rgba(255,255,255,.90)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.12)!important;
}

.wpys-villa-card__body{
  display:flex!important;
  flex-direction:column!important;
  gap:13px!important;
  padding:24px 10px 4px!important;
}

.wpys-villa-card__pricing-row{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
}

.wpys-villa-card__price-prefix{
  margin:0 0 6px!important;
  color:#6B7280!important;
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:600!important;
  letter-spacing:-.01em!important;
}

.wpys-villa-card__price{
  margin:0!important;
  color:#111827!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:-.04em!important;
}

.wpys-villa-card__price-label{
  margin:6px 0 0!important;
  color:#7B848E!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:500!important;
}

.wpys-villa-card__rating{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  gap:6px!important;
  max-width:42%!important;
  padding-top:3px!important;
  text-align:right!important;
}

.wpys-villa-card__rating-stars{
  color:#F59E0B!important;
  font-size:13px!important;
  letter-spacing:.08em!important;
}

.wpys-villa-card__rating-score{
  color:#111827!important;
  font-size:14px!important;
  font-weight:700!important;
}

.wpys-villa-card__rating-count{
  color:#7B848E!important;
  font-size:13px!important;
  font-weight:500!important;
}

.wpys-villa-card__specs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px 18px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

.wpys-villa-card__specs li{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#374151!important;
  font-size:14px!important;
  line-height:1.4!important;
  font-weight:500!important;
}

.wpys-villa-card__spec-dot{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
  border-radius:999px!important;
  background:#E6EAEE!important;
  border:1px solid rgba(17,24,39,.05)!important;
  position:relative!important;
}

.wpys-villa-card__spec-dot::after{
  content:''!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:6px!important;
  height:6px!important;
  border-radius:999px!important;
  background:#64748B!important;
  transform:translate(-50%,-50%)!important;
}

.wpys-villa-card__excerpt{
  margin:0!important;
  color:#66707C!important;
  font-size:14px!important;
  line-height:1.65!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}

.wpys-villa-card__amenities{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}

.wpys-villa-card__amenity-pill{
  display:inline-flex!important;
  align-items:center!important;
  min-height:34px!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  background:#FFFFFF!important;
  border:1px solid rgba(15,23,42,.08)!important;
  color:#364152!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:600!important;
}

.wpys-villa-card__footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding-top:4px!important;
}

.wpys-villa-card__footer-note{
  margin:0!important;
  color:#7B848E!important;
  font-size:14px!important;
  line-height:1.4!important;
  font-weight:600!important;
}

.wpys-villa-card__cta,
.wpys-villa-card__cta:hover{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:50px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  background:#111827!important;
  color:#FFFFFF!important;
  text-decoration:none!important;
  font-size:14px!important;
  font-weight:700!important;
  letter-spacing:-.01em!important;
  box-shadow:none!important;
}

@media (max-width:1024px){
  .wpys-villa-listing__grid{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .wpys-villa-card__media{
    min-height:300px!important;
  }

  .wpys-villa-card__hero-copy h3,
  .wpys-villa-card__hero-copy h3 a{
    font-size:28px!important;
  }
}

@media (max-width:767px){
  .wpys-villa-card__shell{
    padding:12px!important;
    border-radius:24px!important;
  }

  .wpys-villa-card__media{
    min-height:260px!important;
    border-radius:20px!important;
  }

  .wpys-villa-card__hero-copy{
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
  }

  .wpys-villa-card__hero-copy h3,
  .wpys-villa-card__hero-copy h3 a{
    font-size:24px!important;
  }

  .wpys-villa-card__thumbs{
    display:none!important;
  }

  .wpys-villa-card__pricing-row,
  .wpys-villa-card__footer{
    flex-direction:column!important;
    align-items:flex-start!important;
  }

  .wpys-villa-card__rating{
    max-width:none!important;
    justify-content:flex-start!important;
    text-align:left!important;
  }

  .wpys-villa-card__cta{
    width:100%!important;
  }
}

  .wpys-villa-tabs__item,
  .wpys-villa-tabs.wpys-villa-tabs--standalone .wpys-villa-tabs__item{
    font-size:16px!important;
  }
}

/* FINAL EXACT STITCH SPEC FROM USER DESCRIPTION */
.stitch-villa-results{background:#000!important;padding:0!important;}
.stitch-villa-results .wpys-villa-results__head{display:none!important;}
.stitch-villa-grid{display:grid!important;grid-template-columns:repeat(2,414px)!important;gap:20px 19px!important;justify-content:center!important;background:#000!important;}
.stitch-card-villa{width:414px!important;height:502px!important;border-radius:16px!important;background:#F1F1F1!important;overflow:hidden!important;border:0!important;box-shadow:none!important;font-family:Inter,"SF Pro Display","Plus Jakarta Sans",Arial,sans-serif!important;}
.stitch-card-villa__media{position:relative!important;height:294px!important;border-radius:16px!important;overflow:hidden!important;}
.stitch-card-villa__image{width:100%!important;height:100%!important;object-fit:cover!important;}
.stitch-card-villa__overlay{background:linear-gradient(to bottom,rgba(0,0,0,.05) 0%,rgba(0,0,0,.15) 45%,rgba(0,0,0,.58) 100%)!important;}
.stitch-card-villa__circle{top:16px!important;width:29px!important;height:29px!important;border-radius:999px!important;background:rgba(255,255,255,.35)!important;color:#fff!important;font-size:17px!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;line-height:1!important;}
.stitch-card-villa__circle--left{left:16px!important;}.stitch-card-villa__circle--right{right:16px!important;font-size:15px!important;}
.stitch-card-villa__hero-copy{left:15px!important;bottom:16px!important;right:270px!important;}
.stitch-card-villa__hero-copy h3,.stitch-card-villa__hero-copy h3 a{font-size:16px!important;line-height:18px!important;font-weight:600!important;letter-spacing:0!important;margin:0 0 5px!important;text-shadow:none!important;color:#fff!important;}
.stitch-card-villa__hero-copy p{font-size:11px!important;line-height:14px!important;font-weight:400!important;color:rgba(255,255,255,.86)!important;margin:0!important;text-shadow:none!important;}
.stitch-card-villa__loc-icon{display:none!important;}
.stitch-card-villa__thumbs{right:15px!important;bottom:18px!important;gap:5px!important;}
.stitch-card-villa__thumbs img{width:79px!important;height:62px!important;border-radius:11px!important;object-fit:cover!important;border:0!important;box-shadow:none!important;}
.stitch-card-villa__body{height:208px!important;padding:20px 18px 0!important;background:#F1F1F1!important;}
.stitch-card-villa__pricing-row{margin:0!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;}
.stitch-card-villa__price-prefix{font-size:12px!important;line-height:15px!important;color:#0B0B0B!important;font-weight:400!important;margin:0 0 6px!important;}
.stitch-card-villa__price-line{display:flex!important;align-items:baseline!important;gap:5px!important;margin:0!important;}
.stitch-card-villa__price{font-size:22px!important;line-height:25px!important;font-weight:800!important;color:#000!important;letter-spacing:-.5px!important;}
.stitch-card-villa__price-label{font-size:12px!important;color:#5F6368!important;font-weight:400!important;line-height:14px!important;}
.stitch-card-villa__rating{text-align:right!important;margin-top:0!important;}
.stitch-card-villa__rating-top{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;margin:0 0 8px!important;font-size:12px!important;line-height:15px!important;}
.stitch-card-villa__rating-value{font-size:12px!important;color:#111!important;font-weight:500!important;}
.stitch-card-villa__rating-divider{width:1px!important;height:16px!important;background:#C7C9CC!important;display:inline-block!important;}
.stitch-card-villa__rating-count{font-size:12px!important;color:#60646A!important;font-weight:500!important;}
.stitch-card-villa__stars{display:flex!important;justify-content:flex-end!important;gap:2px!important;color:#FFC533!important;font-size:18px!important;line-height:18px!important;letter-spacing:0!important;}
.stitch-card-villa__stars .half{background:linear-gradient(90deg,#FFC533 50%,#D8D8D8 50%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;}
.stitch-card-villa__specs{margin-top:27px!important;margin-bottom:0!important;display:flex!important;align-items:center!important;gap:17px!important;flex-wrap:nowrap!important;font-size:11px!important;line-height:14px!important;color:#111!important;font-weight:400!important;white-space:nowrap!important;}
.stitch-card-villa__spec{gap:5px!important;color:#111!important;}.stitch-card-villa__spec .icon{font-size:12px!important;color:#111!important;line-height:1!important;}
.stitch-card-villa__tags{margin-top:24px!important;display:flex!important;flex-wrap:wrap!important;gap:8px 7px!important;}
.stitch-card-villa__tag{height:27px!important;padding:0 12px!important;border:1px solid #BFC4CA!important;border-radius:999px!important;background:transparent!important;display:flex!important;align-items:center!important;font-size:11px!important;line-height:13px!important;color:#666B70!important;font-weight:400!important;}
@media(max-width:991px){.stitch-villa-grid{grid-template-columns:414px!important;}}
@media(max-width:480px){.stitch-villa-grid{grid-template-columns:minmax(0,1fr)!important}.stitch-card-villa{width:100%!important}.stitch-card-villa__thumbs{display:none!important}.stitch-card-villa__hero-copy{right:15px!important}}

/* USER PATCH: no black bg, 100% shortcode, Geist, outline icons */
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700;800&display=swap');
.wpys-villa-results,
.stitch-villa-results,
.stitch-villa-grid{background:transparent!important;}
.wpys-villa-results,
.wpys-villa-results--standalone,
.stitch-villa-results,
.wpys-villa-list,
.wpys-villa-listing,
[data-wpys-villa-list]{width:100%!important;max-width:none!important;}
.stitch-villa-grid{width:100%!important;max-width:none!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.stitch-card-villa{width:100%!important;max-width:none!important;font-family:Geist,Inter,"SF Pro Display",Arial,sans-serif!important;}
.stitch-card-villa__circle svg{width:18px!important;height:18px!important;fill:none!important;stroke:#fff!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
.stitch-card-villa__circle svg{display:block!important;min-width:18px!important;max-width:18px!important;flex:0 0 18px!important;overflow:visible!important;}
.stitch-card-villa__circle svg path{fill:none!important;stroke:#fff!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
.stitch-card-villa__circle--left.is-active svg path,.wpys-villa-wishlist-toggle.is-active svg path{fill:#fff!important;stroke:#fff!important;}
.wpys-villa-wishlist-toggle.is-loading{opacity:.72!important;pointer-events:none!important;}
.stitch-card-villa__circle--right svg{width:17px!important;height:17px!important;}
.stitch-card-villa__spec .icon{width:14px!important;height:14px!important;display:inline-block!important;background-repeat:no-repeat!important;background-position:center!important;background-size:14px 14px!important;flex:0 0 14px!important;}
.stitch-card-villa__spec .icon-user{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M5 21c1.8-4 5-6 7-6s5.2 2 7 6'/%3E%3C/svg%3E")!important;}
.stitch-card-villa__spec .icon-bed{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11V5'/%3E%3Cpath d='M21 19v-7a2 2 0 0 0-2-2H8v9'/%3E%3Cpath d='M3 19h18'/%3E%3Cpath d='M3 11h5'/%3E%3Cpath d='M8 10V8a2 2 0 0 0-2-2H3'/%3E%3C/svg%3E")!important;}
.stitch-card-villa__spec .icon-sofa{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 10V8a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v2'/%3E%3Cpath d='M4 12h16a2 2 0 0 1 2 2v4H2v-4a2 2 0 0 1 2-2Z'/%3E%3Cpath d='M5 18v2M19 18v2'/%3E%3C/svg%3E")!important;}
.stitch-card-villa__spec .icon-bath{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h18v2a6 6 0 0 1-6 6H8a6 6 0 0 1-6-6v-2h2Z'/%3E%3Cpath d='M6 12V5a2 2 0 0 1 2-2h1'/%3E%3Cpath d='M11 4 9 6'/%3E%3Cpath d='M7 20l-1 2M18 20l1 2'/%3E%3C/svg%3E")!important;}
.stitch-card-villa__spec .icon-expand{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3H3v5'/%3E%3Cpath d='M3 3l7 7'/%3E%3Cpath d='M16 3h5v5'/%3E%3Cpath d='M21 3l-7 7'/%3E%3Cpath d='M8 21H3v-5'/%3E%3Cpath d='M3 21l7-7'/%3E%3Cpath d='M16 21h5v-5'/%3E%3Cpath d='M21 21l-7-7'/%3E%3C/svg%3E")!important;}
@media(max-width:991px){.stitch-villa-grid{grid-template-columns:1fr!important;}}

/* FORCE SHORTCODE FULL WIDTH */
.elementor-widget-shortcode,
.elementor-widget-shortcode > .elementor-widget-container,
.elementor-widget-shortcode .elementor-shortcode,
.wpys-villa-listing,
.wpys-villa-results,
.wpys-villa-results--standalone,
.stitch-villa-results,
.stitch-villa-grid{
  width:100%!important;
  max-width:100%!important;
  inline-size:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

.stitch-villa-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  justify-content:stretch!important;
}

/* IMAGE HEIGHT BOOST */
.stitch-card-villa{
  height:692px!important;
}
.stitch-card-villa__media{
  height:484px!important;
}

.stitch-card-villa__media::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border:5px solid rgba(255,255,255,.55)!important;
  border-radius:16px!important;
  pointer-events:none!important;
  z-index:2!important;
  box-sizing:border-box!important;
}

/* STITCH LIST SKELETON LOADING */
.stitch-villa-skeleton[hidden]{display:none!important;}
.stitch-villa-skeleton{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px 19px!important;
}
.stitch-card-villa--skeleton{
  pointer-events:none!important;
  overflow:hidden!important;
}
.stitch-card-villa--skeleton .stitch-card-villa__media,
.stitch-card-villa--skeleton .sk-line,
.stitch-card-villa--skeleton .sk-row i,
.stitch-card-villa--skeleton .sk-pills b{
  background:linear-gradient(90deg,#e8e8e8 0%,#f8f8f8 45%,#e8e8e8 90%)!important;
  background-size:220% 100%!important;
  animation:wpys-stitch-skeleton 1.15s ease-in-out infinite!important;
}
.stitch-card-villa--skeleton .stitch-card-villa__media span{display:none!important;}
.stitch-card-villa--skeleton .stitch-card-villa__media::before{border-color:rgba(255,255,255,.65)!important;}
.stitch-card-villa--skeleton .stitch-card-villa__body{padding:20px 18px 0!important;}
.stitch-card-villa--skeleton .sk-line{height:12px!important;border-radius:999px!important;margin:0 0 10px!important;}
.stitch-card-villa--skeleton .sk-line--sm{width:82px!important;}
.stitch-card-villa--skeleton .sk-line--lg{width:190px!important;height:24px!important;margin-bottom:28px!important;}
.stitch-card-villa--skeleton .sk-row{display:flex!important;gap:17px!important;margin:0 0 24px!important;}
.stitch-card-villa--skeleton .sk-row i{display:block!important;width:58px!important;height:13px!important;border-radius:999px!important;}
.stitch-card-villa--skeleton .sk-pills{display:flex!important;flex-wrap:wrap!important;gap:8px 7px!important;}
.stitch-card-villa--skeleton .sk-pills b{display:block!important;width:118px!important;height:27px!important;border-radius:999px!important;}
@keyframes wpys-stitch-skeleton{0%{background-position:120% 0}100%{background-position:-120% 0}}
@media(max-width:991px){.stitch-villa-skeleton{grid-template-columns:1fr!important;}}

/* CARD INNER ITEMS TARGET FROM SCREENSHOT */
.stitch-card-villa__circle{width:40px!important;height:40px!important;top:20px!important;}
.stitch-card-villa__circle--left{left:20px!important;}
.stitch-card-villa__circle--right{right:20px!important;}
.stitch-card-villa__circle svg{width:24px!important;height:24px!important;min-width:24px!important;max-width:24px!important;flex-basis:24px!important;}
.stitch-card-villa__hero-copy{left:20px!important;bottom:21px!important;}
.stitch-card-villa__hero-copy h3{font-size:24px!important;line-height:28px!important;}
.stitch-card-villa__hero-copy h3 a{font-size:inherit!important;line-height:inherit!important;font-weight:inherit!important;color:inherit!important;}
.stitch-card-villa__hero-copy p{font-size:16px!important;line-height:20px!important;margin-top:6px!important;}
.stitch-card-villa__thumbs{right:20px!important;bottom:23px!important;gap:7px!important;}
.stitch-card-villa__thumbs img{width:108px!important;height:84px!important;border-radius:13px!important;}
.stitch-card-villa__price-prefix{font-size:14px!important;margin-bottom:7px!important;}
.stitch-card-villa__price{font-size:32px!important;letter-spacing:-.7px!important;}
.stitch-card-villa__price-label{font-size:14px!important;margin-left:7px!important;}
.stitch-card-villa__rating-top{font-size:16px!important;gap:9px!important;}
.stitch-card-villa__rating-divider{height:21px!important;}
.stitch-card-villa__stars{font-size:24px!important;letter-spacing:.5px!important;margin-top:8px!important;}
.stitch-card-villa__specs{margin-top:33px!important;gap:21px!important;font-size:14px!important;}
.stitch-card-villa__spec .icon{width:19px!important;height:19px!important;margin-right:7px!important;}
.stitch-card-villa__tags{margin-top:30px!important;gap:10px 9px!important;}
.stitch-card-villa__tag{height:34px!important;padding:0 18px!important;border-radius:999px!important;font-size:14px!important;}

/* SIMPLE LIST VARIANT: [wpys_villa_list layout="simple"] */
.stitch-villa-results--simple .wpys-villa-results__head{display:none!important;}
.simple-villa-carousel{
  width:100%!important;
  overflow:hidden!important;
  position:relative!important;
}
.simple-villa-carousel:before,
.simple-villa-carousel:after{
  content:""!important;
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  width:180px!important;
  z-index:3!important;
  pointer-events:none!important;
}
.simple-villa-carousel:before{left:0!important;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,0) 100%)!important;}
.simple-villa-carousel:after{right:0!important;background:linear-gradient(270deg,#fff 0%,rgba(255,255,255,0) 100%)!important;}
.simple-villa-track{
  display:flex!important;
  width:max-content!important;
  gap:24px!important;
  will-change:transform!important;
  animation:wpysSimpleVillaMarquee 28s linear infinite!important;
}
.simple-villa-carousel:hover .simple-villa-track{animation-play-state:paused!important;}
@keyframes wpysSimpleVillaMarquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-25%,0,0)}}
.simple-villa-card{
  flex:0 0 420px!important;
  width:420px!important;
}
.simple-villa-card{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-family:Geist,Inter,"SF Pro Display",Arial,sans-serif!important;
}
.simple-villa-card__link{
  display:block!important;
  position:relative!important;
  min-height:460px!important;
  aspect-ratio:420/520!important;
  overflow:hidden!important;
  border-radius:16px!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  text-decoration:none!important;
  color:#fff!important;
}
.simple-villa-card__link:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  border:5px solid rgba(255,255,255,.46)!important;
  border-radius:16px!important;
  pointer-events:none!important;
}
.simple-villa-card__shade{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.22) 42%,rgba(0,0,0,.72) 100%)!important;
  pointer-events:none!important;
}
.simple-villa-card__arrow{
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  z-index:4!important;
  width:42px!important;
  height:42px!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(255,255,255,.20)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  backdrop-filter:blur(12px)!important;
}
.simple-villa-card__arrow svg{width:20px!important;height:20px!important;fill:none!important;stroke:#fff!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
.simple-villa-card__arrow svg path{fill:none!important;stroke:#fff!important;}
.simple-villa-card__image{display:none!important;
}
.simple-villa-card__content{
  position:absolute!important;
  left:18px!important;
  right:18px!important;
  bottom:18px!important;
  z-index:4!important;
  padding:0!important;
}
.simple-villa-card__content h3{
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:30px!important;
  line-height:36px!important;
  font-weight:700!important;
  letter-spacing:-.03em!important;
}
.simple-villa-card__content p{
  margin:4px 0 0!important;
  padding:0!important;
  color:rgba(255,255,255,.86)!important;
  font-size:21px!important;
  line-height:27px!important;
  font-weight:500!important;
}
@media(max-width:991px){
  .stitch-villa-results--simple{padding-left:0!important;padding-right:0!important;overflow:hidden!important;}
  .simple-villa-track{gap:18px!important;animation-duration:26s!important;}
  .simple-villa-card{flex:0 0 360px!important;width:360px!important;}
  .simple-villa-card__link{min-height:430px!important;aspect-ratio:360/430!important;border-radius:15px!important;}
  .simple-villa-card__link:after{border-width:4px!important;border-radius:15px!important;}
  .simple-villa-carousel:before,.simple-villa-carousel:after{width:96px!important;}
  .simple-villa-card__content{left:18px!important;right:18px!important;bottom:18px!important;}
  .simple-villa-card__content h3{font-size:26px!important;line-height:31px!important;}
  .simple-villa-card__content p{font-size:17px!important;line-height:22px!important;margin-top:5px!important;}
  .simple-villa-card__arrow{width:38px!important;height:38px!important;top:14px!important;right:14px!important;}
  .simple-villa-card__arrow svg{width:18px!important;height:18px!important;}
}
@media(max-width:767px){
  .stitch-villa-results--simple{padding-left:0!important;padding-right:0!important;}
  .simple-villa-carousel{overflow:visible!important;}
  .simple-villa-carousel:before,.simple-villa-carousel:after{display:none!important;}
  .simple-villa-track{gap:14px!important;animation-duration:24s!important;}
  .simple-villa-track{display:grid!important;width:100%!important;grid-template-columns:1fr!important;animation:none!important;transform:none!important;}
  .simple-villa-card--clone{display:none!important;}
  .simple-villa-card{flex:0 0 78vw!important;width:78vw!important;max-width:340px!important;}
  .simple-villa-card{width:100%!important;max-width:none!important;flex:none!important;}
  .simple-villa-card__link{min-height:390px!important;aspect-ratio:340/390!important;border-radius:14px!important;}
  .simple-villa-card__link:after{border-width:4px!important;border-radius:14px!important;}
  .simple-villa-card__content{left:16px!important;right:16px!important;bottom:16px!important;}
  .simple-villa-card__content h3{font-size:23px!important;line-height:28px!important;}
  .simple-villa-card__content p{font-size:15px!important;line-height:20px!important;margin-top:4px!important;}
  .simple-villa-card__arrow{width:36px!important;height:36px!important;top:13px!important;right:13px!important;}
  .simple-villa-card__arrow svg{width:17px!important;height:17px!important;}
}
@media(max-width:420px){
  .simple-villa-card{width:100%!important;max-width:none!important;}
  .simple-villa-card__link{min-height:360px!important;}
  .simple-villa-card__content h3{font-size:21px!important;line-height:26px!important;}
  .simple-villa-card__content p{font-size:14px!important;line-height:19px!important;}
}

/* PREVENT TAGS CLIPPED BY BODY/CARD */
.stitch-card-villa{
  height:auto!important;
  min-height:692px!important;
  overflow:visible!important;
  border-radius:16px!important;
  background:#f1f1f1!important;
}
.stitch-card-villa__body{
  height:auto!important;
  min-height:208px!important;
  padding-bottom:22px!important;
  overflow:visible!important;
  border-radius:0 0 16px 16px!important;
  background:#f1f1f1!important;
}
.stitch-card-villa__tags{
  padding-bottom:2px!important;
}

/* RATING SHOWCASE: [wpys_villa_rating] */
.wpys-rating-showcase{width:100%!important;background:#fff!important;padding:64px 24px!important;font-family:"Geist",Inter,system-ui,sans-serif!important;color:#0f172a!important;}
.wpys-rating-showcase__inner{width:100%!important;max-width:100%!important;min-height:600px!important;margin:0!important;display:grid!important;grid-template-columns:300px 390px minmax(0,1fr)!important;gap:48px!important;align-items:stretch!important;position:relative!important;}
.wpys-rating-showcase__left{display:flex!important;flex-direction:column!important;justify-content:space-between!important;align-items:flex-start!important;position:relative!important;z-index:2!important;}
.wpys-rating-showcase__nav{display:flex!important;gap:16px!important;padding-top:16px!important;}
.wpys-rating-showcase__nav button{width:56px!important;height:56px!important;border-radius:999px!important;border:1px solid #e5e7eb!important;background:#fff!important;color:#0f172a!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:0!important;line-height:1!important;box-shadow:none!important;cursor:pointer!important;}
.wpys-rating-showcase__nav button svg{width:24px!important;height:24px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.5!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
.wpys-rating-showcase__nav button:nth-child(2){background:#0f172a!important;color:#fff!important;box-shadow:0 12px 24px rgba(15,23,42,.18)!important;}
.wpys-rating-mini-card{width:100%!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:24px!important;padding:20px!important;box-shadow:0 10px 24px rgba(15,23,42,.06)!important;transform:translateX(18px)!important;margin-bottom:56px!important;}
.wpys-rating-mini-card__head{display:flex!important;align-items:center!important;gap:16px!important;margin-bottom:24px!important;}
.wpys-rating-avatar{width:76px!important;height:76px!important;border-radius:20px!important;overflow:hidden!important;background:linear-gradient(135deg,#0f172a,#334155)!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:28px!important;font-weight:800!important;flex:0 0 auto!important;}
.wpys-rating-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.wpys-rating-mini-card h3{margin:0 0 4px!important;font-size:24px!important;line-height:30px!important;font-weight:700!important;color:#0f172a!important;}
.wpys-rating-mini-card p{margin:0!important;color:#64748b!important;font-size:16px!important;line-height:22px!important;}
.wpys-rating-label{margin:0 0 12px!important;color:#0f172a!important;font-size:18px!important;line-height:24px!important;font-weight:600!important;}
.wpys-rating-stars-row{display:flex!important;align-items:center!important;gap:16px!important;}
.wpys-rating-stars-row strong,.wpys-rating-showcase__rating strong{font-size:20px!important;font-weight:800!important;color:#0f172a!important;}
.wpys-rating-stars{display:inline-flex!important;gap:4px!important;align-items:center!important;line-height:1!important;}
.wpys-rating-star{position:relative!important;display:inline-block!important;width:var(--star-size)!important;height:var(--star-size)!important;color:#f1f5f9!important;overflow:hidden!important;}
.wpys-rating-star svg{width:var(--star-size)!important;height:var(--star-size)!important;display:block!important;fill:currentColor!important;}
.wpys-rating-star > span{position:absolute!important;inset:0 auto 0 0!important;overflow:hidden!important;color:#fbbf24!important;white-space:nowrap!important;}
.wpys-rating-showcase__image{width:390px!important;height:600px!important;border-radius:40px!important;overflow:hidden!important;position:relative!important;z-index:1!important;background:#f1f5f9!important;}
.wpys-rating-showcase__image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.wpys-rating-showcase__content{display:flex!important;flex-direction:column!important;justify-content:space-between!important;padding:24px 0!important;background:#fff!important;position:relative!important;z-index:2!important;}
.wpys-rating-showcase__content,.wpys-rating-showcase__content *,.wpys-rating-mini-card,.wpys-rating-mini-card *{transition:opacity .18s ease,transform .18s ease!important;}
.wpys-rating-showcase.is-rating-switching .wpys-rating-showcase__content{opacity:.35!important;transform:translateY(4px)!important;}
.wpys-rating-showcase.is-rating-switching .wpys-rating-mini-card{opacity:.55!important;}
.wpys-rating-showcase__top{display:flex!important;justify-content:space-between!important;gap:24px!important;align-items:flex-start!important;margin-bottom:18px!important;}
.wpys-rating-showcase__top h2{margin:0 0 8px!important;color:#0f172a!important;font-size:32px!important;line-height:40px!important;font-weight:800!important;letter-spacing:-.02em!important;}
.wpys-rating-showcase__top p{margin:0!important;color:#64748b!important;font-size:20px!important;line-height:28px!important;font-weight:500!important;}
.wpys-rating-showcase__rating{text-align:right!important;flex:0 0 auto!important;}
.wpys-rating-showcase__rating p{margin:0 0 8px!important;color:#0f172a!important;font-size:20px!important;line-height:26px!important;font-weight:600!important;}
.wpys-rating-showcase__rating > div{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:16px!important;}
.wpys-rating-showcase__rating strong{font-size:24px!important;line-height:1!important;}
.wpys-rating-chip{display:inline-flex!important;width:max-content!important;align-items:center!important;padding:10px 20px!important;border:1px solid #cbd5e1!important;border-radius:999px!important;background:#fff!important;color:#0f172a!important;font-size:14px!important;line-height:20px!important;font-weight:600!important;margin-bottom:32px!important;}
.wpys-rating-showcase hr{border:0!important;border-top:1px solid #cbd5e1!important;width:100%!important;margin:0 0 32px!important;}
.wpys-rating-review{margin-top:auto!important;}
.wpys-rating-date{margin:0 0 24px!important;color:#64748b!important;font-size:16px!important;line-height:24px!important;font-weight:500!important;}
.wpys-rating-text{margin:0!important;color:#0f172a!important;font-size:28px!important;line-height:1.38!important;font-weight:500!important;letter-spacing:-.02em!important;}
@media(max-width:1100px){.wpys-rating-showcase__inner{grid-template-columns:270px 360px 1fr!important;gap:36px!important}.wpys-rating-showcase__image{width:360px!important;height:560px!important}.wpys-rating-mini-card{transform:translateX(12px)!important}.wpys-rating-showcase__top{flex-direction:column!important}.wpys-rating-showcase__rating{text-align:left!important}.wpys-rating-showcase__rating > div{justify-content:flex-start!important}}
@media(max-width:900px){.wpys-rating-showcase{padding:48px 18px!important}.wpys-rating-showcase__inner{display:flex!important;flex-direction:column!important;min-height:auto!important;gap:24px!important}.wpys-rating-showcase__left{order:2!important}.wpys-rating-showcase__nav{display:none!important}.wpys-rating-mini-card{transform:none!important;margin:0!important}.wpys-rating-showcase__image{order:1!important;width:100%!important;height:440px!important;border-radius:28px!important}.wpys-rating-showcase__content{order:3!important;padding:8px 0 0!important}.wpys-rating-showcase__top h2{font-size:28px!important;line-height:34px!important}.wpys-rating-text{font-size:21px!important}.wpys-rating-mini-card{display:none!important}}
@media(max-width:520px){.wpys-rating-showcase{padding:36px 16px!important}.wpys-rating-showcase__image{height:380px!important;border-radius:24px!important}.wpys-rating-showcase__top h2{font-size:26px!important;line-height:32px!important}.wpys-rating-showcase__top p{font-size:16px!important;line-height:22px!important}.wpys-rating-showcase__rating p{font-size:16px!important}.wpys-rating-showcase__rating > div{gap:8px!important;flex-wrap:wrap!important}.wpys-rating-text{font-size:19px!important;line-height:1.5!important}.wpys-rating-chip{margin-bottom:28px!important}.wpys-rating-showcase hr{margin-bottom:28px!important}.wpys-rating-star{width:20px!important;height:20px!important;font-size:20px!important}}

/* Outline variant (Sign Up, Language) */

/* Solid variant (Currency) */

/* Icon */

/* Divider */

}

/* Outline variant (Sign Up) */

/* Solid variant (Currency) */

/* Language variant */

/* Icon */

/* Divider */

/* ============================================
 * WPYS Villa Header Shortcode
 * ============================================ */

/* Reset theme button styles */

/* Base pill */

/* SVG icons */

/* ---- OUTLINE (Sign Up) ---- */

/* ---- SOLID (Currency) ---- */

/* ---- LANG (Language) ---- */

/* ---- Divider ---- */

/* ---- Responsive ---- */
@media (max-width: 480px) {
}

/* ============================================
 * WPYS Villa Header Shortcode
 * ============================================ */

.wpys-villa-header {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  flex-wrap: nowrap;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.wpys-villa-header button.wpys-villa-header__pill {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
  font: inherit;
  outline: none;
}

.wpys-villa-header .wpys-villa-header__pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 44px;
  padding: 0 20px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.15s ease;
  white-space: nowrap;
  box-sizing: border-box;
}

.wpys-villa-header .wpys-villa-header__pill:hover {
  transform: translateY(-1px);
  text-decoration: none;
}

.wpys-villa-header .wpys-villa-header__icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* OUTLINE (Sign Up / User) */
.wpys-villa-header a.wpys-villa-header__pill--outline,
.wpys-villa-header button.wpys-villa-header__pill--outline {
  background: #FFFFFF;
  border: 1px solid #D1D5DB;
  color: #000000;
}
.wpys-villa-header .wpys-villa-header__pill--outline span { color: #000000; }
.wpys-villa-header .wpys-villa-header__pill--outline .wpys-villa-header__icon { stroke: #000000; }
.wpys-villa-header .wpys-villa-header__pill--outline:hover {
  background: #f9f9f9;
  border-color: #a8aab0;
  color: #000000;
}

/* SOLID (Currency) */
.wpys-villa-header a.wpys-villa-header__pill--solid,
.wpys-villa-header button.wpys-villa-header__pill--solid {
  background: #0F0F0F;
  border: 1px solid #0F0F0F;
  color: #FFFFFF;
}
.wpys-villa-header .wpys-villa-header__pill--solid span,
.wpys-villa-header .wpys-villa-header__pill--solid .wpys-villa-header__currency { color: #FFFFFF; }
.wpys-villa-header .wpys-villa-header__pill--solid .wpys-villa-header__icon,
.wpys-villa-header .wpys-villa-header__pill--solid .wpys-villa-header__chevron { stroke: #FFFFFF; }
.wpys-villa-header .wpys-villa-header__pill--solid:hover {
  background: #1a1a1a;
  color: #FFFFFF;
}

/* LANG (Language) */
.wpys-villa-header a.wpys-villa-header__pill--lang,
.wpys-villa-header button.wpys-villa-header__pill--lang {
  background: #F3F4F6;
  border: 1px solid #D1D5DB;
  color: #000000;
}
.wpys-villa-header .wpys-villa-header__pill--lang span { color: #000000; }
.wpys-villa-header .wpys-villa-header__pill--lang .wpys-villa-header__icon { stroke: #000000; }
.wpys-villa-header .wpys-villa-header__pill--lang:hover {
  background: #e2e2e2;
  border-color: #a8aab0;
  color: #000000;
}

/* Divider */
.wpys-villa-header .wpys-villa-header__divider {
  display: block;
  width: 1px;
  height: 28px;
  background: #C2C4C9;
  flex-shrink: 0;
}

/* Responsive */
@media (max-width: 480px) {
  .wpys-villa-header { gap: 14px; }
  .wpys-villa-header .wpys-villa-header__pill { height: 44px; padding: 0 16px; font-size: 13px; gap: 8px; }
  .wpys-villa-header .wpys-villa-header__icon { width: 16px; height: 16px; }
  .wpys-villa-header .wpys-villa-header__divider { height: 28px; }
}

/* Prevent Elementor shortcode widget from stretching in flex parent */
.elementor-widget.elementor-widget-shortcode:has(.wpys-villa-header) {
  align-self: flex-start !important;
  width: auto !important;
  max-width: 100% !important;
}
.elementor-widget-shortcode:has(.wpys-villa-header) > .elementor-shortcode {
  display: inline-block !important;
  width: auto !important;
}

/* ============================================
 * Auth Modal Styles
 * ============================================ */

.wpys-auth-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wpys-auth-modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
}

.wpys-auth-modal__dialog {
  position: relative;
  background: #FFFFFF;
  border-radius: 20px;
  padding: 40px;
  width: 100%;
  max-width: 520px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
  z-index: 1;
}

.wpys-auth-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none !important;
  border: none !important;
  font-size: 28px;
  line-height: 1;
  color: #0F0F0F !important;
  cursor: pointer;
  padding: 4px 8px;
  appearance: none !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
}

.wpys-auth-modal__title {
  font-size: 24px;
  font-weight: 700;
  color: #0F0F0F;
  margin: 0 0 8px;
  text-align: center;
}

.wpys-auth-modal__subtitle {
  font-size: 14px;
  color: #6B7280;
  text-align: center;
  margin: 0 0 28px;
}

.wpys-auth-modal__subtitle a {
  color: #0F0F0F;
  font-weight: 600;
  text-decoration: none;
}

.wpys-auth-modal__subtitle a:hover {
  text-decoration: underline;
}

/* ---- Auth Form ---- */

.wpys-auth-form__row {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
}

.wpys-auth-form__row .wpys-auth-form__field {
  flex: 1;
  margin-bottom: 0;
}

.wpys-auth-form__field {
  margin-bottom: 16px;
}

.wpys-auth-form__field label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #0F0F0F;
  margin-bottom: 6px;
}

.wpys-auth-form__field input[type="text"],
.wpys-auth-form__field input[type="email"],
.wpys-auth-form__field input[type="tel"],
.wpys-auth-form__field input[type="password"] {
  width: 100% !important;
  height: 48px !important;
  padding: 0 16px !important;
  border: 1px solid #D1D5DB !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  color: #0F0F0F !important;
  background: #F9FAFB !important;
  font-family: inherit !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s !important;
}

.wpys-auth-form__field input:focus {
  border-color: #0F0F0F;
  background: #FFFFFF;
}

.wpys-auth-form__field input::placeholder {
  color: #9CA3AF;
}

/* Password wrap */
.wpys-auth-form__password-wrap {
  position: relative;
}

.wpys-auth-form__password-wrap input {
  padding-right: 48px;
}

.wpys-auth-form__toggle-pw {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none !important;
  border: none !important;
  padding: 4px;
  cursor: pointer;
  color: #9CA3AF !important;
  appearance: none !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
}

.wpys-auth-form__toggle-pw svg {
  width: 20px;
  height: 20px;
}

.wpys-auth-form__toggle-pw.active {
  color: #0F0F0F;
}

/* Options row */
.wpys-auth-form__options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

.wpys-auth-form__checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #374151;
  cursor: pointer;
}

.wpys-auth-form__checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  border: 1.5px solid #D1D5DB;
  border-radius: 50%;
  appearance: none;
  cursor: pointer;
  position: relative;
}

.wpys-auth-form__checkbox input[type="checkbox"]:checked {
  background: #0F0F0F;
  border-color: #0F0F0F;
}

.wpys-auth-form__checkbox input[type="checkbox"]:checked::after {
  content: '✓';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #FFFFFF;
  font-size: 11px;
}

.wpys-auth-form__forgot {
  font-size: 14px;
  font-weight: 600;
  color: #0F0F0F;
  text-decoration: none;
}

.wpys-auth-form__forgot:hover {
  text-decoration: underline;
}

/* Message */
.wpys-auth-form__message {
  padding: 12px 16px;
  border-radius: 10px;
  font-size: 14px;
  margin-bottom: 16px;
}

.wpys-auth-form__message--error {
  background: #FEF2F2;
  color: #DC2626;
  border: 1px solid #FECACA;
}

.wpys-auth-form__message--success {
  background: #F0FDF4;
  color: #16A34A;
  border: 1px solid #BBF7D0;
}

/* Submit button */
.wpys-auth-form__submit {
  width: 100% !important;
  height: 48px !important;
  background: #0F0F0F !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 999px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  appearance: none !important;
  letter-spacing: 0.01em;
}

.wpys-auth-form__submit:hover {
  background: #1a1a1a;
}

.wpys-auth-form__submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Divider */
.wpys-auth-form__divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 24px 0;
}

.wpys-auth-form__divider::before,
.wpys-auth-form__divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #E5E7EB;
}

.wpys-auth-form__divider span {
  font-size: 13px;
  color: #9CA3AF;
  white-space: nowrap;
}

/* Social buttons */
.wpys-auth-form__social {
  display: flex;
  gap: 12px;
}

.wpys-auth-form__social-btn {
  flex: 1;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  height: 48px !important;
  background: #FFFFFF !important;
  border: 1px solid #D1D5DB !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #0F0F0F !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  appearance: none !important;
}

.wpys-auth-form__social-btn:hover {
  background: #F9FAFB !important;
}

.wpys-auth-form__social-btn svg {
  width: 20px;
  height: 20px;
}

/* Footer link */
.wpys-auth-form__footer {
  text-align: center;
  font-size: 14px;
  color: #6B7280;
  margin: 20px 0 0;
}

.wpys-auth-form__footer a {
  color: #0F0F0F;
  font-weight: 600;
  text-decoration: none;
}

.wpys-auth-form__footer a:hover {
  text-decoration: underline;
}

/* ---- Logged-in User Pill ---- */

.wpys-villa-header__avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.wpys-villa-header__pill--user {
  gap: 10px;
}

.wpys-villa-header__pill--user span {
  color: #000000;
  font-weight: 500;
}

/* Responsive modal */
@media (max-width: 560px) {
  .wpys-auth-modal__dialog {
    margin: 16px;
    padding: 28px 20px;
    border-radius: 16px;
  }

  .wpys-auth-form__row {
    flex-direction: column;
    gap: 0;
  }

  .wpys-auth-form__row .wpys-auth-form__field {
    margin-bottom: 16px;
  }
}

/* ============================================
 * Currency Dropdown
 * ============================================ */
.wpys-villa-header__dropdown {
  position: relative !important;
  display: inline-block !important;
}

.wpys-villa-header__dropdown-toggle {
  cursor: pointer !important;
}

.wpys-villa-header__dropdown-toggle .wpys-villa-header__chevron {
  transition: transform 0.2s ease !important;
}

.wpys-villa-header__dropdown.is-open .wpys-villa-header__dropdown-toggle .wpys-villa-header__chevron {
  transform: rotate(180deg) !important;
}

.wpys-villa-header__dropdown-menu {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  min-width: 140px !important;
  background: #FFFFFF !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
  padding: 6px !important;
  z-index: 1000 !important;
  animation: wpysDropdownIn 0.15s ease !important;
}

@keyframes wpysDropdownIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.wpys-villa-header__dropdown-item {
  display: block !important;
  width: 100% !important;
  padding: 10px 14px !important;
  border: none !important;
  background: transparent !important;
  border-radius: 8px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #374151 !important;
  text-align: left !important;
  cursor: pointer !important;
  transition: background 0.15s ease !important;
  line-height: 1.4 !important;
}

.wpys-villa-header__dropdown-item:hover {
  background: #F3F4F6 !important;
  color: #111827 !important;
}

.wpys-villa-header__dropdown-item.is-active {
  background: #0F0F0F !important;
  color: #FFFFFF !important;
}

.wpys-villa-header__dropdown-item.is-active:hover {
  background: #1F1F1F !important;
}
