/*
Theme Name: Know More Cleaning
Template: twentytwentyfive
Description: Child theme of Twenty Twenty-Five for knowmorecleaning.com. Teal, aqua and sun palette with Bricolage Grotesque and Public Sans.
Version: 1.2.0
Text Domain: know-more-cleaning
*/
.wp-site-blocks>*+*{margin-block-start:0}
:where(.wp-site-blocks) a{text-underline-offset:3px}
:focus-visible{outline:3px solid var(--wp--preset--color--teal);outline-offset:3px;border-radius:4px}

/* header + footer */
.kmc-header,.kmc-footer{padding-block:22px}
.kmc-footer{padding-block:48px 56px}
.kmc-logo{font:800 1.3rem var(--wp--preset--font-family--heading);margin:0}
.kmc-logo a{text-decoration:none;color:var(--wp--preset--color--contrast);display:inline-flex;align-items:center;gap:10px}
.kmc-logo a::before{content:"";width:30px;height:30px;border-radius:50% 50% 50% 8px;background:var(--wp--preset--color--teal);
  box-shadow:inset 8px -8px 0 -3px var(--wp--preset--color--sun)}
.kmc-header .wp-block-navigation a{padding:8px 14px;border-radius:99px;font-weight:500;text-decoration:none}
.kmc-header .wp-block-navigation a:hover{background:var(--wp--preset--color--aqua)}

/* sections: keep prose left-aligned inside the 1120px container */
.kmc-sec>h2,.kmc-sec>p,.kmc-sec>ul{margin-left:0!important;margin-right:auto!important;max-width:720px}
.kmc-sec>p{color:var(--wp--preset--color--muted)}
.kmc-hero{padding-block:56px 72px}
.kmc-hero p{font-size:1.2rem;color:var(--wp--preset--color--muted)}
.kmc-ask{background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:24px;padding:28px}
.kmc-ask h2{font-size:1.35rem;margin-bottom:16px}
.kmc-ask ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.kmc-ask a{display:flex;justify-content:space-between;padding:13px 16px;border-radius:14px;background:var(--wp--preset--color--base);
  text-decoration:none;font-weight:600;color:var(--wp--preset--color--contrast)}
.kmc-ask a::after{content:"\203A";font-size:1.4rem;line-height:1;color:var(--wp--preset--color--teal)}
.kmc-ask a:hover{background:var(--wp--preset--color--aqua)}

