:root{
  --bg-primary:#f0fdfa;
  --bg-secondary:#ccfbf1;
  --bg-card:#ffffff;
  --bg-nav:#ffffff;
  --text-primary:#0f172a;
  --text-secondary:#0f172a;
  --text-muted:#14796f;
  --accent-primary:#40e0d0;
  --accent-hover:#2ec4b9;
  --accent-inverse:#0f172a;
  --border-color:#99f6e4;
  --radius-sm:6px;
  --radius-md:10px;
  --radius-lg:16px;
  --shadow-md:0 4px 6px -1px rgba(0,0,0,0.05);
  --shadow-lg:0 10px 15px -3px rgba(0,0,0,0.08);
  --transition-fast:150ms ease;
  --transition-normal:250ms ease;
  --font-sans:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --font-serif:'Playfair Display',Georgia,serif;
}
*,::before,::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg-primary);
  color:var(--text-primary);
  font-family:var(--font-sans);
  line-height:1.6;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;display:block;decoding:async;}
ul{list-style:none;}
.btn{
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  padding:0.75rem 1.5rem;
  border-radius:var(--radius-md);
  font-weight:600;
  font-size:0.95rem;
  cursor:pointer;
  border:none;
  transition:all var(--transition-fast);
  text-align:center;
}
.btn-primary{background:var(--accent-primary);color:var(--accent-inverse);}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);}
.btn-outline{background:transparent;color:var(--text-primary);border:1.5px solid var(--border-color);}
.btn-outline:hover{background:var(--bg-secondary);border-color:var(--accent-primary);color:var(--accent-primary);}
.btn-whatsapp{background:#25D366;color:#fff;border:none;}
.btn-whatsapp:hover{background:#128C7E;transform:translateY(-1px);}
.btn-sm{padding:0.5rem 0.9rem;font-size:0.85rem;}
.container{max-width:1100px;margin:0 auto;padding:0 1.5rem;}
.section{padding:4rem 0;}
.section--tight{padding:2.5rem 0;}
.section--dark{background:var(--bg-secondary);}
.navbar{
  position:sticky;top:0;z-index:100;
  background:var(--bg-nav);
  border-bottom:1px solid var(--border-color);
}
.navbar-inner{display:flex;align-items:center;justify-content:space-between;padding:0.9rem 1.5rem;}
.logo{font-family:var(--font-serif);font-weight:700;font-size:1.5rem;letter-spacing:-0.02em;display:flex;align-items:center;gap:0.5rem;text-decoration:none;}
.logo .mark{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--accent-primary);color:var(--accent-inverse);display:grid;place-items:center;font-size:1.25rem;}
.nav-links{display:flex;align-items:center;gap:2rem;}
.nav-links a{font-weight:500;font-size:0.95rem;transition:color var(--transition-fast);}
.nav-links a:hover{color:var(--accent-primary);}
.nav-actions{display:flex;align-items:center;gap:0.75rem;}
.nav-phone{font-size:0.85rem;background:var(--bg-secondary);padding:0.4rem 0.8rem;border-radius:var(--radius-sm);font-weight:600;text-decoration:none;}
.nav-menu-btn{display:none;background:none;border:none;color:var(--text-primary);font-size:1.5rem;cursor:pointer;}
.nav-menu{
  position:fixed;inset:0;background:var(--bg-nav);
  display:flex;flex-direction:column;padding:6rem 1.5rem 2rem;gap:1.2rem;
  transform:translateX(100%);transition:transform var(--transition-normal);border-top:1px solid var(--border-color);
}
.nav-menu.open{transform:translateX(0);}
.nav-menu a{font-weight:600;font-size:1rem;display:block;padding:0.5rem 0;text-decoration:none;}
.nav-menu .nav-actions{flex-direction:column;align-items:flex-start;gap:0.75rem;margin-top:1rem;}
.hero{position:relative;padding:5rem 0 3rem;overflow:hidden;}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-blob{position:absolute;width:500px;height:500px;background:var(--accent-primary);opacity:0.10;filter:blur(80px);border-radius:50%;top:10%;left:10%;z-index:0;}
.hero-content{position:relative;z-index:2;max-width:700px;margin:0 auto;}
.hero .badge{display:inline-block;padding:0.35rem 0.9rem;border-radius:999px;background:var(--bg-secondary);color:var(--text-muted);font-size:0.8rem;font-weight:600;margin-bottom:1rem;border:1px solid var(--border-color);}
.hero h1{font-family:var(--font-serif);font-size:clamp(2.2rem,5vw,3.2rem);font-weight:700;line-height:1.1;margin-bottom:1.25rem;letter-spacing:-0.02em;}
.hero p{font-size:1.1rem;color:var(--text-secondary);margin-bottom:1.75rem;line-height:1.7;}
.hero-actions{display:flex;flex-direction:column;gap:0.75rem;align-items:flex-start;}
@media(min-width:640px){.hero-actions{flex-direction:row;align-items:center;}.hero-actions .btn{width:auto;}}
.section-header{text-align:center;margin-bottom:3rem;max-width:700px;margin-left:auto;margin-right:auto;}
.section-header .eyebrow{font-size:0.85rem;font-weight:600;color:var(--accent-primary);margin-bottom:0.5rem;text-transform:uppercase;letter-spacing:0.08em;}
.section-header h2{font-family:var(--font-serif);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;margin-bottom:1rem;}
.section-header p{color:var(--text-muted);font-size:1.05rem;}
.grid{display:grid;gap:1.5rem;}
.grid--2{grid-template-columns:1fr;}
.grid--3{grid-template-columns:1fr;}
.grid--4{grid-template-columns:1fr;}
@media(min-width:640px){.grid--2{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.grid--3{grid-template-columns:repeat(3,1fr);}.grid--4{grid-template-columns:repeat(4,1fr);}}
.card{
  background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);
  padding:1.5rem;transition:transform var(--transition-fast),box-shadow var(--transition-fast);display:flex;flex-direction:column;
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.card h3{font-size:1.15rem;margin-bottom:0.5rem;}
.card p{color:var(--text-muted);font-size:0.9rem;margin-bottom:1rem;line-height:1.5;}
.card .price{font-weight:700;font-size:1rem;color:var(--text-primary);margin-bottom:1rem;display:block;}
.card .btn{width:100%;font-size:0.85rem;padding:0.6rem 1rem;}
.btn-group{display:flex;gap:0.75rem;flex-wrap:wrap;}
@media(max-width:639px){.btn-group{flex-direction:column;}.btn-group .btn{width:100%;}}
.whatsapp-float{
  position:fixed;bottom:1.5rem;right:1.5rem;z-index:200;
  background:#25D366;width:56px;height:56px;border-radius:50%;
  display:grid;place-items:center;box-shadow:var(--shadow-lg);
  transition:transform var(--transition-fast);cursor:pointer;text-decoration:none;
}
.whatsapp-float:hover{transform:scale(1.08);}
.whatsapp-float .label{position:absolute;bottom:70px;right:0;background:#0f172a;color:#fff;padding:0.4rem 0.8rem;border-radius:var(--radius-sm);font-size:0.8rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);}
.whatsapp-float:hover .label{opacity:1;}
@media(max-width:639px){.whatsapp-float{width:50px;height:50px;bottom:1rem;right:1rem;}}
.gallery-grid{display:grid;gap:1rem;grid-template-columns:1fr;}
@media(min-width:640px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.gallery-grid{grid-template-columns:repeat(3,1fr);}}
.gallery-item{position:relative;aspect-ratio:4/3;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-secondary);}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;}
.gallery-item .placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--bg-secondary),var(--border-color));display:grid;place-items:center;color:var(--text-muted);font-size:0.85rem;}
.supplier-list{display:grid;gap:0.75rem;}
.supplier-item{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);}
.supplier-item a{color:var(--accent-primary);font-weight:600;font-size:0.9rem;text-decoration:none;}
.supplier-item a:after{content:"→";margin-left:auto;font-size:0.7rem;opacity:0.6;}
.form-grid{display:grid;gap:1rem;}
.form-grid--2{grid-template-columns:1fr;}
@media(min-width:640px){.form-grid--2{grid-template-columns:repeat(2,1fr);}}
.form-group{display:flex;flex-direction:column;gap:0.4rem;}
.form-group label{font-size:0.85rem;font-weight:600;color:var(--text-primary);}
.form-group input,.form-group select,.form-group textarea{
  padding:0.7rem 0.9rem;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);font-size:0.95rem;font-family:inherit;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px rgba(64,224,208,0.2);}
