/*
Theme Name:  Monikos Studija Child
Theme URI:   https://monikosstudija.lt
Description: Child theme for Monikos Studija — a wellness practice website for Monika Bičiūnaitė. Built on the Kadence parent theme.
Author:      Martynas Gašiūnas
Author URI:
Template:    kadence
Version:     0.2.0
License:     GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: monikos-studija-child
*/

/*
 * This file is the single design-token foundation for the child theme.
 * All colours, type scales, spacing, and layout constants are defined
 * here as CSS custom properties and referenced throughout the codebase.
 * Do not hard-code any of these values in component stylesheets —
 * always reference the token.
 */

/* =========================================================
   :ROOT — DESIGN TOKENS
   ========================================================= */
:root {

  /* -------------------------------------------------------
     COLORS
     --cream       Lightest background (page bg, hero, cards)
     --cream-warm  Warmer section backgrounds
     --sage*       Green palette, lightest → deepest
     --text*       Text hierarchy
     --accent      Nav underlines (= --sage-dark)
     --footer-bg   Footer background
  ------------------------------------------------------- */
  --cream:        #faf8f2;
  --cream-warm:   #f4f1ea;
  --sage:         #c8d4c0;
  --sage-soft:    #dce3d4;
  --sage-dark:    #7a8c70;
  --sage-deep:    #4a5944;
  --text:         #2a2e26;
  --text-soft:    #5a5e54;
  --text-muted:   #8a8e84;
  --accent:       #7a8c70;
  --footer-bg:    #2a322a;

  /* -------------------------------------------------------
     TYPOGRAPHY — FONT FAMILIES
  ------------------------------------------------------- */
  --font-serif:   'Lora', serif;
  --font-sans:    'DM Sans', sans-serif;

  /* -------------------------------------------------------
     TYPOGRAPHY — FONT SIZES
     Consolidated to 10 tokens on a deliberate editorial scale.
     "Maps from" values are noted inline for traceability.
  ------------------------------------------------------- */
  --text-2xs:     10px;   /* from 10px, 11px  — labels, tags, stats captions    */
  --text-xs:      12px;   /* from 12px, 13px  — buttons, footer, nav links      */
  --text-sm:      14px;   /* from 14px, 14.5px — list items, form inputs        */
  --text-base:    16px;   /* from 15px, 15.5px, 16px — body, para, section lead */
  --text-md:      18px;   /* from 17px, 18px, 19px — cards, lead copy, quotes   */
  --text-lg:      24px;   /* from 24px — content block titles                   */
  --text-xl:      32px;   /* from 30px, 36px — process headings, stats numbers  */
  --text-2xl:     44px;   /* from 40px, 42px, 44px — section titles, h2/h3      */
  --text-hero:    64px;   /* from 56px, 60px, 64px, 72px — hero h1, page h2     */
  --text-display: 140px;  /* from 140px — decorative quotation mark             */

  /* -------------------------------------------------------
     TYPOGRAPHY — LINE HEIGHTS
  ------------------------------------------------------- */
  --leading-tight:   1.05;  /* Hero h1                                   */
  --leading-snug:    1.1;   /* Section titles, h2/h3                     */
  --leading-normal:  1.7;   /* Body default                              */
  --leading-relaxed: 1.75;  /* Process text, content blocks              */
  --leading-loose:   1.85;  /* Hero para, service text, contact lead     */

  /* -------------------------------------------------------
     TYPOGRAPHY — LETTER SPACING
  ------------------------------------------------------- */
  --tracking-tight:   -1px;    /* Hero h1                                */
  --tracking-snug:    -0.5px;  /* Section titles, h2/h3                  */
  --tracking-normal:  0;       /* Body copy                              */
  --tracking-wide:    1px;     /* Nav links                              */
  --tracking-wider:   2px;     /* Buttons, stats captions                */
  --tracking-widest:  3.5px;   /* Section labels, hero tag               */

  /* -------------------------------------------------------
     SPACING — 4px base scale
     8 / 16 / 24 / 32 / 48 / 64 / 80 / 96
  ------------------------------------------------------- */
  --space-xs:   8px;   /* Tight inner gaps (stat label margin)           */
  --space-sm:   16px;  /* from 14px, 22px — tag gaps, label margins      */
  --space-md:   24px;  /* from 22px, 28px — paragraph margin, form gap   */
  --space-lg:   32px;  /* from 28px, 34px — hero para gap, features list */
  --space-xl:   48px;  /* from 40px, 44px — hero tag margin, nav gap     */
  --space-2xl:  64px;  /* from 60px — section & nav horizontal padding   */
  --space-3xl:  80px;  /* from 80px — hero horizontal padding, row gap   */
  --space-4xl:  96px;  /* from 90px, 100px — section vertical padding    */

  /* -------------------------------------------------------
     LAYOUT — MAX-WIDTHS
  ------------------------------------------------------- */
  --max-prose:    780px;   /* Process list                               */
  --max-content:  1100px;  /* Service page content                       */
  --max-layout:   1280px;  /* Service rows, testimonials grid            */
  --max-wide:     1280px;  /* Service page hero                          */

  /* -------------------------------------------------------
     BORDER RADII
  ------------------------------------------------------- */
  --radius-full:  50%;  /* Circular service number badge                 */
}

/* =========================================================
   GLOBAL BASE — override Kadence's 18px body default
   ========================================================= */
body,
.entry-content p,
p {
  font-size: 16px !important;
  font-weight: 300 !important;
}

/* Remove Kadence default padding on single-column row wrappers */
.kt-row-column-wrap.kt-has-1-columns {
  padding: 0 !important;
}

/* === Section-to-section gap removal ===
   Kadence injects padding-top/bottom (~1.5rem) on .kt-row-column-wrap via
   per-block inline CSS. Our ms- sections manage their own internal spacing,
   so we zero out the Kadence defaults to prevent white strips between sections. */
.kb-row-layout-wrap[class*="ms-"] > .kt-row-column-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* === Homepage left/right edge alignment ===
   Every homepage section sets its 64px (--space-2xl) horizontal padding on the
   OUTER .ms-* element, but Kadence still applies --global-content-edge-padding to
   the inner .kt-row-column-wrap, double-insetting the content and making the home
   page wider-gutter than the rest of the site. Zero the inner wrap's left/right
   padding on the home page only. Scoped to .home so it does NOT override the
   inner-page heroes (ms-aku-hero / ms-dt-hero / ms-apie-hero), which set their
   horizontal padding directly on this wrap. */
