/* V3.32 – samostatná mobilní vrstva, do 920px. Desktop nad 920px beze změn. */
@media (max-width: 920px) {
  html { scroll-padding-top: 103px; }
  a,button,input,select,textarea { -webkit-tap-highlight-color: rgba(190,175,135,.15); }
  /* Modální okno nemovitosti musí být NAD sticky hlavičkou (z-index:250). */
  body.modal-open .pp-site-header { z-index: 1; }
  #propertyModal.modal { z-index: 5000 !important; inset:0; padding:0; overflow:hidden;
    align-items:stretch;justify-content:stretch; background:rgba(20,21,20,.88); }
  #propertyModal.modal.open { display:flex; }
  #propertyModal .modal-dialog { width:100%;max-width:100%;height:100vh;max-height:100vh;min-height:0;
    margin:0; padding:0; border-radius:0; overflow-y:auto;overflow-x:hidden;
    -webkit-overflow-scrolling:touch; overscroll-behavior:contain; }
  #propertyModal .modal-close { position:fixed !important;z-index:5010 !important;
    top:calc(12px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px));
    width:50px;height:50px;margin:0;float:none;border:2px solid #c7b890;border-radius:50%;
    background:#fff;color:#232523;font:700 30px/1 Arial,Helvetica,sans-serif;
    display:flex;align-items:center;justify-content:center;box-shadow:0 3px 18px rgba(0,0,0,.28); }
  #propertyModal .modal-hero {height:clamp(220px,55vw,350px);}
  #propertyModal .modal-head {display:flex;flex-direction:column;gap:4px;align-items:flex-start;}
  #propertyModal .modal-price {white-space:normal;margin-top:6px;font-size:24px;}
  #propertyModal .modal-gallery { overflow-x:auto;scrollbar-width:thin;gap:8px;padding-bottom:7px; }
  #propertyModal .modal-gallery button {flex:0 0 94px;width:94px;height:64px;}
  #propertyModal .modal-actions {display:grid;grid-template-columns:1fr;gap:10px;}
  #propertyModal .modal-actions > * {min-height:48px;width:100%;white-space:normal;}
  #propertyModal .modal-description { overflow-wrap:anywhere; }
  .toast {left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));max-width:none;}
  .pp-main-nav a { min-height:45px; }
  /* Šipky a mikro-interakce musí používat barvy webu, nikoliv systémové zvýraznění. */
  .arrow, .link-arrow, .listing-official a, .listing-official button, .pp-main-nav a,
  .pp-tool-card a, .svc6-hero-cta, .buyer-service-secondary,
  .editorial-card-read, .editorial-hero-action, .editorial-btn-gold { font-variant-emoji:text; }
  a:active,button:active { -webkit-tap-highlight-color:rgba(190,175,135,.13); }
  .link-arrow { min-width:44px;min-height:44px; }
  .own-carousel-buttons button { min-width:44px;min-height:44px; }
  .listing-official a, .listing-official button { min-height:44px;display:inline-flex;align-items:center; }
  .pp-site-header .pp-menu-toggle {min-width:44px;min-height:44px;}
  /* Zabrání rozbití dlouhých nadpisů a tlačítek na mobilních šířkách. */
  .h2, .svc6-title, .svc6-hero-title, .pp-tools-head h2,
  .editorial-hero h1, .buyer-hero h1 {overflow-wrap:break-word;}
  .btn,.pp-site-header a,.editorial-card a {touch-action:manipulation;}
}
@supports (height:100dvh) {
  @media (max-width:920px) {
    #propertyModal .modal-dialog { height:100dvh;max-height:100dvh; }
    #propertyModal.modal { min-height:100dvh; }
  }
}
@media (max-width:650px) {
  .modal-body {padding:23px 18px 30px;}
  #propertyModal .modal-close {top:calc(10px + env(safe-area-inset-top,0px));right:calc(10px + env(safe-area-inset-right,0px));}
  #propertyModal .modal-hero {height:clamp(230px,68vw,300px);}
  #nemovitosti .own-carousel-tools {align-items:center;}
  #nemovitosti .own-carousel-hint {font-size:10px;line-height:1.45;}
  #nemovitosti #listingGrid .listing-card {min-height:0;}
  .pp-hero-follow {flex-wrap:wrap;row-gap:10px;}
  .pp-main-nav {max-height:calc(100dvh - 75px);overflow-y:auto;overscroll-behavior:contain;}
  .pp-main-nav a {min-height:46px;display:flex;align-items:center;}
  .pp-main-nav .pp-nav-cta {justify-content:center;}
  .field input,.field select,.field textarea {font-size:16px;} /* iOS: nezoomovat při focus */
  .contact-box-smart input,.contact-box-smart select,.contact-box-smart textarea {font-size:16px;}
  #omne .about-right p {overflow-wrap:break-word;}
  .footer-links {row-gap:26px;}
}
@media (max-width:360px) {
  .hero .hero-copy h1 {font-size:clamp(39px,12.8vw,47px);}
  .pp-hero-follow {column-gap:10px;}
  .pp-hero-follow a {font-size:11px;}
  #sluzby .svc6-title {font-size:clamp(39px,11vw,46px);}
  #sluzby .svc6-hero-title {font-size:clamp(34px,10.5vw,39px);}
}


