/*
Theme Name: Aqua Expo Event
Version: 1.0
*/

:root{
--primary:#2f9cf4;
--primary-dark:#1e73d8;
--dark:#0d1c2b;
--bg:#f5f9fd;
--card:#ffffff;
--muted:#66768a;
--border:#e6eef6;
--soft:#f1f7fc;

--dark-surface:#17232d;
--dark-surface-2:#1d2b36;
--dark-border:rgba(255,255,255,.12);
--dark-text-soft:rgba(255,255,255,.82);

--drawer-bg:#eef5fb;
--drawer-line:#cfd9e4;
--drawer-heading:#0f2f51;
--drawer-link:#0d2cff;
}

*,
*:before,
*:after{
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
overflow-x:hidden;
}

body{
margin:0;
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
background:var(--bg);
color:var(--dark);
line-height:1.6;
overflow-x:hidden;
}

img{
max-width:100%;
height:auto;
display:block;
}

.container{
width:min(1200px,calc(100% - 40px));
margin:auto;
}

.screen-reader-text{
position:absolute;
left:-9999px;
width:1px;
height:1px;
overflow:hidden;
}

.mobile-menu-checkbox{
position:absolute;
opacity:0;
pointer-events:none;
}

/* HEADER */

.site-header{
background:#fff;
position:sticky;
top:0;
z-index:999;
border-bottom:1px solid #e8eef5;
}

.header-inner{
display:block;
padding:10px 0 0;
}

.mobile-menu-toggle-wrap{
display:none;
}

.site-logo{
display:flex;
align-items:center;
justify-content:flex-start;
margin-bottom:10px;
}

.site-logo img{
height:150px;
width:auto;
max-width:none;
}

.desktop-navigation{
display:flex;
align-items:center;
justify-content:flex-start;
gap:8px;
flex-wrap:wrap;
position:relative;
padding:0 0 8px;
}

.desktop-nav-link,
.ticket-btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:8px 14px;
border-radius:14px;
font-weight:600;
font-size:15px;
color:#2b2b2b;
background:#f1f6fc;
border:1px solid #dbe8f4;
text-decoration:none;
transition:.18s;
min-height:42px;
white-space:nowrap;
cursor:pointer;
font-family:inherit;
}

.desktop-nav-link:hover,
.ticket-btn:hover,
.desktop-mega-item:hover > .desktop-mega-toggle{
background:#e6f2ff;
}

.desktop-mega-item{
position:relative;
padding-bottom:0;
}

.desktop-mega-toggle{
appearance:none;
-webkit-appearance:none;
border:1px solid #dbe8f4;
}

.desktop-mega-toggle::after{
content:"";
display:inline-block;
margin-left:8px;
width:7px;
height:7px;
border-right:2px solid currentColor;
border-bottom:2px solid currentColor;
transform:rotate(45deg) translateY(-1px);
}

.desktop-mega-item:hover > .desktop-mega-toggle{
border-bottom-left-radius:0;
border-bottom-right-radius:0;
}

.desktop-mega-panel{
position:absolute;
left:0;
top:calc(100% - 1px);
width:max-content;
min-width:360px;
background:#fff;
border:1px solid #e5edf5;
border-top:none;
box-shadow:0 20px 40px rgba(9,24,43,.08);
padding:24px 28px;
opacity:0;
visibility:hidden;
pointer-events:none;
transition:opacity .18s ease, visibility .18s ease;
z-index:1200;
}

.desktop-mega-panel.mega-wide{
min-width:760px;
}

.desktop-mega-item:hover .desktop-mega-panel{
opacity:1;
visibility:visible;
pointer-events:auto;
}

.desktop-mega-inner{
display:grid;
gap:26px 36px;
}

.desktop-mega-inner.one-col{
grid-template-columns:1fr;
min-width:220px;
}

.desktop-mega-inner.two-col{
grid-template-columns:repeat(2,minmax(220px,1fr));
min-width:520px;
}