body.home .entry-content .alignfull > .kt-row-column-wrap {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Belt-and-suspenders: zero all vertical margins on alignfull blocks so
   no gaps bleed through between consecutive full-width sections/covers. */
.entry-content .wp-block-kadence-rowlayout.alignfull,
.entry-content .wp-block-cover.alignfull {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* === entry-content-wrap padding fix ===
   Kadence sets padding: 2rem on .entry-content-wrap via inline CSS.
   Zero all padding so no white gap appears above/below full-bleed sections.
   Section spacing is handled internally by each ms- pattern. */
.entry-content-wrap {
  padding: 0 !important;
}

.entry-content.single-content {
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* === Fixed-header clearance for inner pages ===
   The homepage hero manages its own top padding (140px).
   All other pages need padding-top equal to the header height (80px)
   so the first section is not obscured by the fixed nav. */
/* Pad the first full-bleed section so its own background covers the gap —
   avoids a white strip above the first coloured hero on inner pages. */
body:not(.home) .entry-content > .wp-block-kadence-rowlayout.alignfull:first-child {
  padding-top: 120px !important;
}

.admin-bar body:not(.home) .entry-content > .wp-block-kadence-rowlayout.alignfull:first-child {
  padding-top: 152px !important; /* 120px + 32px admin bar */
}

@media screen and (max-width: 782px) {
  .admin-bar body:not(.home) .entry-content > .wp-block-kadence-rowlayout.alignfull:first-child {
    padding-top: 166px !important; /* 120px + 46px admin bar */
  }
}

/* === Hide Kadence default footer ===
   kadence_footer action is removed in functions.php — nothing renders inside
   #colophon. Collapse the shell element so it leaves no white space. */
#colophon.site-footer {
  display: none !important;
}

/* === Global bold weight ===
   Reduce default browser bold (700) to a lighter medium weight site-wide. */
strong, b {
  font-weight: 500 !important;
}

/* === Empty paragraph guard ===
   Hides empty <p> tags anywhere inside .entry-content —
   including those inside Cover blocks (e.g. has-large-font-size placeholders)
   whose 1em margins inflate block height and create white strips. */
.entry-content p:empty {
  display: none !important;
  margin: 0 !important;
}

/* =========================================================
   HOMEPAGE HERO
   Pattern: monikos-studija-child/homepage-hero
   ========================================================= */

/* ----------------------------------------------------------
   Full-width escape hatch — breaks out of Kadence's
   .content-container / .site-container max-width wrapper
   regardless of page template or Customizer layout setting.
---------------------------------------------------------- */
.ms-hero.alignfull,
.ms-hero.align-full,
.ms-hero {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: none !important;
}

/* ----------------------------------------------------------
   Outer section — override Kadence rowlayout defaults
---------------------------------------------------------- */
.ms-hero {
  min-height: 88vh;
  padding: 130px var(--space-2xl) var(--space-3xl) !important; /* 130px = fixed nav clearance + breathing room (reduced from 210px→170px→150px→130px); --space-2xl left/right matches all other pages */
  background: var(--cream) !important;
}

/* Target both the legacy (.kadence-row-column-wrap) and current
   (.kb-row-layout-wrap) Kadence inner-wrap classes — the live hero block
   uses .kb-row-layout-wrap, so the older selector alone left Kadence's
   default content max-width in place, creating left/right spacing. */
.ms-hero .kadence-row-column-wrap,
.ms-hero .kb-row-layout-wrap {
  display: grid !important;
  grid-template-columns: 1.1fr 1fr;
  gap: var(--space-4xl);
  align-items: start;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* The live hero's inner column wrapper is .kt-row-column-wrap (a direct child of
   the outer .ms-hero block); .kb-row-layout-wrap above sits on the OUTER element,
   so that rule never reaches the inner wrap. Kadence emits
   .kb-row-layout-id6_d3c656-2b > .kt-row-column-wrap { padding-left/right:
   var(--global-content-edge-padding) }, which double-insets the hero relative to
   the rest of the page. Remove it here so the hero aligns with the other sections. */
.ms-hero > .kt-row-column-wrap {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ----------------------------------------------------------
   Left column inner padding
---------------------------------------------------------- */
.ms-hero__content .kt-inside-inner-col {
  padding: 0 var(--space-md) 0 0;
}

/* ----------------------------------------------------------
   Eyebrow tag
---------------------------------------------------------- */
.ms-hero-tag {
  display: inline-flex !important;
  align-items: center;
  gap: var(--space-sm);
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: var(--tracking-widest) !important;
  text-transform: uppercase !important;
  color: var(--sage-deep) !important;
  margin-bottom: 28px !important;
}

body:not(.home) .ms-hero-tag {
  font-size: 11px !important;
}

.ms-hero-tag::before {
  content: '';
  display: inline-block;
  width: 40px;
  height: 1px;
  background: var(--sage-dark);
  flex-shrink: 0;
}

/* ----------------------------------------------------------
   H1 heading
---------------------------------------------------------- */
.ms-hero-heading {
  font-family: var(--font-serif) !important;
  font-size: var(--text-hero) !important;
  font-weight: 400 !important;
  line-height: var(--leading-tight) !important;
  letter-spacing: var(--tracking-tight) !important;
  color: var(--text) !important;
  margin-top: 0 !important;
  margin-bottom: var(--space-md) !important;
}

.ms-hero-heading em {
  font-style: italic;
  color: var(--sage-deep);
  font-weight: 400;
}

/* ----------------------------------------------------------
   Lead paragraph
---------------------------------------------------------- */
.ms-hero-lead {
  font-size: var(--text-base) !important;
  color: var(--text-soft) !important;
  max-width: 440px;
  line-height: var(--leading-loose) !important;
  margin-bottom: var(--space-xl) !important;
}

/* ----------------------------------------------------------
   Button group
---------------------------------------------------------- */
.ms-hero-buttons {
  gap: var(--space-sm) !important;
  align-items: center;
}

/* Primary filled button */
.ms-btn-primary .wp-block-button__link {
  background: var(--sage-deep) !important;
  color: var(--cream) !important;
  font-family: var(--font-sans);
  font-size: var(--text-xs) !important;
  font-weight: 400;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  padding: 15px var(--space-lg) !important;
  border-radius: 0 !important;
  border: none !important;
  transition: background 0.3s, transform 0.3s;
}

.ms-btn-primary .wp-block-button__link:hover {
  background: var(--text) !important;
  transform: translateY(-2px);
}

/* Text-only underline button */
.ms-btn-text .wp-block-button__link {
  background: transparent !important;
  color: var(--sage-deep) !important;
  font-family: var(--font-sans);
  font-size: var(--text-xs) !important;
  font-weight: 400;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  padding: 15px 0 !important;
  border-radius: 0 !important;
  border: none !important;
  border-bottom: 1px solid var(--sage-deep) !important;
  box-shadow: none !important;
  transition: color 0.3s, border-color 0.3s;
}

.ms-btn-text .wp-block-button__link:hover {
  color: var(--text) !important;
  border-color: var(--text) !important;
}

/* ----------------------------------------------------------
   Right column — image wrapper + corner brackets
   Targets .kt-inside-inner-col (always present in kadence/column)
---------------------------------------------------------- */
.ms-hero__visual {
  position: relative;
}

.ms-hero__visual .kt-inside-inner-col {
  position: relative;
  max-width: 480px;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  margin-left: auto;
}

/* Corner bracket — top-left (flush inside image frame) */
.ms-hero__visual > .kt-inside-inner-col::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  border-top: 1px solid var(--sage-dark);
  border-left: 1px solid var(--sage-dark);
  z-index: 3;
  pointer-events: none;
}

/* Corner bracket — bottom-right (flush inside image frame) */
.ms-hero__visual > .kt-inside-inner-col::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 60px;
  height: 60px;
  border-bottom: 1px solid var(--sage-dark);
  border-right: 1px solid var(--sage-dark);
  z-index: 3;
  pointer-events: none;
}

/* ----------------------------------------------------------
   Hero image
---------------------------------------------------------- */
.ms-hero-image {
  width: 100%;
  height: 100%;
  margin: 0 !important;
}

.ms-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(15%) contrast(0.95);
  display: block;
}

/* ----------------------------------------------------------
   Responsive — ≤ 900px: single column
---------------------------------------------------------- */
@media (max-width: 900px) {
  .ms-hero {
    padding: 110px var(--space-md) var(--space-xl) !important;
  }

  .ms-hero .kadence-row-column-wrap {
    grid-template-columns: 1fr !important;
    gap: var(--space-xl);
  }

  .ms-hero-heading {
    font-size: 48px !important;
  }

  .ms-hero__visual .kt-inside-inner-col::before,
  .ms-hero__visual > .kt-inside-inner-col::after {
    display: none;
  }
}

/* =========================================================
   HOMEPAGE ABOUT
   Pattern: monikos-studija-child/homepage-about
   ========================================================= */

/* ----------------------------------------------------------
   Outer section
---------------------------------------------------------- */
.ms-about {
  background: var(--sage-soft) !important;
  padding: var(--space-2xl) var(--space-2xl) 0 !important;
}

@media (min-width: 901px) {
  .kb-row-layout-wrap.kb-row-layout-id6_ee05aa-71.alignfull.wp-block-kadence-rowlayout.ms-about.kb-row-layout-idms-about.align-full {
    margin-bottom: -7em !important;
  }
}

.ms-about .kadence-row-column-wrap {
  display: grid !important;
  grid-template-columns: 1fr 1.1fr;
  gap: var(--space-4xl);
  align-items: center;
  max-width: var(--max-layout);
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ----------------------------------------------------------
   Image column
---------------------------------------------------------- */
.ms-about__image > .kt-inside-inner-col {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  position: relative;
}

.ms-about-image {
  width: 100%;
  height: 100%;
  margin: 0 !important;
}

.ms-about-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 54% center;
  display: block;
}

/* ----------------------------------------------------------
   Section label (left-aligned variant)
---------------------------------------------------------- */
.ms-section-label {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-family: var(--font-sans);
  font-size: var(--text-2xs);
  font-weight: 400;
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  color: var(--sage-dark);
  margin-bottom: var(--space-sm) !important;
}

/* Centered variant (default — decorative lines either side) */
.ms-section-label::before,
.ms-section-label::after {
  content: '';
  display: inline-block;
  width: 30px;
  height: 1px;
  background: var(--sage-dark);
  flex-shrink: 0;
}

/* Left-aligned variant — suppress right line */
.ms-section-label--left {
  justify-content: flex-start;
}

.ms-section-label.ms-section-label--left,
p.ms-section-label,
p.ms-service-label,
p.ms-test-author,
p.ms-about-stat__label {
  font-size: 11px !important;
}

.ms-section-label--left::after {
  display: none;
}

/* ----------------------------------------------------------
   H2 heading
---------------------------------------------------------- */
.ms-about-heading {
  font-family: var(--font-serif) !important;
  font-size: var(--text-2xl) !important;
  font-weight: 400 !important;
  line-height: var(--leading-snug) !important;
  letter-spacing: var(--tracking-snug) !important;
  color: var(--text) !important;
  margin-top: 0 !important;
  margin-bottom: var(--space-md) !important;
}

.ms-about-heading em {
  font-style: italic;
  color: var(--sage-deep);
}

/* ----------------------------------------------------------
   Body paragraphs
---------------------------------------------------------- */
.ms-about-body {
  font-size: var(--text-base) !important;
  color: var(--text-soft) !important;
  line-height: var(--leading-loose) !important;
  margin-bottom: var(--space-md) !important;
}

/* ----------------------------------------------------------
   Stats grid
---------------------------------------------------------- */
.ms-about-stats {
  margin-top: var(--space-xl) !important;
  padding-top: var(--space-lg) !important;
  border-top: 1px solid rgba(74, 89, 68, 0.2);
}

.ms-about-stat__number {
  font-family: var(--font-serif) !important;
  font-size: var(--text-xl) !important;
  font-weight: 400 !important;
  color: var(--sage-deep) !important;
  line-height: 1 !important;
  margin-top: 0 !important;
  margin-bottom: var(--space-xs) !important;
}

.ms-about-stat__label {
  font-size: 11px !important;
  letter-spacing: var(--tracking-wider) !important;
  text-transform: uppercase;
  color: var(--text-soft) !important;
  margin: 0 !important;
}

/* ----------------------------------------------------------
   Responsive — ≤ 900px: single column
---------------------------------------------------------- */
@media (max-width: 900px) {
  .ms-about {
    padding: var(--space-2xl) var(--space-md) !important;
  }

  .ms-about .kadence-row-column-wrap {
    grid-template-columns: 1fr !important;
    gap: var(--space-xl);
  }
}

/* =========================================================
   HOMEPAGE SERVICES
   Patterns: homepage-service-akupunktura
             homepage-service-dramos-terapija
   ========================================================= */

/* ----------------------------------------------------------
   Outer section
---------------------------------------------------------- */
.ms-service {
  padding: var(--space-4xl) var(--space-2xl) !important;
  background: var(--cream) !important;
}

.kb-row-layout-idms-svc-aku {
  padding-top: var(--space-2xl) !important;
  padding-bottom: var(--space-md) !important;
}

.kb-row-layout-idms-svc-dt {
  background: var(--sage-soft) !important;
  padding-top: var(--space-2xl) !important;
  padding-bottom: var(--space-lg) !important;
}

/* Remove bottom padding on the Dramos terapija service row */
.ms-service.kb-row-layout-id6_f036c0-35 {
  padding-bottom: 0 !important;
}

.ms-service--reversed {
  background: var(--sage-soft) !important;
}

.ms-service .kadence-row-column-wrap {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3xl);
  align-items: center;
  max-width: var(--max-layout);
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ----------------------------------------------------------
   Image column
---------------------------------------------------------- */
.ms-service__visual > .kt-inside-inner-col {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
}

.ms-service-image {
  width: 100%;
  height: 100%;
  margin: 0 !important;
}

.ms-service-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(10%);
  display: block;
}

