/*
 Theme Name:   Red Mountain Child
 Theme URI:    https://red-mountain-equipment.local
 Description:  Custom child theme for Red Mountain Heavy Equipments
 Author:       Red Mountain
 Template:     astra
 Version:      1.0.0
 Text Domain:  red-mountain-child
*/

@import url('../astra/style.css');

/* ====== RED MOUNTAIN DESIGN SYSTEM ====== */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Inter:wght@400;500;600;700&family=Roboto+Mono:wght@500;600&display=swap');

:root {
  --navy: #16283F;
  --navy-deep: #0E1B2C;
  --rust: #C6572A;
  --rust-dark: #A8471F;
  --sand: #EDE7DA;
  --sand-light: #F7F4EC;
  --ink: #211E1A;
  --paper: #FBFAF7;
  --line: #DDD5C4;
}

* { margin:0; padding:0; box-sizing:border-box; }

body {
  font-family: 'Inter', -apple-system, sans-serif;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.5;
}

h1,h2,h3,.display {
  font-family: 'Oswald', 'Arial Narrow', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  color: var(--navy);
}

.mono { font-family: 'Roboto Mono', monospace; }

img {
  display:block; max-width:100%;
  -webkit-user-drag:none; user-select:none; -webkit-touch-callout:none;
}

a { text-decoration:none; color:inherit; }

/* Ensure main content wrappers stack sections vertically */
.site-content,
.ast-container,
.entry-content {
  display: block !important;
  width: 100% !important;
}

.wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }

/* ---------- Header ---------- */
header {
  position: sticky; top:0; z-index:50;
  background: var(--navy);
  border-bottom: 3px solid var(--rust);
}

.header-inner {
  display:flex; align-items:center; justify-content:space-between;
  padding: 14px 32px; max-width:1180px; margin:0 auto;
}

.logo { display:flex; align-items:center; gap:12px; }

.logo svg { width:46px; height:46px; flex-shrink:0; }

/* Constrain custom logo image from WordPress/Astra */
.custom-logo { 
  max-width: 60px !important; 
  height: auto !important; 
  width: auto !important; 
}