.desktop-mega-inner.three-col{
grid-template-columns:repeat(3,minmax(200px,1fr));
min-width:700px;
}

.desktop-mega-col h4{
margin:0 0 12px;
font-size:24px;
line-height:1.2;
font-weight:700;
color:#1d1d1d;
}

.desktop-mega-col a{
display:block;
text-decoration:none;
color:#5a6776;
font-size:17px;
line-height:1.45;
margin:0 0 8px;
transition:.18s;
}

.desktop-mega-col a:hover{
color:#0d2cff;
}

.desktop-mega-col a:last-child{
margin-bottom:0;
}

/* MOBILE TOGGLE */

.mobile-menu-toggle{
width:52px;
height:52px;
border-radius:16px;
border:1px solid #dbe8f4;
background:#f1f6fc;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
gap:5px;
padding:0;
cursor:pointer;
}

.mobile-menu-toggle span{
display:block;
width:22px;
height:2px;
background:#18334f;
border-radius:2px;
}

/* DRAWER */

.mobile-drawer-overlay{
position:fixed;
inset:0;
background:rgba(10,22,36,.28);
opacity:0;
visibility:hidden;
transition:.25s ease;
z-index:1200;
pointer-events:none;
}

.mobile-drawer{
position:fixed;
top:0;
left:0;
width:min(92vw,420px);
height:100vh;
background:var(--drawer-bg);
box-shadow:12px 0 40px rgba(0,0,0,.18);
transform:translateX(-100%);
transition:.28s ease;
z-index:1300;
display:flex;
flex-direction:column;
}

.mobile-drawer-header{
display:flex;
align-items:center;
justify-content:space-between;
padding:22px 24px;
background:#062a45;
color:#fff;
}

.mobile-drawer-title{
font-size:18px;
font-weight:600;
}

.mobile-drawer-close{
color:#d9eef3;
font-size:42px;
line-height:1;
cursor:pointer;
}

.mobile-drawer-body{
padding:0;
overflow-y:auto;
}

.mobile-drawer-link,
.mobile-drawer-group summary{
display:flex;
align-items:center;
justify-content:space-between;
width:100%;
padding:22px 24px;
border-bottom:1px solid var(--drawer-line);
color:var(--drawer-heading);
text-decoration:none;
font-size:23px;
font-weight:700;
background:transparent;
list-style:none;
cursor:pointer;
}

.mobile-drawer-group summary::-webkit-details-marker{
display:none;
}

.mobile-drawer-group summary::after{
content:"›";
font-size:34px;
line-height:1;
color:#133a60;
transition:transform .2s ease;
}

.mobile-drawer-group[open] summary::after{
transform:rotate(90deg);
}

.mobile-drawer-submenu{
padding:8px 0 14px;
background:#dbeaf6;
border-bottom:1px solid var(--drawer-line);
}

.mobile-drawer-submenu a{
display:block;
padding:18px 34px;
font-size:20px;
font-weight:500;
line-height:1.3;
color:var(--drawer-link);
text-decoration:none;
border-bottom:1px solid rgba(19,58,96,.08);
}

.mobile-drawer-submenu a:last-child{
border-bottom:none;
}

.mobile-ticket-link{
font-weight:700;
}

#mobile-menu-checkbox:checked ~ .mobile-drawer-overlay{
opacity:1;
visibility:visible;
pointer-events:auto;
}

#mobile-menu-checkbox:checked ~ .mobile-drawer{
transform:translateX(0);
}

/* COUNTDOWN */

.countdown-strip{
background:#fff;
border-top:1px solid #eef3f7;
border-bottom:1px solid #eef3f7;
padding:12px 0;
}

.countdown-inner{
display:flex;
justify-content:center;
align-items:center;
}

.countdown-box{
display:flex;
justify-content:center;
gap:12px;
flex-wrap:wrap;
}

.countdown-item{
background:#f0f6fc;
padding:10px 14px;
border-radius:12px;
text-align:center;
border:1px solid #ddeaf6;
min-width:70px;
}

.countdown-item strong{
display:block;
font-size:20px;
font-weight:800;
}

