/* Holiday Villam ortak villa kartı: ana sayfa, villalar, favoriler ve benzer villalar */
#featured-villas,
#related-villas,
#favorites-list,
.villa-list-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: stretch;
}

.villa-card-pro {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e8eef0;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(15, 61, 74, .10);
    text-align: left;
    cursor: pointer;
    transition: transform .28s ease, box-shadow .28s ease;
}

.villa-card-pro:hover {
    transform: translateY(-5px);
    box-shadow: 0 22px 50px rgba(15, 61, 74, .16);
}

.villa-card-pro::before { display: none !important; }

.villa-card-pro .villa-card-pro-image {
    position: relative;
    width: 100%;
    height: 245px;
    overflow: hidden;
    background: #edf2f3;
    cursor: pointer;
}

.villa-card-pro .villa-card-pro-image > img,
.villa-card-pro .villa-card-gallery-image,
.villa-card-pro .villa-img img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover;
    transform: scale(1);
    opacity: 1;
    transition: transform .45s ease, opacity .18s ease;
}

.villa-card-pro:hover .villa-card-pro-image > img { transform: scale(1.035); }
.villa-card-pro .villa-card-gallery-image.is-changing { opacity: .35; }

.villa-card-pro-badge,
.villa-card-pro-rating {
    position: absolute;
    z-index: 5;
    border-radius: 999px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 6px 18px rgba(0,0,0,.12);
}
.villa-card-pro-badge {
    top: 14px;
    left: 14px;
    padding: 8px 12px;
    background: #d8ad2f;
    color: #fff;
    font-size: 12px;
}
.villa-card-pro-rating {
    right: 14px;
    bottom: 14px;
    padding: 8px 11px;
    background: rgba(255,255,255,.95);
    color: #0d5360;
    font-size: 13px;
}

.villa-card-pro .villa-card-pro-fav {
    position: absolute;
    z-index: 8;
    top: 13px;
    right: 13px;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.94);
    color: #163c45;
    font-size: 23px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 7px 20px rgba(0,0,0,.14);
}
.villa-card-pro .villa-card-pro-fav.active { color: #e11d48; background: #fff1f4; }

.villa-card-gallery-arrow {
    position: absolute;
    z-index: 7;
    top: 50%;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.9);
    color: #0d5360;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
    opacity: 0;
    transform: translateY(-50%);
    transition: opacity .2s ease;
}
.villa-card-gallery-prev { left: 12px; }
.villa-card-gallery-next { right: 12px; }
.villa-card-pro-image:hover .villa-card-gallery-arrow { opacity: 1; }

.villa-card-gallery-dots {
    position: absolute;
    z-index: 6;
    left: 50%;
    bottom: 15px;
    display: flex;
    gap: 5px;
    transform: translateX(-50%);
}
.villa-card-gallery-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255,255,255,.58);
    box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.villa-card-gallery-dot.active { width: 16px; border-radius: 999px; background: #fff; }

.villa-card-pro .villa-card-pro-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 20px 20px 19px;
}
.villa-card-pro .villa-card-pro-body h3 {
    margin: 0 0 6px;
    color: #113f49;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.2;
}
.villa-card-pro .villa-card-pro-location {
    margin: 0 0 15px;
    color: #6b7b80;
    font-size: 13px;
    line-height: 1.4;
}

.villa-card-pro-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 13px;
}
.villa-card-pro-facts > div {
    min-width: 0;
    padding: 10px 5px 9px;
    border-radius: 12px;
    background: #eef5f6;
    text-align: center;
}
.villa-card-pro-facts strong {
    display: block;
    margin-bottom: 2px;
    font-size: 17px;
    line-height: 1;
}
.villa-card-pro-facts b {
    display: inline;
    color: #123f49;
    font-size: 13px;
    font-weight: 800;
}
.villa-card-pro-facts span {
    margin-left: 3px;
    color: #536b71;
    font-size: 11px;
    font-weight: 700;
}

.villa-card-pro .villa-card-pro-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    min-height: 29px;
    margin: 0 0 15px;
}
.villa-card-pro .villa-card-pro-tags span {
    padding: 6px 10px;
    border: 1px solid #cfe6e8;
    border-radius: 999px;
    background: #eef8f8;
    color: #24717b;
    font-size: 11px;
    font-weight: 800;
}

.villa-card-pro-compare {
    position: absolute;
    left: 12px;
    bottom: 12px;
    z-index: 9;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    margin: 0;
    padding: 5px 10px;
    border: 1px solid rgba(255,255,255,.78);
    border-radius: 999px;
    background: rgba(255,255,255,.93);
    color: #31545d;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0,0,0,.14);
    backdrop-filter: blur(5px);
}