.logo-text { color:#fff; line-height:1.1; }

.logo-text .top { font-family:'Oswald',sans-serif; font-weight:700; font-size:19px; letter-spacing:0.04em; }

.logo-text .bottom { font-size:10px; letter-spacing:0.18em; color:var(--rust); font-weight:600; }

nav { display:flex; gap:34px; }

nav a { color:#D8DEE6; font-size:14px; font-weight:500; letter-spacing:0.02em; transition:color .15s; }

nav a:hover { color:#fff; }

.header-cta {
  background: var(--rust); color:#fff; padding:10px 20px; border-radius:2px;
  font-size:13.5px; font-weight:600; display:flex; align-items:center; gap:8px;
}

.header-cta:hover { background: var(--rust-dark); }

/* ---------- Homepage About teaser ---------- */
.about-teaser {
  background-size:cover; background-position:center 45%; width:100%;
  padding:70px 0;
}

.about-teaser .wrap { max-width:760px; }

.about-teaser h2 { color:#fff; font-size:32px; margin:8px 0 16px; }

.about-teaser p { color:#D8DEE6; font-size:15px; line-height:1.75; margin-bottom:0; }

.about-teaser .stat-row { margin-top:30px; }

.about-teaser .stat .num { color:#fff; }

.about-teaser .stat .label { color:#9AA4B0; }

/* ---------- Contact page ---------- */
.contact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }

.contact-card { background:var(--paper); padding:32px 28px; text-align:center; }

.contact-card h3 { color:var(--navy); font-size:16px; margin-bottom:10px; }

.contact-card p { color:#6E7784; font-size:14px; margin-bottom:18px; }

.contact-card .wa-enquire-btn, .contact-card .email-enquire-btn { display:inline-flex; margin:0; }

@media (max-width: 900px) {
  .contact-grid { grid-template-columns:1fr; }
}

/* ---------- Page hero (About / Contact) ---------- */
.page-hero {
  position:relative; min-height:280px; display:flex; align-items:flex-end;
  background-size:cover; background-position:center; width:100%;
}

.page-hero .wrap { padding:60px 32px 40px; }

.page-hero .tag { color:#E39664; }

.page-hero h1 { color:#fff; font-size:38px; margin:8px 0 0; }

/* ---------- Hero ---------- */
.hero {
  position:relative; min-height: 620px; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-end;
  background: linear-gradient(180deg, rgba(14,27,44,0.35) 0%, rgba(14,27,44,0.55) 45%, rgba(14,27,44,0.94) 100%), url('/wp-content/uploads/2026/08/hero-tractor.jpg');
  background-size: cover;
  background-position: center;
  width: 100%;
}

.hero-content { padding: 90px 0 56px; width:100%; }

.eyebrow-row { display:flex; align-items:center; gap:14px; margin-bottom:18px; }

.since-badge {
  border:1px solid rgba(255,255,255,0.4); color:#fff; font-size:12px; letter-spacing:0.14em;
  padding:5px 12px; font-weight:500;
}

.hero h1 {
  color:#fff; font-size: 54px; font-weight:700; line-height:1.03; max-width:680px;
  text-transform:uppercase; letter-spacing:0.005em;
}

.hero h1 span { color: #E39664; }

.hero p {
  color:#D8DEE6; font-size:17px; max-width:520px; margin-top:18px; font-weight:400;
}

.hero-actions { display:flex; gap:14px; margin-top:32px; flex-wrap:wrap; }

.btn-primary {
  background: var(--rust); color:#fff; padding:15px 28px; font-weight:600; font-size:14.5px;
  display:inline-flex; align-items:center; gap:10px; letter-spacing:0.01em;
}

.btn-primary:hover { background: var(--rust-dark); }

.btn-outline {
  border:1.5px solid rgba(255,255,255,0.55); color:#fff; padding:15px 28px; font-weight:600; font-size:14.5px;
}

.btn-outline:hover { border-color:#fff; background:rgba(255,255,255,0.06); }

/* search */
.part-search {
  margin-top:38px; max-width:560px; background:rgba(251,250,247,0.97);
  display:flex; align-items:stretch; border-left:4px solid var(--rust);
}

.part-search input {
  flex:1; border:none; background:transparent; padding:17px 18px; font-size:15px;
  font-family:'Inter',sans-serif; color:var(--ink); outline:none;
}

.part-search input::placeholder { color:#8A8375; }

.part-search button {
  background:var(--navy); color:#fff; border:none; padding:0 24px; font-weight:600;
  font-size:13.5px; letter-spacing:0.03em; cursor:pointer;
}

/* ---------- Trust strip ---------- */
.trust-strip { 
  display: block;
  width: 100%;
  background: var(--sand); 
  border-bottom:1px solid var(--line); 
}

.trust-strip .wrap { display:flex; justify-content:space-between; padding:22px 32px; flex-wrap:wrap; gap:16px; }

.trust-item { display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--navy); font-weight:600; }

.trust-item .num { font-family:'Oswald',sans-serif; font-size:20px; color:var(--rust); font-weight:700; }

/* ---------- Section titles ---------- */
.section { 
  display: block;
  width: 100%;
  padding: 76px 0; 
}

.section-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:40px; flex-wrap:wrap; gap:16px; }

.section-head h2 { font-size:32px; font-weight:600; }

.section-head p { color:#6B6459; font-size:14.5px; max-width:380px; }

.tag { color:var(--rust); font-weight:600; font-size:12.5px; letter-spacing:0.14em; margin-bottom:8px; display:block; }

/* ---------- Categories ---------- */
.cat-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }

.cat-card {
  background:var(--navy); padding:26px 18px; min-height:150px; position:relative; overflow:hidden;
  display:flex; flex-direction:column; justify-content:space-between; transition:background .2s;
}

.cat-card:hover { background: var(--navy-deep); }

.cat-card .n { color:rgba(255,255,255,0.3); font-family:'Roboto Mono',monospace; font-size:12px; }

.cat-card h3 { color:#fff; font-size:15px; font-weight:600; line-height:1.25; text-transform:none; letter-spacing:0; }

.cat-card .arrow { color:var(--rust); font-size:18px; }

/* ---------- Product grid ---------- */
.prod-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }

.prod-card { background:var(--paper); padding:0; }

.prod-photo { background:var(--sand-light); aspect-ratio:1.3/1; display:flex; align-items:center; justify-content:center; overflow:hidden; }

.prod-photo img { width:100%; height:100%; object-fit:contain; padding:14px; }

.prod-link { display:block; color:inherit; text-decoration:none; }

.prod-info { padding:16px 18px 4px; }

.prod-brand { font-size:11px; letter-spacing:0.1em; color:var(--rust); font-weight:600; text-transform:uppercase; }

.prod-name { font-size:14px; font-weight:600; color:var(--navy); margin:6px 0 8px; }

.prod-sku { font-family:'Roboto Mono',monospace; font-size:12px; color:#6B6459; background:var(--sand); display:inline-block; padding:4px 8px; margin-bottom:12px; }

.prod-cta-wrap { padding:0 18px 20px; }

.prod-cta { display:flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:var(--navy); }

.prod-cta:hover { color:var(--rust); }

/* ---------- Shop / category / brand archive pages ---------- */
/* Applies to WooCommerce's default product loop (Shop, category, and brand
   archives all share this markup), so one place styles every listing page
   to match the custom homepage grid instead of Astra's default look. */

.ast-separate-container .ast-woocommerce-container,
.ast-woocommerce-container {
  padding-top: 48px;
}

.woocommerce-products-header,
.page-title.ast-archive-title {
  font-family:'Oswald',sans-serif; color:var(--navy); font-size:32px;
  text-transform:uppercase; margin-bottom:8px;
}

.woocommerce-result-count { color:#6B6459; font-size:14px; }

.woocommerce-ordering select.orderby {
  border:1px solid var(--line); background:var(--paper); color:var(--navy);
  font-size:13.5px; padding:8px 12px;
}

ul.products {
  display:grid !important; gap:1px; background:var(--line); border:1px solid var(--line);
  margin:32px 0 !important; padding:0 !important;
}

ul.products li.product {
  background:var(--paper) !important; margin:0 !important; padding:0 !important;
  list-style:none;
}

.astra-shop-thumbnail-wrap {
  background:var(--sand-light); aspect-ratio:1.3/1; overflow:hidden; position:relative;
  display:flex; align-items:center; justify-content:center;
}

.astra-shop-thumbnail-wrap img { width:100%; height:100%; object-fit:contain; padding:14px; }

/* Astra's on-card quick-view button carries a shopping-bag icon, which
   doesn't fit an enquiry-only catalog (no cart exists) - hide it since the
   image/title are already clickable links to the product page. */
.astra-shop-thumbnail-wrap .ast-on-card-button { display:none !important; }

.astra-shop-summary-wrap { padding:16px 18px 20px; }

.ast-woo-product-category {
  font-size:11px; letter-spacing:0.1em; color:var(--rust); font-weight:600;
  text-transform:uppercase; display:block; margin-bottom:6px;
}

.ast-loop-product__link { text-decoration:none; }

.woocommerce-loop-product__title {
  font-family:'Oswald',sans-serif; font-size:14px; font-weight:600; color:var(--navy);
  text-transform:none; letter-spacing:0; margin:0;
}

.woocommerce-pagination { margin:40px 0; }

.woocommerce-pagination ul.page-numbers { display:flex; gap:6px; list-style:none; }

.woocommerce-pagination .page-numbers {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:36px; height:36px; padding:0 8px;
  border:1px solid var(--line); color:var(--navy); font-size:13.5px; font-weight:600;
}

.woocommerce-pagination .page-numbers.current { background:var(--navy); color:#fff; border-color:var(--navy); }

.woocommerce-pagination a.page-numbers:hover { background:var(--sand); }

@media (max-width: 900px) {
  ul.products { grid-template-columns:repeat(2,1fr) !important; }
}

/* ---------- About / split ---------- */
.about-split { 
  display:grid; 
  grid-template-columns: 1fr 1fr; 
  gap:0; 
  align-items:stretch;
  width: 100%;
}

.about-split .img-side { background: url('/wp-content/uploads/2026/08/our-story-equipment.jpg'); background-size: cover; background-position: center; }

.about-split .text-side { background:var(--navy); color:#D8DEE6; padding:60px 56px; display:flex; flex-direction:column; justify-content:center; }

.about-split h2 { color:#fff; font-size:30px; margin-bottom:18px; }

.about-split p { font-size:14.5px; line-height:1.75; margin-bottom:14px; color:#C3CAD3; }

.stat-row { display:flex; gap:36px; margin-top:26px; }

.stat { }

.stat .num { font-family:'Oswald',sans-serif; font-size:30px; color:var(--rust); font-weight:700; }

.stat .label { font-size:12px; color:#9AA4B0; letter-spacing:0.05em; }

/* ---------- Shop by Brand ---------- */
.brand-strip { display:flex; flex-wrap:wrap; gap:12px; }

.brand-chip {
  background:var(--navy); color:#fff; padding:12px 22px; border-radius:30px;
  font-size:13.5px; font-weight:600; letter-spacing:0.02em;
}

.brand-chip:hover { background:var(--rust); }

/* ---------- Need help with this part? ---------- */
.need-help-box {
  background:var(--sand-light,#F7F4EF); border:1px solid var(--line);
  border-radius:4px; padding:28px 32px; margin:32px 0; text-align:center;
}

.need-help-box h3 { color:var(--navy); font-size:18px; margin-bottom:6px; }

.need-help-box p { color:#6E7784; font-size:13.5px; margin-bottom:16px; }

.need-help-box .wa-enquire-btn { margin:0; }

/* ---------- Related products (WooCommerce default markup) ---------- */
.related.products { border-top:1px solid var(--line); margin-top:40px; padding-top:36px; }

.related.products > h2 {
  font-family:'Oswald',sans-serif; font-size:24px; color:var(--navy);
  text-transform:uppercase; margin-bottom:24px;
}

.related.products ul.products li.product {
  border:1px solid var(--line); padding:16px 18px 20px; border-radius:2px;
}

.related.products ul.products li.product .woocommerce-loop-product__title {
  font-size:14px; font-weight:600; color:var(--navy);
}

.related.products ul.products li.product .price { color:var(--rust); font-weight:600; }

.related.products ul.products li.product a.button {
  background:var(--navy); color:#fff; border-radius:2px; font-size:12.5px;
}

.related.products ul.products li.product a.button:hover { background:var(--navy-deep); }

/* ---------- Industries We Serve ---------- */
.industry-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }

.industry-card { background:var(--paper); padding:26px 22px; }

.industry-card h3 { font-size:15px; color:var(--navy); margin-bottom:8px; }

.industry-card p { font-size:13px; line-height:1.6; color:#6E7784; }

@media (max-width: 900px) {
  .industry-grid { grid-template-columns:repeat(2,1fr); }
}

/* ---------- Footer ---------- */
footer { color:#B7BFC9; }

/* Astra's actual visible footer bar (the copyright row) - the bare <footer>
   element itself has no fixed height, so padding/background applied there
   directly leaves empty gaps above and below this inner box instead. */
.site-below-footer-wrap {
  background: var(--navy-deep) !important;
  padding: 20px 0;
}

.site-below-footer-wrap a { color:#9AA4B0; }

.site-below-footer-wrap a:hover { color:#fff; }

.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,0.08); }

footer h4 { color:#fff; font-size:13px; letter-spacing:0.08em; margin-bottom:16px; text-transform:uppercase; font-weight:600; }

footer .foot-logo { color:#fff; font-family:'Oswald',sans-serif; font-size:20px; font-weight:700; margin-bottom:10px; }

footer p, footer a { font-size:13.5px; line-height:2; color:#9AA4B0; }

footer a:hover { color:#fff; }

.foot-bottom { display:flex; justify-content:space-between; padding-top:22px; font-size:12px; color:#6E7784; flex-wrap:wrap; gap:10px; }

/* ---------- Top contact bar ---------- */
.rm-contact-bar { background:var(--navy-deep); }

.rm-contact-bar .wrap { display:flex; justify-content:space-between; align-items:center; padding:8px 32px; }

.rm-contact-bar-left { display:flex; gap:24px; flex-wrap:wrap; }

.rm-contact-bar-social { display:flex; gap:14px; }

.rm-contact-bar a {
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; color:#B7BFC9;
}

.rm-contact-bar a:hover { color:#fff; }

@media (max-width: 600px) {
  .rm-contact-bar .wrap { gap:10px; padding:8px 20px; flex-wrap:wrap; }
  .rm-contact-bar-left { gap:14px; }
}

/* ---------- Footer social ---------- */
.rm-footer-social { background:var(--navy); border-bottom:1px solid rgba(255,255,255,0.08); }

.rm-footer-social .wrap {
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 32px;
}

.rm-footer-social span {
  color:#fff; font-size:12.5px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase;
}

.rm-footer-social-icons { display:flex; gap:14px; }

.rm-footer-social-icons a {
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%;
  background:rgba(255,255,255,0.08); color:#fff;
}

.rm-footer-social-icons a:hover { background:var(--rust); }

/* ---------- WhatsApp float ---------- */
/* Astra's default scroll-to-top button overlaps the WhatsApp bubble - hide it. */
#ast-scroll-top { display:none !important; }

.wa-float {
  position:fixed; bottom:26px; right:26px; z-index:60;
  background:#25D366; color:#fff; width:60px; height:60px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(0,0,0,0.25);
}

.wa-float svg { width:30px; height:30px; }

.wa-enquire-btn {
  display:inline-flex; align-items:center; gap:8px; margin:16px 0;
  background:#25D366; color:#fff; padding:12px 22px; border-radius:2px;
  font-weight:600; font-size:14px;
}

.wa-enquire-btn:hover { background:#1ebc59; color:#fff; }

.email-enquire-btn {
  display:inline-flex; align-items:center; gap:8px; margin:16px 0 16px 10px;
  background:var(--navy); color:#fff; padding:12px 22px; border-radius:2px;
  font-weight:600; font-size:14px;
}

.email-enquire-btn:hover { background:var(--navy-deep); color:#fff; }

.trust-badges {
  display:grid; grid-template-columns:repeat(2,1fr); gap:14px 22px;
  margin-top:22px; padding-top:20px; border-top:1px solid #E5E9EE;
  clear:both;
}

.trust-badge { display:flex; align-items:flex-start; gap:10px; }

.trust-badge .dot {
  flex:none; width:8px; height:8px; border-radius:50%; background:var(--rust);
  margin-top:6px;
}

.trust-badge div { display:flex; flex-direction:column; }

.trust-badge strong { font-size:13px; color:var(--navy); font-weight:700; }

.trust-badge span { font-size:12px; color:#6E7784; }

@media (max-width: 600px) {
  .trust-badges { grid-template-columns:1fr; }
}

/* ---------- Responsive Design ---------- */
@media (max-width: 900px) {
  #primary-site-navigation-desktop { display:none; }
  .hero h1 { font-size:36px; }
  .cat-grid { grid-template-columns:repeat(2,1fr); }
  .prod-grid { grid-template-columns:repeat(2,1fr); }
  .about-split { grid-template-columns:1fr; }
  .about-split .img-side { min-height:260px; }
  .footer-grid { grid-template-columns:1fr; gap:28px; }
  .trust-strip .wrap { flex-direction:column; align-items:flex-start; }
}