.countdown-item span{
font-size:11px;
color:#6b7b8c;
}

/* HERO */

.hero{
background:
linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.4)),
url("assets/img/hero.jpg");
background-size:cover;
background-position:center;
padding:120px 0;
color:#fff;
}

.hero h1{
font-size:50px;
margin:0 0 16px;
line-height:1.05;
}

.hero p{
font-size:19px;
max-width:600px;
margin:0 0 20px;
}

.hero-ticket{
display:inline-block;
margin-top:20px;
background:#fff;
color:#0d1c2b;
padding:14px 22px;
border-radius:14px;
font-weight:700;
box-shadow:0 12px 30px rgba(0,0,0,.25);
text-decoration:none;
}

.hero-badges{
margin-top:20px;
display:flex;
gap:12px;
flex-wrap:wrap;
}

.hero-badge{
background:rgba(255,255,255,.2);
padding:10px 16px;
border-radius:999px;
backdrop-filter:blur(8px);
border:1px solid rgba(255,255,255,.3);
}

/* SUBPAGE HERO */

.subpage-hero{
padding:90px 0 70px;
background:linear-gradient(180deg,#eef5fc 0%, #f7fbff 100%);
border-bottom:1px solid #e4edf6;
}

.subpage-hero-content{
max-width:760px;
}

.subpage-hero h1{
font-size:46px;
margin:0 0 14px;
line-height:1.05;
}

.subpage-hero p{
margin:0;
font-size:18px;
color:var(--muted);
max-width:680px;
}

/* SECTIONS */

.section{
padding:80px 0;
}

.section-soft{
background:var(--soft);
}

.section-dark{
background:linear-gradient(90deg,#07172d 0%, #08203c 20%, #072341 100%);
color:#fff;
}

.section h2{
font-size:38px;
margin:0 0 10px;
}

.section.section-dark h2,
.section.section-dark h3{
color:#fff;
}

.section > .container > p{
font-size:18px;
color:var(--muted);
max-width:760px;
margin:0 0 28px;
}

/* GRID */

.grid-3{
display:grid;
grid-template-columns:1fr 1fr 1fr;
gap:24px;
}

/* CARDS */

.card{
background:#fff;
padding:28px;
border-radius:18px;
box-shadow:0 10px 30px rgba(0,0,0,.05);
border:1px solid var(--border);
}

.card h3{
margin:0 0 12px;
font-size:22px;
}

.card p{
margin:0 0 14px;
font-size:17px;
color:var(--dark);
line-height:1.7;
}

.card p:last-child{
margin-bottom:0;
}

.card ul{
margin:0 0 18px 18px;
padding:0;
}

.card li{
margin-bottom:10px;
}

.card iframe{
max-width:100%;
}

/* VIDEO EMBED */

.video-box{
position:relative;
padding-bottom:56.25%;
height:0;
overflow:hidden;
border-radius:18px;
margin-top:30px;
}

.video-box iframe{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
border:0;
border-radius:18px;
}

/* TREE */

.tree-panel{
background:linear-gradient(180deg,#8dbbe6 0%, #7fb0df 100%);
border:1px solid #7caeda;
border-radius:30px;
padding:28px;
box-shadow:0 18px 40px rgba(35,83,126,.10);
}

.tree-item{
background:transparent;
border-bottom:1px solid rgba(0,64,128,.08);
}

.tree-item:last-child{
border-bottom:none;
}

.tree-item summary{
list-style:none;
cursor:pointer;
padding:26px 84px 26px 12px;
font-size:34px;
line-height:1.15;
font-weight:500;
color:#1328e0;
position:relative;
}

.tree-item summary::-webkit-details-marker{
display:none;
}

.tree-item summary::after{
content:"⌄";
position:absolute;
right:8px;
top:50%;
transform:translateY(-50%);
width:54px;
height:54px;
border-radius:999px;
background:#f2f4f7;
color:#45c06f;
display:flex;
align-items:center;
justify-content:center;
font-size:28px;
font-weight:700;
box-shadow:0 4px 12px rgba(0,0,0,.08);
}

.tree-item[open] summary{
font-weight:700;
}

.tree-item[open] summary::after{
content:"⌃";
}

.tree-content{
padding:0 12px 24px;
font-size:18px;
color:#15314f;
}

.tree-content p{
margin:0 0 14px;
}

.tree-content p:last-child{
margin-bottom:0;
}

.inline-link{
color:#0d2cff;
font-weight:700;
text-decoration:none;
}

/* MAP */

.map-card{
background:#fff;
padding:34px;
border-radius:22px;
border:1px solid var(--border);
box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.map-card h2{
margin:0 0 10px;
}

.map-card p{
margin:0 0 18px;
color:var(--muted);
font-size:17px;
}

.map-embed{
overflow:hidden;
border-radius:18px;
border:1px solid var(--border);
}

/* CONTACT */

.contact-list-panel{
background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));
border-radius:24px;
overflow:hidden;
border:1px solid rgba(255,255,255,.06);
backdrop-filter:blur(4px);
}

.contact-list-item{
display:grid;
grid-template-columns:60px 1fr;
gap:20px;
padding:28px;
border-bottom:1px solid var(--dark-border);
}

.contact-list-item:last-child{
border-bottom:none;
}

.contact-list-icon{
font-size:26px;
background:rgba(255,255,255,.08);
width:50px;
height:50px;
display:flex;
align-items:center;
justify-content:center;
border-radius:14px;
}

.contact-list-content h3{
margin:0 0 6px;
font-size:20px;
color:#fff;
}

.contact-list-content p{
margin:0;
color:var(--dark-text-soft);
font-size:17px;
}

/* SOCIAL */

.social-section{
margin:0 0 44px;
text-align:center;
}

.footer-social{
padding-bottom:42px;
border-bottom:1px solid rgba(255,255,255,.08);
margin-bottom:42px;
}

.social-section h3{
margin:0 0 28px;
font-size:28px;
color:#fff;
font-weight:500;
}

.social-grid{
display:flex;
justify-content:center;
align-items:center;
gap:18px;
flex-wrap:wrap;
}

.social-card{
width:96px;
height:96px;
border-radius:12px;
display:flex;
align-items:center;
justify-content:center;
text-decoration:none;
box-shadow:0 12px 24px rgba(0,0,0,.18);
transition:transform .2s ease, box-shadow .2s ease;
color:#fff;
}

.social-card:hover{
transform:translateY(-4px);
box-shadow:0 16px 30px rgba(0,0,0,.24);
}

.social-card svg{
width:52px;
height:52px;
display:block;
fill:currentColor;
color:#fff;
}

.social-instagram svg,
.social-rss svg{
fill:none;
stroke:currentColor;
}

.social-instagram svg circle:last-child{
fill:currentColor;
stroke:none;
}

.social-youtube svg path:first-child{
fill:#fff;
}

.social-youtube svg path:last-child{
fill:#d12600;
}

.social-facebook{
background:#4966ac;
}

.social-instagram{
background:linear-gradient(135deg,#f73486,#ff4f45);
}

.social-youtube{
background:#c81f00;
}

.social-rss{
background:#f9923d;
}

/* FOOTER */

.site-footer{
background:#0e1b28;
color:#fff;
padding:50px 0 0;
}

.footer-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
align-items:start;
justify-content:center;
max-width:720px;
margin:0 auto;
text-align:center;
}

.footer-grid-simple{
grid-template-columns:1fr 1fr;
}

.site-footer h3{
margin:0 0 14px;
font-size:20px;
}

.site-footer a{
color:rgba(255,255,255,.8);
text-decoration:none;
}

.site-footer a:hover{
color:#fff;
}

.site-footer ul{
list-style:none;
padding:0;
margin:0;
}

.site-footer li{
margin-bottom:6px;
}

.site-footer p{
margin:0 0 10px;
}

.powered-by-wrap{
width:100%;
margin-top:34px;
padding-top:28px;
border-top:1px solid rgba(255,255,255,.08);
}

.powered-by{
width:100%;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
text-align:center;
margin:0 auto;
}

.powered-by span{
display:block;
font-size:13px;
opacity:.6;
margin-bottom:12px;
}

.powered-by img{
display:block;
margin:0 auto;
max-height:50px;
width:auto;
}

.footer-copyright{
text-align:center;
opacity:.6;
padding:18px 0 34px;
margin:0;
}

.legal-page{
padding:60px 0;
}

.legal-card{
background:#fff;
padding:30px;
border-radius:20px;
border:1px solid var(--border);
}

/* RESPONSIVE */

@media(max-width:1200px){
.desktop-nav-link,
.ticket-btn{
padding:8px 12px;
font-size:14px;
}

.desktop-mega-inner.three-col{
grid-template-columns:repeat(3,minmax(180px,1fr));
min-width:620px;
}
}

@media(max-width:900px){
.grid-3{
grid-template-columns:1fr;
}

.footer-grid{
grid-template-columns:1fr 1fr;
}

.hero h1{
font-size:38px;
}

.subpage-hero h1{
font-size:38px;
}

.tree-item summary{
font-size:28px;
padding-right:76px;
}
}

@media(max-width:640px){
.container{
width:100%;
padding:0 16px;
}

.header-inner{
display:grid;
grid-template-columns:56px 1fr 1px;
align-items:center;
gap:12px;
min-height:auto;
padding:18px 0 14px;
}

.mobile-menu-toggle-wrap{
display:flex;
justify-content:flex-start;
}

.site-logo{
justify-content:center;
width:100%;
margin-bottom:0;
}

.site-logo img{
height:180px !important;
width:auto !important;
max-width:none !important;
margin:0 auto !important;
}

.desktop-navigation{
display:none;
}

.countdown-strip{
padding:10px 0;
}

.countdown-box{
gap:10px;
}

.countdown-item{
min-width:66px;
padding:10px 8px;
}

.mobile-drawer{
width:min(92vw,390px);
}

.mobile-drawer-link,
.mobile-drawer-group summary{
padding:20px 22px;
font-size:18px;
}

.mobile-drawer-group summary::after{
font-size:30px;
}

.mobile-drawer-submenu a{
padding:16px 28px;
font-size:18px;
}

.hero{
padding:70px 0;
}

.hero h1{
font-size:28px;
}

.hero p{
font-size:16px;
}

.hero-badge{
font-size:14px;
}

.subpage-hero{
padding:70px 0 54px;
}

.subpage-hero h1{
font-size:32px;
}

.subpage-hero p{
font-size:16px;
}

.tree-panel{
padding:18px;
border-radius:24px;
}

.tree-item summary{
padding:20px 68px 20px 8px;
font-size:24px;
}

.tree-item summary::after{
width:46px;
height:46px;
font-size:24px;
right:4px;
}

.tree-content{
padding:0 8px 18px;
font-size:16px;
}

.contact-list-item{
grid-template-columns:1fr;
}

.contact-list-content p{
font-size:16px;
}

.map-card{
padding:22px;
}

.card{
padding:22px;
}

.social-section{
margin:0 0 34px;
}

.footer-social{
padding-bottom:34px;
margin-bottom:34px;
}

.social-section h3{
font-size:24px;
margin-bottom:22px;
}

.social-grid{
gap:14px;
}

.social-card{
width:78px;
height:78px;
}

.social-card svg{
width:42px;
height:42px;
}

.footer-grid,
.footer-grid-simple{
grid-template-columns:1fr;
gap:28px;
text-align:center;
}
}

@media(max-width:420px){
.hero{
padding:60px 0;
}

.hero h1{
font-size:24px;
}

.subpage-hero h1{
font-size:28px;
}

.tree-item summary{
font-size:22px;
}

.site-logo img{
height:150px !important;
}

.social-card{
width:68px;
height:68px;
}

.social-card svg{
width:36px;
height:36px;
}
}