
/* ================================================================
   PODHALEBOOKING V53 — MOBILE CONVERSION
   Mobile-first warstwa UX dla index.php + obiekt.php.
   Nie zmienia backendu / CMS / danych.
   ================================================================ */

.v53-mobile-bar,
.v53-property-bar,
.v53-search-sheet,
.v53-mobile-top{
  display:none;
}

@media(max-width:768px){

  html{scroll-padding-top:74px}
  body{padding-bottom:78px!important}

  /* HEADER — mniej miejsca, większa czytelność */
  .elm-header{
    min-height:62px!important;
    border-bottom:1px solid rgba(207,166,85,.18)!important;
  }
  .elm-header-shell,.elm-header.scrolled .elm-header-shell{
    min-height:62px!important;
    width:calc(100% - 18px)!important;
    grid-template-columns:1fr auto!important;
    gap:8px!important;
  }
  .elm-brand{min-width:0!important}
  .elm-logo{width:42px!important;height:34px!important;flex-basis:42px!important}
  .elm-brand strong{font-size:14px!important;letter-spacing:.12em!important}
  .elm-brand small{display:none!important}
  .elm-menu-toggle{
    width:44px!important;height:44px!important;
    display:grid!important;place-items:center!important;
    border-radius:10px!important;
  }

  /* HOME HERO — krótszy, więcej ofert ponad foldem */
  .v50-black-diamond .elm-hero.hero-wow-premium{
    min-height:525px!important;
    height:auto!important;
    padding:92px 12px 34px!important;
  }
  .v50-black-diamond .hero-wow-copy h1{
    margin:10px auto 10px!important;
    font-size:clamp(37px,12vw,54px)!important;
    line-height:.92!important;
    letter-spacing:.005em!important;
  }
  .v50-black-diamond .hero-wow-copy>p{
    max-width:92%!important;
    font-size:9px!important;
    line-height:1.55!important;
    letter-spacing:.08em!important;
  }
  .v50-black-diamond .hero-wow-badge{
    font-size:9px!important;
    letter-spacing:.20em!important;
  }

  /* V52 search on mobile -> compact CTA. Full form lives in sheet */
  .v52-search{
    display:none!important;
  }
  .v53-mobile-top{
    display:grid;
    gap:9px;
    width:100%;
    max-width:520px;
    margin:20px auto 0;
  }
  .v53-mobile-top button{
    min-height:52px;
    border-radius:12px;
    border:1px solid rgba(207,166,85,.38);
    background:linear-gradient(135deg,#f1d58c,#cfa655,#98712d);
    color:#17130b;
    font-size:12px;
    font-weight:950;
    letter-spacing:.04em;
    text-transform:uppercase;
    box-shadow:0 16px 36px rgba(0,0,0,.24);
  }
  .v53-mobile-top small{
    color:rgba(255,255,255,.66);
    text-align:center;
    font-size:9px;
  }

  /* Search bottom-sheet */
  .v53-search-sheet{
    position:fixed;
    inset:0;
    z-index:1000000;
    display:block;
    pointer-events:none;
    opacity:0;
    transition:.24s ease;
  }
  .v53-search-sheet.is-open{
    opacity:1;
    pointer-events:auto;
  }
  .v53-search-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.58);
    backdrop-filter:blur(5px);
  }
  .v53-search-panel{
    position:absolute;
    left:0;right:0;bottom:0;
    max-height:88vh;
    overflow:auto;
    padding:18px 14px calc(18px + env(safe-area-inset-bottom));
    border-radius:24px 24px 0 0;
    border-top:1px solid rgba(207,166,85,.30);
    background:
      radial-gradient(circle at 86% 0,rgba(207,166,85,.12),transparent 28%),
      linear-gradient(180deg,#10222f,#07131d);
    box-shadow:0 -24px 70px rgba(0,0,0,.42);
    transform:translateY(102%);
    transition:.28s cubic-bezier(.2,.8,.2,1);
  }
  .v53-search-sheet.is-open .v53-search-panel{transform:translateY(0)}
  .v53-search-head{
    display:flex;justify-content:space-between;align-items:center;
    margin-bottom:15px;
  }
  .v53-search-head strong{
    color:#fff;
    font:500 25px/1 Georgia,"Times New Roman",serif;
  }
  .v53-search-close{
    width:40px;height:40px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.05);
    color:#fff;
    font-size:23px;
  }
  .v53-search-fields{
    display:grid;
    gap:9px;
  }
  .v53-search-fields label{
    display:grid;
    gap:5px;
    padding:11px 12px;
    border-radius:13px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.08);
  }
  .v53-search-fields label span{
    color:#d8bd77;
    font-size:8px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.09em;
  }
  .v53-search-fields input,.v53-search-fields select{
    width:100%;
    min-height:32px;
    padding:0;
    border:0;
    outline:0;
    background:transparent;
    color:#fff;
    font-size:14px;
    font-weight:800;
  }
  .v53-search-fields input[type="date"]{color-scheme:dark}
  .v53-search-fields select option{color:#17130b;background:#fff}
  .v53-search-submit{
    width:100%;
    min-height:52px;
    margin-top:11px;
    border:0;
    border-radius:12px;
    background:linear-gradient(135deg,#f1d58c,#cfa655,#98712d);
    color:#17130b;
    font-weight:950;
    text-transform:uppercase;
  }

  /* HOMEPAGE — compact sections */
  .v501-discovery,
  .v50-black-diamond .pb-ranking-clean,
  .v50-black-diamond .pb-clean-seo-locations,
  .v50-black-diamond .pb-netflix-cats,
  .v50-black-diamond .pb-trust-wow{
    width:calc(100% - 16px)!important;
    margin:10px auto!important;
    padding:12px!important;
    border-radius:17px!important;
  }
  .v501-discovery{gap:12px!important}
  .v501-discovery>.pb-ultra-safe{padding:13px!important}
  .v50-black-diamond .pb-ultra-safe-head span,
  .v50-black-diamond .pb-ranking-clean-head h2{
    font-size:20px!important;
  }

  /* ULTRA horizontal swipe */
  .v50-black-diamond .pb-ultra-safe-row{
    display:flex!important;
    grid-template-columns:none!important;
    gap:10px!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    padding:2px 1px 9px!important;
    scrollbar-width:none;
  }
  .v50-black-diamond .pb-ultra-safe-row::-webkit-scrollbar{display:none}
  .v50-black-diamond .pb-ultra-safe-card{
    flex:0 0 82%;
    height:310px!important;
    scroll-snap-align:start;
  }

  /* ranking cards 2 col, less vertical height */
  .v50-black-diamond .pb-ranking-clean-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
  .v50-black-diamond .pb-ranking-clean-img{height:125px!important}
  .v50-black-diamond .pb-ranking-clean-body{min-height:105px!important;padding:10px!important}
  .v50-black-diamond .pb-ranking-clean-body h3{font-size:13px!important}

  /* V52 results */
  .v52-results-shell{
    width:calc(100% - 14px)!important;
    margin:8px auto 12px!important;
    padding:14px!important;
    border-radius:16px!important;
  }
  .v52-results-top h2{font-size:29px!important}
  .v52-results-grid{grid-template-columns:1fr!important}
  .v52-result-card{display:grid;grid-template-columns:125px minmax(0,1fr)}
  .v52-result-image{height:100%!important;min-height:154px}
  .v52-result-body{padding:12px!important}
  .v52-result-body h3{font-size:16px!important}
  .v52-result-cta{min-height:34px}

  /* generic mobile bottom navigation on home */
  .v53-mobile-bar{
   
    left:8px;right:8px;bottom:8px;
    z-index:999998;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    padding:7px;
    border-radius:18px;
    border:1px solid rgba(207,166,85,.25);
    background:rgba(7,16,24,.94);
    box-shadow:0 18px 55px rgba(0,0,0,.38);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  .v53-mobile-bar a,.v53-mobile-bar button{
    min-height:48px;
    padding:4px 2px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    border:0;
    background:transparent;
    color:#d6dee3;
    text-decoration:none;
    font-size:8px;
    font-weight:850;
  }
  .v53-mobile-bar i{font-style:normal;font-size:18px}
  .v53-mobile-bar .is-primary{
    border-radius:12px;
    background:linear-gradient(135deg,#f1d58c,#cfa655);
    color:#17130b;
  }

  /* PROPERTY PAGE — conversion layout */
  .property-pro-page{
    padding:76px 10px 92px!important;
  }
  .property-back-floating{display:none!important}
  .property-hero-pro{
    margin-bottom:9px!important;
    padding:22px 18px!important;
    border-radius:18px!important;
  }
  .property-breadcrumb{font-size:10px!important;margin-bottom:12px!important}
  .property-title-row h1{font-size:clamp(32px,10.5vw,48px)!important}
  .property-meta{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:6px!important;
  }
  .property-meta span{
    justify-content:center;
    min-height:35px;
    padding:7px 8px!important;
    font-size:10px!important;
  }
  .property-top-cta{display:none!important}

  /* gallery first image + horizontal thumbs */
  .property-gallery-pro{
    display:block!important;
    margin-bottom:10px!important;
  }
  .gallery-main{
    min-height:320px!important;
    border-radius:18px!important;
  }
  .gallery-main span{
    left:12px!important;bottom:12px!important;
    padding:8px 10px!important;
    font-size:10px!important;
  }
  .gallery-side{
    display:flex!important;
    overflow-x:auto!important;
    gap:7px!important;
    margin-top:7px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .gallery-side::-webkit-scrollbar{display:none}
  .gallery-tile{
    flex:0 0 31%;
    min-height:95px!important;
    border-radius:12px!important;
    scroll-snap-align:start;
  }

  .property-layout-pro{display:block!important}
  .property-main-content{gap:10px!important}
  .property-section-card{
    padding:20px 16px!important;
    border-radius:17px!important;
  }
  .property-section-card h2{font-size:28px!important}
  .property-description{font-size:14px!important;line-height:1.72!important}

  .amenities-pro-grid{
    display:flex!important;
    overflow-x:auto!important;
    gap:8px!important;
    scrollbar-width:none;
  }
  .amenities-pro-grid::-webkit-scrollbar{display:none}
  .amenity-pro{
    flex:0 0 72%;
    min-height:70px!important;
    padding:12px!important;
  }

  /* move booking panel into normal flow */
  .booking-panel-pro{
    position:relative!important;
    top:auto!important;
    margin-top:10px!important;
  }
  .booking-card-pro{
    padding:20px 16px!important;
    border-radius:18px!important;
  }
  .booking-price strong{font-size:32px!important}
  .booking-form-pro{gap:9px!important}
  .booking-form-pro input,.booking-form-pro textarea{
    padding:11px!important;
  }
  .form-row-pro{grid-template-columns:1fr 1fr!important}

  /* Hide duplicate mobile CTA from old property page; V53 replaces it */
  .property-mobile-cta{display:none!important}

  .v53-property-bar{
    position:fixed;
    left:8px;right:8px;bottom:8px;
    z-index:999999;
    display:grid;
    grid-template-columns:1fr 1fr 1.25fr;
    gap:6px;
    padding:7px;
    border:1px solid rgba(207,166,85,.28);
    border-radius:18px;
    background:rgba(7,16,24,.95);
    box-shadow:0 18px 60px rgba(0,0,0,.44);
    backdrop-filter:blur(18px);
  }
  .v53-property-bar a{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    border-radius:12px;
    text-decoration:none;
    color:#fff;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.04);
    font-size:10px;
    font-weight:950;
  }
  .v53-property-bar a.v53-wa{
    color:#dff7e8;
  }
  .v53-property-bar a.v53-book{
    border-color:rgba(207,166,85,.34);
    background:linear-gradient(135deg,#f1d58c,#cfa655);
    color:#17130b;
  }

  /* legal / owner / guide lower parts shorter */
  .v50-black-diamond .portal-legal-box{padding:20px!important}
  .v50-black-diamond .portal-legal-box h2{font-size:26px!important}
  .v50-black-diamond .elm-final.elm-final-fixed,
  .v50-black-diamond .owner-services-cta#przewodnik-podhale-cta{
    padding:24px 18px!important;
  }
}

@media(max-width:390px){
  .v50-black-diamond .pb-ranking-clean-grid{grid-template-columns:1fr!important}
  .v52-result-card{grid-template-columns:105px minmax(0,1fr)}
  .property-meta{grid-template-columns:1fr!important}
}


/* ================================================================
   V53.1 — MOBILE HERO FIRST-SCREEN FIX
   Naprawa: na telefonie HERO było objęte reveal animation V50
   i potrafiło zostać opacity:0. Wymuszamy widoczność pierwszego ekranu.
   ================================================================ */
@media(max-width:768px){

  /* HERO nigdy nie może być ukryte przez V50 reveal */
  .v50-black-diamond > .elm-hero.hero-wow-premium[data-v50-reveal],
  .v50-black-diamond .elm-hero.hero-wow-premium[data-v50-reveal],
  .v50-black-diamond .elm-hero.hero-wow-premium{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    transition:none!important;
  }

  .v50-black-diamond .hero-wow-grid,
  .v50-black-diamond .hero-wow-copy,
  .v50-black-diamond .hero-wow-copy>*{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }

  /* treść ma być ponad zdjęciem / overlayem */
  .v50-black-diamond .hero-wow-grid{
    position:relative!important;
    z-index:25!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 auto!important;
  }

  .v50-black-diamond .hero-wow-copy{
    position:relative!important;
    z-index:26!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    text-align:center!important;
  }

  .v50-black-diamond .hero-wow-badge{
    display:inline-flex!important;
    position:relative!important;
    z-index:27!important;
  }

  .v50-black-diamond .hero-wow-copy h1{
    display:block!important;
    position:relative!important;
    z-index:27!important;
    color:#fff!important;
    text-shadow:0 12px 36px rgba(0,0,0,.70)!important;
  }

  .v50-black-diamond .hero-wow-copy>p{
    display:block!important;
    position:relative!important;
    z-index:27!important;
    color:rgba(255,255,255,.82)!important;
    text-shadow:0 5px 22px rgba(0,0,0,.72)!important;
  }

  /* V53 mobilny przycisk szukania musi być widoczny od razu */
  .v53-mobile-top{
    position:relative!important;
    z-index:30!important;
    display:grid!important;
    opacity:1!important;
    visibility:visible!important;
  }

  /* Background pozostaje filmowy, ale nie przyciemnia treści za mocno */
  .v50-black-diamond .hero-wow-bg{
    z-index:0!important;
  }
  .v50-black-diamond .hero-wow-bg:after{
    background:
      linear-gradient(180deg,rgba(2,7,11,.32) 0%,rgba(2,7,11,.25) 32%,rgba(2,7,11,.48) 67%,rgba(7,16,24,.91) 100%),
      radial-gradient(circle at 50% 42%,rgba(0,0,0,.02),rgba(0,0,0,.28) 78%)!important;
  }

  .v50-black-diamond .hero-wow-bg img{
    filter:saturate(.92) contrast(1.04) brightness(.86)!important;
  }

  /* Pierwszy ekran nie ma być pusty / za wysoki */
  .v50-black-diamond .elm-hero.hero-wow-premium{
    min-height:500px!important;
    height:auto!important;
    padding:96px 14px 34px!important;
    align-items:center!important;
  }

  /* Ukrywamy desktopowe elementy, które na mobile zabierają wysokość */
  .v50-black-diamond .hero-wow-proof,
  .v50-black-diamond .hero-wow-buttons,
  .v50-black-diamond .hero-wow-side,
  .v50-black-diamond .hero-wow-marquee,
  .v501-side-rail,
  .v501-film{
    display:none!important;
  }
}


/* ================================================================
   V53.2 — REMOVE MOBILE HERO OVERLAY COMPLETELY
   ================================================================ */
@media(max-width:768px){

  /* Usuń WSZYSTKIE warstwy przyciemniające HERO */
  .v50-black-diamond .hero-wow-bg:before,
  .v50-black-diamond .hero-wow-bg:after,
  .v50-black-diamond .elm-hero.hero-wow-premium:before,
  .v50-black-diamond .elm-hero.hero-wow-premium:after{
    content:none!important;
    display:none!important;
    opacity:0!important;
    background:none!important;
  }

  .v50-black-diamond .hero-wow-orb,
  .v50-black-diamond .hero-wow-orb.one,
  .v50-black-diamond .hero-wow-orb.two{
    display:none!important;
    opacity:0!important;
  }

  /* Sam HERO nie ma czarnego tła nad zdjęciem */
  .v50-black-diamond .elm-hero.hero-wow-premium{
    background:transparent!important;
    background-color:transparent!important;
    isolation:auto!important;
  }

  /* Zdjęcie zawsze na spodzie, ale NAD tłem strony */
  .v50-black-diamond .hero-wow-bg{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    opacity:1!important;
    visibility:visible!important;
    background:transparent!important;
  }

  .v50-black-diamond .hero-wow-bg img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    opacity:1!important;
    visibility:visible!important;
    object-fit:cover!important;
    object-position:center 50%!important;
    filter:none!important;
    mix-blend-mode:normal!important;
    transform:none!important;
    animation:none!important;
  }

  /* Treść zawsze nad zdjęciem */
  .v50-black-diamond .hero-wow-grid{
    position:relative!important;
    z-index:10!important;
  }

  .v50-black-diamond .hero-wow-copy{
    position:relative!important;
    z-index:11!important;
  }

  /* Jedyny cień pod tekstem, bez nakładki na całe zdjęcie */
  .v50-black-diamond .hero-wow-copy h1,
  .v50-black-diamond .hero-wow-copy>p,
  .v50-black-diamond .hero-wow-badge{
    text-shadow:0 3px 12px rgba(0,0,0,.72),0 12px 35px rgba(0,0,0,.35)!important;
  }

  /* Ciemny pasek tylko na samym dole dla płynnego przejścia do sekcji */
  .v50-black-diamond .elm-hero.hero-wow-premium .v53-mobile-fade{
    position:absolute;
    left:0;right:0;bottom:0;
    height:70px;
    z-index:3;
    pointer-events:none;
    background:linear-gradient(180deg,transparent,rgba(7,16,24,.72));
  }
}