.form-group textarea{resize:vertical;min-height:120px;}
.file-hint{font-size:0.75rem;color:var(--text-muted);margin-top:0.25rem;}
.checkbox-group{flex-direction:row;align-items:center;gap:0.5rem;}
.checkbox-group input{width:18px;height:18px;}
footer{padding:4rem 0 2rem;border-top:1px solid var(--border-color);}
.footer-grid{display:grid;gap:2rem;}
@media(min-width:900px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;}}
.footer-brand .logo{margin-bottom:1rem;}
.footer-brand p{color:var(--text-muted);font-size:0.9rem;line-height:1.7;max-width:300px;}
.footer-col h4{font-size:0.95rem;margin-bottom:1.2rem;color:var(--text-primary);}
.footer-col a{display:block;color:var(--text-muted);font-size:0.9rem;margin-bottom:0.6rem;text-decoration:none;}
.footer-col a:hover{color:var(--accent-primary);}
.footer-bottom{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:0.75rem;align-items:center;justify-content:space-between;}
@media(min-width:640px){.footer-bottom{flex-direction:row;}}
.footer-bottom p{font-size:0.8rem;color:var(--text-muted);}
.page-title{font-family:var(--font-serif);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;margin-bottom:0.5rem;}
.page-subtitle{color:var(--text-muted);font-size:1rem;margin-bottom:2rem;}
.toast{position:fixed;top:1rem;right:1rem;background:var(--bg-card);border:1px solid var(--border-color);border-left:4px solid var(--accent-primary);padding:1rem 1.2rem;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:300;transform:translateX(120%);transition:transform 0.3s ease;}
.toast.show{transform:translateX(0);}
.toast .t-title{font-weight:700;font-size:0.9rem;margin-bottom:0.25rem;}
.toast .t-msg{font-size:0.8rem;color:var(--text-muted);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
@media(prefers-reduced-motion:reduce){*,::before,::after{transition-duration:0.01ms !important;animation-duration:0.01ms !important;scroll-behavior:auto !important;}}
:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;}