/* Number badge — absolutely positioned over image top-left */
.ms-service-num {
  position: absolute !important;
  top: 20px;
  left: 20px;
  z-index: 3;
  font-family: var(--font-serif) !important;
  font-style: italic;
  font-size: var(--text-lg) !important;
  color: var(--cream) !important;
  background: var(--sage-deep);
  width: 60px;
  height: 60px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  margin: 0 !important;
  line-height: 1;
}

/* ----------------------------------------------------------
   Text column
---------------------------------------------------------- */
.ms-service-label {
  font-family: var(--font-sans);
  letter-spacing: var(--tracking-widest) !important;
  text-transform: uppercase;
  color: var(--sage-dark) !important;
  margin-bottom: var(--space-sm) !important;
}

.ms-service-heading {
  font-family: var(--font-serif) !important;
  font-size: var(--text-2xl) !important;
  font-weight: 400 !important;
  line-height: var(--leading-snug) !important;
  letter-spacing: var(--tracking-snug) !important;
  color: var(--text) !important;
  margin-top: 0 !important;
  margin-bottom: var(--space-md) !important;
}

.ms-service-heading em {
  font-style: italic;
  color: var(--sage-deep);
}

.ms-service-body {
  font-size: var(--text-base) !important;
  color: var(--text-soft) !important;
  line-height: var(--leading-loose) !important;
  margin-bottom: var(--space-md) !important;
}

/* Blockquote */
.ms-service-quote {
  font-family: var(--font-serif) !important;
  font-style: italic;
  font-size: var(--text-md) !important;
  color: var(--sage-deep) !important;
  line-height: var(--leading-relaxed) !important;
  margin-top: var(--space-sm) !important;
  margin-bottom: var(--space-xs) !important;
}

.ms-service-quote-cite {
  font-size: var(--text-xs) !important;
  color: var(--text-muted) !important;
  margin-top: 0 !important;
  margin-bottom: var(--space-md) !important;
}

