/*
Theme Name: EB-Net Study Abroad
Author: EB-Net Solutions Ltd
Description: A responsive study abroad consultancy theme integrated with the EBNET Portal.
Version: 2.3.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: ebnet-study-abroad
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root{--background:#f7f8fc;--surface:#fff;--text:#24344c;--muted:#58677d;--heading:#102746;--primary:#173b6b;--primary-text:#fff;--accent:#c8ebd6;--border:#dce3ec;--header:#fff;--header-text:#102746;--hero:#edf2f9;--hero-text:#102746;--hero-muted:#435a76;--dark:#102746;--dark-text:#fff;--footer:#0a1b32;--footer-text:#c5d0df;--hover:#0c2850;--hover-text:#fff;--focus:#287159}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--text);font:16px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}h1,h2,h3{color:var(--heading);line-height:1.13;letter-spacing:-.035em;margin:0 0 1rem;font-weight:700}h1{font-size:clamp(2.7rem,5.7vw,5rem);max-width:13ch}h2{font-size:clamp(2rem,3.5vw,3.1rem);max-width:22ch}h3{font-size:1.27rem;letter-spacing:-.025em}p{margin:0 0 1.1rem}a{color:var(--primary);text-underline-offset:4px}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.container{max-width:1220px;margin:auto;padding:0 28px}section{padding:88px 0}section[id]{scroll-margin-top:100px}.skip-link{position:fixed;left:20px;top:-100px;z-index:99999;background:var(--surface);padding:12px}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:100;background:var(--header);border-bottom:1px solid var(--border);color:var(--header-text)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:90px}.branding{max-width:260px}.brand{font-size:1.25rem;font-weight:800;color:var(--header-text);text-decoration:none;line-height:1.2;display:block}.custom-logo-link{display:flex}.custom-logo{width:auto;max-width:240px;max-height:58px;object-fit:contain}.menu{display:flex;gap:25px;list-style:none;margin:0;padding:0;align-items:center}.menu a{font-size:.9rem;text-decoration:none;color:var(--header-text);font-weight:600}.menu a:hover{text-decoration:underline}.menu li{position:relative}.menu .sub-menu{position:absolute;top:100%;left:0;list-style:none;padding:16px;background:var(--header);border:1px solid var(--border);min-width:200px;display:none}.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu{display:block}.sub-menu li{padding:6px}.nav-toggle{display:none;border:1px solid var(--border);background:var(--header);color:var(--header-text);padding:8px 15px;border-radius:8px}.hero{background:var(--hero);padding:72px 0 86px}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}.hero h1{color:var(--hero-text)}.eyebrow{font-size:.73rem;font-weight:750;letter-spacing:.15em;text-transform:uppercase;color:var(--primary);margin-bottom:20px}.hero .eyebrow{color:var(--hero-text)}.hero .lead{font-size:1.13rem;max-width:44ch;color:var(--hero-muted)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:13px 22px;background:var(--primary);color:var(--primary-text);border:1px solid var(--primary);border-radius:8px;text-decoration:none;font-size:.88rem;font-weight:700;cursor:pointer;line-height:1.4}.button:hover{background:var(--hover);color:var(--hover-text);border-color:var(--hover)}.button.secondary{background:transparent;color:var(--primary)}.button.secondary:hover{background:var(--primary);color:var(--primary-text)}.hero-visual{position:relative;min-width:0}.hero-slides{aspect-ratio:4/4.4;border-radius:110px 22px 22px 22px;overflow:hidden;background:var(--surface)}.hero-slide{display:none;height:100%}.hero-slide.active{display:block;animation:fade .7s ease}.hero-slide img{width:100%;height:100%;object-fit:cover}.slide-controls{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.slide-controls button{border:1px solid var(--border);background:var(--surface);color:var(--text);min-height:44px;min-width:44px;border-radius:8px;padding:8px 14px;cursor:pointer}.journey-art{position:relative;aspect-ratio:4/4.4;background:var(--primary);border-radius:110px 22px 22px 22px;overflow:hidden;color:var(--primary-text);padding:56px 40px;display:flex;flex-direction:column;justify-content:space-between}.orbit{position:absolute;border:1px solid var(--accent);border-radius:50%;width:360px;height:360px;right:-120px;top:-100px;transform:rotate(-25deg)}.orbit-two{width:500px;height:500px;right:-140px;top:-180px}.globe{font-size:6rem;line-height:1;color:var(--accent);z-index:1}.art-label{font-size:clamp(2rem,3.5vw,3.2rem);letter-spacing:-.04em;line-height:1.05;font-weight:750;z-index:1}.section-heading{margin-bottom:40px;max-width:760px}.section-heading p{color:var(--muted);max-width:65ch}.section-heading .eyebrow{color:var(--primary)}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:none;align-items:center}.grid{display:grid;gap:24px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.value-card{border-top:1px solid var(--border);padding:25px 0}.number{display:block;color:var(--primary);font-size:.8rem;font-weight:800;letter-spacing:.1em;margin-bottom:18px}.value-card p,.service-card p,.process-list p{color:var(--muted);font-size:.95rem}.alternate{background:var(--surface)}.destination-card,.resource-card{overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.destination-image,.resource-card img{width:100%;height:210px;object-fit:cover;display:block}.card-inner{padding:28px}.card-inner p{color:var(--muted);font-size:.94rem}.text-link{font-weight:650;font-size:.9rem;text-decoration:none;display:inline-block}.text-link:hover{text-decoration:underline}.arrow:after{content:' ↗';margin-left:6px}.service-card{padding:30px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.process-list{list-style:none;padding:0;margin:0}.step-number{display:flex;align-items:center;justify-content:center;border-radius:50%;width:44px;height:44px;background:var(--accent);color:var(--heading);font-weight:700;margin-bottom:20px}.funding-panel{background:var(--dark);color:var(--dark-text);padding:52px;border-radius:20px;display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center}.funding-panel h2,.funding-panel .eyebrow{color:var(--dark-text)}.funding-panel p{max-width:58ch}.button.light{background:var(--accent);color:var(--heading);border-color:var(--accent)}.funding-note{font-size:.9rem;border-left:1px solid var(--accent);padding-left:30px}.quote-card{margin:0;border:1px solid var(--border);padding:30px;border-radius:16px;background:var(--surface)}blockquote{margin:0 0 24px;font-size:1.07rem}figcaption span{display:block;color:var(--muted);font-size:.88rem}.resource-card time{font-size:.75rem;color:var(--muted)}.resource-card h3{margin-top:12px}.resource-card h3 a,.resource-card h2 a{color:var(--heading);text-decoration:none}.faq-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.faq-item{border-bottom:1px solid var(--border);padding:18px 0}.faq-item summary{font-weight:650;color:var(--heading);cursor:pointer;padding-right:20px}.faq-item p{margin:16px 0 5px;color:var(--muted)}.partner-logos{display:flex;gap:40px;align-items:center;justify-content:center;flex-wrap:wrap}.partner-logos img{width:auto;max-width:160px;max-height:72px;object-fit:contain}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.enquiry-card{padding:35px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}label{display:block;font-size:.86rem;font-weight:600;margin:15px 0 7px}input,select,textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text)}textarea{resize:vertical}.consent{display:flex;gap:12px;font-weight:400;font-size:.8rem;margin:20px 0;align-items:flex-start}.consent input{width:18px;height:18px;flex-shrink:0;margin-top:4px}.form-small{font-size:.75rem;color:var(--muted);margin-top:15px}.form-feedback{padding:15px;background:var(--accent);color:var(--heading);border-radius:7px}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}dt{font-weight:700;color:var(--heading);margin-top:18px}dd{margin:0;overflow-wrap:anywhere;white-space:pre-line}.site-footer{background:var(--footer);color:var(--footer-text);padding:50px 0 24px}.site-footer a{color:var(--footer-text)}.footer-top{display:flex;justify-content:space-between;gap:30px;margin-bottom:35px}.footer-brand{font-weight:750;font-size:1.1rem;text-decoration:none}.footer-top p{font-size:.86rem;margin-top:9px}.footer-top .menu{flex-wrap:wrap;gap:15px}.social-links{display:flex;flex-wrap:wrap;gap:20px}.footer-note{font-size:.8rem;max-width:86ch}.footer-bottom{border-top:1px solid var(--footer-text);padding-top:22px;margin-top:24px;display:flex;justify-content:space-between;gap:24px;font-size:.77rem}.footer-bottom div{display:flex;gap:20px}.content-main{padding:70px 0 90px;min-height:60vh}.reading-width{max-width:900px}.article-header{margin-bottom:36px}.article-header h1{max-width:none;font-size:clamp(2.5rem,5vw,4rem)}.entry-content{overflow-wrap:anywhere}.entry-content h2,.entry-content h3{margin-top:35px}.featured-image{border-radius:15px;margin-bottom:30px}.entry-content .alignwide{max-width:100%}.entry-content .aligncenter{display:block;margin:auto}.entry-content table{width:100%;border-collapse:collapse}.entry-content th,.entry-content td{padding:10px;border:1px solid var(--border)}.entry-content iframe{max-width:100%}.wp-block-image figcaption{font-size:.8rem}.post-navigation,.posts-navigation,.pagination{margin-top:40px}.nav-links{display:flex;justify-content:space-between;gap:20px}.comment-list{padding-left:20px}.comment-body{padding:20px 0;border-bottom:1px solid var(--border)}.comment-form-cookies-consent input{width:auto}.search-form{margin-bottom:25px}.search-submit,.submit{background:var(--primary);color:var(--primary-text);cursor:pointer;margin-top:10px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.admin-bar .site-header{top:32px}@keyframes fade{from{opacity:.3}to{opacity:1}}
@media(max-width:1050px){.hero-grid{gap:35px}.menu{gap:16px}.split,.faq-grid,.contact-grid{gap:35px}.four{grid-template-columns:repeat(2,minmax(0,1fr))}.header-inner{gap:20px}.brand{font-size:1.1rem}}
@media(max-width:850px){section{padding:60px 0}.nav-toggle{display:block}.header-inner{min-height:78px}.branding{max-width:220px}.custom-logo{max-width:200px;max-height:50px}#primary-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 28px;background:var(--header);border-bottom:1px solid var(--border);max-height:75vh;overflow:auto}#primary-nav.open{display:block}#primary-nav .menu{display:block}#primary-nav li{padding:9px 0}#primary-nav .sub-menu{display:block;position:static;border:0;padding:8px 20px}.hero-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(2.5rem,6vw,3.4rem)}.three{grid-template-columns:repeat(2,minmax(0,1fr))}.funding-panel{gap:35px;padding:35px}.footer-top{flex-wrap:wrap}.admin-bar .site-header{top:46px}}
@media(max-width:600px){.container{padding:0 20px}.hero{padding-top:44px}.hero-grid,.split,.faq-grid,.contact-grid,.funding-panel{grid-template-columns:1fr;gap:35px}.hero h1{max-width:16ch}.hero-visual{max-width:440px;width:100%;margin:auto}.hero-slides,.journey-art{aspect-ratio:5/4;border-radius:60px 15px 15px 15px}.journey-art{padding:30px}.globe{font-size:4rem}.three,.four{grid-template-columns:1fr}.section-heading{margin-bottom:28px}.funding-panel{padding:28px}.funding-note{padding-left:20px}.enquiry-card{padding:24px}.footer-bottom{flex-direction:column}.footer-top{flex-direction:column}.button{padding:12px 17px}.admin-bar .site-header{top:0}.card-inner{padding:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide.active{animation:none}}

/* Explicit sizing keeps uploaded hero images visible across viewport sizes. */
.hero-slides{position:relative;width:100%}.hero-slide{position:absolute;inset:0}.hero-slide img{display:block;width:100%;height:100%;object-fit:cover}
.faq-more{margin-top:24px}.faq-more>summary{display:inline-block;background:var(--primary);color:var(--primary-text);padding:12px 20px;border:1px solid var(--primary);border-radius:8px;font-weight:650;cursor:pointer;list-style:none}
.faq-more>summary::-webkit-details-marker{display:none}.faq-more>summary:hover{background:var(--hover);color:var(--hover-text)}
.faq-more-open{display:none}.faq-more[open]>.faq-more-closed{display:none}.faq-more[open]>summary .faq-more-closed{display:none}.faq-more[open]>summary .faq-more-open{display:inline}.faq-extra{margin-top:12px}