.villa-card-pro-compare input {
    width: 15px;
    height: 15px;
    margin: 0;
    accent-color: #0b6971;
    cursor: pointer;
}

.villa-card-pro-compare:has(input:checked) {
    border-color: #d4af37;
    background: #fffaf0;
    color: #765b12;
}

.villa-card-pro .villa-card-pro-price {
    display: block;
    margin: auto 0 0;
    padding: 15px 0 13px;
    border-top: 1px solid #e8edef;
    background: transparent;
    text-align: center;
}
.villa-card-pro .villa-card-pro-price > span {
    display: block;
    margin-bottom: 3px;
    color: #809096;
    font-size: 11px;
    font-weight: 700;
}
.villa-card-pro .villa-card-pro-price > strong {
    display: block;
    margin: 0 0 2px;
    color: #103f49;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.2;
}
.villa-card-pro .villa-card-pro-price > small {
    color: #8b969a;
    font-size: 10px;
}

.villa-card-pro .villa-card-pro-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 45px;
    margin: 0;
    padding: 11px 15px;
    border-radius: 12px;
    background: #d8ad2f;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    box-shadow: none;
}
.villa-card-pro .villa-card-pro-button:hover { background: #c59b23; transform: none; box-shadow: none; }

.villa-card-pro-remove {
    width: 100%;
    margin-top: 9px;
    padding: 10px 12px;
    border: 1px solid #efc8d0;
    border-radius: 11px;
    background: #fff6f8;
    color: #c6284d;
    font-weight: 800;
    cursor: pointer;
}

.favorites-page .villa-page-wrapper { display: block; padding: 55px 8%; }
.favorites-page .villa-results { width: 100%; max-width: 1240px; margin: 0 auto; }
.favorites-empty { grid-column: 1 / -1; padding: 50px 20px; text-align: center; }
.favorites-empty a { display: inline-block; margin-top: 15px; color: #0d5360; font-weight: 800; }

@media (max-width: 1100px) {
    #featured-villas, #related-villas, #favorites-list, .villa-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    #featured-villas, #related-villas, #favorites-list, .villa-list-grid { grid-template-columns: 1fr; }
    .villa-card-pro .villa-card-pro-image { height: 225px; }
    .villa-card-gallery-arrow { opacity: 1; }
}

/* V2 - Villalar sayfasında daha ferah kart yerleşimi ve premium etkileşim */
.villas-content .villa-list-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
}

.villa-card-pro .villa-card-pro-body h3,
.villa-card-pro .villa-card-pro-location,
.villa-card-pro-facts > div,
.villa-card-pro .villa-card-pro-tags span,
.villa-card-pro .villa-card-pro-button {
    transition: .25s ease;
}

.villa-card-pro:hover .villa-card-pro-body h3 {
    color: #0b6f78;
}

.villa-card-pro-facts > div:hover {
    background: #e4f1f2;
    transform: translateY(-2px);
    box-shadow: 0 7px 16px rgba(15, 83, 96, .08);
}

.villa-card-pro .villa-card-pro-tags span:hover {
    background: #0d6f78;
    border-color: #0d6f78;
    color: #fff;
    transform: translateY(-1px);
}

.villa-card-pro .villa-card-pro-button {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0d7f73, #0b6c63);
    box-shadow: 0 8px 20px rgba(11, 108, 99, .18);
}
.villa-card-pro .villa-card-pro-button::before {
    content: "";
    position: absolute;
    top: 0;
    left: -140%;
    width: 70%;
    height: 100%;
    background: linear-gradient(
        120deg,
        transparent,
        rgba(212, 175, 55, .65),
        transparent
    );
    transition: left .6s ease;
}

.villa-card-pro:hover .villa-card-pro-button::before {
    left: 170%;
}
.villa-card-pro .villa-card-pro-button::after {
    content: "›";
    position: absolute;
    right: 16px;
    font-size: 23px;
    line-height: 1;
    transition: transform .25s ease;
}

.villa-card-pro .villa-card-pro-button:hover,
.villa-card-pro .villa-card-pro-button:focus {
    background: linear-gradient(135deg, #d4af37, #c59b23);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(212, 175, 55, .35);
}
.villa-card-pro .villa-card-pro-button:hover::after,
.villa-card-pro .villa-card-pro-button:focus::after {
    transform: translateX(4px);
}

.villa-card-pro:active {
    transform: translateY(-2px) scale(.995);
}

@media (max-width: 980px) {
    .villas-content .villa-list-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   FAVORİLER - TEK / İKİ KARTTA KART GENİŞLİĞİNİ KORU
========================================================= */
#favorites-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
    align-items: stretch;
}

#favorites-list .villa-card-pro {
    width: 100% !important;
    max-width: none !important;
}

@media (max-width: 1100px) {
    #favorites-list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    #favorites-list {
        grid-template-columns: 1fr !important;
    }
}