/* ----------------------------------------------------------
   Responsive — ≤ 900px: single column
---------------------------------------------------------- */
@media (max-width: 900px) {
  .ms-service {
    padding: var(--space-2xl) var(--space-md) !important;
  }

  .ms-service .kadence-row-column-wrap {
    grid-template-columns: 1fr !important;
    gap: var(--space-xl);
  }

  /* Center the service photo in its column on mobile */
  .ms-service__visual > .kt-inside-inner-col {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .ms-service__visual .wp-block-image,
  .ms-service-image {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
  }

  .ms-service__visual img {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* =========================================================
   HOMEPAGE TESTIMONIALS
   Pattern: monikos-studija-child/homepage-testimonials
   ========================================================= */

/* ----------------------------------------------------------
   Outer section
---------------------------------------------------------- */
.ms-testimonials {
  padding: var(--space-4xl) var(--space-2xl) !important;
  background: var(--sage-soft) !important;
  text-align: center;
}

/* Bottom padding on the testimonials row — none on mobile, restored on desktop */
.ms-testimonials.kb-row-layout-id6_52117e-ae {
  padding-bottom: 0 !important;
}

@media (min-width: 901px) {
  .ms-testimonials.kb-row-layout-id6_52117e-ae {
    padding-bottom: var(--space-4xl) !important;
  }
}

.kb-row-layout-idms-test,
.kb-row-layout-id6_520a81-de {
  padding-top: 48px !important;
}

/* ----------------------------------------------------------
   Centered section label and title
---------------------------------------------------------- */
.ms-section-title {
  font-family: var(--font-serif) !important;
  font-size: var(--text-2xl) !important;
  font-weight: 400 !important;
  line-height: var(--leading-snug) !important;
  letter-spacing: var(--tracking-snug) !important;
  color: var(--text) !important;
  margin-top: 0 !important;
  margin-bottom: var(--space-lg) !important;
}

.ms-section-title em {
  font-style: italic;
  color: var(--sage-deep);
}

/* ----------------------------------------------------------
   Testimonials grid — 3 columns, 2 rows
---------------------------------------------------------- */
.ms-testimonials-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 26px !important;
  margin-top: var(--space-lg) !important;
}

/* ----------------------------------------------------------
   Row spacing between the two core/columns rows
   (kept for pattern-file fallback)
---------------------------------------------------------- */
.ms-test-row {
  width: 100% !important;
  gap: 26px !important;
  margin-bottom: 26px !important;
  flex-wrap: nowrap !important;
}

.ms-test-row:last-child {
  margin-bottom: 0 !important;
}

/* Card */
.ms-test-card {
  background: var(--cream);
  padding: 38px 34px;
  text-align: center;
  height: 100%;
}

/* ----------------------------------------------------------
   Card content
---------------------------------------------------------- */
.ms-test-text {
  font-family: var(--font-serif) !important;
  font-style: italic;
  font-size: var(--text-md) !important;
  color: var(--text) !important;
  line-height: 1.55 !important;
  margin-bottom: var(--space-md) !important;
}

.ms-test-author {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-family: var(--font-sans);
  letter-spacing: 3px !important;
  text-transform: uppercase;
  color: var(--sage-dark) !important;
  margin: 0 !important;
}

.ms-test-author::before {
  content: '';
  display: inline-block;
  width: 30px;
  height: 1px;
  background: var(--sage-dark);
  flex-shrink: 0;
}

/* ----------------------------------------------------------
   Responsive — ≤ 900px: single column
---------------------------------------------------------- */
@media (max-width: 900px) {
  .ms-testimonials {
    padding: var(--space-md) var(--space-md) var(--space-2xl) !important;
  }

  .ms-testimonials-grid {
    grid-template-columns: 1fr !important;
  }

  .ms-test-row {
    flex-direction: column !important;
  }
}

/* =========================================================
   HOMEPAGE CONTACT
   Pattern: monikos-studija-child/homepage-contact
   ========================================================= */

/* ----------------------------------------------------------
   Outer section
---------------------------------------------------------- */
.ms-contact {
  padding: var(--space-4xl) var(--space-2xl) 0 !important;
  background: var(--sage-deep) !important;
  text-align: center;
  color: var(--cream);
}

/* ----------------------------------------------------------
   Section label — light variant (on dark bg)
---------------------------------------------------------- */
.ms-section-label--light {
  color: var(--sage) !important;
}

.ms-section-label--light::before,
.ms-section-label--light::after {
  background: var(--sage) !important;
}

/* ----------------------------------------------------------
   Heading and lead
---------------------------------------------------------- */
.ms-contact-heading {
  font-family: var(--font-serif) !important;
  font-size: var(--text-2xl) !important;
  font-weight: 400 !important;
  line-height: var(--leading-snug) !important;
  letter-spacing: var(--tracking-snug) !important;
  color: var(--cream) !important;
  margin-top: 0 !important;
  margin-bottom: var(--space-md) !important;
}

.ms-contact-heading em {
  font-style: italic;
  color: var(--sage);
}

.ms-contact-lead {
  font-size: var(--text-base) !important;
  color: rgba(250, 248, 242, 0.75) !important;
  max-width: 540px;
  margin: 0 auto 48px !important;
  line-height: var(--leading-loose) !important;
}

/* ----------------------------------------------------------
   Contact form wrapper
   Replace shortcode placeholder with your CF7 / WPForms form.
   Styles target standard CF7 / WPForms field markup.
---------------------------------------------------------- */
.ms-contact-form-wrap {
  max-width: 580px;
  margin: 0 auto;
  text-align: left;
}

/* CF7 / generic form field resets */
.ms-contact-form-wrap input,
.ms-contact-form-wrap textarea,
.ms-contact-form-wrap select {
  width: 100%;
  padding: 16px 0;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(250, 248, 242, 0.25);
  color: var(--cream);
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  transition: border-color 0.3s;
  border-radius: 0;
}

.ms-contact-form-wrap input::placeholder,
.ms-contact-form-wrap textarea::placeholder {
  color: rgba(250, 248, 242, 0.5);
  font-family: var(--font-serif);
  font-style: italic;
}

.ms-contact-form-wrap input:focus,
.ms-contact-form-wrap textarea:focus,
.ms-contact-form-wrap select:focus {
  outline: none;
  border-color: var(--sage);
}

.ms-contact-form-wrap textarea {
  min-height: 110px;
  resize: vertical;
}

.ms-contact-form-wrap input[type="submit"],
.ms-contact-form-wrap button[type="submit"] {
  width: auto;
  border: none;
  border-bottom: none;
  background: var(--cream) !important;
  color: var(--sage-deep) !important;
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  padding: 15px var(--space-lg);
  cursor: pointer;
  margin-top: var(--space-md);
  transition: background 0.3s;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.ms-contact-form-wrap input[type="submit"]:hover,
.ms-contact-form-wrap button[type="submit"]:hover {
  background: var(--sage) !important;
}

/* ----------------------------------------------------------
   Contact info — 4-column core/columns block
---------------------------------------------------------- */
.ms-contact-info {
  margin-top: var(--space-xl) !important;
  margin-bottom: var(--space-4xl) !important;
  max-width: var(--max-layout);
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.ms-contact-info .wp-block-column {
  font-size: var(--text-sm);
  color: rgba(250, 248, 242, 0.85);
}

.ms-contact-info__label {
  display: block;
  font-size: var(--text-2xs);
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  color: var(--sage);
  margin-bottom: var(--space-xs);
  font-weight: 400;
}

.ms-contact-info__value {
  color: rgba(250, 248, 242, 0.85);
  text-decoration: none;
  border-bottom: 1px solid rgba(200, 212, 192, 0.3);
  transition: color 0.3s;
}

.ms-contact-info__value:hover {
  color: var(--cream);
}

/* ----------------------------------------------------------
   Responsive — ≤ 900px
---------------------------------------------------------- */
@media (max-width: 900px) {
  .ms-contact {
    padding: var(--space-2xl) var(--space-md) !important;
  }

  .ms-contact-info {
    flex-direction: column !important;
  }
}

/* =========================================================
   CONTACT FORM — Fluent Forms (id=4)
   Scoped to .ms-contact-form-wrap.
   Class names verified against live rendered HTML.
   ========================================================= */

.ms-contact-form-wrap {
  max-width: 580px;
  margin: 0 auto;
  text-align: left;
}

/* Fluent Forms wraps the form in .fluentform — reset any defaults */
.ms-contact-form-wrap .fluentform,
.ms-contact-form-wrap .ffs_default_wrap {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Hide labels — prototype uses placeholder text only */
.ms-contact-form-wrap .ff-el-input--label {
  display: none !important;
}

/* Name field: .ff-t-container uses table layout — override to block */
.ms-contact-form-wrap .ff-t-container {
  display: block !important;
}

.ms-contact-form-wrap .ff-t-cell {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
}

/* Field group spacing */
.ms-contact-form-wrap .ff-el-group {
  margin-bottom: var(--space-md) !important;
}

/* Name + email row — JS wraps these two groups in .ms-ff-name-email-row */
.ms-ff-name-email-row {
  display: flex !important;
  gap: 16px !important;
  margin-bottom: 12px !important;
}

.ms-ff-name-email-row .ff-el-group {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
}

.ms-kontakt-form-wrap .ms-ff-name-email-row {
  width: 100% !important;
}

/* All inputs, selects, textareas */
.ms-contact-form-wrap .ff-el-form-control {
  width: 100% !important;
  padding: 16px 0 !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(250, 248, 242, 0.25) !important;
  border-radius: 0 !important;
  color: var(--cream) !important;
  font-family: var(--font-sans) !important;
  font-size: var(--text-base) !important;
  box-shadow: none !important;
  transition: border-color 0.3s;
  -webkit-appearance: none;
}

.ms-contact-form-wrap .ff-el-form-control::placeholder {
  color: rgba(250, 248, 242, 0.5) !important;
  font-family: var(--font-serif) !important;
  font-style: italic;
}

.ms-contact-form-wrap .ff-el-form-control:focus {
  outline: none !important;
  border-bottom-color: var(--sage) !important;
  box-shadow: none !important;
}

/* Select — custom arrow + muted default colour */
.ms-contact-form-wrap select.ff-el-form-control {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23c8d4c0' d='M6 8L0 0h12z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0 center !important;
  color: rgba(250, 248, 242, 0.5) !important;
  cursor: pointer;
}

.ms-contact-form-wrap select.ff-el-form-control:valid,
.ms-contact-form-wrap select.ff-el-form-control.ff-has-value {
  color: var(--cream) !important;
}

.ms-contact-form-wrap select.ff-el-form-control option {
  background: var(--sage-deep);
  color: var(--cream);
}

/* Textarea */
.ms-contact-form-wrap textarea.ff-el-form-control {
  min-height: 110px !important;
  resize: vertical;
}

/* Inline validation errors */
.ms-contact-form-wrap .error.text-danger {
  color: var(--sage) !important;
  font-size: var(--text-2xs) !important;
  letter-spacing: var(--tracking-wide);
  margin-top: 4px;
  display: block;
}

/* Submit button wrapper — .ff_submit_btn_wrapper.ff-text-center */
.ms-contact-form-wrap .ff_submit_btn_wrapper {
  text-align: center !important;
  margin-top: var(--space-md);
}

/* Submit button — .ff-btn.ff-btn-submit.ff-btn-md.ff_btn_style */
.ms-contact-form-wrap .ff-btn-submit {
  background: var(--cream) !important;
  color: var(--sage-deep) !important;
  font-family: var(--font-sans) !important;
  font-size: var(--text-xs) !important;
  font-weight: 400 !important;
  letter-spacing: var(--tracking-wider) !important;
  text-transform: uppercase !important;
  padding: 15px var(--space-lg) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background 0.3s, transform 0.3s;
}

.ms-contact-form-wrap .ff-btn-submit:hover {
  background: var(--sage) !important;
  transform: translateY(-2px);
}

/* Success message — .ff-message-success */
.ms-contact-form-wrap .ff-message-success,
.ms-kontakt-form-wrap .ff-message-success {
  display: block;
  margin: var(--space-lg) 0 0 !important;
  padding: var(--space-lg) var(--space-xl) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  border: 1px solid rgba(200, 212, 192, 0.25) !important;
  border-radius: 4px !important;
  color: var(--cream) !important;
  font-family: var(--font-serif) !important;
  font-style: italic;
  font-size: var(--text-md) !important;
  line-height: 1.6;
  text-align: center !important;
  letter-spacing: 0.01em;
}

#fluentform_4_success {
  border: none !important;
  font-weight: 300 !important;
}

/* Loading spinner colour override */
.ms-contact-form-wrap .ff-loading-button .ff-btn-loading-icon {
  border-top-color: var(--sage-deep) !important;
}

/* =========================================================
   SITE FOOTER
   Pattern: monikos-studija-child/site-footer
   ========================================================= */

.ms-footer {
  background: var(--footer-bg) !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: none !important;
}

.ms-footer__inner {
  padding: 46px var(--space-2xl);
  max-width: 1385px;
  margin: 0 auto !important;
  margin-bottom: 0 !important;
}

.ms-footer__credit {
  font-size: 11px !important;
  color: rgba(250, 248, 242, 0.3) !important;
  margin: 4px 0 0 !important;
  letter-spacing: 0.03em;
}

.ms-footer__credit a {
  color: rgba(250, 248, 242, 0.3) !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(250, 248, 242, 0.15) !important;
  transition: color 0.2s, border-color 0.2s !important;
}

.ms-footer__credit a:hover {
  color: rgba(250, 248, 242, 0.6) !important;
  border-color: rgba(250, 248, 242, 0.4) !important;
}

.ms-footer__copy {
  font-size: var(--text-xs) !important;
  color: rgba(250, 248, 242, 0.5) !important;
  margin: 0 !important;
}

.ms-footer__links-col {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

.ms-footer__link {
  font-size: var(--text-xs);
  color: rgba(250, 248, 242, 0.75);
  text-decoration: none;
  margin-left: var(--space-md);
  transition: color 0.3s;
}

.ms-footer__link:hover {
  color: var(--cream);
}

@media (max-width: 600px) {
  .ms-footer__inner {
    flex-direction: column;
    gap: var(--space-md);
    text-align: center;
    padding: var(--space-xl) var(--space-md);
  }

  .ms-footer__links-col {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: var(--space-sm) !important;
  }

  .ms-footer__link {
    display: block !important;
    margin-left: 0;
    text-align: center;
  }
}

/* =========================================================
   AKUPUNKTŪRA PAGE — Service page components
   Patterns: akupunktura-hero, -indications, -consultation,
             -process, -methods, -duration, -safety
   ========================================================= */

/* Shared full-width escape for all service page sections */
.ms-aku-hero,
.ms-aku-quote,
.ms-aku-ind,
.ms-aku-consult,
.ms-aku-process,
.ms-aku-methods,
.ms-aku-duration,
.ms-aku-safety {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: none !important;
}

/* Default sections — lightest cream (body bg, --cream-soft equivalent) */
.ms-aku-hero,
.ms-aku-consult,
.ms-aku-methods,
.ms-aku-safety {
  background: var(--cream) !important;
}

/* Alt sections — warmer cream (--cream equivalent in prototype) */
.ms-aku-quote,
.ms-aku-ind,
.ms-aku-process,
.ms-aku-duration {
  background: var(--cream-warm) !important;
}


/* ----------------------------------------------------------
   SERVICE PAGE HERO (.ms-aku-hero)
   Pattern: akupunktura-hero
---------------------------------------------------------- */

.ms-aku-hero {
  padding-bottom: var(--space-4xl) !important;
}

.ms-aku-hero .kt-row-column-wrap {
  display: grid !important;
  grid-template-columns: 1.1fr 1fr;
  gap: var(--space-3xl);
  align-items: center;
  max-width: none; /* full-width to match homepage hero */
  margin: 0 auto;
  padding: 110px var(--space-2xl) 80px;
}

.ms-aku-hero .kadence-column_aku-hero-1 .kt-inside-inner-col {
  padding: var(--space-xl) var(--space-md) var(--space-xl) 0;
}

.ms-aku-heading {
  font-family: var(--font-serif) !important;
  font-size: 56px !important;
  font-weight: 400 !important;
  line-height: var(--leading-tight) !important;
  color: var(--text) !important;
  letter-spacing: var(--tracking-tight) !important;
  margin-top: 0 !important;
  margin-bottom: var(--space-md) !important;
}

.ms-aku-hero__body {
  font-size: var(--text-base) !important;
  color: var(--text-soft) !important;
  line-height: 1.85 !important;
  margin-bottom: var(--space-lg) !important;
}

.ms-aku-unesco {
  background: var(--sage-soft) !important;
  padding: var(--space-md) var(--space-lg) !important;
  border-left: 2px solid var(--sage-dark) !important;
  margin-top: 0 !important;
}

.ms-aku-unesco p {
  font-family: var(--font-serif) !important;
  font-style: italic;
  font-size: 15px !important;
  line-height: var(--leading-relaxed) !important;
  letter-spacing: var(--tracking-wide) !important;
  color: var(--sage-deep) !important;
  margin: 0 !important;
}

/* Right column — image */
.ms-aku-hero .kadence-column_aku-hero-2 .kt-inside-inner-col {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
}

.ms-aku-hero__img {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}

.ms-aku-hero__img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Number badge */
.ms-aku-hero__num {
  position: absolute !important;
  top: 20px !important;
  left: 20px !important;
  z-index: 2 !important;
  width: 60px;
  height: 60px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-family: var(--font-serif) !important;
  font-style: italic;
  font-size: var(--text-lg) !important;
  color: var(--cream) !important;
  background: var(--sage-deep) !important;
  border-radius: 50%;
  margin: 0 !important;
  line-height: 1;
}

/* ----------------------------------------------------------
   QUOTE BANNER (.ms-aku-quote)
   Pattern: akupunktura-indications
---------------------------------------------------------- */

.ms-aku-quote .kt-inside-inner-col {
  padding: var(--space-4xl) var(--space-2xl) var(--space-3xl);
  text-align: center;
  border-top: 1px solid var(--sage-soft);
  border-bottom: 1px solid var(--sage-soft);
}

p.ms-ph-quote-mark,
.ms-ph-quote-mark {
  font-family: var(--font-serif) !important;
  font-size: 100px !important;
  color: var(--sage) !important;
  line-height: 0.5 !important;
  margin-bottom: 0 !important;
  font-style: italic;
}

p.ms-ph-quote-text,
.ms-ph-quote-text {
  font-family: var(--font-serif) !important;
  font-style: italic;
  font-size: 28px !important;
  line-height: 1.4 !important;
  color: var(--sage-deep) !important;
  max-width: 760px;
  margin: 0 auto var(--space-sm) !important;
  font-weight: 400 !important;
}

p.ms-ph-quote-cite,
.ms-ph-quote-cite {
  font-style: normal !important;
  font-size: 10px !important;
  letter-spacing: var(--tracking-widest) !important;
  text-transform: uppercase;
  color: var(--text-muted) !important;
  font-weight: 500 !important;
  margin: 0 !important;
}

/* ----------------------------------------------------------
   SHARED SERVICE PAGE SECTION STYLES (.ms-ph-*)
   Used by: indications, consultation, process, methods, duration, safety
---------------------------------------------------------- */

/* Inner content wrapper — max-width constraint */
.ms-aku-ind .kt-inside-inner-col,
.ms-aku-consult .kt-inside-inner-col,
.ms-aku-process .kt-inside-inner-col,
.ms-aku-methods .kt-inside-inner-col,
.ms-aku-duration .kt-inside-inner-col,
.ms-aku-safety .kt-inside-inner-col {
  max-width: none; /* full-width to match homepage hero */
  margin: 0 auto;
  padding: var(--space-3xl) var(--space-2xl);
}

/* Eyebrow — left-aligned section label */
p.ms-ph-eyebrow,
.ms-ph-eyebrow {
  display: inline-flex !important;
  align-items: center;
  gap: 14px;
  font-size: 11px !important;
  letter-spacing: var(--tracking-widest) !important;
  text-transform: uppercase;
  color: var(--sage-deep) !important;
  font-weight: 500 !important;
}

.ms-ph-eyebrow::before {
  content: '';
  width: 32px;
  height: 1px;
  background: var(--sage-dark);
  display: inline-block;
  flex-shrink: 0;
}

/* Section lead text */
.ms-ph-lead {
  font-size: var(--text-base) !important;
  line-height: var(--leading-relaxed) !important;
  color: var(--text-soft) !important;
  max-width: 720px;
  margin-top: var(--space-xs) !important;
  margin-bottom: var(--space-md) !important;
}

.ms-ph-lead--centered {
  max-width: 680px !important;
  margin: var(--space-2xl) auto 0 !important;
}

/* Two-column text blocks */
.ms-ph-two-blocks.wp-block-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3xl);
  margin-top: var(--space-lg) !important;
  margin-bottom: 0 !important;
}

/* Subheading within two-blocks */
.ms-ph-subhead {
  font-family: var(--font-serif) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--text) !important;
  margin-bottom: var(--space-md) !important;
  padding-bottom: var(--space-sm) !important;
  border-bottom: 1px solid var(--sage) !important;
  letter-spacing: var(--tracking-snug) !important;
  line-height: 1.3 !important;
}

/* Clean list — custom dash bullets */
.ms-ph-clean-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ms-ph-clean-list li {
  position: relative;
  padding: 9px 0 9px 22px !important;
  border-bottom: 1px solid var(--sage-soft) !important;
  color: var(--text-soft) !important;
  font-size: var(--text-sm) !important;
  line-height: 1.55 !important;
}

.ms-ph-clean-list li:last-child {
  border-bottom: none !important;
}

.ms-ph-clean-list li strong {
  font-weight: 500 !important;
}

.ms-ph-clean-list li::before {
  content: '' !important;
  position: absolute;
  left: 0;
  top: 17px;
  width: 10px;
  height: 1px;
  background: var(--sage-dark);
}

/* ----------------------------------------------------------
   FIRST CONSULTATION — 3-column grid (.ms-ph-grid-3)
   Pattern: akupunktura-consultation
---------------------------------------------------------- */

.ms-ph-grid-3.wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: var(--space-md) 36px !important;
  margin-top: var(--space-lg) !important;
  margin-bottom: var(--space-lg) !important;
}

.ms-ph-item {
  border-top: 1px solid var(--sage-soft) !important;
  padding-top: var(--space-md) !important;
}

.ms-ph-item__title {
  font-family: var(--font-serif) !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  color: var(--text) !important;
  margin-bottom: var(--space-sm) !important;
  letter-spacing: var(--tracking-snug) !important;
  line-height: 1.3 !important;
}

.ms-ph-item__text {
  color: var(--text-soft) !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* ----------------------------------------------------------
   PROCESS TIMELINE (.ms-ph-timeline)
   Pattern: akupunktura-process
---------------------------------------------------------- */

.ms-ph-timeline {
  margin-top: var(--space-lg) !important;
  max-width: 820px;
}

.ms-timeline-step {
  padding: var(--space-md) 0 !important;
  border-top: 1px solid var(--sage-soft) !important;
  margin: 0 !important;
}

/* Grid applied to inner-container since wp-block-group wraps content in it */
.ms-timeline-step .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: 70px 1fr !important;
  gap: var(--space-md) !important;
  align-items: start;
}

.ms-timeline-step--last {
  border-bottom: 1px solid var(--sage-soft) !important;
}

p.ms-timeline-num,
.ms-timeline-num {
  font-family: var(--font-serif) !important;
  font-style: italic;
  font-size: 42px !important;
  color: var(--sage-dark) !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding-top: 4px;
}

.ms-timeline-text {
  color: var(--text-soft) !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  padding-top: 6px;
}

/* ----------------------------------------------------------
   METHOD CARDS (.ms-ph-method-cards)
   Pattern: akupunktura-methods
---------------------------------------------------------- */

.ms-ph-method-cards.wp-block-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: var(--space-md) !important;
  margin-top: var(--space-lg) !important;
  margin-bottom: 0 !important;
}

