/*
Theme Name: Gilbert Soba Child
Theme URI: https://gilbertsoba.com
Description: Child theme for gilbertsoba.com. All customisation lives here so Inspiro PRO can be updated safely.
Author: High End Innovation Ltd
Template: wpzoom-inspiro-pro
Version: 1.0.0
Text Domain: gilbert-child
*/

/* ---- Design tokens ------------------------------------------------------
   Plum, warm rose and sand: calm, intimate and trustworthy, for a sexology
   practice. Sage marks the holistic section so it reads as its own space.
   NB: all sizes are px. Inspiro PRO sets html{font-size:10px}, so rem is
   62.5 % of what it looks like (measured on mayah.co.ke 2026-09-07). */
:root{
  --gs-plum:#3E1F38;
  --gs-plum-deep:#2A1426;
  --gs-rose:#A2493E;          /* 5.9:1 on white, text and buttons */
  --gs-rose-hover:#863A31;
  --gs-rose-soft:#D6968A;     /* decorative only, on plum */
  --gs-blush:#F6E9E4;
  --gs-sand:#FBF6F1;
  --gs-sage:#4F6B53;          /* 5.8:1 on white */
  --gs-sage-soft:#E8EFE7;
  --gs-ink:#2B1E27;
  --gs-muted:#5E4F59;         /* 7.4:1 on white */
  --gs-white:#FFFFFF;
  --gs-radius:16px;
  --gs-shadow:0 10px 30px rgba(42,20,38,.10);
  --gs-head:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --gs-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

/* ---- Base --------------------------------------------------------------- */
html{overflow-x:clip}
body.gs{font-family:var(--gs-body);color:var(--gs-ink);background:var(--gs-white)}
.gs *,.gs *::before,.gs *::after{box-sizing:border-box}
.gs h1,.gs h2,.gs h3,.gs h4{font-family:var(--gs-head);font-weight:600;color:var(--gs-plum);
  letter-spacing:0;line-height:1.15;text-wrap:balance}
.gs h1{font-size:clamp(46px,5.6vw,72px);line-height:1.05}
.gs h2{font-size:clamp(34px,3.6vw,46px)}
.gs h3{font-size:26px;line-height:1.25}
.gs .entry-content p,.gs .entry-content li{font-size:clamp(17px,1.1vw,19px);line-height:1.68;color:var(--gs-ink)}
.gs .entry-content p{max-width:66ch;text-wrap:pretty}
.gs img{max-width:100%;height:auto}
.gs a{color:var(--gs-rose)}
.gs a:hover{color:var(--gs-rose-hover)}

/* ---- Header: solid plum on every page -----------------------------------
   Inspiro gives ONLY the front page a transparent, absolutely positioned
   navbar. Our heroes are not full-bleed photos, so one solid header
   everywhere is simpler and avoids content sliding under the menu. */
.gs .site-header,.gs .navbar,.gs.home .navbar,.gs .headroom{
  position:relative!important;background:var(--gs-plum-deep)!important;box-shadow:none!important}
.gs .navbar-brand-wpz a,.gs .navbar-brand-wpz .site-title,.gs .site-title a{
  font-family:var(--gs-head)!important;font-weight:600!important;font-size:30px!important;
  color:#fff!important;letter-spacing:.01em!important;text-transform:none!important}
.gs .navbar .navbar-nav>li>a,.gs .navbar .menu>li>a{font-family:var(--gs-body)!important;
  font-size:16px!important;font-weight:500!important;color:#F3E6EC!important;text-transform:none!important;letter-spacing:.01em!important}
.gs .navbar .navbar-nav>li>a:hover,.gs .navbar .current-menu-item>a{color:var(--gs-rose-soft)!important}
.gs .site-description{display:none}

/* The theme's empty entry header sits first in the content; hide the page
   title on pages that carry their own hero H1. */
.gs.gs-hero-page .entry-header,.gs.gs-hero-page .page-title,.gs.gs-hero-page h1.entry-title{display:none!important}
.gs .entry-content{max-width:none}
.gs.page .site-main,.gs.page .entry-content{margin-top:0!important;padding-top:0!important}

/* ---- Full-bleed sections ------------------------------------------------ */
.gs-sec{margin-inline:calc(50% - 50vw);padding:clamp(56px,7vw,96px) 20px}
.gs-wrap{max-width:1160px;margin:0 auto}
.gs-sec--sand{background:var(--gs-sand)}
.gs-sec--blush{background:var(--gs-blush)}
.gs-sec--sage{background:var(--gs-sage-soft)}
.gs-sec--plum{background:var(--gs-plum)}
.gs-sec--plum h2,.gs-sec--plum h3,.gs-sec--plum p,.gs-sec--plum li{color:#FBF2F5!important}
.gs-eyebrow{display:block;font-family:var(--gs-body);font-size:15px!important;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gs-rose);margin:0 0 14px}
.gs-sec--plum .gs-eyebrow{color:var(--gs-rose-soft)}
.gs-sec--sage .gs-eyebrow{color:var(--gs-sage)}
.gs-lede{font-size:clamp(19px,1.4vw,22px)!important;color:var(--gs-muted)!important}
.gs-center{text-align:center}
.gs-center p{margin-inline:auto}

/* ---- Hero ----------------------------------------------------------------- */
.gs-hero{margin-inline:calc(50% - 50vw);background:linear-gradient(135deg,var(--gs-sand) 0%,var(--gs-blush) 100%);
  padding:clamp(48px,6vw,88px) 20px}
.gs-hero__grid{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,72px);align-items:center}
.gs-hero h1{margin:0 0 6px}
.gs .gs-hero .gs-hero__role{font-family:var(--gs-head)!important;font-size:clamp(28px,2.6vw,38px)!important;font-style:italic;line-height:1.2!important;color:var(--gs-rose)!important;margin:0 0 22px}
.gs-hero__img{position:relative}
.gs-hero__img img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:220px 220px var(--gs-radius) var(--gs-radius);box-shadow:var(--gs-shadow)}
.gs-hero--page .gs-hero__grid{grid-template-columns:1fr}
.gs-hero--page{padding:clamp(44px,5vw,72px) 20px}
.gs-hero--page .gs-wrap{max-width:900px}

/* ---- Buttons ---------------------------------------------------------------
   font-weight and colours carry !important: Inspiro styles
   .entry-content a:not(...) with specificity (0,3,1). Base stays a plain
   class so variants are never out-ranked (mayah.co.ke lesson). */
.gs-btns{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 0}
.gs-btns--center{justify-content:center}
.gs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 26px;
  border-radius:999px;font-family:var(--gs-body)!important;font-size:17px!important;font-weight:600!important;
  text-decoration:none!important;border:2px solid transparent;transition:background-color .15s,color .15s,border-color .15s}