/* 3.32.1: drobné mobilní korekce po testování na 14 stránkách. */
@media (max-width:650px) {
  /* Kariéra: portrét je samostatný vizuální pás, ne úzká orámovaná kartička. */
  .care-hero .care-hero-photo {
    position:relative;left:50%;transform:translateX(-50%);
    width:100vw;max-width:none;height:clamp(390px,108vw,500px);min-height:0;
    padding:0;margin:2px 0 28px;box-shadow:none;border:none;border-radius:0;background:#202321;
  }
  .care-hero .care-hero-photo::before,
  .care-hero .care-hero-photo::after {content:none!important;display:none!important;}
  .care-hero .care-hero-photo img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:none;}
  /* Online nástroje: všechny záložky viditelné bez schované horizontální nabídky. */
  .tools-nav[role="tablist"] {
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;gap:7px;overflow:visible;white-space:normal;
  }
  .tools-nav[role="tablist"] > .tab {width:100%;min-width:0;min-height:54px;
    display:flex;align-items:center;justify-content:flex-start;
    padding:10px 9px;white-space:normal;line-height:1.4;font-size:12px;text-align:left;
  }
  .tools-nav[role="tablist"] > .tab-estimate-link {grid-column:1/-1;min-height:48px;}
  .tools-nav[role="tablist"] > .tab span {flex-shrink:0;}
  /* Potvrzovací stránka: dlouhý e-mail se nikdy nerozšíří mimo telefon. */
  .direct-email a {overflow-wrap:anywhere;word-break:break-word;}
}
@media (max-width:370px) {
  /* Na 320px hlavička nesmí vytlačit mobilní menu mimo displej. */
  .pp-site-header .pp-header-inner {gap:7px;}
  .pp-site-header .pp-brand-cluster {flex:1 1 auto;min-width:0;gap:6px;}
  .pp-site-header .pp-brand-mark {flex:0 0 34px;min-width:0;}
  .pp-site-header .pp-logo {width:33px;height:44px;}
  .pp-site-header .pp-brand-side {flex:1 1 auto;min-width:0;padding-left:7px;}
  .pp-site-header .pp-brand-text {min-width:0;}
  .pp-site-header .pp-brand-text small {white-space:normal;max-width:none;overflow-wrap:break-word;font-size:7.8px;}
  .pp-site-header .pp-menu-toggle {flex:0 0 44px;}
}

@media (max-width:650px) {
  .pp-site-header .pp-header-inner {gap:8px;}
  .pp-site-header .pp-brand-cluster {flex:1 1 auto;min-width:0;}
  .pp-site-header .pp-brand-side {flex:1 1 auto;min-width:0;}
  .pp-site-header .pp-brand-text {min-width:0;}
  .pp-site-header .pp-brand-text small {white-space:normal;overflow-wrap:anywhere;}
  .pp-site-header .pp-menu-toggle {flex:0 0 44px;margin-left:auto;}
}

@media (max-width:650px) {
  .career-page .care-hero-grid {grid-template-columns:minmax(0,1fr);width:calc(100% - 48px);min-width:0;}
  .career-page .care-hero-copy {min-width:0;width:100%;max-width:100%;overflow-wrap:break-word;}
  .career-page .care-hero h1 {font-size:clamp(39px,10.5vw,50px);overflow-wrap:break-word;}
  .career-page .care-hero-photo {min-width:0;max-width:none;width:100vw;}
}


/* v3.35 – tabletová a dotyková revize. Desktop od 1321 px zůstává stejný. */
@media (min-width: 651px) and (max-width: 1320px) {
  /* Detail nemovitosti nad přichycenou hlavičkou; stejné bezpečné chování jako na mobilu. */
  #propertyModal.modal { z-index: 5000 !important; }
  #propertyModal .modal-close {
    z-index: 5010;
    width: 48px; height: 48px; min-width: 48px; min-height: 48px;
    border: 2px solid #c7b890;
    border-radius: 50%;
    color: #222321;
    background: #fff;
    box-shadow: 0 3px 18px rgba(0,0,0,.22);
  }
  /* Tablet / mobil na šířku: menu musí jít celé doscrollovat i na nízké výšce. */
  .pp-main-nav.pp-open {
    max-height: calc(100vh - 82px);
    max-height: calc(100dvh - 82px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  .pp-site-header .pp-menu-toggle { min-width: 48px; min-height: 44px; }
}

@media (min-width: 651px) and (max-width: 920px) {
  /* Na tabletech nelze nenápadně schovávat poslední kalkulačku mimo obraz. */
  .tools-nav[role="tablist"] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
    white-space: normal;
    align-items: stretch;
  }
  .tools-nav[role="tablist"] > .tab,
  .tools-nav[role="tablist"] > .tab-estimate-link {
    width: 100%;
    min-width: 0;
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: normal;
    font-size: 12px;
    line-height: 1.35;
    padding: 10px 8px;
  }
}

/* iPad a telefon se softwarovou klávesnicí: bez samovolného přiblížení při focusu. */
@media (hover: none) and (pointer: coarse) {
  input, select, textarea { font-size: max(16px, 1em); }
}

/* Dialog musí být nad hlavičkou i na velkých monitorech; vzhled stránky bez dialogu to nemění. */
#propertyModal.modal { z-index: 5000; }