.ms-ph-method-card,
.wp-block-column.ms-ph-method-card {
  padding: var(--space-xl) var(--space-lg) !important;
  border-left: 2px solid var(--sage) !important;
  background: #FAF8F2 !important;
}

.ms-ph-method-card__title {
  font-family: var(--font-serif) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--text) !important;
  margin-bottom: var(--space-sm) !important;
  letter-spacing: var(--tracking-snug) !important;
  line-height: 1.3 !important;
}

.ms-ph-method-card__text {
  color: var(--text-soft) !important;
  font-size: var(--text-sm) !important;
  line-height: var(--leading-relaxed) !important;
  margin: 0 !important;
}

/* ----------------------------------------------------------
   INFO CARD (.ms-info-card) — duration & risks
   Pattern: akupunktura-duration, akupunktura-safety
---------------------------------------------------------- */

.ms-info-card {
  background: var(--cream) !important;
  padding: var(--space-xl) var(--space-2xl) !important;
  border-top: 2px solid var(--sage-dark) !important;
  margin-top: var(--space-lg) !important;
}

.ms-aku-safety .ms-info-card--risks {
  background: var(--cream) !important;
  margin-top: var(--space-lg) !important;
  margin-bottom: 0 !important;
}

.ms-info-card__title {
  font-family: var(--font-serif) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--text) !important;
  margin-bottom: var(--space-md) !important;
  letter-spacing: var(--tracking-snug) !important;
}

.ms-info-card__lead {
  color: var(--text-soft) !important;
  font-size: var(--text-sm) !important;
  line-height: var(--leading-relaxed) !important;
  margin-bottom: var(--space-sm) !important;
}

/* Duration rows — rendered via wp:html */
.ms-info-row {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: var(--space-lg);
  padding: 12px 0;
  border-top: 1px solid var(--sage-soft);
}

.ms-info-row:first-child {
  border-top: none;
}

.ms-info-row__label {
  font-size: 11px;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--sage-dark);
  font-weight: 500;
  padding-top: 3px;
}

.ms-info-row__value {
  color: var(--text-soft);
  font-size: var(--text-sm);
  line-height: 1.6;
}

.ms-info-card__note {
  margin-top: var(--space-md) !important;
  padding-top: var(--space-md) !important;
  border-top: 1px solid var(--sage-soft) !important;
  font-style: italic;
  color: var(--text-muted) !important;
  font-size: var(--text-xs) !important;
  margin-bottom: 0 !important;
}

/* ----------------------------------------------------------
   SAFETY BLOCKS (.ms-ph-safety)
   Pattern: akupunktura-safety
---------------------------------------------------------- */

.ms-ph-safety.wp-block-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: var(--space-lg) !important;
  margin-bottom: 0 !important;
}

.ms-ph-safety-block,
.wp-block-column.ms-ph-safety-block {
  padding: var(--space-xl) var(--space-lg) !important;
  background: var(--cream) !important;
  border-top: 2px solid var(--sage-dark) !important;
}

.ms-ph-safety-block--warning,
.wp-block-column.ms-ph-safety-block--warning {
  border-top-color: #8a6a4a !important;
  background: #faf6ed !important;
}

.ms-ph-safety-block__title {
  font-family: var(--font-serif) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: var(--text) !important;
  margin-bottom: var(--space-md) !important;
  letter-spacing: var(--tracking-snug) !important;
  line-height: 1.3 !important;
}

.ms-ph-safety-block__note {
  margin-top: var(--space-sm) !important;
  padding-top: var(--space-sm) !important;
  border-top: 1px solid var(--sage-soft) !important;
  font-style: italic;
  color: var(--text-muted) !important;
  font-size: var(--text-xs) !important;
  margin-bottom: 0 !important;
}

.ms-aku-safety__outro {
  margin-top: 0 !important;
  max-width: 820px;
}

.ms-aku-safety__outro .ms-ph-lead {
  margin-top: 0 !important;
}

.ms-aku-safety__outro a {
  color: var(--sage-deep);
  text-decoration: underline;
  text-decoration-color: var(--sage);
  text-underline-offset: 4px;
  transition: color 0.3s;
}

.ms-aku-safety__outro a:hover {
  color: var(--text);
}

/* ----------------------------------------------------------
   AKUPUNKTŪRA — Responsive ≤ 900px
---------------------------------------------------------- */