/* =========================================================
   HOLIDAY VILLAM - VILLA CARD PRO V3
   Son dakika kartlarının kompakt premium tasarım dili
========================================================= */
.villa-card-pro{
    border:1px solid #e1eaed;
    border-radius:20px;
    box-shadow:0 10px 28px rgba(15,61,74,.08);
    transition:transform .25s ease,box-shadow .25s ease;
}
.villa-card-pro:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 35px rgba(15,61,74,.13);
}
.villa-card-pro .villa-card-pro-image{
    height:220px;
}
.villa-card-pro-badge{
    top:13px;
    left:13px;
    padding:7px 10px;
    border-radius:10px;
    background:#fff3c7;
    color:#775300;
    font-size:11px;
    box-shadow:0 6px 18px rgba(0,0,0,.10);
}
.villa-card-pro-rating{
    right:13px;
    bottom:13px;
    padding:7px 10px;
    border-radius:10px;
    color:#0b5368;
    font-size:12px;
}
.villa-card-pro .villa-card-pro-fav{
    width:37px;
    height:37px;
    top:12px;
    right:12px;
    font-size:21px;
}
.villa-card-pro .villa-card-pro-body{
    padding:17px;
}
.villa-card-pro .villa-card-pro-body h3{
    margin-bottom:5px;
    color:#123f50;
    font-size:19px;
}
.villa-card-pro .villa-card-pro-location{
    margin-bottom:13px;
    color:#7b838a;
    font-size:13px;
}
.villa-card-pro-facts{
    gap:7px;
    margin-bottom:12px;
}
.villa-card-pro-facts > div{
    padding:8px 5px;
    border:1px solid #dce9ed;
    border-radius:10px;
    background:#f1f8fa;
}
.villa-card-pro-facts strong{
    display:inline;
    margin:0 3px 0 0;
    font-size:13px;
}
.villa-card-pro-facts b{
    color:#0b5368;
    font-size:12px;
}
.villa-card-pro-facts span{
    color:#315b68;
    font-size:10.5px;
}
.villa-card-pro .villa-card-pro-tags{
    gap:6px;
    min-height:25px;
    margin-bottom:12px;
}
.villa-card-pro .villa-card-pro-tags span{
    padding:5px 9px;
    border-color:#d7e9ec;
    background:#f5fafb;
    color:#315b68;
    font-size:10px;
}
.villa-card-pro .villa-card-pro-price{
    margin-top:auto;
    padding:12px 0 11px;
    text-align:left;
}
.villa-card-pro .villa-card-pro-price > span{
    margin-bottom:3px;
    color:#8a9298;
    font-size:10px;
}
.villa-card-pro .villa-card-pro-price > strong{
    color:#075b70;
    font-size:16px;
}
.villa-card-pro .villa-card-pro-price > small{
    font-size:9.5px;
}
.villa-card-pro .villa-card-pro-button{
    min-height:42px;
    padding:10px 13px;
    border-radius:10px;
    background:#0b5d73;
    font-size:12px;
    box-shadow:0 6px 14px rgba(11,93,115,.16);
}
.villa-card-pro .villa-card-pro-button:hover,
.villa-card-pro .villa-card-pro-button:focus{
    background:#0a5266;
    transform:translateY(-1px);
    box-shadow:0 9px 18px rgba(11,93,115,.22);
}
.villa-card-pro .villa-card-pro-button::before{
    display:none;
}
.villa-card-pro .villa-card-pro-button::after{
    font-size:20px;
}
.villa-card-pro-remove{
    margin-top:7px;
    padding:9px 11px;
    font-size:11px;
}
@media(max-width:700px){
    .villa-card-pro .villa-card-pro-image{height:210px}
    .villa-card-pro .villa-card-pro-body{padding:15px}
}


/* SADECE VİLLALAR SAYFASI - KİŞİ / ODA / BANYO TEK SATIR */
.villas-content .villa-card-pro-facts > div{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;
    padding:9px 6px !important;
    min-height:0 !important;
    border:1px solid #dce9ed !important;
    border-radius:10px !important;
    background:#f1f8fa !important;
}

.villas-content .villa-card-pro-facts strong{
    display:inline !important;
    margin:0 !important;
    font-size:14px !important;
    line-height:1 !important;
}

