/*
Theme Name: Cassidine Consulting
Theme URI: https://cassidineconsulting.com
Author: Cassidine Consulting
Author URI: https://cassidineconsulting.com
Description: Custom theme for Cassidine Consulting — Fractional COO / Operations Strategy. Includes the designed Home, Services, Scorecard, Consultation, and Blog pages built on the Theory Reality Gap framework, with a shared header, footer, and styled blog.
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
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cassidine
*/

/* ===== Base (shared across all pages) ===== */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 66px; }
body {
  margin: 0;
  background: #f6f5f2;
  color: #2D2D2D;
  font-family: 'Hanken Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
::selection { background: #1c4b42; color: #fff; }
a { color: #1c4b42; }
img { max-width: 100%; }

@keyframes ccpulse { 0%,100%{opacity:.45;} 50%{opacity:1;} }

/* Range slider (scorecard / gap widget) */
.cc-range { -webkit-appearance:none; appearance:none; width:100%; height:5px; border-radius:5px; background:rgba(255,255,255,.16); outline:none; cursor:pointer; }
.cc-range::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:28px; height:28px; border-radius:50%; background:#C9A84C; border:4px solid #143a33; box-shadow:0 3px 10px rgba(0,0,0,.45); cursor:grab; transition:transform .15s ease; }
.cc-range::-webkit-slider-thumb:active { cursor:grabbing; transform:scale(1.1); }
.cc-range::-moz-range-thumb { width:24px; height:24px; border-radius:50%; background:#C9A84C; border:4px solid #143a33; box-shadow:0 3px 10px rgba(0,0,0,.45); cursor:grab; }
.cc-photo-wrap:hover .cc-photo { transform: scale(1.05); }

/* Nav scroll shadow toggled via JS */
#cc-nav.cc-scrolled { box-shadow: 0 6px 24px -16px rgba(28,75,66,.5); background: rgba(246,245,242,.94); }

/* Shared layout helpers */
.cc-wrap { max-width: 1200px; margin: 0 auto; padding: 0 40px; }

/* ===== Responsive ===== */
@media (max-width: 880px) {
  .cc-wrap { padding-left:24px!important; padding-right:24px!important; }
  .cc-navwrap { padding-left:20px!important; padding-right:20px!important; }
  .cc-sec { padding-top:66px!important; padding-bottom:66px!important; }
  .cc-hero { padding-top:110px!important; padding-bottom:60px!important; }
  .cc-2col { grid-template-columns:1fr!important; gap:34px!important; }
  .cc-3col { grid-template-columns:1fr!important; gap:16px!important; }
  .cc-feat { grid-template-columns:1fr!important; }
  .cc-feat-side { min-height:0!important; }
  .cc-navlink { display:none!important; }
  .cc-gapwidget { flex-direction:column!important; min-height:0!important; }
  .cc-photocol { max-width:320px; }
}
@media (max-width: 600px) {
  .cc-wrap { padding-left:18px!important; padding-right:18px!important; }
  .cc-2col-sm { grid-template-columns:1fr!important; }
  .cc-2col { gap:26px!important; }
}
@media (min-width:881px) and (max-width:1100px) {
  .cc-3col { grid-template-columns:1fr 1fr!important; }
}

/* ===== Blog post body (single.php) typography ===== */
.cc-post-body { font-size: 18px; line-height: 1.75; color: #3a3a3a; }
.cc-post-body p { margin: 0 0 1.3em; }
.cc-post-body h2 { font-family:'Schibsted Grotesk',sans-serif; font-weight:700; font-size:30px; line-height:1.15; letter-spacing:-.02em; color:#1c4b42; margin:1.8em 0 .6em; }
.cc-post-body h3 { font-family:'Schibsted Grotesk',sans-serif; font-weight:700; font-size:23px; line-height:1.2; color:#1c4b42; margin:1.5em 0 .5em; }
.cc-post-body a { color:#1c4b42; text-decoration:underline; text-decoration-color: rgba(28,75,66,.35); }
.cc-post-body blockquote { margin:1.6em 0; padding:6px 0 6px 24px; border-left:3px solid #C9A84C; font-family:'Schibsted Grotesk',sans-serif; font-style:italic; font-size:22px; line-height:1.45; color:#1c4b42; }
.cc-post-body img { border-radius:14px; height:auto; }
.cc-post-body ul, .cc-post-body ol { margin:0 0 1.3em; padding-left:1.3em; }
.cc-post-body li { margin:.4em 0; }
.cc-post-body code { background:rgba(28,75,66,.08); padding:2px 6px; border-radius:5px; font-size:.9em; }
.cc-post-body pre { background:#143a33; color:#f6f5f2; padding:20px; border-radius:12px; overflow:auto; }

/* WordPress core alignment / caption helpers */
.aligncenter { display:block; margin-left:auto; margin-right:auto; }
.alignright { float:right; margin:0 0 1em 1.5em; }
.alignleft { float:left; margin:0 1.5em 1em 0; }
.wp-caption-text { font-size:13px; color:#7e7e7e; margin-top:8px; }
.screen-reader-text { position:absolute; clip:rect(1px,1px,1px,1px); height:1px; width:1px; overflow:hidden; }

/* Comments (kept minimal, on-brand) */
.cc-comments { max-width:760px; margin:0 auto; padding:0 40px 80px; }
.cc-comments input[type=text], .cc-comments input[type=email], .cc-comments input[type=url], .cc-comments textarea {
  width:100%; padding:12px 14px; border:1px solid rgba(45,45,45,.2); border-radius:10px; font-family:inherit; font-size:15px; margin-top:6px; background:#fff;
}
.cc-comments .submit { background:#1c4b42; color:#fff; border:none; padding:13px 26px; border-radius:100px; font-weight:600; cursor:pointer; font-family:inherit; }