@media (max-width: 900px) {
  .ms-aku-hero .kt-row-column-wrap {
    grid-template-columns: 1fr !important;
    padding: 80px var(--space-md) var(--space-2xl) !important;
    gap: var(--space-xl) !important;
  }

  .ms-aku-heading {
    font-size: 40px !important;
  }

  .ms-aku-hero .kadence-column_aku-hero-1 .kt-inside-inner-col {
    padding: 0 !important;
  }

  .ms-aku-hero .kadence-column_aku-hero-2 .kt-inside-inner-col {
    aspect-ratio: 3 / 4;
  }

  .ms-aku-ind .kt-inside-inner-col,
  .ms-aku-consult .kt-inside-inner-col,
  .ms-aku-process .kt-inside-inner-col,
  .ms-aku-methods .kt-inside-inner-col,
  .ms-aku-duration .kt-inside-inner-col,
  .ms-aku-safety .kt-inside-inner-col {
    padding: var(--space-xl) var(--space-md);
  }

  .ms-ph-two-blocks.wp-block-columns,
  .ms-ph-method-cards.wp-block-columns,
  .ms-ph-safety.wp-block-columns {
    grid-template-columns: 1fr !important;
  }

  .ms-ph-grid-3.wp-block-columns {
    grid-template-columns: 1fr !important;
  }

  .ms-info-row {
    grid-template-columns: 1fr !important;
    gap: var(--space-xs);
  }

  .ms-ph-timeline {
    max-width: 100%;
  }

  .ms-aku-quote .kt-inside-inner-col {
    padding: var(--space-xl) var(--space-md) !important;
  }

  .ms-ph-quote-text {
    font-size: 20px !important;
  }
}

/* =========================================================
   DRAMOS TERAPIJA PAGE — Service page components
   Patterns: dramos-terapija-hero, -quote, -what, -forms, -safety
   ========================================================= */

/* Shared full-width escape for all dramos page sections */
.ms-dt-hero,
.ms-dt-quote,
.ms-dt-what,
.ms-dt-forms,
.ms-dt-safety {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: none !important;
}

/* Default sections — lightest cream */
.ms-dt-hero,
.ms-dt-what,
.ms-dt-safety {
  background: var(--cream) !important;
}

/* Alt sections — warmer cream */
.ms-dt-quote,
.ms-dt-forms {
  background: var(--cream-warm) !important;
}

/* ----------------------------------------------------------
   HERO (.ms-dt-hero)
   Pattern: dramos-terapija-hero
   Equal columns (1fr 1fr) vs akupunktura's 1.1fr 1fr
---------------------------------------------------------- */

.ms-dt-hero {
  padding-bottom: var(--space-4xl) !important;
}

.ms-dt-hero .kb-row-layout-wrap {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3xl);
  align-items: center;
  max-width: none; /* full-width to match homepage hero */
  margin: 0 auto;
  padding: 110px var(--space-2xl) 80px;
}

.ms-dt-hero .kadence-column_dt-hero-1 .kt-inside-inner-col {
  padding: var(--space-xl) var(--space-md) var(--space-xl) 0;
}

.ms-dt-heading {
  font-family: var(--font-serif) !important;
  font-size: 60px !important;
  font-weight: 400 !important;
  line-height: var(--leading-tight) !important;
  color: var(--text) !important;
  letter-spacing: var(--tracking-tight) !important;
  margin-top: 0 !important;
  margin-bottom: var(--space-md) !important;
}

.ms-dt-heading em {
  font-style: italic;
  color: var(--sage-deep);
  font-weight: 400;
}

.ms-dt-hero__body {
  font-size: var(--text-base) !important;
  color: var(--text-soft) !important;
  line-height: 1.7 !important;
}

/* Right column — image */
.ms-dt-hero .kadence-column_dt-hero-2 .kt-inside-inner-col {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
}

/* ----------------------------------------------------------
   QUOTE BANNER (.ms-dt-quote)
   Pattern: dramos-terapija-quote
   Reuses .ms-ph-quote-* text classes from akupunktura
---------------------------------------------------------- */

.ms-dt-quote .kt-inside-inner-col {
  padding: var(--space-3xl) var(--space-2xl);
  text-align: center;
  border-top: 1px solid var(--sage-soft);
  border-bottom: 1px solid var(--sage-soft);
}

/* ----------------------------------------------------------
   SHARED INNER SECTIONS (.ms-dt-what, .ms-dt-forms, .ms-dt-safety)
   Reuse .ms-ph-* component classes from akupunktura
---------------------------------------------------------- */

.ms-dt-what .kt-inside-inner-col,
.ms-dt-forms .kt-inside-inner-col,
.ms-dt-safety .kt-inside-inner-col {
  max-width: none; /* full-width to match homepage hero */
  margin: 0 auto;
  padding: var(--space-3xl) var(--space-2xl);
}

/* Supporting text styles */
.ms-dt-what__intro {
  color: var(--text-soft) !important;
  font-size: var(--text-sm) !important;
  line-height: 1.7 !important;
  margin-bottom: var(--space-sm) !important;
}

.ms-dt-what__body {
  color: var(--text-soft) !important;
  font-size: var(--text-sm) !important;
  line-height: 1.75 !important;
  margin-top: var(--space-sm) !important;
  margin-bottom: 0 !important;
}

/* ----------------------------------------------------------
   THREE-COLUMN FORM CARDS (.ms-dt-form-cards)
   Pattern: dramos-terapija-forms
   3-column variant of .ms-ph-method-cards
---------------------------------------------------------- */

.ms-dt-form-cards.wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: var(--space-md) !important;
  margin-top: var(--space-lg) !important;
  margin-bottom: 0 !important;
}

/* ----------------------------------------------------------
   DRAMOS TERAPIJA — Responsive ≤ 900px
---------------------------------------------------------- */

@media (max-width: 900px) {
  .ms-dt-hero .kb-row-layout-wrap {
    grid-template-columns: 1fr !important;
    padding: 80px var(--space-md) var(--space-2xl) !important;
    gap: var(--space-xl) !important;
  }

  .ms-dt-heading {
    font-size: 40px !important;
  }

  .ms-dt-hero .kadence-column_dt-hero-1 .kt-inside-inner-col {
    padding: 0 !important;
  }

  .ms-dt-hero .kadence-column_dt-hero-2 .kt-inside-inner-col {
    aspect-ratio: 3 / 4;
  }

  .ms-dt-what .kt-inside-inner-col,
  .ms-dt-forms .kt-inside-inner-col,
  .ms-dt-safety .kt-inside-inner-col {
    padding: var(--space-xl) var(--space-md);
  }

  .ms-dt-quote .kt-inside-inner-col {
    padding: var(--space-xl) var(--space-md) !important;
  }

  .ms-dt-form-cards.wp-block-columns {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   APIE PAGE — About page components
   Patterns: apie-hero, -biography, -clients, -credentials,
             -associations
   ========================================================= */

/* Shared full-width escape */
.ms-apie-hero,
.ms-apie-bio,
.ms-apie-clients,
.ms-apie-creds,
.ms-apie-assoc,
.ms-apie-pubs {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: none !important;
}

/* Default sections (--cream-soft → --cream) */
.ms-apie-hero,
.ms-apie-bio,
.ms-apie-creds,
.ms-apie-pubs {
  background: var(--cream) !important;
}

/* Alt sections (--cream → --cream-warm) */
.ms-apie-clients,
.ms-apie-assoc {
  background: var(--cream-warm) !important;
}

/* ----------------------------------------------------------
   HERO (.ms-apie-hero)
   Equal-column layout, no number badge
---------------------------------------------------------- */

.ms-apie-hero .kb-row-layout-wrap {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  max-width: none; /* full-width to match homepage hero */
  margin: 0 auto;
  padding: 110px 0 70px;
}

.ms-apie-hero .kadence-column_apie-hero-1 .kt-inside-inner-col {
  padding: var(--space-xl) 0;
}

.ms-apie-heading {
  font-family: var(--font-serif) !important;
  font-size: 60px !important;
  font-weight: 400 !important;
  line-height: var(--leading-tight) !important;
  color: var(--text) !important;
  letter-spacing: var(--tracking-tight) !important;
  margin-top: 0 !important;
  margin-bottom: var(--space-md) !important;
}

.ms-apie-heading em {
  font-style: italic;
  color: var(--sage-deep);
  font-weight: 400;
}

.ms-apie-hero__body {
  font-size: var(--text-base) !important;
  color: var(--text-soft) !important;
  line-height: 1.7 !important;
}

/* Right column image */
.ms-apie-hero .kadence-column_apie-hero-2 .kt-inside-inner-col {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
}

.ms-apie-hero .ms-aku-hero__img img {
  object-position: center bottom;
}

/* ----------------------------------------------------------
   INNER SECTIONS — shared padding
---------------------------------------------------------- */

.ms-apie-bio .kt-inside-inner-col,
.ms-apie-clients .kt-inside-inner-col,
.ms-apie-creds .kt-inside-inner-col,
.ms-apie-assoc .kt-inside-inner-col,
.ms-apie-pubs .kt-inside-inner-col {
  max-width: none; /* full-width to match homepage hero */
  margin: 0 auto;
  padding: var(--space-3xl) 0 !important;
  text-align: left;
}

.ms-apie-bio .kt-inside-inner-col {
  padding-bottom: var(--space-2xl) !important;
}

.ms-apie-clients .kt-inside-inner-col {
  padding-top: var(--space-2xl) !important;
}

/* ----------------------------------------------------------
   TWO-COLUMN "WHAT" LAYOUT (.ms-apie-what-grid)
   1.4fr : 1fr — text left, card right
---------------------------------------------------------- */

.ms-apie-what-grid.wp-block-columns {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr !important;
  gap: 50px !important;
  align-items: start !important;
  margin-top: var(--space-md) !important;
  margin-bottom: 0 !important;
}

.ms-apie-what-text {
  color: var(--text-soft) !important;
  font-size: var(--text-base) !important;
  line-height: 1.75 !important;
  margin-bottom: var(--space-sm) !important;
}

/* Sage-tinted card */
.ms-apie-what-card {
  background: var(--sage-soft) !important;
  padding: 28px 26px !important;
  border-left: 2px solid var(--sage-dark) !important;
}

.ms-apie-what-card__text {
  font-family: var(--font-serif) !important;
  font-style: italic;
  font-size: var(--text-md) !important;
  line-height: 1.55 !important;
  color: var(--sage-deep) !important;
  margin: 0 !important;
}

.ms-apie-bio__lead {
  max-width: 900px !important;
  margin-top: var(--space-md) !important;
}

.ms-apie-bio .ms-ph-eyebrow,
.ms-apie-clients .ms-ph-eyebrow,
.ms-apie-creds .ms-ph-eyebrow,
.ms-apie-assoc .ms-ph-eyebrow,
.ms-apie-pubs .ms-ph-eyebrow {
  margin-bottom: 0 !important;
}

/* ----------------------------------------------------------
   CREDENTIALS LIST (.ms-apie-cred-list)
---------------------------------------------------------- */

.ms-apie-cred-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ms-apie-cred-list li {
  padding: var(--space-md) 0 !important;
  border-bottom: 1px solid var(--sage-soft) !important;
}

.ms-apie-cred-list li:last-child {
  border-bottom: none !important;
}

.ms-apie-cred-list strong {
  display: block;
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 20px !important;
  color: var(--text);
  margin-bottom: 6px;
  letter-spacing: var(--tracking-snug);
}

.ms-apie-cred-meta {
  font-size: var(--text-base);
  color: var(--text-soft);
  line-height: 1.6;
  margin-bottom: 4px;
}

.ms-apie-cred-small {
  display: block;
  font-size: var(--text-xs) !important;
  color: var(--text-muted);
  letter-spacing: var(--tracking-wide);
  margin-top: 4px;
}

/* ----------------------------------------------------------
   ASSOCIATIONS GRID (.ms-apie-assoc-grid)
---------------------------------------------------------- */

.ms-apie-assoc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3xl);
}