.villas-content .villa-card-pro-facts b{
    display:inline !important;
    font-size:12px !important;
    line-height:1.2 !important;
}

.villas-content .villa-card-pro-facts span{
    display:inline !important;
    margin:0 !important;
    font-size:10.5px !important;
    line-height:1.2 !important;
}


/* VILLA CARD PRO - FİYAT + İNCELE AYNI SATIR / TÜM ORTAK KARTLAR */
.villa-card-pro .villa-card-pro-price{
    position:relative !important;
    min-height:68px !important;
    padding:12px 112px 10px 0 !important;
    text-align:left !important;
}

.villa-card-pro .villa-card-pro-button{
    position:absolute !important;
    right:20px !important;
    bottom:19px !important;
    width:auto !important;
    min-width:88px !important;
    min-height:38px !important;
    margin:0 !important;
    padding:9px 27px 9px 14px !important;
    border-radius:10px !important;
    background:#0b5d73 !important;
    font-size:12px !important;
    box-shadow:0 6px 14px rgba(11,93,115,.16) !important;
}

.villa-card-pro .villa-card-pro-button:hover,
.villa-card-pro .villa-card-pro-button:focus,
.villa-card-pro .villa-card-pro-button:active{
    background:#d4af37 !important;
    color:#fff !important;
    transform:translateY(-1px) !important;
    box-shadow:0 9px 20px rgba(212,175,55,.30) !important;
}

.villa-card-pro .villa-card-pro-button::before{
    display:none !important;
}

.villa-card-pro .villa-card-pro-button::after{
    right:11px !important;
    font-size:19px !important;
}

@media(max-width:700px){
    .villa-card-pro .villa-card-pro-price{
        padding-right:105px !important;
    }
    .villa-card-pro .villa-card-pro-button{
        right:15px !important;
        bottom:17px !important;
    }
}


/* FAVORİLER - İNCELE BUTONUNU FİYATLA AYNI HİZAYA AL */
#favorites-list .villa-card-pro .villa-card-pro-button{
    bottom:72px !important;
}

#favorites-list .villa-card-pro .villa-card-pro-price{
    padding-right:112px !important;
}

#favorites-list .villa-card-pro-remove{
    position:relative !important;
    z-index:2;
    margin-top:8px !important;
}

@media(max-width:700px){
    #favorites-list .villa-card-pro .villa-card-pro-button{
        bottom:70px !important;
    }
}


/* TÜM ORTAK VİLLA KARTLARI - FİYAT SİYAH, İNCELE BİR TIK YUKARI */
.villa-card-pro .villa-card-pro-price > strong{
    color:#111827 !important;
}

.villa-card-pro .villa-card-pro-button{
    bottom:23px !important;
}

/* Favorilerde alt buton bulunduğu için kendi hizası korunur */
#favorites-list .villa-card-pro .villa-card-pro-button{
    bottom:76px !important;
}

@media(max-width:700px){
    .villa-card-pro .villa-card-pro-button{
        bottom:21px !important;
    }

    #favorites-list .villa-card-pro .villa-card-pro-button{
        bottom:74px !important;
    }
}


/* ORTAK VİLLA KARTLARI - FİYAT DAHA İNCE */
.villa-card-pro .villa-card-pro-price > strong{
    font-weight:650 !important;
    letter-spacing:-0.1px;
}


/* ORTAK VİLLA KARTLARI - ZARİF ÇERÇEVE / ALTIN ETKİLEŞİM */
#featured-villas .villa-card-pro,
#related-villas .villa-card-pro,
#favorites-list .villa-card-pro,
.villa-list-grid .villa-card-pro{
    border:1px solid #d9e7ea !important;
    transition:border-color .25s ease, transform .28s ease, box-shadow .28s ease !important;
}

#featured-villas .villa-card-pro:hover,
#featured-villas .villa-card-pro:focus-within,
#related-villas .villa-card-pro:hover,
#related-villas .villa-card-pro:focus-within,
#favorites-list .villa-card-pro:hover,
#favorites-list .villa-card-pro:focus-within,
.villa-list-grid .villa-card-pro:hover,
.villa-list-grid .villa-card-pro:focus-within{
    border-color:#d4af37 !important;
    box-shadow:0 18px 42px rgba(15,61,74,.13), 0 0 0 1px rgba(212,175,55,.08) !important;
}

#featured-villas .villa-card-pro:active,
#related-villas .villa-card-pro:active,
#favorites-list .villa-card-pro:active,
.villa-list-grid .villa-card-pro:active{
    border-color:#c99d24 !important;
}
