/*
Theme Name: Sellindge Self Storage
Theme URI: https://sellindgeselfstorage.co.uk
Author: PCP Web Design
Author URI: https://pcpwebdesign.uk
Description: Custom theme for Sellindge Self Storage. Family-run self storage in Sellindge, Kent. Content managed via ACF Pro, contact form via Contact Form 7.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: sellindge
*/

:root{
    --ink:#16201d;
    --bg:#fbfaf6;
    --panel:#ffffff;
    --forest:#1f4d3e;
    --forest-dk:#15382d;
    --lime:#cde04a;
    --amber:#e7913a;
    --mist:#e8eee9;
    --line:#e1e0d6;
    --muted:#5a635f;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Karla',sans-serif;color:var(--ink);background:var(--bg);
    line-height:1.6;-webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:600;line-height:1.08;letter-spacing:-.005em;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1200px;margin:0 auto;padding:0 30px;}

  .ph{
    background:repeating-linear-gradient(45deg,#eceae0 0 15px,#e3e1d5 15px 30px);
    color:var(--forest);display:flex;align-items:center;justify-content:center;
    font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600;
    text-align:center;padding:18px;border:1px dashed #bdbba9;
  }

  /* announcement bar */
  .topbar{
    background:var(--forest-dk);color:#dfe8e1;text-align:center;
    font-size:.88rem;padding:9px 20px;font-weight:500;
  }
  .topbar strong{color:var(--lime);}

  /* header */
  header{background:var(--bg);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);}
  .bar{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:18px;}
  .logo-ph{width:126px;height:52px;font-size:.64rem;}
  nav ul{display:flex;gap:28px;list-style:none;font-weight:500;font-size:.95rem;}
  nav a{text-decoration:none;color:var(--ink);transition:color .2s;}
  nav a:hover{color:var(--amber);}
  .head-cta{display:flex;align-items:center;gap:14px;}
  .phone{font-weight:600;text-decoration:none;display:flex;align-items:center;gap:7px;color:var(--ink);}
  .phone svg{width:16px;height:16px;}
  .btn{
    display:inline-flex;align-items:center;gap:9px;background:var(--forest);color:#fff;
    text-decoration:none;padding:12px 22px;border-radius:40px;font-weight:600;
    font-size:.93rem;transition:.18s;border:none;cursor:pointer;font-family:inherit;
  }
  .btn:hover{background:var(--forest-dk);transform:translateY(-1px);}
  .btn.lime{background:var(--lime);color:var(--forest-dk);}
  .btn.lime:hover{background:#bcd02f;}
  .btn.big{padding:16px 30px;font-size:1.02rem;}

  /* hero — bright photo + white card overlay */
  .hero{position:relative;}
  .hero-img{height:540px;width:100%;overflow:hidden;}
  .hero-img img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block;}
  .hero-card{
    position:absolute;left:50%;bottom:-72px;transform:translateX(-50%);
    background:var(--panel);width:min(940px,92%);
    padding:46px 52px 50px;box-shadow:0 24px 60px rgba(21,56,45,.22);
    border-radius:16px;border-top:4px solid var(--lime);
  }
  .since{
    display:inline-flex;align-items:center;gap:9px;background:var(--mist);
    color:var(--forest);padding:7px 16px;border-radius:30px;
    font-size:.82rem;font-weight:600;margin-bottom:18px;
  }
  .hero h1{font-size:clamp(2.8rem,5.4vw,4.4rem);color:var(--ink);}
  .hero h1 span{color:var(--forest);font-style:italic;}
  .hero .lead{font-size:1.14rem;margin:18px 0 28px;max-width:580px;color:var(--muted);}
  .hero-btns{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
  .hero-btns .btn.lime{background:var(--lime);color:var(--forest-dk);}
  .hero-btns .btn.line{background:transparent;color:var(--ink);border:1.5px solid var(--ink);}
  .hero-btns .btn.line:hover{background:var(--ink);color:#fff;}

  /* icon trust row */
  .trust-row{
    position:relative;z-index:2;margin-top:120px;
    background:var(--panel);border-top:3px solid var(--lime);
    border-radius:14px;box-shadow:0 4px 18px rgba(21,56,45,.08);
  }
  .trust-grid{display:grid;grid-template-columns:repeat(4,1fr);}
  .trust-item{
    padding:30px 26px;text-align:center;border-right:1px solid var(--line);
  }
  .trust-item:last-child{border-right:none;}
  .trust-item .ico{
    width:52px;height:52px;margin:0 auto 12px;border-radius:13px;background:var(--mist);
    display:flex;align-items:center;justify-content:center;
  }
  .trust-item .ico svg{width:26px;height:26px;stroke:var(--forest);fill:none;stroke-width:1.8;}
  .trust-item h3{font-size:1.08rem;color:var(--ink);}
  .trust-item p{font-size:.88rem;color:var(--muted);margin-top:3px;}

  section{padding:84px 0;}
  .eyebrow{
    text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;
    font-weight:600;color:var(--amber);margin-bottom:14px;
  }

  /* who we help */
  .help-head{max-width:560px;}
  .help-head h2{font-size:clamp(2rem,3.6vw,2.9rem);}
  .help-head p{margin-top:12px;color:var(--muted);font-size:1.06rem;}
  .help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:46px;}
  .help-card{
    background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;
    transition:transform .18s;
  }
  .help-card:hover{transform:translateY(-4px);}
  .help-card .ph{height:175px;border:none;border-bottom:1px solid var(--line);}
  .help-card .body{padding:24px 24px 28px;}
  .help-card h3{font-size:1.32rem;margin-bottom:8px;}
  .help-card p{color:var(--muted);font-size:.97rem;}

  /* sizes */
  .sizes{background:var(--forest);color:#eef2ec;}
  .sizes .eyebrow{color:var(--lime);}
  .sizes-head{max-width:600px;}
  .sizes-head h2{font-size:clamp(2.2rem,4vw,3.2rem);color:#fff;}
  .sizes-head p{margin-top:14px;color:#bcccc2;font-size:1.07rem;}
  .size-scroll{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:46px;}
  .size-tile{background:var(--forest-dk);border-radius:12px;overflow:hidden;
    border:1px solid #2a5446;transition:transform .18s,border-color .18s;}
  .size-tile:hover{transform:translateY(-6px);border-color:var(--lime);}
  .size-tile .ph{height:110px;border:none;font-size:.66rem;
    background:repeating-linear-gradient(45deg,#1a4034 0 14px,#1f4a3c 14px 28px);color:#7d9a8c;}
  .size-tile .body{padding:15px 14px 18px;}
  .size-tile .cmp{font-family:'Karla',sans-serif;font-weight:700;font-size:1.05rem;color:#fff;}
  .size-tile .dim{font-size:.82rem;color:var(--lime);margin-top:4px;}
  .sizes-foot{margin-top:34px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;
    font-size:1.05rem;color:#cdd9d1;}

  /* testimonials */
  .revs{background:var(--mist);}
  .revs-head{text-align:center;max-width:560px;margin:0 auto;}
  .revs-head h2{font-size:clamp(2rem,3.6vw,2.9rem);}
  .stars{color:var(--amber);font-size:1.2rem;letter-spacing:3px;margin-top:10px;}
  .rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:46px;}
  .rev-card{
    background:var(--panel);border:1px solid var(--line);border-radius:14px;
    padding:28px 26px;display:flex;flex-direction:column;
  }
  .rev-card .qmark{font-family:'Karla',sans-serif;font-size:3rem;color:var(--lime);line-height:.6;}
  .rev-card p{margin:14px 0 18px;color:#3f4742;font-size:1rem;flex:1;}
  .rev-card .who{font-weight:600;font-size:.95rem;}
  .rev-card .who span{display:block;color:var(--muted);font-weight:400;font-size:.85rem;}
  .rev-note{text-align:center;margin-top:30px;font-size:.92rem;color:var(--muted);}

  /* about split */
  .about{background:var(--forest-dk);color:#e6ede8;}
  .about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center;}
  .about-img{height:380px;border-radius:14px;font-size:.9rem;
    background:repeating-linear-gradient(45deg,#1a4034 0 15px,#1f4a3c 15px 30px);color:#7d9a8c;}
  .about-text .eyebrow{color:var(--lime);}
  .about-text h2{font-size:clamp(2rem,3.6vw,2.9rem);color:#fff;}
  .about-text p{margin-top:16px;font-size:1.08rem;color:#c2d0c8;}
  .about-text a{display:inline-block;margin-top:20px;color:var(--lime);font-weight:600;
    text-decoration:none;border-bottom:2px solid rgba(205,224,74,.4);padding-bottom:2px;}

  /* faq */
  .faq-head{max-width:560px;}
  .faq-head h2{font-size:clamp(2rem,3.6vw,2.9rem);}
  .faq-head p{margin-top:12px;color:var(--muted);font-size:1.06rem;}
  .faq-list{margin-top:40px;max-width:860px;}
  details{
    background:var(--panel);border:1px solid var(--line);border-radius:12px;
    margin-bottom:14px;overflow:hidden;
  }
  summary{
    list-style:none;cursor:pointer;padding:20px 24px;font-weight:600;font-size:1.06rem;
    display:flex;justify-content:space-between;align-items:center;gap:16px;
  }
  summary::-webkit-details-marker{display:none;}
  summary .pm{
    flex:none;width:26px;height:26px;border-radius:50%;background:var(--mist);
    display:flex;align-items:center;justify-content:center;font-size:1.2rem;
    color:var(--forest);transition:transform .2s;
  }
  details[open] summary .pm{transform:rotate(45deg);background:var(--lime);}
  details .ans{padding:0 24px 22px;color:var(--muted);font-size:1rem;}

  /* location */
  .loc{background:var(--mist);}
  .loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
  .loc-map{height:340px;border-radius:14px;font-size:.9rem;}
  .loc-text h2{font-size:clamp(1.9rem,3.4vw,2.7rem);}
  .loc-text p{margin-top:14px;color:var(--muted);font-size:1.06rem;}
  .loc-text ul{list-style:none;margin-top:20px;}
  .loc-text li{padding:9px 0;font-weight:500;display:flex;gap:11px;}
  .loc-text li::before{content:"→";color:var(--amber);font-weight:700;}

  /* contact lines (phone + email pair) */
  .contact-lines{margin-top:28px;display:flex;flex-direction:column;gap:12px;}
  .contact-line{
    display:flex;align-items:center;gap:14px;padding:14px 18px;
    background:var(--panel);border:1px solid var(--line);border-radius:12px;
    text-decoration:none;color:var(--ink);transition:.18s;
  }
  .contact-line:hover{border-color:var(--forest);transform:translateY(-1px);}
  .contact-line svg{flex:none;width:22px;height:22px;color:var(--forest);}
  .contact-line .lbl{display:block;font-size:.78rem;text-transform:uppercase;
    letter-spacing:.12em;color:var(--muted);margin-bottom:2px;}
  .contact-line strong{font-weight:600;font-size:1.05rem;word-break:break-all;}

  /* final */
  .final{background:var(--lime);text-align:center;}
  .final h2{font-size:clamp(2.3rem,4.2vw,3.4rem);color:var(--forest-dk);}
  .final p{font-size:1.15rem;margin:16px auto 28px;max-width:480px;color:#3a4a2a;}
  .final-actions{display:flex;gap:18px;justify-content:center;align-items:center;flex-wrap:wrap;}
  .final .btn{background:var(--forest-dk);color:#fff;}
  .final .btn:hover{background:var(--ink);}
  .phone-big{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:2rem;color:var(--forest-dk);text-decoration:none;}

  footer{background:var(--ink);color:#9aa39e;padding:56px 0 30px;}
  .foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;}
  .foot-logo{width:126px;height:52px;font-size:.64rem;margin-bottom:16px;}
  footer h4{font-family:'Karla',sans-serif;color:#fff;font-size:.82rem;
    text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px;}
  footer p,footer a{font-size:.95rem;color:#9aa39e;text-decoration:none;}
  footer a:hover{color:var(--lime);}
  .foot-links{list-style:none;display:flex;flex-direction:column;gap:8px;}
  .foot-bottom{margin-top:42px;padding-top:22px;border-top:1px solid #2c3531;
    font-size:.84rem;color:#6b746f;}

  @media(max-width:980px){
    .size-scroll{grid-template-columns:repeat(3,1fr);}
    .trust-grid{grid-template-columns:repeat(2,1fr);}
    .trust-item:nth-child(2){border-right:none;}
    .trust-item:nth-child(1),.trust-item:nth-child(2){border-bottom:1px solid var(--line);}
  }
  @media(max-width:880px){
    nav,.head-cta .btn{display:none;}
    .help-grid,.rev-grid,.about-grid,.loc-grid,.foot-grid{grid-template-columns:1fr;}
  }
  @media(max-width:560px){
    .size-scroll{grid-template-columns:repeat(2,1fr);}
  }

  /* ===== real image helpers (added) ===== */
  .imgbox{position:relative;overflow:hidden;background:#dfe3dd;}
  .imgbox img{width:100%;height:100%;object-fit:cover;display:block;}
  .logo-chip{background:#fff;border-radius:10px;padding:8px 10px;display:inline-flex;
    align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.06);}
  .logo-chip img{height:38px;width:auto;display:block;}
  footer .logo-chip img{height:42px;}

  /* ===== image size consistency (added) ===== */
  .help-card .imgbox{height:175px;}
  .size-tile .imgbox{height:110px;}

/* active nav state */
nav a.active{color:var(--forest);border-bottom:2px solid var(--lime);padding-bottom:3px;}

/* ============================================================
   page-styles.css — styles specific to sub-pages
   ============================================================ */

/* sub-page hero (smaller than home hero) */
.page-hero{
  background:var(--mist);
  padding:70px 0 60px;
  position:relative;
}
.page-hero .eyebrow{margin-bottom:14px;}
.page-hero h1{
  font-family:'Cormorant Garamond',serif;font-weight:600;
  font-size:clamp(2.6rem,4.8vw,3.8rem);color:var(--ink);
  line-height:1.05;letter-spacing:-.005em;max-width:780px;
}
.page-hero h1 em{font-style:italic;color:var(--forest);}
.page-hero p.lead{
  margin-top:18px;font-size:1.15rem;color:var(--muted);max-width:620px;
}
.crumbs{
  font-size:.86rem;color:var(--muted);margin-bottom:18px;
}
.crumbs a{color:var(--forest);text-decoration:none;}
.crumbs a:hover{text-decoration:underline;}

/* ============ UNITS PAGE ============ */
.units-intro{padding:78px 0 40px;}
.units-intro h2{font-size:clamp(1.9rem,3.4vw,2.6rem);max-width:720px;}
.units-intro p{margin-top:14px;font-size:1.08rem;color:var(--muted);max-width:720px;}

.unit-list{padding:40px 0 80px;}
.unit-row{
  display:grid;grid-template-columns:1fr 1.1fr;gap:48px;
  align-items:center;margin-bottom:64px;
}
.unit-row:nth-child(even) .unit-img{order:2;}
.unit-img{
  height:340px;border-radius:14px;overflow:hidden;background:#dfe3dd;
}
.unit-img img{width:100%;height:100%;object-fit:cover;display:block;}
.unit-text .size-badge{
  display:inline-flex;align-items:center;gap:9px;background:var(--forest);
  color:#fff;padding:6px 14px;border-radius:30px;font-size:.85rem;font-weight:600;
  margin-bottom:12px;
}
.unit-text h2{font-size:clamp(1.9rem,3.4vw,2.5rem);}
.unit-text .dims{
  font-family:'Karla',sans-serif;font-weight:600;color:var(--amber);
  font-size:1rem;margin-top:6px;letter-spacing:.02em;
}
.unit-text p{margin-top:14px;font-size:1.05rem;color:#3f4742;}
.unit-text .fits{
  margin-top:18px;background:var(--mist);border-radius:10px;padding:18px 22px;
}
.unit-text .fits h4{
  font-family:'Karla',sans-serif;font-size:.82rem;text-transform:uppercase;
  letter-spacing:.14em;color:var(--forest);margin-bottom:10px;
}
.unit-text .fits ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;}
.unit-text .fits li{display:flex;gap:9px;font-size:.96rem;color:#3f4742;}
.unit-text .fits li::before{content:"✓";color:var(--forest);font-weight:700;}
.unit-text .actions{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap;align-items:center;}

/* comparison table */
.compare{background:var(--mist);padding:78px 0;}
.compare h2{font-size:clamp(1.9rem,3.4vw,2.6rem);text-align:center;margin-bottom:14px;}
.compare p.intro{text-align:center;color:var(--muted);max-width:560px;margin:0 auto 36px;}
.compare-table{
  background:var(--panel);border-radius:14px;overflow:hidden;
  border:1px solid var(--line);max-width:920px;margin:0 auto;
}
.compare-table table{width:100%;border-collapse:collapse;}
.compare-table th{
  background:var(--forest);color:#fff;font-family:'Karla',sans-serif;
  text-align:left;padding:16px 20px;font-weight:600;font-size:.92rem;
  letter-spacing:.02em;
}
.compare-table td{
  padding:14px 20px;border-bottom:1px solid var(--line);font-size:.98rem;
}
.compare-table tr:last-child td{border-bottom:none;}
.compare-table tr:nth-child(even) td{background:#fafaf6;}
.compare-table .cmp-name{font-weight:600;color:var(--forest);}

/* who-we-help on units page — reuses .help-grid from styles.css */

/* ============ ABOUT PAGE ============ */
.story-main{padding:88px 0;}
.story-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:start;}
.story-text h2{font-size:clamp(2rem,3.6vw,2.8rem);margin-bottom:18px;}
.story-text h2:not(:first-child){margin-top:36px;}
.story-text p{margin-top:14px;font-size:1.08rem;color:#3f4742;line-height:1.7;}
.story-text p.first{font-size:1.18rem;color:var(--ink);font-weight:500;}
.story-side{position:sticky;top:90px;}
.story-side .imgbox{height:380px;border-radius:14px;overflow:hidden;margin-bottom:18px;}
.story-side .imgbox img{width:100%;height:100%;object-fit:cover;}
.story-side .stat-card{
  background:var(--forest);color:#fff;border-radius:14px;padding:28px 26px;
}
.story-side .stat-card .n{
  font-family:'Cormorant Garamond',serif;font-size:3.4rem;line-height:1;
  color:var(--lime);font-weight:600;
}
.story-side .stat-card p{margin-top:8px;font-size:1rem;color:#cdd9d1;}

/* timeline */
.timeline-band{background:var(--mist);padding:80px 0;}
.timeline-band h2{text-align:center;font-size:clamp(1.9rem,3.4vw,2.6rem);}
.timeline-band p.intro{text-align:center;color:var(--muted);max-width:520px;margin:14px auto 50px;}
.timeline{max-width:780px;margin:0 auto;position:relative;}
.timeline::before{
  content:"";position:absolute;left:24px;top:8px;bottom:8px;width:2px;background:var(--forest);
}
.tl-item{display:grid;grid-template-columns:50px 1fr;gap:24px;margin-bottom:34px;}
.tl-item:last-child{margin-bottom:0;}
.tl-dot{
  width:50px;height:50px;border-radius:50%;background:var(--lime);
  display:flex;align-items:center;justify-content:center;
  font-family:'Karla',sans-serif;font-weight:700;font-size:.85rem;color:var(--forest-dk);
  position:relative;z-index:1;
}
.tl-body{padding-top:8px;}
.tl-body h3{font-size:1.35rem;color:var(--forest);margin-bottom:6px;}
.tl-body p{color:#3f4742;font-size:1rem;}

/* values */
.values-band{padding:80px 0;}
.values-band h2{text-align:center;font-size:clamp(1.9rem,3.4vw,2.6rem);margin-bottom:46px;}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.value-card{
  background:var(--panel);border:1px solid var(--line);border-radius:14px;
  padding:30px 28px;
}
.value-card .v-ico{
  width:48px;height:48px;border-radius:12px;background:var(--mist);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}
.value-card .v-ico svg{width:24px;height:24px;stroke:var(--forest);fill:none;stroke-width:1.8;}
.value-card h3{font-size:1.3rem;margin-bottom:8px;}
.value-card p{color:var(--muted);font-size:.98rem;}

/* ============ REVIEWS PAGE ============ */
.rev-summary{padding:60px 0 30px;text-align:center;}
.rev-summary .stars-big{color:var(--amber);font-size:2rem;letter-spacing:6px;margin-bottom:10px;}
.rev-summary h2{font-size:clamp(1.7rem,3vw,2.2rem);font-weight:600;}
.rev-summary p{color:var(--muted);margin-top:8px;}

.rev-grid-page{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
  padding-bottom:80px;
}
.rev-card-page{
  background:var(--panel);border:1px solid var(--line);border-radius:14px;
  padding:26px 26px;display:flex;flex-direction:column;
}
.rev-card-page .stars{color:var(--amber);font-size:1rem;letter-spacing:3px;margin-bottom:12px;}
.rev-card-page p.quote{font-size:1rem;color:#3f4742;flex:1;}
.rev-card-page p.quote::before{content:"\201C";font-family:'Cormorant Garamond',serif;
  font-size:2.4rem;color:var(--lime);line-height:.4;margin-right:4px;vertical-align:-.2em;}
.rev-card-page .who{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);
  font-weight:600;font-size:.94rem;}
.rev-card-page .who span{display:block;color:var(--muted);font-weight:400;font-size:.84rem;margin-top:2px;}

.leave-review{
  background:var(--mist);padding:50px 0;text-align:center;
}
.leave-review h3{font-size:clamp(1.6rem,2.8vw,2rem);}
.leave-review p{color:var(--muted);max-width:540px;margin:12px auto 22px;}

/* ============ FAQs PAGE ============ */
.faq-page{padding:78px 0;}
.faq-page .faq-cat{margin-bottom:50px;}
.faq-page .faq-cat:last-child{margin-bottom:0;}
.faq-page .faq-cat h2{
  font-size:clamp(1.6rem,2.8vw,2rem);color:var(--forest);
  padding-bottom:14px;border-bottom:2px solid var(--lime);margin-bottom:20px;
}
.faq-page .faq-list{max-width:none;margin-top:0;}

/* ============ CONTACT PAGE ============ */
.contact-main{padding:78px 0;}
.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;}
.contact-info h2{font-size:clamp(1.8rem,3.2vw,2.4rem);}
.contact-info p.lead{margin-top:12px;color:var(--muted);font-size:1.06rem;}
.contact-info .contact-lines{margin-top:30px;}
.contact-info .hours{
  margin-top:30px;background:var(--mist);border-radius:12px;padding:24px 26px;
}
.contact-info .hours h3{
  font-family:'Karla',sans-serif;font-size:.82rem;text-transform:uppercase;
  letter-spacing:.14em;color:var(--forest);margin-bottom:14px;
}
.contact-info .hours .row{
  display:flex;justify-content:space-between;padding:7px 0;
  border-bottom:1px solid #d8d8c8;font-size:.98rem;
}
.contact-info .hours .row:last-child{border-bottom:none;}
.contact-info .hours .row .note{color:var(--muted);font-size:.88rem;margin-top:8px;}
.contact-side .imgbox{height:280px;border-radius:14px;overflow:hidden;margin-bottom:18px;}
.contact-side .imgbox img{width:100%;height:100%;object-fit:cover;}
.contact-side .loc-map{
  height:340px;border-radius:14px;border:1px dashed #b3ab97;
  background:repeating-linear-gradient(45deg,#e5e0d4 0 14px,#ddd7c8 14px 28px);
  color:var(--forest);display:flex;align-items:center;justify-content:center;
  font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600;text-align:center;
}

.directions{background:var(--mist);padding:70px 0;}
.directions h2{font-size:clamp(1.8rem,3.2vw,2.4rem);text-align:center;margin-bottom:14px;}
.directions p.intro{text-align:center;color:var(--muted);max-width:560px;margin:0 auto 40px;}
.dir-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1000px;margin:0 auto;}
.dir-card{
  background:var(--panel);border:1px solid var(--line);border-radius:14px;
  padding:26px 26px;
}
.dir-card h3{font-size:1.2rem;color:var(--forest);margin-bottom:10px;}
.dir-card p{color:#3f4742;font-size:.98rem;}

/* shared final CTA already in styles.css */

/* ============ RESPONSIVE ============ */
@media(max-width:980px){
  .unit-row,.story-grid,.contact-grid,.values-grid,.rev-grid-page,.dir-grid{grid-template-columns:1fr;}
  .unit-row:nth-child(even) .unit-img{order:0;}
  .story-side{position:static;}
  .unit-text .fits ul{grid-template-columns:1fr;}
  .compare-table{font-size:.9rem;}
  .compare-table th, .compare-table td{padding:12px 14px;}
}
@media(max-width:660px){
  .rev-grid-page,.values-grid,.dir-grid{grid-template-columns:1fr;}
  .compare-table{overflow-x:auto;}
  .compare-table table{min-width:600px;}
}

/* ============================================================
   WordPress nav + active state + mobile toggle (theme additions)
   ============================================================ */
.primary-nav .nav-menu{display:flex;gap:30px;list-style:none;font-weight:500;font-size:.95rem;margin:0;padding:0;}
.primary-nav .nav-menu a{text-decoration:none;color:var(--ink);transition:color .2s;}
.primary-nav .nav-menu a:hover{color:var(--amber);}
.primary-nav .nav-menu .current-menu-item > a,
.primary-nav .nav-menu a.active{color:var(--forest);border-bottom:2px solid var(--lime);padding-bottom:3px;}

.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);transition:.2s;}

.cf7-placeholder{background:var(--mist);border:1px dashed #b3ab97;border-radius:12px;padding:22px 24px;color:var(--muted);}

/* WordPress custom-logo sits in the same chip styling */
.bar .custom-logo-link{display:inline-flex;align-items:center;background:#fff;border-radius:10px;padding:8px 10px;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.bar .custom-logo-link img{height:38px;width:auto;display:block;}

@media(max-width:880px){
	.nav-toggle{display:flex;}
	.primary-nav{position:absolute;top:100%;left:0;right:0;background:var(--bg);
		border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.08);
		display:none;z-index:60;}
	.primary-nav.is-open{display:block;}
	.primary-nav .nav-menu{flex-direction:column;gap:0;padding:10px 28px 18px;}
	.primary-nav .nav-menu li{padding:10px 0;border-bottom:1px solid var(--line);}
	.primary-nav .nav-menu li:last-child{border-bottom:none;}
	header .bar{position:relative;}
	.head-cta .btn{display:none;}
}

/* Contact page map band */
.map-band{width:100%;}
.map-embed{width:100%;height:420px;}
.map-embed iframe{width:100%;height:100%;border:0;display:block;}
.contact-form .wpcf7{margin-top:4px;}
.contact-form input[type=text],
.contact-form input[type=email],
.contact-form input[type=tel],
.contact-form textarea{
	width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:10px;
	font-family:'Karla',sans-serif;font-size:1rem;background:var(--panel);margin-top:4px;
}
.contact-form textarea{min-height:130px;resize:vertical;}
.contact-form label{display:block;font-weight:600;font-size:.92rem;margin-bottom:12px;color:var(--ink);}
.contact-form .wpcf7-submit{
	background:var(--forest);color:#fff;border:0;border-radius:40px;
	padding:14px 30px;font-weight:600;font-size:1rem;cursor:pointer;font-family:'Karla',sans-serif;
	transition:.18s;
}
.contact-form .wpcf7-submit:hover{background:var(--forest-dk);}
