/*
Theme Name: Cameo Stone Nursery
Theme URI: https://web--cameomemorialsnursery--juantateswim.coder.swim.net.au
Author: SWiM
Description: Single-page brochure theme for Cameo Stone Nursery. All copy and imagery are editable via Appearance → Customize → "Cameo Site Content".
Version: 1.1.1
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: cameo
*/

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Mulish',system-ui,sans-serif;color:#2c2c2c;background:#ffffff;-webkit-font-smoothing:antialiased}
a{color:#e07d0f;text-decoration:none}
a:hover{color:#c76a08}
section{scroll-margin-top:78px}
img{display:block;max-width:100%}

/* Filled cover images (hero + visit band) */
.cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.82) contrast(1.15)}

/* Branded placeholder for unfilled image slots */
.ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
    background:linear-gradient(135deg,#eae5db 0%,#dcd6ca 55%,#cfc8ba 100%);color:#8a8375;text-align:center;padding:16px}
.ph svg{opacity:.55}
.ph span{font-size:12.5px;font-weight:700;letter-spacing:.4px;line-height:1.35;max-width:88%}

/* ---- Contact Form 7 (styled to match the theme) ---- */
.contact-form-wrap .wpcf7 .contact-form{
  display:grid;grid-template-columns:1fr 1fr;gap:18px;
  background:#fff;border-radius:16px;box-shadow:0 8px 26px rgba(0,0,0,.08);padding:34px 32px}
.contact-form-wrap .field{display:flex;flex-direction:column;gap:6px}
.contact-form-wrap .field.full{grid-column:1 / -1}
.contact-form-wrap .field label{font-size:14.5px;font-weight:700;color:#4a4a4a;letter-spacing:.3px}
.contact-form-wrap .wpcf7-form-control-wrap{display:block}
.contact-form-wrap input[type=text],
.contact-form-wrap input[type=email],
.contact-form-wrap input[type=tel],
.contact-form-wrap textarea{
  width:100%;font-family:inherit;font-size:14px;padding:12px 14px;
  border:1px solid #dcd7cf;border-radius:7px;background:#faf8f5;color:#2c2c2c}
.contact-form-wrap textarea{resize:vertical}
.contact-form-wrap .actions{grid-column:1 / -1;display:flex;gap:12px;margin-top:6px;align-items:center;flex-wrap:wrap}
.contact-form-wrap input[type=submit],
.contact-form-wrap .btn-reset{
  font-family:inherit;font-weight:700;font-size:14px;letter-spacing:.5px;text-transform:uppercase;
  border-radius:6px;cursor:pointer}
.contact-form-wrap input[type=submit]{background:#ef8b1e;color:#fff;border:none;padding:13px 34px}
.contact-form-wrap input[type=submit]:hover{background:#e07d0f}
.contact-form-wrap .btn-reset{background:#fff;color:#6d6d6d;border:1px solid #dcd7cf;padding:13px 30px}
.contact-form-wrap .cf7-captcha{margin-top:4px}
/* CF7 validation + response messaging */
.contact-form-wrap .wpcf7-not-valid-tip{color:#a33227;font-size:12.5px;font-weight:700;margin-top:4px}
.contact-form-wrap .wpcf7-response-output{
  margin:18px 2px 0;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:700;border:1px solid transparent}
.contact-form-wrap .wpcf7-mail-sent-ok{background:#eaf6e2;color:#3f6b21;border-color:#cfe6bd}
.contact-form-wrap .wpcf7-validation-errors,
.contact-form-wrap .wpcf7-mail-sent-ng,
.contact-form-wrap .wpcf7-aborted,
.contact-form-wrap .wpcf7-spam-blocked{background:#fbe9e7;color:#a33227;border-color:#f3c9c3}
.contact-form-wrap .wpcf7-spinner{margin:0 0 0 10px}

/* ---- Responsive overrides (inline styles need !important) ---- */
@media (max-width:960px){
  .products-grid{grid-template-columns:repeat(2,1fr)!important}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .hero-h1{font-size:48px!important}
  .sec-h2{font-size:36px!important}
}
@media (max-width:620px){
  .products-grid{grid-template-columns:1fr!important}
  .gallery-grid{grid-template-columns:1fr!important}
  .contact-form{grid-template-columns:1fr!important}
  .footer-grid{grid-template-columns:1fr!important;gap:28px!important}
  .hero{height:auto!important;min-height:460px}
  .hero-h1{font-size:38px!important}
  .sec-h2{font-size:30px!important}
  .header-inner{padding:12px 18px!important}
  .brand-lg{font-size:18px!important}
}
