/* Laravel integration: preserve the supplied layout; add native dialog/accessibility behavior. */
@media(min-width:768px) { .event-track .event-card .title-24 { font-size:20px; } }
.homepage-video-dialog {
  margin: auto;
  width: min(960px, 94vw);
  max-width: 94vw;
  padding: 44px 0 0;
  border: 0;
  background: #000;
  color: #fff;
}
.homepage-video-dialog::backdrop { background: rgb(0 0 0 / 85%); }
.homepage-video-dialog iframe,.homepage-video-dialog video { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; max-height: 80vh; }
.homepage-video-close { position: absolute; top: 0; right: 0; width: 44px; height: 44px; font-size: 30px; cursor: pointer; }
.homepage-video-fallback { position: absolute; top: 10px; left: 16px; color: #fff; text-decoration: underline; }
.home-attraction-description { color:#4b4b4b; font-weight:400; }
.news-article { padding-block:64px; font-family:var(--font-body); font-size:18px; line-height:1.55; color:#d0d3dc; }
.news-article p { font:inherit; color:inherit; margin:0; }
.news-article > * + * { margin-top:28px; }
.news-article.prose-content p + p { margin-top:8px; }
.news-article p:empty { display:none; }
@media(max-width:767px) { .news-article { padding-block:40px; font-size:16px; } }
#mobileMenu { max-width:none; max-height:none; padding:0; border:0; color:white; }
#mobileMenu:not([open]) { display:none; }
#mobileMenu[open] { display:block; }
body:has(dialog[open]) { overflow:hidden; }
.header-inner { position:relative; }
.site-header { position:absolute; top:0; left:0; width:100%; }
#mobileMenu .menu-left,#mobileMenu .menu-right { overflow-y:auto; }
.template-languages { position:absolute; right:calc(8% + 58px); top:28px; display:flex; gap:12px; font-size:12px; }
.template-languages [aria-current] { color:#cbff00; }
[aria-disabled=true] { cursor:default; }
.mobile-main-link[aria-disabled] { opacity:.6; }
.request-panel,.request-panel p { color:#14182a; }
.request-panel [class*="text-red-"] { color:#b91c1c; }
.request-panel [class*="text-emerald-"] { color:#065f46; }
.request-panel :focus-visible { outline-color:#3735e2; }
.template-empty { padding:40px; text-align:center; color:white; }
.template-pagination { position:relative; padding:24px; z-index:20; }
[hidden] { display:none !important; }
.template-dialog { position:fixed; inset:0; width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:0; border:0; background:transparent; color:#111; overflow:auto; }
.template-dialog::backdrop { background:#000929e8 url('/template/images/BG.jpg') center / cover; }
.template-dialog:has(.request-frame)::before { content:""; position:absolute; top:30px; left:7%; width:76px; height:34px; background:url('/template/images/logo piramida.svg') center / contain no-repeat; pointer-events:none; }
@keyframes popup-enter { from { opacity:0; translate:0 18px; scale:.98; } to { opacity:1; translate:0 0; scale:1; } }
@keyframes popup-backdrop { from { opacity:0; } to { opacity:1; } }
[data-gallery-image]:not([hidden]) { animation:popup-backdrop 450ms ease-out; }
.template-dialog[open] > section,.homepage-video-dialog[open],#mobileMenu[open] { animation:popup-enter 360ms cubic-bezier(.22,1,.36,1) both; transform-origin:center; }
dialog[open]::backdrop { animation:popup-backdrop 240ms ease-out both; }
:is(.template-dialog,.homepage-video-dialog,#mobileMenu) { opacity:0; transition:opacity 240ms ease,display 240ms allow-discrete,overlay 240ms allow-discrete; }
:is(.template-dialog,.homepage-video-dialog,#mobileMenu)[open] { opacity:1; }
:is(.template-dialog,.homepage-video-dialog,#mobileMenu)::backdrop { opacity:0; transition:opacity 240ms ease,display 240ms allow-discrete,overlay 240ms allow-discrete; }
:is(.template-dialog,.homepage-video-dialog,#mobileMenu)[open]::backdrop { opacity:1; }
.request-frame { position:relative; width:min(522px,100%); isolation:isolate; }
:is(.event-space-section,.job-application-section) { padding:120px 90px 60px; }
.request-frame :is(.event-space-shape,.job-application-shape) { display:block; inset:-88px -66px -26px -24px; width:auto; height:auto; clip-path:polygon(4% 12%,100% 0,88% 96%,0 100%); background:radial-gradient(ellipse at bottom right,#22c55e 10%,#bef264 48%,#8ca640 72%,transparent 100%); transform:none; z-index:-1; }
.request-frame :is(.event-space-card,.job-application-card) { width:100%; padding:40px 46px 46px; }
.request-frame > :is(.event-space-close,.job-application-close) { display:flex; top:-56px; right:-38px; left:auto; transform:none; }
.request-frame > :is(.event-space-close,.job-application-close):hover { transform:rotate(90deg); }
.request-frame :is(.event-space-close-mobile,.job-application-close-mobile) { display:none; }
@media(max-width:600px) {
  :is(.event-space-section,.job-application-section) { padding:80px 24px 40px; }
  .request-frame :is(.event-space-shape,.job-application-shape) { inset:-36px -12px -14px -10px; clip-path:polygon(3% 5%,100% 0,97% 98%,0 100%); }
  .request-frame :is(.event-space-card,.job-application-card) { padding:32px 20px; }
  .request-frame > :is(.event-space-close,.job-application-close) { top:-48px; right:-8px; }
}
.template-dialog .registration-section { min-height:100svh; }
.template-request-notice { font-size:12px; margin:12px 0; color:#555; }
.template-consent { display:flex !important; align-items:flex-start; gap:8px; font-size:12px; margin-top:12px; }
.template-consent input { width:auto !important; height:auto !important; margin-top:4px; flex:none; }
.template-consent span { position:static !important; width:auto !important; height:auto !important; overflow:visible !important; clip:auto !important; white-space:normal !important; font-size:12px; }
.template-success { color:#065f46; padding:12px; background:#ecfdf5; font-size:14px; }
.template-errors { color:#991b1b; padding:12px; background:#fef2f2; font-size:14px; }
.place-popup-description { display:block; overflow:visible; }
.place-popup-header h1 { font-family:var(--font-body); text-transform:none; }
.job-application-title,.event-space-title { font-family:var(--font-body); font-size:22px; }
.template-business-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; font-size:12px; }
.template-business-links p { width:100%; font-size:12px; }
.place-popup-logo img { border-radius:50%; width:100%; height:100%; object-fit:cover; }
#attractions .attraction-card { padding:0; background:transparent; }
#attractions .attraction-card img { border-radius:0; }
#attractions [data-cards]:has(.attraction-card:only-child) { justify-content:center; }
.template-event-filters { position:absolute; top:72px; left:8%; z-index:110; display:flex; gap:18px; font-size:12px; }
.template-event-filters [aria-current] { color:#cbff00; }
@media (min-width:768px) {
    #experiences { --exp-pad:4rem; }
    #experiences .exp-track-wrap { box-sizing:border-box; width:calc(var(--exp-card-w) * var(--exp-count) + 1.25rem * (var(--exp-count) - 1) + 2 * var(--exp-pad)); max-width:100%; padding:0 var(--exp-pad); }
    #experiences [data-exp-prev] { left:.75rem; }
    #experiences [data-exp-next] { right:.75rem; }
}
#experiences button:disabled { opacity:.35; cursor:default; }
#eventsSection,#eventsMobile { background-image:url('/template/images/BG.png'); }
@media(max-width:767px) { .template-languages { right:80px; top:30px; } }
@media(max-width:767px) { #mobileMenu .menu-left,#mobileMenu .menu-right { overflow:visible; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } .intro,.intro-swipe { display:none !important; } }

.leasing-field-label,.leasing-document-field > label { color:#ffffff70; font-size:14px; margin-bottom:6px; }
.leasing-documents-grid > .leasing-document-field { grid-column:span 3; min-width:0; }
.leasing-application-form input[type=file] { padding:12px; font-size:12px; }
.leasing-application-form output { display:block; padding:15px 18px; min-height:51px; border-radius:8px; background:rgba(44,57,91,.78); color:rgba(255,255,255,.92); font-size:14px; }
.leasing-application-form .leasing-offer-error { margin-top:6px; color:#fca5a5; font-size:14px; }
.template-errors,.template-errors p { color:#991b1b !important; }
@media(max-width:767px) { .leasing-documents-grid > .leasing-document-field { grid-column:auto; } }

.leasing-submit-button::before { content:none !important; }
.leasing-submit-button { font-size:14px; }
.leasing-back-button { display:none; }
.leasing-form-gallery:has(img:only-child) { justify-content:center; }
@media (min-width: 768px) {
  .leasing-form-grid-3 > div,
  .leasing-document-field {
    display: flex;
    flex-direction: column;
  }

  .leasing-form-grid-3 > div > label,
  .leasing-document-field > label {
    flex-grow: 1;
  }
}

.leasing-form-carousel:not(:has(.leasing-form-gallery > img)) {
  display: none;
}

.leasing-form-carousel:not(:has(.leasing-form-gallery > img:nth-child(2)))
.leasing-form-carousel-arrow {
  display: none;
}

.contact-layout > * { min-width:0; }
@media(min-width:901px) { .contact-form-shell { padding-bottom:180px; } }
.template-news-hero { min-height:320px; }
@media(max-width:767px) { .template-news-hero { display:grid; align-items:end; } .template-news-hero > img { position:absolute; width:100%; height:100%; object-fit:cover; } .template-news-hero-copy { position:relative; padding:32px 12px; } }
@media(max-width:768px) { .contact-form button { min-width:0; width:100%; } }

/* Retain the supplied intro timing without hiding headers on other pages. */
html:has([data-intro]:not([hidden])),body:has([data-intro]:not([hidden])) { overflow:hidden; }
body:has([data-intro]:not([hidden])) .site-header { opacity:0; pointer-events:none; }
.site-header { transition:opacity .5s ease; }
@media(max-width:1024px) { .intro,.intro-swipe { display:none !important; } }
@media(max-width:767px) {
    .place-popup-close::before,.place-popup-close::after { content:""; position:absolute; width:18px; height:2px; background:currentColor; transform:rotate(45deg); }
    .place-popup-close::after { transform:rotate(-45deg); }
}
