/*
Theme Name: Simply Taken Care Of
Theme URI: https://simplytakencareof.co.uk/
Author: Simply Taken Care Of
Description: Custom visual theme for Simply Taken Care Of. Built to work with the STCO plugin suite and mirror the soft blue, white, heart and leaf brand design.
Version: 1.3.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: simply-taken-care-of
*/

:root {
  --stco-primary: #69a8e8;
  --stco-primary-dark: #2f7fca;
  --stco-soft: #eaf6ff;
  --stco-soft-2: #f6fbff;
  --stco-navy: #173b68;
  --stco-red: #ee2437;
  --stco-text: #526b84;
  --stco-white: #ffffff;
  --stco-border: #cfe5f6;
  --stco-radius: 22px;
  --stco-shadow: 0 14px 38px rgba(31,61,92,.08);
  --stco-content: 1180px;
  --stco-serif: Georgia, "Times New Roman", serif;
  --stco-script: "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--stco-text);
  background: #fff;
  font-family: "Segoe UI", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 16px;
  line-height: 1.58;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: var(--stco-primary-dark); text-decoration: none; }
a:hover { color: var(--stco-navy); }
img { max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }

.stco-container { width: min(var(--stco-content), calc(100% - 42px)); margin-inline: auto; position: relative; z-index: 2; }
.stco-main { min-height: 60vh; overflow: hidden; }
.stco-section { position: relative; padding: 72px 0; }
.stco-section--soft { background: linear-gradient(180deg,#f8fcff 0%,var(--stco-soft) 100%); }
.stco-section--blue { background: #edf8ff; }
.stco-section--white { background: #fff; }
.stco-leafy-section { position: relative; overflow: hidden; }
.stco-leafy-section::before,
.stco-leafy-section::after {
  content: "";
  position: absolute;
  width: 150px;
  height: 210px;
  background: url("assets/images/leaf-sprig-v130.svg") center/contain no-repeat;
  opacity: .72;
  pointer-events: none;
  z-index: 1;
}
.stco-leafy-section::before { left: -38px; bottom: -36px; }
.stco-leafy-section::after { right: -38px; top: -35px; transform: scaleX(-1) rotate(-6deg); }
.stco-leafy-section.stco-leaves-top::before { bottom:auto; top:-35px; transform: rotate(180deg); }
.stco-leafy-section.stco-leaves-bottom::after { top:auto; bottom:-38px; transform: scaleX(-1) rotate(170deg); }

.stco-eyebrow { margin:0 0 10px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; color: var(--stco-primary-dark); font-size: .73rem; }
.stco-title, .stco-section-title { color: var(--stco-navy); line-height: 1.04; margin: 0 0 18px; }
.stco-title { font-family: var(--stco-serif); font-size: clamp(2.85rem,5.4vw,5rem); font-weight: 500; letter-spacing:-.025em; }
.stco-section-title { font-family: var(--stco-serif); font-size: clamp(2.1rem,3.8vw,3.45rem); font-weight: 500; letter-spacing:-.02em; }
.stco-subtitle { font-family:var(--stco-serif); color:var(--stco-navy); font-size:clamp(1.65rem,3vw,2.35rem); line-height:1.12; margin:0 0 12px; }
.stco-accent { color: var(--stco-primary); }
.stco-heart { color: var(--stco-red); font-family:inherit; }
.stco-lead { font-size: clamp(1.02rem,1.8vw,1.23rem); max-width: 760px; margin: 0 0 20px; }
.stco-script-text,.stco-script-note { font-family: var(--stco-script); color: var(--stco-primary-dark); font-weight:500; }
.stco-script-text { font-size:clamp(1.3rem,2.5vw,2rem); line-height:1.35; }

.stco-btn { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; border-radius: 11px; padding: 12px 24px; font-weight: 750; border: 2px solid transparent; transition: .2s ease; cursor: pointer; line-height:1.25; }
.stco-btn--primary { background: var(--stco-primary); color: #fff; box-shadow:0 8px 20px rgba(69,140,205,.16); }
.stco-btn--primary:hover { background: var(--stco-primary-dark); color: #fff; transform: translateY(-1px); }
.stco-btn--outline { background: rgba(255,255,255,.88); color: var(--stco-primary-dark); border-color: var(--stco-primary); }
.stco-btn--outline:hover { background: var(--stco-soft); }
.stco-card { background:#fff; border:1px solid var(--stco-border); border-radius:var(--stco-radius); box-shadow:var(--stco-shadow); }
.stco-grid { display:grid; gap:24px; }
.stco-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.stco-grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.stco-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.stco-empty { padding: 25px; background: #fff; border: 1px dashed var(--stco-border); border-radius: var(--stco-radius); color: #6d7d8b; }

.stco-icon-bubble { width:64px; height:64px; border-radius:50%; display:grid; place-items:center; margin:0 auto 12px; background:var(--stco-soft); color:var(--stco-primary-dark); font-size:1.9rem; border:1px solid #d9edfb; }
.stco-soft-card { background:rgba(255,255,255,.96); border:1px solid var(--stco-border); border-radius:16px; padding:25px; }

.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { width:auto; height:auto; clip:auto; top:8px; left:8px; background:#fff; padding:12px; z-index:100000; }

@media (max-width: 900px) {
  .stco-grid--4, .stco-grid--3 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .stco-section { padding: 58px 0; }
  .stco-leafy-section::before,.stco-leafy-section::after{width:115px;height:160px;opacity:.5}
}
@media (max-width: 640px) {
  .stco-container { width: min(100% - 28px, var(--stco-content)); }
  .stco-grid--4, .stco-grid--3, .stco-grid--2 { grid-template-columns:1fr; }
  .stco-section { padding: 46px 0; }
  .stco-leafy-section::before,.stco-leafy-section::after{width:90px;height:125px;opacity:.38}
}

/* v1.3.0 visual refinement: cleaner botanical accents and sharper photography */
.stco-leafy-section::before,
.stco-leafy-section::after {
  width: 108px;
  height: 154px;
  opacity: .46;
  background-size: contain;
  background-position: center;
}
.stco-leafy-section::before { left: -20px; bottom: -28px; }
.stco-leafy-section::after { right: -18px; top: -24px; transform: scaleX(-1) rotate(-8deg); }
.stco-leafy-section.stco-leaves-top::before { top: -26px; bottom:auto; transform: rotate(174deg); }
.stco-leafy-section.stco-leaves-bottom::after { top:auto; bottom:-28px; transform: scaleX(-1) rotate(168deg); }

/* Hero decoration should be a quiet corner accent, not a tall edge graphic. */
.stco-hero.stco-leafy-section::after { display:none; }
.stco-hero.stco-leafy-section::before {
  width: 82px;
  height: 116px;
  left: -18px;
  top: auto;
  bottom: 10px;
  transform: none;
  opacity: .34;
}

@media (max-width: 900px) {
  .stco-leafy-section::before,
  .stco-leafy-section::after { width:82px; height:116px; opacity:.32; }
}
@media (max-width: 640px) {
  .stco-leafy-section::before,
  .stco-leafy-section::after { width:64px; height:90px; opacity:.23; }
  .stco-hero.stco-leafy-section::before,
  .stco-hero.stco-leafy-section::after { display:none; }
}