/* Logo image */
.logo-img{
  height:36px;
  width:auto;
  border-radius:var(--radius-sm);
}

/* Facebook button */
.btn-facebook{
  background:#1877F2;
  color:#fff;
  border:none;
}
.btn-facebook:hover{
  background:#166FE5;
  transform:translateY(-1px);
}

/* Hero logo */
.hero-logo{
  max-width:440px;
  height:auto;
  display:block;
  margin:0 auto 1.5rem;
  filter:drop-shadow(0 8px 24px rgba(0,0,0,0.2));
}
@media(max-width:639px){
  .hero-logo{max-width:320px;}
}

/* Background side panels */
.bg-side{
  position:fixed;
  top:0;
  bottom:0;
  width:25vw;
  height:100vh;
  z-index:0;
  overflow:hidden;
}
.bg-side.left{
  left:0;
}
.bg-side.right{
  right:0;
}
.bg-side img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

.map-link{
  display:block;
  border:1px solid var(--border-color);
  border-radius:var(--radius-lg);
  overflow:hidden;
  transition:box-shadow var(--transition-fast);
  text-decoration:none;
  background:#000;
}
.map-link:hover{
  box-shadow:var(--shadow-lg);
}
.map-link iframe{
  border:none;
  width:100%;
  height:300px;
  display:block;
}
.map-caption{
  margin-top:0.75rem;
  text-align:center;
  font-weight:600;
  color:var(--accent-primary);
  font-size:0.95rem;
}

/* Map placeholder (no API key needed) */
.map-placeholder{
  width:100%;
  height:260px;
  background:#f1f5f9;
  border:1px solid var(--border-color);
  border-radius:var(--radius-lg);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
}
.map-icon{
  width:56px;
  height:56px;
  background:var(--accent-primary);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#0f172a;
  font-size:1.5rem;
  flex-shrink:0;
}
.map-info{
  margin-left:0.25rem;
}
.map-address{
  font-size:1.1rem;
  font-weight:700;
  color:#334155;
  line-height:1.2;
}
.map-suburb{
  font-size:0.95rem;
  color:#64748b;
  line-height:1.2;
}

