
/* ==========================================================
   PODHALEBOOKING V54.3
   PREMIUM LOCATION CARDS — pełny override sekcji miejscowości
   ========================================================== */

.pb-clean-seo-locations{
    width:min(1440px,calc(100% - 48px))!important;
    margin:76px auto 58px!important;
}

.pb-clean-loc-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:20px!important;
    align-items:stretch!important;
}

.pb-clean-loc-card.pb-loc-v543{
    position:relative!important;
    isolation:isolate!important;
    min-height:300px!important;
    padding:0!important;
    border-radius:30px!important;
    overflow:hidden!important;
    display:block!important;
    background:#0b0e14!important;
    border:1px solid rgba(211,175,104,.24)!important;
    box-shadow:
        0 22px 55px rgba(4,8,15,.16),
        inset 0 0 0 1px rgba(255,255,255,.025)!important;
    color:#fff!important;
    text-decoration:none!important;
    transform:translateZ(0)!important;
    transition:
        transform .32s cubic-bezier(.2,.75,.2,1),
        box-shadow .32s ease,
        border-color .32s ease!important;
}

.pb-clean-loc-card.pb-loc-v543:hover{
    transform:translateY(-7px)!important;
    border-color:rgba(231,197,126,.68)!important;
    box-shadow:
        0 34px 80px rgba(4,8,15,.28),
        0 0 0 1px rgba(211,175,104,.16)!important;
}

.pb-clean-loc-card.pb-loc-v543 > img{
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    width:100%!important;
    height:100%!important;
    display:block!important;
    object-fit:cover!important;
    object-position:center!important;
    filter:saturate(1.04) contrast(1.03)!important;
    transform:scale(1.015)!important;
    transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .35s ease!important;
}

.pb-clean-loc-card.pb-loc-v543:hover > img{
    transform:scale(1.075)!important;
    filter:saturate(1.12) contrast(1.05)!important;
}

.pb-clean-loc-card.pb-loc-v543::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    pointer-events:none!important;
    background:
        linear-gradient(180deg,rgba(4,7,12,.09) 0%,rgba(4,7,12,.10) 28%,rgba(4,7,12,.36) 58%,rgba(4,7,12,.94) 100%)!important;
}

.pb-clean-loc-card.pb-loc-v543::after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:2!important;
    pointer-events:none!important;
    background:
        radial-gradient(circle at 92% 8%,rgba(224,188,111,.22),transparent 30%),
        linear-gradient(135deg,rgba(255,255,255,.04),transparent 36%)!important;
    opacity:.9!important;
}

.pb-loc-v543-shade{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:2!important;
    height:54%!important;
    pointer-events:none!important;
    background:linear-gradient(0deg,rgba(1,4,9,.35),transparent)!important;
}

.pb-loc-v543-top{
    position:absolute!important;
    z-index:4!important;
    top:16px!important;
    left:16px!important;
    right:16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
}

.pb-loc-v543-top b,
.pb-loc-v543-top i{
    display:inline-flex!important;
    align-items:center!important;
    min-height:31px!important;
    padding:0 11px!important;
    border-radius:999px!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
    font-size:11px!important;
    line-height:1!important;
    font-style:normal!important;
    font-weight:900!important;
    white-space:nowrap!important;
}

.pb-loc-v543-top b{
    background:rgba(7,10,16,.56)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    color:#fff!important;
}

