/* Non-destructive hardening after parent styles; inherits owner palette. */
:root{--pk-qa-outline:#047d6e}
html{scroll-padding-top:6rem}
body{overflow-wrap:break-word}
#content{min-width:0}
:where(a,button,input,select,textarea,summary,[role="button"]):focus-visible{
  outline:3px solid var(--pk-qa-outline);outline-offset:3px;box-shadow:0 0 0 2px #fff;
}
:where(input,select,textarea)[aria-invalid="true"]{outline:2px solid #ad2437;outline-offset:2px}
.primary-nav .main-menu .menu-item-has-children{position:relative}
.primary-nav .pk-submenu-toggle{display:none;cursor:pointer}
/* Parent hover menu also opens for keyboard users. */
@media(min-width:901px){
  .primary-nav .main-menu li:focus-within > .sub-menu{display:block}
  .primary-nav .main-menu .menu-item-has-children > .sub-menu[hidden]{display:none}
}
/* Readable legal/contact/footer text; old theme shrunk much of it to 9–11px. */
.site-footer .footer-intro p,.site-footer .footer-links a,.site-footer .footer-contact li,
.site-footer .footer-contact a,.site-footer .newsletter-card p,.site-footer .footer-bottom{
  font-size:clamp(12px,0.9vw,14px);line-height:1.9;
}
.site-footer h3{font-size:clamp(14px,1vw,16px)}
.site-footer .social-dots a{min-width:42px;min-height:42px;font-size:12px}
.site-footer .trust-badges-wrap,.site-footer .trust-badges{min-width:0}
.site-footer .trust-badges img{width:auto;max-width:100%;max-height:96px;height:auto;object-fit:contain}
.site-footer .trust-badges a{display:inline-flex;align-items:center;justify-content:center;min-width:82px;min-height:88px}
.site-footer .footer-top-grid > *{min-width:0}
.site-footer a{overflow-wrap:anywhere}
:where(.contact-card,.pk-native-contact,.pk-booking,.pk-summary,.content-card){min-width:0}
.pk-native-contact input,.pk-native-contact textarea{min-width:0;max-width:100%}
.pk-native-contact :focus-visible,.pk-booking :focus-visible{scroll-margin:110px}
.faq-list summary{cursor:pointer;scroll-margin-top:110px}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details summary span{display:inline-block;transition:transform .18s ease}
.price-row.has-discount .price-original{text-decoration:line-through;text-decoration-thickness:2px}
.gallery-grid > *{min-width:0}
.gallery-card strong,.gallery-card small{text-wrap:pretty}
@media(max-width:900px){
  .primary-nav .main-menu .menu-item-has-children{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center}
  .primary-nav .main-menu .menu-item-has-children > a{min-width:0;white-space:normal}
  .primary-nav .pk-submenu-toggle{display:grid;place-items:center;min-width:44px;min-height:44px;
    border:1px solid var(--line);border-radius:10px;background:var(--card-bg,#fff);color:var(--navy)}
  .primary-nav .pk-submenu-toggle[aria-expanded="true"] span{transform:rotate(180deg)}
  .primary-nav .main-menu .menu-item-has-children > .sub-menu{grid-column:1/-1;position:static;width:100%;min-width:0;
    margin:4px 0 7px;padding:6px 10px;box-shadow:none;border-radius:10px}
  .primary-nav .main-menu .menu-item-has-children > .sub-menu[hidden]{display:none!important}
  .primary-nav .main-menu .menu-item-has-children > .sub-menu:not([hidden]){display:block}
  .primary-nav .main-menu .sub-menu a{white-space:normal;min-height:44px;display:flex;align-items:center}
  .primary-nav.is-open{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:640px){
  body.pakizgi-has-mobile-actions{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  .mobile-actions{height:calc(64px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px)}
  .mobile-actions a{min-height:44px}
  .site-footer{padding-bottom:12px}
  .site-footer .trust-badges{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
  .pk-reference-layout .price-card{min-width:0}
  :where(.pk-booking,.pk-booking-head,.pk-panel){max-width:100%}
  .hero-visual,.hero-image-frame{max-width:100%}
}
@media(max-width:370px){
  .primary-nav{left:10px;right:10px}
  .site-footer .trust-badges img{max-height:82px}
}
@media(prefers-reduced-motion:reduce){
  .faq-list details summary span,.primary-nav .pk-submenu-toggle span{transition:none}
}

/* Gallery images are content, not CSS backgrounds: responsive, indexed, accessible. */
.gallery-card{isolation:isolate}
.gallery-card > img.gallery-photo{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;z-index:0}
.gallery-card.has-image:before{z-index:1;background:linear-gradient(180deg,rgba(7,26,47,.04) 10%,rgba(7,26,47,.68) 100%)}
.gallery-card > :not(img.gallery-photo){z-index:2}
