/* Azura Portable Toilets - Global Styles */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif;color:#1f2933;line-height:1.6;background:#fff;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:#0aa4b0;text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{color:#0f2a44;line-height:1.25;margin:0 0 .6em}
h1{font-size:2.2rem}
h2{font-size:1.7rem}
h3{font-size:1.25rem}
p{margin:0 0 1em}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
.btn{display:inline-block;padding:12px 22px;border-radius:6px;font-weight:600;border:none;cursor:pointer;transition:.2s;font-size:1rem;line-height:1.2}
.btn-primary{background:#0aa4b0;color:#fff}
.btn-primary:hover{background:#088a94;color:#fff;text-decoration:none}
.btn-outline{background:transparent;color:#fff;border:2px solid #fff}
.btn-outline:hover{background:#fff;color:#0f2a44;text-decoration:none}
.btn-dark{background:#0f2a44;color:#fff}
.btn-dark:hover{background:#153858;color:#fff;text-decoration:none}

/* Top contact bar */
.topbar{background:#0f2a44;color:#e8f3f6;font-size:.9rem}
.topbar .container{display:flex;justify-content:space-between;align-items:center;padding-top:8px;padding-bottom:8px;flex-wrap:wrap;gap:6px}
.topbar a{color:#e8f3f6;margin-left:16px}
.topbar a:hover{color:#7ee0e8}

/* Sticky header */
.site-header{position:sticky;top:0;z-index:1000;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding-top:10px;padding-bottom:10px;gap:12px}
.brand{display:flex;align-items:center;gap:10px}
.brand img{width:48px;height:48px}
.brand-name{font-weight:700;color:#0f2a44;font-size:1.15rem;line-height:1.1}
.brand-name small{display:block;font-weight:400;font-size:.72rem;color:#5b6b7a}

/* Nav */
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center}
.main-nav li{position:relative}
.main-nav > ul > li > a{display:block;padding:10px 12px;color:#0f2a44;font-weight:600;border-radius:4px}
.main-nav a:hover{background:#eef7f8;text-decoration:none}
.main-nav .has-dropdown > a::after{content:" ▾";font-size:.75em;color:#0aa4b0}
.dropdown{position:absolute;top:100%;left:0;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.12);border-radius:6px;min-width:240px;padding:8px 0;display:none;z-index:1001}
.main-nav li:hover > .dropdown,.main-nav li:focus-within > .dropdown{display:block}
.dropdown a{display:block;padding:8px 16px;color:#1f2933;font-weight:500}
.dropdown a:hover{background:#f0fafb;color:#088a94}
.header-cta{display:flex;align-items:center;gap:10px}

/* Mobile nav */
.hamburger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.hamburger span{display:block;width:26px;height:3px;background:#0f2a44;margin:5px 0;border-radius:2px;transition:.2s}
.mobile-only{display:none}

@media(max-width:960px){
 .hamburger{display:block}
 .header-cta .btn{display:none}
 .main-nav{position:fixed;top:0;right:-100%;width:82%;max-width:340px;height:100vh;background:#fff;box-shadow:-4px 0 20px rgba(0,0,0,.15);padding:70px 20px 100px;overflow-y:auto;transition:right .3s}
 .main-nav.open{right:0}
 .main-nav ul{flex-direction:column;gap:0;align-items:stretch}
 .main-nav > ul > li > a{padding:12px 8px;border-bottom:1px solid #eef1f4}
 .dropdown{position:static;box-shadow:none;padding:0 0 8px 12px;display:none}
 .main-nav li.open > .dropdown{display:block}
 .main-nav .has-dropdown > a::after{content:" +";float:right}
 .main-nav li.open.has-dropdown > a::after{content:" −"}
 .mobile-only{display:block}
 body.nav-open{overflow:hidden}
 .nav-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:999;display:none}
 body.nav-open .nav-backdrop{display:block}
}

/* Mobile sticky call button */
.mobile-call{display:none;position:fixed;bottom:0;left:0;right:0;background:#0aa4b0;color:#fff;text-align:center;padding:14px;font-weight:700;font-size:1.1rem;z-index:998;box-shadow:0 -2px 10px rgba(0,0,0,.15)}
.mobile-call:hover{color:#fff;text-decoration:none;background:#088a94}
@media(max-width:960px){.mobile-call{display:block}body{padding-bottom:60px}}

/* Hero */
.hero{position:relative;background:linear-gradient(rgba(15,42,68,.72),rgba(15,42,68,.72)),url('../images/hero.jpg') center/cover;color:#fff;padding:80px 0}
.hero h1{color:#fff;font-size:2.6rem;max-width:820px}
.hero p{font-size:1.15rem;max-width:720px;color:#e8f3f6}
.hero .btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
@media(max-width:600px){.hero{padding:50px 0}.hero h1{font-size:1.9rem}}

/* Sections */
.section{padding:60px 0}
.section-alt{background:#f5fafb}
.section h2{text-align:center;margin-bottom:10px}
.section .lead{text-align:center;max-width:760px;margin:0 auto 40px;color:#4a5b6c}

/* Grid cards */
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:#fff;border-radius:10px;box-shadow:0 4px 18px rgba(15,42,68,.08);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(15,42,68,.15)}
.card img{width:100%;height:180px;object-fit:cover}
.card-body{padding:20px;flex:1;display:flex;flex-direction:column}
.card h3{margin-top:0}
.card .btn{margin-top:auto;align-self:flex-start}

/* Two column */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
@media(max-width:800px){.two-col{grid-template-columns:1fr}}
.two-col img{border-radius:10px}

/* FAQ */
.faq details{background:#fff;border:1px solid #e2ebef;border-radius:8px;padding:14px 18px;margin-bottom:10px}
.faq summary{cursor:pointer;font-weight:600;color:#0f2a44}
.faq details[open]{border-color:#0aa4b0}

/* Contact / forms */
.form{display:grid;gap:14px;max-width:640px}
.form label{display:block;font-weight:600;color:#0f2a44;margin-bottom:4px;font-size:.95rem}
.form input,.form textarea{width:100%;padding:11px 14px;border:1px solid #cfd8dd;border-radius:6px;font:inherit;background:#fff}
.form input:focus,.form textarea:focus{outline:2px solid #0aa4b0;border-color:#0aa4b0}
.form textarea{min-height:120px;resize:vertical}
.form-msg{padding:14px;border-radius:6px;background:#e6f9ec;color:#1a5c2e;display:none}
.form-msg.show{display:block}

/* CTA band */
.cta-band{background:#0f2a44;color:#fff;padding:50px 0;text-align:center}
.cta-band h2{color:#fff}
.cta-band .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:16px}

/* Location/service lists */
.link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;list-style:none;padding:0}
.link-grid li a{display:block;background:#fff;padding:12px 16px;border-radius:6px;border:1px solid #e2ebef;color:#0f2a44;font-weight:500}
.link-grid li a:hover{background:#0aa4b0;color:#fff;text-decoration:none;border-color:#0aa4b0}

/* Footer */
.footer{background:#0b1f33;color:#c8d5df;padding:50px 0 20px;margin-top:40px}
.footer h4{color:#fff;font-size:1rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px}
.footer a{color:#c8d5df;display:block;padding:3px 0}
.footer a:hover{color:#7ee0e8}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}
@media(max-width:800px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.footer-grid{grid-template-columns:1fr}}
.footer-bottom{border-top:1px solid #1b3550;margin-top:30px;padding-top:16px;text-align:center;font-size:.87rem}

/* Utility */
.text-center{text-align:center}
.mt-0{margin-top:0}
ul.check{list-style:none;padding:0}
ul.check li{padding-left:28px;position:relative;margin-bottom:8px}
ul.check li::before{content:"✓";position:absolute;left:0;top:0;color:#0aa4b0;font-weight:700}
.page-header{background:linear-gradient(135deg,#0f2a44,#0aa4b0);color:#fff;padding:50px 0}
.page-header h1{color:#fff;margin-bottom:6px}
.breadcrumbs{font-size:.9rem;color:#cfe6ea}
.breadcrumbs a{color:#cfe6ea}
