/*
Theme Name: Ace of Maids
Theme URI: https://www.aceofmaids.co.za/
Author: Ace of Maids
Description: Custom conversion-focused theme for Ace of Maids staff training.
Version: 0.1.20
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ace-of-maids
*/

:root { --aom-green:#123d38; --aom-sage:#dce7df; --aom-cream:#fbf9f4; --aom-gold:#bd8753; --aom-ink:#193a37; --aom-line:#d9ded9; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--aom-cream); color:var(--aom-ink); font:16px/1.6 Arial,sans-serif; }
h1,h2,h3 { margin:.2em 0 .45em; font-family:Georgia,serif; line-height:1.06; }
h1 { font-size:clamp(2.8rem,5vw,5.1rem); } h2 { font-size:clamp(2.1rem,4vw,3.5rem); } h3 { font-size:1.35rem; }
a { color:inherit; text-decoration:none; }
.aom-header { position:sticky; top:0; z-index:50; display:flex; min-height:76px; align-items:center; justify-content:space-between; gap:24px; padding:10px clamp(20px,5vw,76px); background:#102e2b; color:#fff; }
.aom-brand img { display:block; width:146px; height:auto; }
.aom-nav { display:flex; gap:28px; align-items:center; font-weight:700; }
.aom-nav a:hover,.aom-nav a:focus { color:#f2bd80; }
.aom-button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:12px 19px; border:1px solid var(--aom-gold); border-radius:3px; background:var(--aom-gold); color:#fff; font-weight:700; }
.aom-button--disabled { cursor:default; opacity:.72; }
.aom-button--outline { background:transparent; border-color:#fff; }
.aom-menu-toggle { display:none; border:0; background:none; color:#fff; font-size:1.6rem; }
.aom-section { padding:72px max(24px,calc((100vw - 1160px)/2)); }
.aom-section--soft { background:var(--aom-sage); }
.aom-eyebrow { display:inline-block; padding:7px 10px; background:#326458; color:#f2bd80; font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.aom-intro { max-width:780px; margin-bottom:30px; }
#services .aom-intro { width:100%; max-width:none; }
@media (min-width:801px) { #services .aom-intro h2 { white-space:nowrap; font-size:clamp(2.1rem,3.45vw,3.1rem); } }
.aom-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.aom-service-card { position:relative; min-height:350px; overflow:hidden; color:#fff; }
.aom-service-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.94) saturate(.92); }
.aom-service-card__panel { position:absolute; right:0; bottom:0; left:0; display:grid; min-height:0; height:200px; grid-template-rows:3.18em 3em 1fr; padding:16px; background:rgba(50,100,88,.82); }
.aom-service-card__panel h3 { height:3.18em; margin:0 0 8px; overflow:hidden; }
.aom-service-card__panel p { height:3em; margin:0; font-size:.92rem; overflow:hidden; }
.aom-service-card__link { display:inline-block; align-self:flex-start; margin-top:auto; padding:8px 11px; background:var(--aom-gold); font-size:.82rem; font-weight:700; }
.aom-hero,.aom-service-hero { display:flex; min-height:620px; align-items:end; color:#fff; background:linear-gradient(90deg,rgba(12,37,34,.68),rgba(12,37,34,.24)),var(--aom-hero-image) center/cover; }
.aom-service-hero { min-height:430px; background:linear-gradient(90deg,rgba(12,37,34,.82),rgba(12,37,34,.30)),var(--aom-hero-image) center/cover; }
.aom-hero__inner { width:100%; padding:100px clamp(24px,5vw,96px) 70px; }
.aom-hero__copy { max-width:1080px; font-size:1.08rem; }
.aom-trust { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; font-size:.9rem; font-weight:700; }
.aom-trust span { padding:7px 11px; border:1px solid rgba(242,189,128,.38); background:rgba(8,34,30,.42); }
.aom-split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(35px,8vw,110px); align-items:center; }
.aom-split img { width:100%; height:470px; object-fit:cover; }
.aom-program-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(35px,8vw,110px); align-items:start; }
.aom-check-list { margin:0; padding:0; list-style:none; }
.aom-check-list li { padding:9px 0; border-bottom:1px solid var(--aom-line); }
.aom-check-list li::before,.aom-inclusion::before { content:'✓'; margin-right:8px; color:var(--aom-gold); font-weight:700; }
.aom-inclusion-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.aom-inclusion { padding:16px; border:1px solid var(--aom-line); background:#fff; }
.aom-review-scroller { display:flex; gap:16px; overflow-x:auto; padding:4px 0 18px; }
.aom-review { min-width:min(330px,84vw); padding:23px; background:#fff; box-shadow:0 8px 22px rgba(18,61,56,.08); }
.aom-review p { color:#40534d; }
.aom-stars { color:#d79b4e; letter-spacing:2px; }
.aom-reviews-link { display:inline-flex; min-height:48px; align-items:center; justify-content:center; margin-top:18px; padding:11px 15px; border:1px solid #b9d0c1; border-radius:3px; background:var(--aom-sage); color:var(--aom-green); font-weight:700; }
.aom-pricing { background:var(--aom-green); color:#fff; }
.aom-price-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; }
/* Keep four pricing choices balanced at tablet widths: two rows of two, never three plus one. */
@media (min-width:801px) and (max-width:1099px) { .aom-price-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.aom-price-card { position:relative; display:flex; min-height:300px; flex-direction:column; padding:25px; background:#fff; color:var(--aom-ink); }
.aom-price-card__recommended { position:absolute; top:0; left:0; padding:7px 12px; background:var(--aom-gold); color:#fff; font-size:.78rem; font-weight:700; text-transform:uppercase; }
.aom-price-card:not(.aom-price-card--travel-course) h3 { min-height:3.2em; margin:0 0 .45em; padding-top:28px; }
.aom-price { display:flex; height:2.7rem; min-height:2.7rem; align-items:flex-end; margin:0 0 .35rem; font:600 2.3rem Georgia,serif; }
.aom-price--from { font-size:clamp(1.85rem,2.2vw,2.15rem); white-space:nowrap; }
.aom-price-card:not(.aom-price-card--travel-course) p:nth-of-type(1) { min-height:2em; margin:.0 0 .45em; }
.aom-price-card:not(.aom-price-card--travel-course) p:nth-of-type(2) { min-height:3.4em; margin:0; }
.aom-price-card .aom-button { margin-top:auto; }
.aom-price-card--travel-course { padding:0; overflow:hidden; }
.aom-travel-benefit,.aom-course-download { display:flex; flex:1; flex-direction:column; justify-content:center; padding:19px 20px; }
.aom-travel-benefit { background:#fff; }
.aom-travel-benefit h3,.aom-course-download h3 { margin:0 0 5px; font-size:1.15rem; }
.aom-travel-benefit p,.aom-course-download p { margin:0; font-size:.9rem; }
.aom-course-download { border-top:1px solid #b9d0c1; background:var(--aom-sage); color:var(--aom-green); }
.aom-faq details { padding:18px 0; border-bottom:1px solid var(--aom-line); background:#fff; }
.aom-faq summary { cursor:pointer; font-weight:700; }
.aom-book-panel { display:grid; grid-template-columns:.72fr 1.28fr; margin-top:28px; background:var(--aom-green); color:#fff; }
.aom-book-panel img { width:100%; height:210px; object-fit:cover; }
.aom-book-panel__copy { padding:24px; }
.aom-footer { padding:55px max(24px,calc((100vw - 1160px)/2)) 90px; background:#102e2b; color:#dfe8e3; }
.aom-footer img { width:146px; }
.aom-footer a { color:#f2bd80; }
@media (max-width:800px) { body { padding-bottom:62px; } .aom-header { min-height:65px; padding:8px 20px; } .aom-brand img { width:125px; } .aom-menu-toggle { display:block; } .aom-nav,.aom-header .aom-header-cta { display:none; } .aom-header.is-open .aom-nav { position:absolute; top:65px; right:0; left:0; display:flex; flex-direction:column; gap:0; padding:8px 24px 16px; background:var(--aom-green); } .aom-header.is-open .aom-nav a { padding:12px 0; border-bottom:1px solid rgba(255,255,255,.16); } .aom-section { padding:62px 24px; } .aom-hero { min-height:575px; } .aom-service-hero { min-height:525px; } .aom-hero__inner { padding:60px 24px; } .aom-grid { grid-template-columns:1fr 1fr; gap:10px; } .aom-service-card { min-height:210px; } .aom-service-card__panel { display:flex; height:102px; flex-direction:column; padding:9px; } .aom-service-card__panel h3 { height:3.18em; font-size:1.08rem; } .aom-service-card__panel p { display:none; } .aom-split,.aom-program-grid { grid-template-columns:1fr; gap:28px; } .aom-split img { height:330px; } .aom-inclusion-grid { grid-template-columns:1fr; } .aom-book-panel { grid-template-columns:1fr; } .aom-book-panel img { height:190px; } }