.pb-loc-v543-top i{
    background:linear-gradient(135deg,#f1d493,#caa45d)!important;
    border:1px solid rgba(255,229,169,.34)!important;
    color:#14100a!important;
    -webkit-text-fill-color:#14100a!important;
    box-shadow:0 8px 24px rgba(191,145,62,.22)!important;
}

.pb-clean-loc-card.pb-loc-v543 .pb-loc-v543-body{
    position:absolute!important;
    z-index:5!important;
    left:20px!important;
    right:20px!important;
    bottom:20px!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
}

.pb-clean-loc-card.pb-loc-v543 .pb-loc-v543-body small{
    display:block!important;
    margin:0 0 7px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:rgba(255,255,255,.78)!important;
    -webkit-text-fill-color:rgba(255,255,255,.78)!important;
    font-size:11px!important;
    font-weight:850!important;
    letter-spacing:.12em!important;
    line-height:1.2!important;
    text-transform:uppercase!important;
    text-shadow:0 2px 12px rgba(0,0,0,.55)!important;
}

.pb-clean-loc-card.pb-loc-v543 .pb-loc-v543-body strong{
    display:block!important;
    margin:0!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font-size:clamp(24px,2vw,31px)!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
    font-weight:900!important;
    text-shadow:0 3px 20px rgba(0,0,0,.68)!important;
}

.pb-clean-loc-card.pb-loc-v543 .pb-loc-v543-body em{
    margin-top:14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:42px!important;
    padding:0 4px 0 0!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font-style:normal!important;
    font-size:13px!important;
    font-weight:900!important;
    border-top:1px solid rgba(255,255,255,.18)!important;
    padding-top:12px!important;
}

.pb-clean-loc-card.pb-loc-v543 .pb-loc-v543-body em span{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
}

.pb-clean-loc-card.pb-loc-v543 .pb-loc-v543-body em b{
    width:34px!important;
    height:34px!important;
    border-radius:50%!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:rgba(255,255,255,.10)!important;
    border:1px solid rgba(255,255,255,.19)!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font-size:18px!important;
    transition:transform .3s ease,background .3s ease!important;
}

.pb-clean-loc-card.pb-loc-v543:hover .pb-loc-v543-body em b{
    transform:translateX(3px)!important;
    background:rgba(215,177,101,.22)!important;
}

/* Każdy tekst na karcie jest biały — zabezpieczenie przed starszymi arkuszami */
.pb-clean-seo-locations .pb-loc-v543,
.pb-clean-seo-locations .pb-loc-v543:link,
.pb-clean-seo-locations .pb-loc-v543:visited,
.pb-clean-seo-locations .pb-loc-v543:hover,
.pb-clean-seo-locations .pb-loc-v543:active,
.pb-clean-seo-locations .pb-loc-v543 .pb-loc-v543-body,
.pb-clean-seo-locations .pb-loc-v543 .pb-loc-v543-body strong,
.pb-clean-seo-locations .pb-loc-v543 .pb-loc-v543-body em,
.pb-clean-seo-locations .pb-loc-v543 .pb-loc-v543-body em span{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
}

/* Tablet */
@media(max-width:1180px){
    .pb-clean-loc-grid{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }
}

/* Mniejszy tablet */
@media(max-width:900px){
    .pb-clean-seo-locations{
        width:calc(100% - 28px)!important;
    }
    .pb-clean-loc-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:16px!important;
    }
    .pb-clean-loc-card.pb-loc-v543{
        min-height:280px!important;
    }
}

/* Telefon — dwie bardzo czytelne miniatury obok siebie */
@media(max-width:620px){
    .pb-clean-seo-locations{
        width:calc(100% - 20px)!important;
        margin:46px auto 36px!important;
    }
    .pb-clean-loc-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:10px!important;
    }
    .pb-clean-loc-card.pb-loc-v543{
        min-height:225px!important;
        border-radius:22px!important;
    }
    .pb-loc-v543-top{
        top:10px!important;
        left:10px!important;
        right:10px!important;
        align-items:flex-start!important;
        flex-direction:column!important;
        gap:6px!important;
    }
    .pb-loc-v543-top b,
    .pb-loc-v543-top i{
        min-height:25px!important;
        padding:0 8px!important;
        font-size:9px!important;
    }
    .pb-clean-loc-card.pb-loc-v543 .pb-loc-v543-body{
        left:12px!important;
        right:12px!important;
        bottom:12px!important;
    }
    .pb-clean-loc-card.pb-loc-v543 .pb-loc-v543-body small{
        font-size:8px!important;
        letter-spacing:.08em!important;
    }
    .pb-clean-loc-card.pb-loc-v543 .pb-loc-v543-body strong{
        font-size:18px!important;
        line-height:1.04!important;
    }
    .pb-clean-loc-card.pb-loc-v543 .pb-loc-v543-body em{
        margin-top:9px!important;
        padding-top:8px!important;
        min-height:29px!important;
        font-size:10px!important;
    }
    .pb-clean-loc-card.pb-loc-v543 .pb-loc-v543-body em b{
        width:25px!important;
        height:25px!important;
        font-size:14px!important;
    }
}

/* Bardzo wąskie ekrany — jedna karta w rzędzie, żeby nie ściskać nazw */
@media(max-width:390px){
    .pb-clean-loc-grid{
        grid-template-columns:1fr!important;
        gap:12px!important;
    }
    .pb-clean-loc-card.pb-loc-v543{
        min-height:245px!important;
    }
    .pb-clean-loc-card.pb-loc-v543 .pb-loc-v543-body strong{
        font-size:25px!important;
    }
}