.kmc-band{background:#0D5C68;color:#fff;padding-block:80px}
.kmc-band h2{color:#fff}
.kmc-band p{color:#DCEFF0}
.kmc-band strong{color:var(--wp--preset--color--sun)}
.kmc-sec{padding-top:84px}
.kmc-panel{border-radius:28px;padding:36px;height:100%}
.kmc-panel-a{background:var(--wp--preset--color--aqua)}
.kmc-panel-b{background:var(--wp--preset--color--sun)}
.kmc-panel h3{font-size:1.7rem}
.kmc-panel p{color:#26434C}
.kmc-panel a{font-weight:600;text-decoration-thickness:2px;color:var(--wp--preset--color--contrast)}
.kmc-topic{background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:20px;padding:26px 22px;height:100%}
.kmc-topic:hover{border-color:var(--wp--preset--color--teal)}
.kmc-topic h3 a{text-decoration:none}
.kmc-topic p{color:#3E5760;font-size:1rem}
.kmc-steps{border-top:2px solid var(--wp--preset--color--contrast);border-bottom:1px solid var(--wp--preset--color--line);gap:0!important}
.kmc-steps .wp-block-column{padding:28px 28px 32px}
.kmc-steps .wp-block-column:first-child{padding-left:0}
.kmc-steps .wp-block-column+.wp-block-column{border-left:1px solid var(--wp--preset--color--line)}
.kmc-steps p{color:var(--wp--preset--color--muted)}
.kmc-local{margin-top:84px;background:#fff;border-block:1px solid var(--wp--preset--color--line);padding-block:76px}
.kmc-goal{font-weight:600;font-size:1.15rem;padding-left:18px;border-left:5px solid var(--wp--preset--color--sun);color:var(--wp--preset--color--contrast)!important}
@media (max-width:781px){
  .kmc-steps .wp-block-column,.kmc-steps .wp-block-column:first-child{padding:24px 0}
  .kmc-steps .wp-block-column+.wp-block-column{border-left:0;border-top:1px solid var(--wp--preset--color--line)}
}

/* inner pages (templates/page.html) */
.kmc-pagehead{background:var(--wp--preset--color--aqua);padding-block:56px}
.kmc-pagehead .wp-block-post-title{font-size:clamp(2.2rem,5vw,3.6rem);margin:0}
.kmc-pagebody{padding-block:56px 84px}
.kmc-pagebody .wp-block-post-content>*+*{margin-block-start:1.2em}
.kmc-pagebody .wp-block-post-content h2{margin-block-start:1.8em}

/* ============================================================
   WoPPR / Know More Cleaning reusable page components
   Presentation belongs here in the theme; generated WoPPR page
   templates should contain semantic HTML, tokens, and these classes.
   ============================================================ */

.kmc-page{
  color:var(--wp--preset--color--contrast);
  font-family:var(--wp--preset--font-family--body);
}
.kmc-page *{box-sizing:border-box}
.kmc-page .kmc-container{
  width:min(1120px,calc(100% - 48px));
  margin-inline:auto;
}
.kmc-page .kmc-section{padding-block:76px}
.kmc-page .kmc-section-intro,
.kmc-page .kmc-lead{max-width:760px;color:var(--wp--preset--color--muted)}
.kmc-page .kmc-lead{font-size:clamp(1.08rem,1.8vw,1.25rem)}
.kmc-page .kmc-eyebrow{
  margin:0 0 14px;
  color:var(--wp--preset--color--teal);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}

/* Hero */
.kmc-page .kmc-hero{
  padding-block:72px 88px;
  background:linear-gradient(135deg,var(--wp--preset--color--aqua),var(--wp--preset--color--base) 62%,#FFF8D6);
}
.kmc-page .kmc-hero h1{max-width:900px;margin-bottom:22px}
.kmc-page .kmc-hero .kmc-lead{margin-bottom:0}

/* General grids */
.kmc-page .kmc-two-column{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(36px,7vw,84px);
  align-items:start;
}
.kmc-page .kmc-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin-top:36px;
}

/* Cards */
.kmc-page .kmc-card{
  min-height:250px;
  padding:32px;
  border:1px solid var(--wp--preset--color--line);
  border-radius:24px;
}
.kmc-page .kmc-card h3{font-size:clamp(1.35rem,2vw,1.75rem);margin-top:0}
.kmc-page .kmc-card p{color:#26434C}
.kmc-page .kmc-card-aqua{background:var(--wp--preset--color--aqua)}
.kmc-page .kmc-card-yellow{background:var(--wp--preset--color--sun)}
.kmc-page .kmc-card-aqua-soft{background:#EAF6F7}
.kmc-page .kmc-card-yellow-soft{background:#FFF8D8}
.kmc-page .kmc-card-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--wp--preset--color--contrast);
  font-weight:700;
  text-decoration:none;
}
.kmc-page .kmc-card-link::after{content:"\2192";transition:transform .16s ease}
.kmc-page .kmc-card-link:hover::after,
.kmc-page .kmc-card-link:focus::after{transform:translateX(4px)}

/* Dark information band */
.kmc-page .kmc-section-dark{
  background:var(--wp--preset--color--teal);
  color:#fff;
}
.kmc-page .kmc-section-dark h2,
.kmc-page .kmc-section-dark h3{color:#fff}
.kmc-page .kmc-section-dark p{color:#DCEFF0}
.kmc-page .kmc-info-list{display:grid;gap:14px}
.kmc-page .kmc-info-card{
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:16px;
  background:rgba(255,255,255,.08);
}
.kmc-page .kmc-info-card strong{
  display:block;
  margin-bottom:4px;
  color:var(--wp--preset--color--sun);
  font-family:var(--wp--preset--font-family--heading);
  font-size:1.05rem;
}
.kmc-page .kmc-info-card p{margin:0}

/* Supporting feature panel */
.kmc-page .kmc-feature-card{
  padding:30px;
  border:1px solid var(--wp--preset--color--line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 48px rgba(14,42,51,.07);
}
.kmc-page .kmc-feature-card h3{margin-top:0}
.kmc-page .kmc-feature-card p:last-child{margin-bottom:0}

/* Structural link directories: StateLinks, CityLinks, etc. */
.kmc-page .kmc-link-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px 16px;
  margin-top:30px;
}
.kmc-page .kmc-link-grid a{
  display:block;
  padding:11px 14px;
  border:1px solid var(--wp--preset--color--line);
  border-radius:11px;
  background:#fff;
  color:var(--wp--preset--color--contrast);
  font-weight:650;
  text-decoration:none;
}
.kmc-page .kmc-link-grid a:hover,
.kmc-page .kmc-link-grid a:focus{
  border-color:var(--wp--preset--color--teal);
  background:var(--wp--preset--color--aqua);
}
.kmc-page .kmc-state-directory{background:var(--wp--preset--color--base)}

/* Calls to action */
.kmc-page .kmc-callout{background:var(--wp--preset--color--sun)}
.kmc-page .kmc-callout-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:36px;
  align-items:center;
}
.kmc-page .kmc-callout h2{margin-bottom:10px}
.kmc-page .kmc-callout p{margin-bottom:0;max-width:760px}
.kmc-page .kmc-button{
  display:inline-block;
  padding:13px 21px;
  border-radius:99px;
  background:var(--wp--preset--color--teal);
  color:#fff;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}
.kmc-page .kmc-button:hover,
.kmc-page .kmc-button:focus{background:var(--wp--preset--color--contrast)}

/* WoPPR custom template: page content itself controls vertical rhythm. */
.kmc-woppr-pagebody{padding:0}
.kmc-woppr-pagebody>.wp-block-post-content{margin-block-start:0}
.kmc-woppr-pagebody .wp-block-post-content>.kmc-page{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
}

@media (max-width:781px){
  .kmc-page .kmc-two-column,
  .kmc-page .kmc-card-grid,
  .kmc-page .kmc-callout-inner{grid-template-columns:1fr}
  .kmc-page .kmc-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kmc-page .kmc-section{padding-block:58px}
}
@media (max-width:480px){
  .kmc-page .kmc-container{width:min(100% - 28px,1120px)}
  .kmc-page .kmc-link-grid{grid-template-columns:1fr}
  .kmc-page .kmc-card{min-height:0;padding:25px}
}
