/*
Theme Name: OrlandoFans 2.0
Theme URI: https://www.orlandofans.nl/
Author: OrlandoFans
Description: Orlando/Florida vakantieportal thema voor OrlandoFans.nl.
Version: 2.0.2
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: orlandofans
*/
:root{--navy:#063b61;--deep:#032f4f;--blue:#087dc1;--orange:#f7941d;--light:#f4f8fb;--ink:#102c42;--line:#dbe6ee;--max:1540px}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}
.topbar{background:#06395d;color:#fff;font-size:14px}.topbar .wrap{height:40px;display:flex;align-items:center;justify-content:space-between}
.hero{height:330px;background:url('assets/images/orlando-hero.jpg') center center/cover no-repeat;position:relative}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,40,65,.10),transparent 60%,rgba(0,35,55,.12))}
.hero-copy{position:relative;z-index:2;height:100%;display:flex;align-items:flex-end;padding-bottom:26px}.hero-copy span{background:rgba(3,47,79,.82);color:#fff;padding:10px 16px;border-radius:8px;font-weight:700}
.navbar{background:var(--deep);color:#fff;box-shadow:0 2px 8px #0002}.navrow{display:flex;align-items:center}.menu-toggle{display:none}.navrow ul{display:flex;list-style:none;margin:0;padding:0;width:100%}.navrow li{flex:1}.navrow a{display:flex;justify-content:center;align-items:center;min-height:54px;padding:0 12px;font-weight:750;border-bottom:4px solid transparent}.navrow a:hover,.navrow .current-menu-item>a{background:#07517f;border-bottom-color:var(--orange)}
.main{padding:24px 0 55px}.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.tile{min-height:190px;border-radius:7px;overflow:hidden;position:relative;background:linear-gradient(150deg,#1797d5,#075078);color:#fff;padding:18px;display:flex;flex-direction:column;justify-content:flex-end}.tile:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(0,40,65,.88))}.tile>*{z-index:1}.tile .ico{font-size:34px}.tile h3{font-size:20px;margin:7px 0}.tile p{margin:0;font-size:14px}.tile:nth-child(2){background:linear-gradient(145deg,#65bdd7,#0d678b)}.tile:nth-child(3){background:linear-gradient(145deg,#f0a452,#446b91)}.tile:nth-child(4){background:linear-gradient(145deg,#8dc9b8,#276f67)}.tile:nth-child(5){background:linear-gradient(145deg,#e2a05f,#8e592c)}.tile:nth-child(6){background:linear-gradient(145deg,#39a8ce,#0872a2)}
.homegrid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(310px,.9fr);gap:28px;margin-top:30px}.heading{display:flex;justify-content:space-between;align-items:center}.heading h2{font-size:25px}.posts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.post{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fff}.post img,.placeholder{width:100%;aspect-ratio:16/9;object-fit:cover;background:linear-gradient(145deg,#1a9bd2,#75c8dd)}.postbody{padding:13px}.post h3{font-size:16px;margin:0 0 7px}.meta{font-size:12px;color:#6b7e8c}
.widgetbox{border:1px solid var(--line);border-radius:7px;padding:18px;margin-bottom:15px;background:#fff}.widgetbox h3{margin:0 0 13px}.weather{display:flex;gap:16px;align-items:center}.sun{font-size:54px}.temp{font-size:36px;font-weight:850}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.count{background:#edf3f7;border-radius:5px;text-align:center;padding:8px 3px}.count b{display:block;font-size:22px}.count small{font-size:10px}.forum{background:#087fd0;color:#fff}.forum a{font-weight:800}.site-footer{background:var(--deep);color:#dbeaf4;padding:35px 0}.footergrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}
.content{max-width:980px;padding:45px 0}.content h1{font-size:38px}.content img{border-radius:8px}
@media(max-width:1100px){.tiles{grid-template-columns:repeat(3,1fr)}.posts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar .right{display:none}.hero{height:230px}.menu-toggle{display:block;background:var(--deep);border:0;color:#fff;padding:16px;font-weight:700}.navrow{display:block}.navrow ul{display:none;flex-direction:column}.navrow.open ul{display:flex}.navrow li{width:100%}.navrow a{justify-content:flex-start}.tiles{grid-template-columns:repeat(2,1fr)}.homegrid{grid-template-columns:1fr}.footergrid{grid-template-columns:1fr}}
@media(max-width:480px){.tiles,.posts{grid-template-columns:1fr}.wrap{width:min(calc(100% - 24px),var(--max))}}

/* 1.3 */
.brandplate{position:absolute;left:max(24px,calc((100% - var(--max))/2));top:42px;z-index:3;background:rgba(255,255,255,.91);padding:13px 20px;border-radius:10px;box-shadow:0 8px 25px #003b5b30}
.brandplate strong{display:block;font-size:clamp(28px,4vw,48px);line-height:.95;color:var(--navy);letter-spacing:-2px}.brandplate strong em{font-style:normal;color:var(--orange)}.brandplate small{color:var(--navy);font-weight:650}
.tile{background-size:cover!important;background-position:center!important;transition:transform .2s,box-shadow .2s}.tile:hover{transform:translateY(-3px);box-shadow:0 12px 24px #073c5b2b}
.tile.pretparken{background-image:url('assets/images/pretparken.jpg')}.tile.orlando{background-image:url('assets/images/orlando.jpg')}.tile.reizen{background-image:url('assets/images/reizen.jpg')}.tile.verblijf{background-image:url('assets/images/verblijf.jpg')}.tile.shopping{background-image:url('assets/images/shopping.jpg')}.tile.florida{background-image:url('assets/images/florida.jpg')}
.weatherline{font-size:13px;color:#526b7c;margin-top:8px}.forumtopics{list-style:none;margin:12px 0 0;padding:0}.forumtopics li{border-top:1px solid #ffffff35;padding:9px 0;font-size:13px}.forumtopics a{color:#fff}.credit{font-size:11px;opacity:.72;margin-top:8px}
@media(max-width:760px){.brandplate{top:22px;left:20px}.brandplate strong{font-size:30px}.hero-copy{display:none}}

/* 1.4 polish */
.searchbar{margin-left:auto}.searchbar form{display:flex}.searchbar input{border:0;border-radius:20px 0 0 20px;padding:8px 12px;max-width:170px}.searchbar button{border:0;background:var(--orange);padding:8px 12px;border-radius:0 20px 20px 0;cursor:pointer}
.breadcrumbs{font-size:13px;color:#657d8d;padding:18px 0 0}.breadcrumbs a{color:var(--blue)}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:35px}.article-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px}.article-card h1{margin-top:0}.article-card .featured{width:100%;border-radius:8px;margin:12px 0 24px}
.archive-title{background:var(--light);border-bottom:1px solid var(--line);padding:30px 0}.archive-title h1{margin:0}
.archivegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:32px 0 55px}
.archiveitem{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.archiveitem img,.archiveitem .placeholder{width:100%;aspect-ratio:16/9;object-fit:cover}.archivebody{padding:17px}.archivebody h2{font-size:19px;margin:0 0 8px}
.share{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.share a{background:var(--light);border:1px solid var(--line);padding:8px 12px;border-radius:20px;font-size:13px;font-weight:700}
.sidebox{border:1px solid var(--line);border-radius:9px;padding:18px;margin-bottom:18px}.sidebox h3{margin-top:0}.sidebox ul{padding-left:19px}
.footerlinks{list-style:none;padding:0;margin:0}.footerlinks li{margin:7px 0}.socials{display:flex;gap:9px;flex-wrap:wrap}.socials a{display:inline-grid;place-items:center;border:1px solid #ffffff35;border-radius:20px;padding:7px 11px}
.footerbottom{border-top:1px solid #ffffff25;margin-top:28px;padding-top:18px;font-size:12px;display:flex;justify-content:space-between;gap:20px}
.tile.eten{background:linear-gradient(145deg,#f0a35d,#8b4d29)}
@media(max-width:1050px){.archivegrid{grid-template-columns:repeat(2,1fr)}.article-layout{grid-template-columns:1fr}.searchbar{display:none}}
@media(max-width:600px){.archivegrid{grid-template-columns:1fr}.footerbottom{display:block}.brandplate small{display:none}}

/* 1.5 community + navigation */
.navrow ul ul{display:none;position:absolute;top:100%;left:0;background:#fff;color:var(--navy);min-width:235px;box-shadow:0 12px 30px #001b2d30;z-index:50;border-radius:0 0 8px 8px}
.navrow li{position:relative}.navrow li:hover>ul,.navrow li:focus-within>ul{display:block}.navrow ul ul li{width:100%}.navrow ul ul a{justify-content:flex-start;min-height:44px;border-bottom:1px solid var(--line);font-size:14px}.navrow ul ul a:hover{background:var(--light);color:var(--blue)}
.social-icon{width:35px;height:35px!important;padding:0!important;border-radius:50%!important;font-weight:900}.social-icon.fb{background:#1877f2}.social-icon.x{background:#111}
.popular{margin-top:34px}.populargrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.popularitem{min-height:205px;border-radius:9px;overflow:hidden;position:relative;background:linear-gradient(145deg,#0a83bd,#58b9d3);display:flex;align-items:flex-end}.popularitem:first-child{min-height:300px}.popularitem img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.popularitem:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,rgba(1,35,57,.92))}.popularcopy{position:relative;z-index:2;color:#fff;padding:18px}.popularcopy h3{margin:4px 0;font-size:20px}.popularitem:first-child h3{font-size:27px}.badge{display:inline-block;background:var(--orange);color:#fff;font-size:11px;font-weight:850;text-transform:uppercase;padding:4px 8px;border-radius:20px}
.community-band{margin-top:38px;background:linear-gradient(115deg,#063b61,#087fc1);border-radius:12px;color:#fff;padding:28px;display:grid;grid-template-columns:1.3fr 1fr;gap:30px}.community-band h2{margin-top:0}.communitystats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;padding:15px;text-align:center}.stat b{display:block;font-size:22px}.latesttopics{list-style:none;padding:0;margin:0}.latesttopics li{border-top:1px solid #ffffff28;padding:9px 0}.latesttopics a{color:#fff;font-weight:700}
@media(max-width:900px){.populargrid{grid-template-columns:1fr 1fr}.popularitem:first-child{grid-column:1/-1}.community-band{grid-template-columns:1fr}.navrow ul ul{position:static;box-shadow:none;border-radius:0}.navrow li:hover>ul{display:block}}
@media(max-width:550px){.populargrid{grid-template-columns:1fr}.popularitem:first-child{grid-column:auto;min-height:230px}.communitystats{grid-template-columns:1fr 1fr 1fr}}

/* 1.6 w3all integration */
.w3all-zone{margin-top:38px}.w3all-panel{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.w3all-head{background:var(--deep);color:#fff;padding:18px 22px;display:flex;justify-content:space-between;align-items:center}.w3all-head h2{margin:0;font-size:22px}.w3all-body{padding:18px 22px}.w3all-body ul{margin:0;padding-left:20px}.w3all-body li{padding:7px 0;border-bottom:1px solid var(--line)}.w3all-body li:last-child{border:0}
.memberbar{background:#eef6fa;border:1px solid #d5e7f0;border-radius:9px;padding:14px 18px;margin:22px 0;display:flex;justify-content:space-between;align-items:center;gap:16px}.memberbar strong{color:var(--navy)}.member-actions{display:flex;gap:8px;flex-wrap:wrap}.mini-btn{background:var(--navy);color:#fff;padding:7px 11px;border-radius:18px;font-size:12px;font-weight:800}.mini-btn.orange{background:var(--orange)}
.w3all-fallback{font-size:13px;color:#657d8d}

/* 1.7 approved homepage redesign */
.hero{height:287px;background-image:url('assets/images/orlando-hero-17.jpg');background-position:center;background-size:cover}
.brandplate{display:none!important}.hero-copy{align-items:flex-end;justify-content:flex-end;padding-bottom:22px}.hero-copy span{font-size:16px}
.tiles{grid-template-columns:repeat(7,1fr);gap:14px}.tile{min-height:190px}
.tile.eten{background-image:linear-gradient(180deg,transparent,rgba(0,40,65,.84)),url('assets/images/orlando.jpg');background-size:cover}
.main{padding-top:20px}.homegrid{grid-template-columns:minmax(0,1.75fr) minmax(350px,.75fr)}
.posts{grid-template-columns:repeat(4,1fr)}.postbody h3{line-height:1.25}
.sidebar-stack .widgetbox{box-shadow:0 3px 12px #0b4b7020}
.w3all-zone{margin-top:18px}.memberbar{display:none!important}
.community-band{display:none!important}.popular{margin-top:32px}
.site-footer{margin-top:25px}.footerbrand{font-size:20px;font-weight:900}.footerbrand em{font-style:normal;color:var(--orange)}
.backtop{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff45;border-radius:50%;color:#fff}
@media(max-width:1300px){.tiles{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.tiles{grid-template-columns:repeat(2,1fr)}.homegrid{grid-template-columns:1fr}}
@media(max-width:520px){.tiles{grid-template-columns:1fr}.hero{height:210px}.hero-copy{display:none}}

/* 1.7.1 forum bugfix */
.of-forum-list{list-style:none!important;margin:0!important;padding:0!important}
.of-forum-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:13px 0!important;border-bottom:1px solid var(--line)!important}
.of-forum-item:last-child{border-bottom:0!important}.of-forum-title{font-weight:800;color:var(--navy);line-height:1.3}.of-forum-title:hover{color:var(--blue)}
.of-forum-meta{font-size:12px;color:#6c8190;margin-top:4px}.of-forum-arrow{align-self:center;color:var(--orange);font-size:20px;font-weight:900}
.of-forum-footer{display:flex;justify-content:flex-end;margin-top:14px}.of-forum-footer a{background:var(--orange);color:#fff;padding:8px 13px;border-radius:18px;font-size:12px;font-weight:850}
.of-forum-empty{padding:8px 0;color:#657d8d}
@media(max-width:600px){.of-forum-item{grid-template-columns:1fr}.of-forum-arrow{display:none}}

/* 1.7.2 responsive logo */
.hero{position:relative;overflow:hidden}
.of-hero-logo{position:absolute;z-index:5;left:50%;top:24px;transform:translateX(-50%);width:min(620px,72vw);background:rgba(255,255,255,.92);border-radius:14px;padding:15px 24px 13px;box-shadow:0 8px 24px rgba(0,42,68,.22);text-align:center}
.of-hero-logo strong{display:block;color:var(--navy);font-size:clamp(34px,4.3vw,58px);line-height:.92;letter-spacing:-2.5px;font-weight:900;white-space:nowrap}
.of-hero-logo strong em{font-style:normal;color:var(--orange)}.of-hero-logo small{display:block;color:var(--navy);font-size:13px;line-height:1.2;font-weight:750;margin-top:5px}
@media(max-width:760px){.hero{height:300px;background-position:center center}.of-hero-logo{top:18px;width:min(90vw,520px);padding:12px 13px 10px;border-radius:11px}.of-hero-logo strong{font-size:clamp(29px,9.2vw,44px);letter-spacing:-1.8px}.of-hero-logo small{font-size:11px}.hero-copy{display:none!important}}
@media(max-width:420px){.hero{height:280px}.of-hero-logo{width:92vw;top:15px}.of-hero-logo strong{font-size:clamp(27px,8.8vw,38px)}.of-hero-logo small{font-size:10px}}

/* 1.7.3 navigation contrast + tile text fixes */
.navbar .navrow > ul > li > a,
.navbar .navrow > ul > li > a:visited{color:#fff!important}
.navbar .navrow > ul > li > a:hover,
.navbar .navrow > ul > li > a:focus,
.navbar .navrow > ul > li.current-menu-item > a,
.navbar .navrow > ul > li.current-menu-ancestor > a{
 color:#fff!important;
 background:#07517f!important;
 border-bottom-color:var(--orange)!important;
}
.navbar .navrow > ul > li > a:focus-visible{
 outline:2px solid #fff;
 outline-offset:-4px;
}
.tile h3,.tile p{position:relative;z-index:2}
.tile h3{margin:7px 0 4px}
.tile p{margin:0}

/* 1.7.4 desktop polish */
/* Desktop hero image already contains OrlandoFans branding: don't overlay it twice. */
@media(min-width:761px){
 .of-hero-logo{display:none!important}
 .hero-copy{display:none!important}
}
/* Mobile keeps the separate responsive logo because background cropping hides the embedded one. */
@media(max-width:760px){
 .of-hero-logo{display:block!important}
}
/* Category tiles: suppress any accidental generated/duplicate text layers. */
.tile::before,.tile::after{content:none!important}
.tile .tile-ghost,.tile .duplicate-title,.tile .bg-title{display:none!important}
.tile{overflow:hidden}
.tile h3,.tile p,.tile .tile-content{position:relative;z-index:5;text-shadow:0 1px 3px rgba(0,0,0,.65)}
@media(min-width:1100px){
 .tiles{gap:16px}
 .tile{min-height:205px}
}

/* 1.7.5 clean category photography */
.tile{background-size:cover!important;background-position:center!important;position:relative}
.tile::before{content:""!important;display:block!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(0,35,58,.02) 20%,rgba(0,35,58,.18) 48%,rgba(0,35,58,.94) 100%)!important;z-index:1!important;pointer-events:none!important}
.tile>*{position:relative;z-index:3!important}
.tile.pretparken{background-image:url('assets/images/pretparken.jpg')!important}.tile.orlando{background-image:url('assets/images/orlando.jpg')!important}.tile.reizen{background-image:url('assets/images/reizen.jpg')!important}.tile.verblijf{background-image:url('assets/images/verblijf.jpg')!important}.tile.eten{background-image:url('assets/images/eten.jpg')!important}.tile.shopping{background-image:url('assets/images/shopping.jpg')!important}.tile.florida{background-image:url('assets/images/florida.jpg')!important}

/* OrlandoFans 2.0 — approved image 2 */
:root{--navy:#063b5b;--navy2:#00466f;--orange:#ff9518;--line:#d9e4ea}
.hero{
 background-image:url('assets/images/hero-2.0.jpg')!important;
 background-size:cover!important;background-position:center center!important;
 height:280px!important;
}
@media(min-width:761px){.of-hero-logo,.hero-copy{display:none!important}}
.navbar{background:var(--navy)!important}
.navbar .navrow>ul>li>a,.navbar .navrow>ul>li>a:visited{color:#fff!important;font-weight:800}
.navbar .navrow>ul>li>a:hover,.navbar .navrow>ul>li>a:focus,.navbar .navrow>ul>li.current-menu-item>a{
 color:#fff!important;background:#0a5a87!important;border-bottom:4px solid var(--orange)!important
}
.tiles{gap:14px!important}
.tile{min-height:228px!important;border-radius:6px!important;background-size:cover!important;background-position:center!important;box-shadow:0 2px 8px rgba(0,42,68,.12)}
.tile::before{content:""!important;display:block!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(0,30,48,0) 32%,rgba(0,35,58,.15) 50%,rgba(0,35,58,.96) 100%)!important;z-index:1!important}
.tile>*{position:relative;z-index:3!important}
.tile.pretparken{background-image:url('assets/images/pretparken-2.jpg')!important}
.tile.orlando{background-image:url('assets/images/orlando-2.jpg')!important}
.tile.reizen{background-image:url('assets/images/reizen-2.jpg')!important}
.tile.verblijf{background-image:url('assets/images/verblijf-2.jpg')!important}
.tile.eten{background-image:url('assets/images/eten-2.jpg')!important}
.tile.shopping{background-image:url('assets/images/shopping-2.jpg')!important}
.tile.florida{background-image:url('assets/images/florida-2.jpg')!important}
.tile h3{color:#fff!important;font-size:20px!important;text-shadow:0 2px 4px rgba(0,0,0,.7)}
.tile p{color:#fff!important;font-size:14px!important;text-shadow:0 2px 4px rgba(0,0,0,.7)}
@media(max-width:760px){
 .hero{height:300px!important;background-position:center center!important}
 .of-hero-logo{display:block!important}
 .tiles{grid-template-columns:1fr!important}
 .tile{min-height:260px!important}
}

/* 2.0.1: definitive text-free category images */
.tile.pretparken{background-image:url('assets/images/pretparken-clean.jpg')!important}
.tile.orlando{background-image:url('assets/images/orlando-clean.jpg')!important}
.tile.reizen{background-image:url('assets/images/reizen-clean.jpg')!important}
.tile.verblijf{background-image:url('assets/images/verblijf-clean.jpg')!important}
.tile.eten{background-image:url('assets/images/eten-clean.jpg')!important}
.tile.shopping{background-image:url('assets/images/shopping-clean.jpg')!important}
.tile.florida{background-image:url('assets/images/florida-clean.jpg')!important}

.tile{background-size:cover!important;background-position:center!important}
.tile::before{content:""!important;display:block!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(0,30,48,0) 24%,rgba(0,35,58,.12) 46%,rgba(0,35,58,.96) 100%)!important;z-index:1!important}
.tile>*{position:relative!important;z-index:3!important}

/* 2.0.2 desktop card polish */
@media(min-width:1100px){
 .wrap{max-width:1540px!important}
 .tiles{gap:12px!important;margin-top:38px!important;margin-bottom:34px!important}
 .tile{min-height:250px!important}
}
@media(min-width:1500px){
 .wrap{max-width:1580px!important}
 .tiles{gap:14px!important}
 .tile{min-height:260px!important}
}
.tile.shopping{background-image:url('assets/images/shopping-clean-202.jpg')!important}