.ms-apie-assoc-title {
  font-family: 'Lora', serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--text) !important;
  margin-bottom: 22px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--sage) !important;
  letter-spacing: -0.2px !important;
  text-transform: none !important;
}

.ms-apie-assoc-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ms-apie-assoc-list li {
  position: relative !important;
  padding: 9px 0 9px 20px !important;
  border-bottom: 1px solid var(--sage-soft) !important;
  color: var(--text-soft);
  font-size: var(--text-base);
  line-height: 1.6;
}

.ms-apie-assoc-list li::before {
  content: '–';
  position: absolute;
  left: 0;
  color: var(--sage-dark);
}

.ms-apie-assoc-list li:last-child {
  border-bottom: none !important;
}

.ms-apie-assoc-list strong {
  color: var(--text);
  font-weight: 500;
}

/* ----------------------------------------------------------
   PUBLICATIONS LIST (.ms-apie-pub-list)
---------------------------------------------------------- */

.ms-apie-pub-list {
  list-style: none !important;
  padding: 0 !important;
  margin: var(--space-lg) 0 0 !important;
}

.ms-apie-pub-list li {
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--sage-soft) !important;
}

.ms-apie-pub-list li:last-child {
  border-bottom: none !important;
}

.ms-apie-pub-list a {
  color: var(--text-soft);
  font-size: var(--text-base);
  line-height: 1.6;
  text-decoration: none;
  border-bottom: 1px solid var(--sage-soft);
  transition: color 0.3s, border-color 0.3s;
}

.ms-apie-pub-list a:hover {
  color: var(--sage-deep);
  border-color: var(--sage-dark);
}

/* ----------------------------------------------------------
   APIE — Responsive ≤ 900px
---------------------------------------------------------- */

@media (max-width: 900px) {
  .ms-apie-hero .kb-row-layout-wrap {
    grid-template-columns: 1fr !important;
    padding: 80px var(--space-md) var(--space-2xl) !important;
    gap: var(--space-xl) !important;
  }

  .ms-apie-heading {
    font-size: 40px !important;
  }

  .ms-apie-hero .kadence-column_apie-hero-1 .kt-inside-inner-col {
    padding: 0 !important;
  }

  .ms-apie-hero .kadence-column_apie-hero-2 .kt-inside-inner-col {
    aspect-ratio: 3 / 4;
  }

  .ms-apie-bio .kt-inside-inner-col,
  .ms-apie-clients .kt-inside-inner-col,
  .ms-apie-creds .kt-inside-inner-col,
  .ms-apie-assoc .kt-inside-inner-col,
  .ms-apie-pubs .kt-inside-inner-col {
    padding: var(--space-xl) var(--space-md);
  }

  .ms-apie-what-grid.wp-block-columns {
    grid-template-columns: 1fr !important;
  }

  .ms-apie-assoc-grid {
    grid-template-columns: 1fr !important;
    gap: var(--space-2xl);
  }

  /* Clients first column — a bit of bottom padding when stacked */
  .wp-block-kadence-column.kadence-column_apie-cli-1 {
    padding-bottom: var(--space-md) !important;
  }
}

/* =========================================================
   KONTAKTAI PAGE — Contact page
   Pattern: kontaktai-main
   ========================================================= */

.ms-kontakt-main {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: none !important;
  background: var(--sage-deep) !important;
}

/* Single inner column — full-width, no padding override */
.ms-kontakt-main .kt-inside-inner-col {
  padding: var(--space-4xl) var(--space-2xl) !important;
  max-width: none; /* full-width to match homepage hero */
  margin: 0 auto;
}

/* Two-column grid: form left, image right */
.ms-kontakt-grid.wp-block-columns {
  display: grid !important;
  grid-template-columns: 1fr 1.2fr !important;
  gap: var(--space-xl) !important;
  align-items: center !important;
  margin: 0 !important;
}

/* Left column — override homepage-contact centering */
.ms-kontakt-label {
  justify-content: flex-start !important;
  text-align: left !important;
}

.ms-kontakt-label::after {
  display: none !important;
}

.ms-kontakt-heading {
  text-align: left !important;
  margin-top: var(--space-sm) !important;
}

.ms-kontakt-lead {
  text-align: left !important;
  max-width: 100% !important;
  margin: 0 0 var(--space-lg) !important;
}

.ms-kontakt-form-wrap,
.wp-block-group.ms-kontakt-form-wrap {
  max-width: 100% !important;
  margin: 0 !important;
}

/* Force contact info into 2×2 grid — works whether HTML has 4 cols in 1 row
   or 2 separate 2-col rows. CSS grid auto-places all children into 2 columns. */
.ms-kontakt-info.wp-block-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: var(--space-md) var(--space-xl) !important;
  margin-top: var(--space-xl) !important;
  margin-bottom: 0 !important;
  text-align: left !important;
  max-width: none !important;
}

.ms-kontakt-info.wp-block-columns > .wp-block-column {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
}

.ms-kontakt-addr {
  color: rgba(250, 248, 242, 0.85);
  font-size: var(--text-sm);
}

/* Contact info stacked grid — 2 rows × 2 columns */
.ms-kontakt-info-grid {
  margin-top: var(--space-xl) !important;
  /* Match the homepage contact: spacing below the last info row ("Parašykite žinutę") */
  margin-bottom: var(--space-4xl) !important;
}

.ms-kontakt-info-grid .ms-contact-info.wp-block-columns {
  margin-top: 0 !important;
  margin-bottom: var(--space-sm) !important;
}

/* Map section */
.ms-kontakt-map .kt-inside-inner-col {
  padding: 0 !important;
}

.ms-kontakt-map-wrap {
  width: 100%;
  line-height: 0;
}

/* Right column — image fills height */
.ms-kontakt-img-col,
.wp-block-column.ms-kontakt-img-col {
  position: relative !important;
  aspect-ratio: 4 / 5;
  overflow: hidden !important;
  align-self: stretch !important;
}

.ms-kontakt-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}

.ms-kontakt-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
}

@media (max-width: 900px) {
  .ms-kontakt-main .kt-inside-inner-col {
    padding: var(--space-xl) var(--space-md) !important;
  }

  .ms-kontakt-grid.wp-block-columns {
    grid-template-columns: 1fr !important;
  }

  .ms-kontakt-img-col,
  .wp-block-column.ms-kontakt-img-col {
    aspect-ratio: 4 / 5;
  }
}

/* ==========================================================================
   SITE HEADER / NAVIGATION
   Matches design prototype: fixed, frosted glass, logo left, links right
   ========================================================================== */

/* ---- Outer header shell ---- */
#masthead.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  background: rgba(250, 248, 242, 0.95) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(122, 140, 112, 0.12) !important;
}

/* When WP admin bar is visible, shift header down below it */
.admin-bar #masthead.site-header {
  top: 32px !important;
}

@media screen and (max-width: 782px) {
  .admin-bar #masthead.site-header {
    top: 46px !important;
  }
}

/* ---- Remove Kadence default padding/margin on wrapper rows ---- */
#masthead .site-header-wrap,
#masthead .site-header-inner-wrap,
#masthead .site-header-upper-wrap,
#masthead .site-header-upper-inner-wrap,
#masthead .site-main-header-wrap,
#masthead .site-header-row-container-inner {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ---- Inner layout: logo left, nav right ---- */
#masthead .site-container {
  max-width: 1410px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 60px !important;
}

#masthead .site-main-header-inner-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 80px !important;
  padding: 0 !important;
}

/* ---- Navigation links ---- */
#masthead #site-navigation {
  background: transparent !important;
}

#masthead #primary-menu {
  display: flex !important;
  gap: 28px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#masthead #primary-menu > .menu-item > a {
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  letter-spacing: 1px !important;
  color: var(--text-soft) !important;
  text-decoration: none !important;
  position: relative !important;
  padding-bottom: 4px !important;
  transition: color 0.3s !important;
}

#masthead #primary-menu > .menu-item > a::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 0 !important;
  height: 1px !important;
  background: var(--sage-dark) !important;
  transition: width 0.3s !important;
}

#masthead #primary-menu > .menu-item > a:hover {
  color: var(--sage-deep) !important;
}

#masthead #primary-menu > .menu-item > a:hover::after {
  width: 100% !important;
}

/* ---- Mobile ---- */
@media (max-width: 900px) {
  #masthead .site-container {
    padding: 0 24px !important;
  }

  #masthead .site-main-header-inner-wrap {
    min-height: 64px !important;
  }
}

/* ---- Burger icon — dark green on mobile ---- */
@media (max-width: 900px) {
  .mobile-toggle-open-container .menu-toggle-open {
    color: var(--sage-deep) !important;
    background: transparent !important;
  }

  .mobile-toggle-open-container .menu-toggle-open .menu-toggle-icon svg,
  .mobile-toggle-open-container .menu-toggle-open .menu-toggle-icon svg path,
  .mobile-toggle-open-container .menu-toggle-open .menu-toggle-icon svg rect,
  .mobile-toggle-open-container .menu-toggle-open .menu-toggle-icon svg line,
  .mobile-toggle-open-container .menu-toggle-open .menu-toggle-icon svg polyline {
    stroke: var(--sage-deep) !important;
    fill: var(--sage-deep) !important;
    color: var(--sage-deep) !important;
  }
}