/* Roller blinds images */
.roller-images{
  width:100%;
  margin-bottom:1rem;
}
.roller-images img{
  width:100%;
  height:auto;
  border-radius:var(--radius-lg);
  border:1px solid var(--border-color);
  box-shadow:var(--shadow-md);
  object-fit:cover;
  display:block;
  margin-bottom:1rem;
}
.roller-images img:last-child{
  margin-bottom:0;
}

/* Venetian blinds images */
.venetian-images{
  width:100%;
  margin-bottom:1rem;
}
.venetian-images img{
  width:100%;
  height:auto;
  border-radius:var(--radius-lg);
  border:1px solid var(--border-color);
  box-shadow:var(--shadow-md);
  object-fit:cover;
  display:block;
  margin-bottom:1rem;
}
.venetian-images img:last-child{
  margin-bottom:0;
}


  margin-left:0.25rem;
}
.map-address{
  font-size:1.1rem;
  font-weight:700;
  color:#334155;
  line-height:1.2;
}
.map-suburb{
  font-size:0.95rem;
  color:#64748b;
  line-height:1.2;
}

/* Curtain images */
.curtain-images{
  width:100%;
  margin-bottom:1rem;
}
.curtain-images img{
  width:100%;
  height:auto;
  border-radius:var(--radius-lg);
  border:1px solid var(--border-color);
  box-shadow:var(--shadow-md);
  display:block;
  margin-bottom:1rem;
}
.curtain-images img:last-child{
  margin-bottom:0;
}

/* Curtains page: Sheer left, Blockout + Lined stacked on the right */
.curtains-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
  align-items:start;
}
.curtains-right{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
@media(min-width:768px){
  .curtains-layout{
    grid-template-columns:1fr 1fr;
  }
}

/* ===== Home side imagery + content sheet fix ===== */
main, footer{ position:relative; z-index:1; }
.navbar{ position:relative; z-index:2; }

@media (max-width:1199px){
  .bg-side{ display:none; }
}

@media (min-width:1200px){
  .bg-side{ width:min(18vw,240px); }
  body.has-side main,
  body.has-side footer{
    max-width:calc(100% - 2 * min(18vw,240px));
    margin-left:auto;
    margin-right:auto;
    background:var(--bg-primary);
    box-shadow:0 0 40px rgba(15,23,42,0.06);
  }
}

/* Supplier links: readable dark text on white cards */
.supplier-item a{ color:var(--text-primary); }
.supplier-item a:hover{ color:var(--accent-primary); }

/* Prevent cards from stretching to equal height (avoids long empty cards) */
.grid{ align-items:start; }

/* ===== Contact page: larger map + two-column details ===== */
.map-link iframe{ height:460px; }
.contact-two-col{
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
  margin-top:2rem;
  align-items:stretch;
}
@media (min-width:768px){
  .contact-two-col{ grid-template-columns:1fr 1fr; }
}
.contact-card{ padding:1.75rem; }
.contact-card h3{ font-size:1.2rem; margin-bottom:1rem; }
.contact-card p{
  display:flex;
  align-items:flex-start;
  gap:0.6rem;
  margin-bottom:0.9rem;
  line-height:1.5;
}
.contact-card p:last-child{ margin-bottom:0; }
.contact-ico{
  color:var(--accent-primary);
  font-size:1.35rem;
  line-height:1;
  flex:none;
  display:inline-flex;
  margin-top:0.1rem;
}
.contact-card a{
  color:var(--text-primary);
  font-weight:600;
  text-decoration:none;
}
.contact-card a:hover{ color:var(--accent-primary); }
.service-areas-list{
  margin:0;
  padding-left:1.1rem;
  color:var(--text-secondary);
  line-height:1.9;
}

/* ===== Blinds page: two centred columns, Roller + Vertical stacked left ===== */
.blinds-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
  max-width:860px;
  margin:0 auto;
  align-items:start;
}
.blinds-col{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
@media (min-width:768px){
  .blinds-layout{ grid-template-columns:1fr 1fr; }
}