.gs-btn--primary{background-color:var(--gs-rose)!important;color:#fff!important}
.gs-btn--primary:hover{background-color:var(--gs-rose-hover)!important;color:#fff!important}
.gs-btn--secondary{background-color:transparent!important;color:var(--gs-plum)!important;border-color:var(--gs-plum)}
.gs-btn--secondary:hover{background-color:var(--gs-plum)!important;color:#fff!important}
.gs-sec--plum .gs-btn--secondary{color:#fff!important;border-color:#fff}
.gs-sec--plum .gs-btn--secondary:hover{background-color:#fff!important;color:var(--gs-plum)!important}

/* ---- Tags (not buttons) ------------------------------------------------- */
.gs-tags{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0;padding:0;list-style:none}
.gs-tags li{font-size:15px!important;font-weight:500;color:var(--gs-plum)!important;background:rgba(62,31,56,.07);padding:7px 14px;border-radius:999px;margin:0}
.gs-tags li::before,.gs-tags li::marker{content:none!important;display:none!important}

/* ---- Cards -------------------------------------------------------------- */
.gs-grid{display:grid;gap:22px;margin-top:36px}
.gs-grid--3{grid-template-columns:repeat(3,1fr)}
.gs-grid--2{grid-template-columns:repeat(2,1fr)}
.gs-card{background:#fff;border-radius:var(--gs-radius);padding:30px 28px;box-shadow:var(--gs-shadow);border-top:4px solid var(--gs-rose)}
.gs-card--sage{border-top-color:var(--gs-sage)}
.gs-card h3{margin:14px 0 10px}
.gs-card p{margin:0;font-size:17px!important}
.gs-ico{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--gs-blush);color:var(--gs-rose)}
.gs-card--sage .gs-ico{background:var(--gs-sage-soft);color:var(--gs-sage)}
.gs-ico svg{width:22px;height:22px}

/* ---- Split (image + text) --------------------------------------------- */
.gs-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,5vw,72px);align-items:center}
.gs-split--rev{grid-template-columns:1.15fr .85fr}
.gs-split img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--gs-radius);box-shadow:var(--gs-shadow)}

/* ---- Check list --------------------------------------------------------- */
.gs-checks{list-style:none;margin:20px 0 0;padding:0}
.gs-checks li{position:relative;padding-left:32px;margin:0 0 12px}
.gs-checks li::marker{content:none}
.gs-checks li::before{content:""!important;position:absolute;left:0;top:7px;width:18px;height:18px;border-radius:50%;
  background:var(--gs-rose) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;display:block!important}
.gs-sec--sage .gs-checks li::before{background-color:var(--gs-sage)}

/* ---- Steps -------------------------------------------------------------- */
.gs-steps{counter-reset:gs;list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gs-steps li{counter-increment:gs;background:#fff;border-radius:var(--gs-radius);padding:26px;box-shadow:var(--gs-shadow);margin:0}
.gs-steps li::marker{content:none}
.gs-steps li::before{content:counter(gs)!important;display:grid!important;place-items:center;width:40px;height:40px;border-radius:50%;
  background:var(--gs-plum);color:#fff;font-family:var(--gs-head);font-size:22px;font-weight:600;margin-bottom:12px}
.gs-steps strong{display:block;font-family:var(--gs-head);font-size:24px;color:var(--gs-plum);margin-bottom:6px}

/* ---- Quote -------------------------------------------------------------- */
.gs-quote{font-family:var(--gs-head);font-style:italic;font-size:clamp(26px,2.4vw,34px)!important;line-height:1.35!important;color:var(--gs-plum)!important;max-width:30ch!important;margin:0 auto!important;text-align:center}

/* ---- Note --------------------------------------------------------------- */
.gs-note{font-size:15px!important;color:var(--gs-muted)!important;border-left:3px solid var(--gs-rose-soft);padding-left:14px;margin-top:26px}

/* ---- Contact form ------------------------------------------------------- */
.gs-form{background:#fff;border-radius:var(--gs-radius);padding:32px;box-shadow:var(--gs-shadow)}
.gs-field{margin:0 0 18px}
.gs-field label{display:block;font-size:16px;font-weight:600;color:var(--gs-plum);margin:0 0 6px}
.gs-field input,.gs-field select,.gs-field textarea{width:100%;font:inherit;font-size:17px;color:var(--gs-ink);
  border:1.5px solid #D9C9D2;border-radius:10px;padding:12px 14px;background:#fff}
.gs-field textarea{min-height:150px;resize:vertical}
.gs-field input:focus,.gs-field select:focus,.gs-field textarea:focus{outline:3px solid rgba(162,73,62,.25);border-color:var(--gs-rose)}
.gs-check{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--gs-muted);margin:0 0 18px}
.gs-check input{margin-top:4px;width:18px;height:18px;flex:0 0 auto}
.gs-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.gs-alert{border-radius:10px;padding:14px 16px;margin:0 0 20px;font-weight:500}
.gs-alert--ok{background:var(--gs-sage-soft);color:#2F4733}
.gs-alert--err{background:#FBE7E4;color:#7A2D24}
.gs-form button.gs-btn{cursor:pointer;width:100%}
.gs-contact-aside p{margin:0 0 12px}

/* ---- Footer ------------------------------------------------------------- */
.gs .site-footer{background:var(--gs-plum-deep)!important;color:#E9D9E1}
.gs .site-footer a{color:#F3E6EC}
.gs .site-footer .site-info,.gs .site-footer .copyright{font-size:15px}

/* Language switcher floater: brand colours */
.gs #trp-floater-ls{border-color:var(--gs-plum)!important}

/* ---- Responsive --------------------------------------------------------- */
@media (max-width:960px){
  .gs-hero__grid,.gs-split,.gs-split--rev{grid-template-columns:1fr}
  .gs-hero__img{max-width:420px}
  .gs-split--rev .gs-split__img{order:-1}
  .gs-grid--3,.gs-steps{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .gs-grid--3,.gs-grid--2,.gs-steps{grid-template-columns:1fr}
  .gs-btn{width:100%}
  .gs-form{padding:22px}
}

/* ---- Journal CTA, tiers, two-up CTAs (added 2026-10-09) ---------------- */
.gs-journal-cta{margin:48px 0 0;padding:32px;border-radius:var(--gs-radius);background:var(--gs-blush);border-left:4px solid var(--gs-rose)}
.gs-journal-cta h3{margin:0 0 8px}
.gs-tier{display:flex;flex-direction:column}
.gs-tier .gs-checks{flex:1}
.gs-tier--premium{border-top-color:var(--gs-plum);box-shadow:0 14px 40px rgba(42,20,38,.18)}
.gs-badge{display:inline-block;font-size:15px;font-weight:600;color:#fff;background:var(--gs-plum);padding:4px 12px;border-radius:999px;margin-left:8px;vertical-align:middle}
.gs-tier__price{font-family:var(--gs-head);font-size:26px;color:var(--gs-plum);margin:6px 0 0!important}
.gs-safe{font-family:var(--gs-head);font-size:clamp(24px,2.2vw,30px)!important;line-height:1.4!important;color:#FBF2F5!important;max-width:40ch!important;margin:0 auto!important}
.gs-pride{display:flex;justify-content:center;gap:0;margin:0 auto 22px;width:180px;height:6px;border-radius:3px;overflow:hidden}
.gs-pride span{flex:1}
.gs .entry-content .gs-langs{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:18px 0 0}
.gs .entry-content .gs-langs li{display:inline-flex;align-items:center;gap:8px;margin:0;background:#fff;border-radius:999px;padding:6px 14px;font-size:16px!important;box-shadow:var(--gs-shadow)}
.gs .entry-content .gs-langs li::before,.gs .entry-content .gs-langs li::marker{content:none!important;display:none!important}

.gs .entry-content .gs-langs img{width:18px;height:12px;border-radius:2px;box-shadow:none}

/* ---- Journal cards ([gs_journal]) ------------------------------------- */
.gs-articles{text-align:left}
.gs-article{display:flex;flex-direction:column}
.gs-article h3{margin:8px 0 10px}
.gs-article h3 a{color:var(--gs-plum)!important;text-decoration:none!important}
.gs-article h3 a:hover{color:var(--gs-rose)!important}
.gs-article p{flex:1;margin:0 0 18px!important}
.gs-article__date{font-size:15px;color:var(--gs-muted)}
.gs .entry-content a.gs-article__more{font-size:16px!important;font-weight:600!important;color:var(--gs-rose)!important;text-decoration:none!important}
.gs .entry-content a.gs-article__more::after{content:" \2192"}

/* Menu on one line: nine pages do not fit with Inspiro's default spacing (measured 2026-10-09). */
@media (min-width:1025px){
  .gs .navbar-nav,.gs .navbar .menu,.gs #menu-main{flex-wrap:nowrap!important;white-space:nowrap}
  .gs .navbar .navbar-nav>li>a,.gs .navbar .menu>li>a{padding-left:11px!important;padding-right:11px!important;font-size:15px!important}
}
.gs .gs-tier .gs-tier__price{font-family:var(--gs-head)!important;font-size:26px!important;font-style:italic;color:var(--gs-rose)!important;margin:4px 0 6px!important}