/* ---- Mobile drawer — website background + black text ---- */
#mobile-drawer .drawer-inner {
  background: #faf8f2 !important;
}

.mobile-navigation ul li > a,
.mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap,
.mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap button,
#mobile-drawer .drawer-header .drawer-toggle {
  color: var(--text) !important;
}

/* ==========================================================================
   PHONE STYLES — ≤ 600px
   Covers: typography scaling, spacing reduction, grid stacking,
   form fields, decorative elements
   ========================================================================== */

@media (max-width: 600px) {

  /* ---- Global inner column — zero horizontal padding; each section manages its own edge margins ---- */
  .kt-inside-inner-col {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* ---- Homepage hero ---- */
  .ms-hero {
    padding: 90px var(--space-md) var(--space-xl) !important;
  }

  .ms-hero-heading {
    font-size: 32px !important;
  }

  .ms-hero-lead {
    font-size: 15px !important;
    max-width: 100% !important;
  }

  /* ---- Hero tag — specificity 0-2-1 to beat .entry-content p (0-1-1) on homepage ---- */
  body.home .ms-hero-tag,
  .entry-content .ms-hero-tag {
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
  }

  /* ---- Service & inner page hero headings ---- */
  .ms-aku-heading,
  .ms-dt-heading,
  .ms-apie-heading {
    font-size: 28px !important;
  }

  /* ---- Section subheadings ---- */
  .ms-ph-subhead,
  .ms-apie-assoc-title {
    font-size: 20px !important;
  }

  /* ---- Quote section ---- */
  p.ms-ph-quote-mark,
  .ms-ph-quote-mark {
    font-size: 64px !important;
  }

  p.ms-ph-quote-text,
  .ms-ph-quote-text {
    font-size: 17px !important;
  }

  /* ---- Timeline step numbers ---- */
  p.ms-timeline-num,
  .ms-timeline-num {
    font-size: 28px !important;
  }

  /* ---- Method cards & safety cards — reduce padding ---- */
  .ms-ph-method-card,
  .wp-block-column.ms-ph-method-card,
  .ms-info-card {
    padding: var(--space-lg) var(--space-md) !important;
  }

  /* ---- Homepage about section ---- */
  .ms-about {
    padding: var(--space-xl) var(--space-md) var(--space-md) !important;
  }

  .ms-about-heading,
  .ms-service-heading,
  .ms-section-title,
  .ms-contact-heading {
    font-size: var(--text-xl) !important;
  }

  /* ---- Homepage services section ---- */
  .ms-services {
    padding: var(--space-xl) var(--space-md) !important;
  }

  /* ---- Homepage testimonials ---- */
  .ms-testimonials .kt-inside-inner-col {
    padding: var(--space-md) 0 var(--space-xl) !important;
  }

  /* ---- Homepage contact section ---- */
  .ms-contact {
    padding: var(--space-xl) var(--space-md) !important;
  }

  .ms-contact-info {
    margin-bottom: var(--space-md) !important;
  }

  /* ---- Contact info grid — stack to 1 column on phones ---- */
  .ms-contact-info.wp-block-columns,
  .ms-kontakt-info.wp-block-columns {
    grid-template-columns: 1fr !important;
    gap: var(--space-sm) !important;
  }

  /* ---- Form: stack name + email fields ---- */
  .ms-ff-name-email-row {
    flex-direction: column !important;
    gap: 0 !important;
  }

  .ms-ff-name-email-row .ff-el-group {
    margin-bottom: var(--space-md) !important;
  }

  /* ---- Akupunktūra page inner sections ---- */
  .ms-aku-ind .kt-inside-inner-col,
  .ms-aku-consult .kt-inside-inner-col,
  .ms-aku-process .kt-inside-inner-col,
  .ms-aku-methods .kt-inside-inner-col,
  .ms-aku-duration .kt-inside-inner-col,
  .ms-aku-safety .kt-inside-inner-col {
    padding: var(--space-md) var(--space-md) !important;
  }

  /* ---- Dramos terapija page inner sections ---- */
  .ms-dt-what .kt-inside-inner-col,
  .ms-dt-forms .kt-inside-inner-col,
  .ms-dt-safety .kt-inside-inner-col,
  .ms-dt-quote .kt-inside-inner-col {
    padding: var(--space-md) var(--space-md) !important;
  }

  /* ---- Apie page inner sections ---- */
  .ms-apie-bio .kt-inside-inner-col,
  .ms-apie-clients .kt-inside-inner-col,
  .ms-apie-creds .kt-inside-inner-col,
  .ms-apie-assoc .kt-inside-inner-col,
  .ms-apie-pubs .kt-inside-inner-col {
    padding: var(--space-md) var(--space-md) !important;
  }

  /* ---- Kontaktai page ---- */
  .ms-kontakt-main .kt-inside-inner-col {
    padding: var(--space-md) var(--space-md) !important;
  }

  /* ---- Hero top padding for non-homepage inner pages ---- */
  .ms-aku-hero .kt-row-column-wrap,
  .ms-dt-hero .kb-row-layout-wrap,
  .ms-apie-hero .kb-row-layout-wrap {
    padding-top: 90px !important;
  }

  /* ---- Nav menu gap reduction on phones ---- */
  #masthead #primary-menu {
    gap: 16px !important;
  }

  #masthead #primary-menu > .menu-item > a {
    font-size: 12px !important;
    letter-spacing: 0.5px !important;
  }
}

/* =========================================================
   PRIVATUMO POLITIKA PAGE
   body class: .page-slug-privatumo-politika
   ========================================================= */

/* ---- Hide hero container ---- */
.page-slug-privatumo-politika .hero-container.site-container {
  display: none !important;
}

/* ---- Remove content-area bottom margin ---- */
.page-slug-privatumo-politika .content-area {
  margin-bottom: 0 !important;
}

/* ---- Article background ---- */
article#post-3 {
  background: var(--cream) !important;
  box-shadow: none !important;
}

/* ---- Header clearance + background ---- */
.page-slug-privatumo-politika #primary {
  background: var(--cream);
  padding-top: 120px;
  padding-bottom: var(--space-4xl);
}

/* ---- Content width + horizontal breathing room ---- */
.page-slug-privatumo-politika .entry-content-wrap {
  max-width: var(--max-prose) !important;
  margin: 0 auto !important;
  padding: 0 var(--space-2xl) !important;
}

/* ---- Page title (h2 is the top-level heading on this page) ---- */
.page-slug-privatumo-politika .entry-content h2 {
  font-family: var(--font-serif) !important;
  font-size: var(--text-2xl) !important;
  font-weight: 400 !important;
  line-height: var(--leading-snug) !important;
  letter-spacing: var(--tracking-snug) !important;
  color: var(--text) !important;
  margin-top: 0 !important;
  margin-bottom: var(--space-xl) !important;
}

/* ---- Section headings ---- */
.page-slug-privatumo-politika .entry-content h3,
.page-slug-privatumo-politika .entry-content h4 {
  font-family: var(--font-serif) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: var(--text) !important;
  letter-spacing: var(--tracking-snug) !important;
  line-height: 1.4 !important;
  margin-top: var(--space-xl) !important;
  margin-bottom: var(--space-sm) !important;
}

/* ---- Body text ---- */
.page-slug-privatumo-politika .entry-content p {
  font-family: var(--font-sans) !important;
  font-size: var(--text-base) !important;
  font-weight: 300 !important;
  color: var(--text-soft) !important;
  line-height: var(--leading-loose) !important;
  margin-bottom: var(--space-md) !important;
}

/* ---- Lists ---- */
.page-slug-privatumo-politika .entry-content ul,
.page-slug-privatumo-politika .entry-content ol {
  padding-left: var(--space-md) !important;
  margin-bottom: var(--space-md) !important;
}

.page-slug-privatumo-politika .entry-content li {
  font-family: var(--font-sans) !important;
  font-size: var(--text-base) !important;
  font-weight: 300 !important;
  color: var(--text-soft) !important;
  line-height: var(--leading-loose) !important;
  margin-bottom: var(--space-xs) !important;
}

/* ---- Strong / emphasis ---- */
.page-slug-privatumo-politika .entry-content strong {
  color: var(--text) !important;
  font-weight: 500 !important;
}

/* ---- Links ---- */
.page-slug-privatumo-politika .entry-content a {
  color: var(--sage-deep) !important;
  text-decoration: underline !important;
  text-decoration-color: var(--sage) !important;
  text-underline-offset: 3px !important;
  transition: color 0.3s !important;
}

.page-slug-privatumo-politika .entry-content a:hover {
  color: var(--text) !important;
}

/* ---- Mobile ---- */
@media (max-width: 600px) {
  .page-slug-privatumo-politika #primary {
    padding-top: 90px;
  }

  .page-slug-privatumo-politika .entry-content-wrap {
    padding: 0 var(--space-md) !important;
  }

  .page-slug-privatumo-politika .entry-content h2 {
    font-size: var(--text-xl) !important;
  }
}

/* ----------------------------------------------------------
   Mobile: wide cover-photo bands (quote / consult / methods)
   Source images are ~4.3:1, so as a background behind tall text
   they zoom in hard. On mobile, stack instead: show the WHOLE
   photo as a full-width banner on top, text below on the section
   background. No zoom, no letterbox gaps.
---------------------------------------------------------- */
@media (max-width: 767px) {
  /* the cover box: stack vertically, no forced height, no padding */
  .wp-block-cover:has(> img.wp-image-167),
  .wp-block-cover:has(> img.wp-image-170),
  .wp-block-cover:has(> img.wp-image-244) {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  /* the photos: out of the background box, into a natural-ratio banner */
  img.wp-block-cover__image-background.wp-image-167,
  img.wp-block-cover__image-background.wp-image-170,
  img.wp-block-cover__image-background.wp-image-244 {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    inset: auto !important;
  }

  /* the text: directly under the banner */
  .wp-block-cover:has(> img.wp-image-167) > .wp-block-cover__inner-container,
  .wp-block-cover:has(> img.wp-image-170) > .wp-block-cover__inner-container,
  .wp-block-cover:has(> img.wp-image-244) > .wp-block-cover__inner-container {
    width: 100% !important;
    padding: 0 !important;
  }
}