/* Accessible sitewide messaging controls. */
.ebnet-chat-launchers{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:999;display:flex;flex-direction:column;align-items:flex-end;gap:10px;max-width:calc(100vw - 32px)}
.button.ebnet-wa{background:var(--whatsapp-bg,#087c42);color:var(--whatsapp-text,#fff);border-color:var(--whatsapp-bg,#087c42);box-shadow:0 5px 20px #0002;gap:10px}
.ebnet-chat-launchers .button,.ebnet-chat-open{border-radius:999px;box-shadow:0 5px 24px #0003}
.ebnet-chat-open{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;min-height:48px;border:0;background:var(--primary);color:var(--primary-text);font-weight:700;cursor:pointer}
.ebnet-chat-open:hover,.button.ebnet-wa:hover{filter:brightness(1.12)}
.ebnet-chat-panel{position:fixed;inset:auto max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) auto;margin:0;width:min(410px,calc(100vw - 32px));max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow:auto;padding:24px;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 15px 60px #0004}
.ebnet-chat-panel::backdrop{background:#0005}.ebnet-chat-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.ebnet-chat-heading h2{font-size:24px;margin:0}.ebnet-chat-close{background:transparent;color:var(--text);border:0;font-size:32px;min-width:44px;min-height:44px;cursor:pointer}.ebnet-chat-form button:disabled{opacity:.6;cursor:wait}.ebnet-chat-status{margin:15px 0 0;overflow-wrap:anywhere}.ebnet-chat-form .form-small{margin-bottom:0}.site-footer{padding-bottom:160px}
@media(max-width:600px){.ebnet-chat-launchers{right:12px;bottom:max(12px,env(safe-area-inset-bottom));gap:8px}.ebnet-chat-launchers .button,.ebnet-chat-open{font-size:14px;padding:12px 16px}.ebnet-chat-panel{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:20px}}


body{font-family:var(--ebnet-font,system-ui);font-size:var(--ebnet-text-size,16px)}
.container{max-width:var(--ebnet-container-width,1220px)}
.destination-card,.service-card,.quote-card,.resource-card{border-radius:var(--ebnet-card-radius,16px)}
.grid.one{grid-template-columns:minmax(0,1fr)}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.header-portal{flex:none}
.portal-page .article-header h1{max-width:none}
@media(min-width:851px){
 #main>section:not(.hero){padding-block:var(--ebnet-section-space,88px)}
 .hero[data-arrangement=reverse] .hero-visual{grid-column:1;grid-row:1}
 .hero[data-arrangement=reverse] .hero-copy{grid-column:2}
 .hero[data-arrangement=stacked] .hero-grid{grid-template-columns:minmax(0,1fr);text-align:center}
 .hero[data-arrangement=stacked] :is(h1,.lead,.hero-visual){margin-inline:auto}
 .hero[data-arrangement=stacked] .hero-visual{width:min(100%,560px)}
 .hero[data-arrangement=stacked] .actions{justify-content:center}
}
@media(max-width:600px){.grid.two{grid-template-columns:minmax(0,1fr)}.header-portal .button{min-height:36px;padding:8px 10px}}

/* Narrow layouts keep long labels, embedded content and floating controls inside the viewport. */
.ebnet-install button{padding:0;border:0;background:none;color:inherit;cursor:pointer}
.ebnet-install [hidden]{display:none}
.ebnet-install p{margin:.55rem 0 0;max-width:24rem;font-size:.85rem}
.footer-top>div,.footer-top>nav,.hero-copy,.section-heading,.card-inner,.enquiry-card,.entry-content{min-width:0;overflow-wrap:anywhere}
.site-header .brand,.footer-brand,.menu a,.button{overflow-wrap:anywhere}
.entry-content :is(table,pre){display:block;max-width:100%;overflow:auto}
.entry-content :is(video,iframe){max-width:100%}
.ebnet-chat-launchers{max-width:calc(100vw - 24px)}
.ebnet-chat-panel{overscroll-behavior:contain}
.ebnet-chat-panel :is(input,textarea,select){font-size:16px}
@media(max-width:850px){
 .header-inner{flex-wrap:wrap;column-gap:10px}
 .header-inner .branding{flex:1;min-width:0}
 .header-inner .nav-toggle{flex:none}
 .header-inner .header-portal{flex:none;max-width:45%;order:0}
 .header-inner .nav-toggle{order:1}
}
@media(max-width:600px){
 .header-inner{gap:8px}
 .header-inner .header-portal{max-width:36%}
 .nav-toggle{min-height:44px;padding:6px 10px}
 .hero h1{font-size:clamp(2rem,9vw,3.4rem)}
 .funding-panel,.enquiry-card{padding:clamp(14px,5vw,24px)}
 .funding-note{padding-left:12px}
 .footer-bottom>div,.nav-links{flex-wrap:wrap}
 .button{max-width:100%;min-height:44px;text-align:center}
 .ebnet-chat-launchers{bottom:max(10px,env(safe-area-inset-bottom));right:max(10px,env(safe-area-inset-right));gap:6px}
 .ebnet-chat-panel{inset:auto 10px max(10px,env(safe-area-inset-bottom)) 10px;width:auto;max-height:calc(100dvh - 20px);margin:0;padding:16px}
 .enquiry-form :is(input,textarea,select){font-size:16px}
}
.ebnet-chat-panel [hidden]{display:none}
.ebnet-live-log{max-height:min(36vh,21rem);overflow-y:auto;overscroll-behavior:contain;margin-block:10px}
.ebnet-live-log p{margin:0 0 8px;padding:8px 10px;border-radius:8px;background:var(--hero);white-space:pre-wrap;overflow-wrap:anywhere}
.ebnet-live-log p[data-sender=staff]{background:var(--accent)}
.eb-extra-field input[type=checkbox]{width:auto}
.eb-extra-field>span{display:block}
.eb-extra-field:has(input[type=checkbox])>span{display:inline}
.hero-portal-shortcut{margin-top:1rem}
.portal-card-actions{display:flex;gap:.5rem 1rem;flex-wrap:wrap}
.portal-card-actions a{display:inline-flex;min-height:44px;align-items:center}
