/*
Theme Name:   Astra Child — Klausk Patarimo
Theme URI:    https://klauskpatarimo.lt
Description:  Astra child theme for Klausk Patarimo — Lithuanian tarot/spiritual consulting.
Author:       Klausk Patarimo
Template:     astra
Version:      1.2.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  astra-child
*/

/* ============================================================
   CSS CUSTOM PROPERTIES
   ============================================================ */
:root {
    --color-bg:           #f5f0e8;
    --color-bg-light:     #faf7f2;
    --color-gold:         #c9974a;
    --color-gold-dark:    #b3823d;
    --color-gold-pale:    #f0e4cc;
    --color-green:        #2d4a3e;
    --color-green-dark:   #1e3329;
    --color-text:         #2c2c2c;
    --color-text-muted:   #6b6b6b;
    --color-white:        #ffffff;
    --color-border:       #e8e0d0;

    --font-heading:       'Playfair Display', Georgia, serif;
    --font-body:          'Inter', system-ui, sans-serif;

    --radius-btn:         6px;
    --radius-card:        14px;
    --shadow-card:        0 2px 16px rgba(44, 44, 44, 0.07);
    --shadow-card-hover:  0 8px 32px rgba(44, 44, 44, 0.13);
    --shadow-header:      0 2px 20px rgba(44, 44, 44, 0.08);

    --max-width:          1160px;
    --hero-min-height:    100vh;
    --section-pad-v:      88px;
}

/* ============================================================
   BASE
   ============================================================ */
html { scroll-behavior: smooth; }

*, *::before, *::after { box-sizing: border-box; }

body {
    background-color: var(--color-bg);
    color: var(--color-text);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
    margin: 0;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--color-text);
    line-height: 1.2;
    margin-top: 0;
}

h1 { font-size: clamp(2rem, 5vw, 3.25rem); font-weight: 700; }
h2 { font-size: clamp(1.6rem, 3.5vw, 2.25rem); font-weight: 600; }
h3 { font-size: clamp(1.2rem, 2.5vw, 1.6rem);  font-weight: 600; }
h4 { font-size: 1.15rem; font-weight: 600; }

a { color: var(--color-gold); text-decoration: none; transition: color 0.2s; }
a:hover { color: var(--color-gold-dark); }

p { margin-top: 0; margin-bottom: 1rem; }

img { max-width: 100%; height: auto; display: block; }

/* ============================================================
   LAYOUT
   ============================================================ */
.ast-container { max-width: var(--max-width); margin: 0 auto; padding: 0 24px; }

/* Cream background everywhere — override Astra's white */
body,
#page,
#content,
.ast-site-content-wrap,
.ast-plain-container #primary,
.site-main,
.entry-content,
.ast-article-single,
.ast-article-post {
    background-color: var(--color-bg) !important;
}

/* Remove default box-shadow/border Astra adds to article */
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single { background: transparent !important; box-shadow: none !important; }

/* ============================================================
   HEADER — sticky, logo, nav
   ============================================================ */
#masthead,
.site-header,
.ast-header-wrap {
    background-color: var(--color-bg) !important;
    border-bottom: 1px solid var(--color-border);
    position: sticky !important;
    top: 0;
    z-index: 1000;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

/* Scrolled state added by JS */
#masthead.kp-scrolled,
.site-header.kp-scrolled,
.ast-header-wrap.kp-scrolled {
    background-color: var(--color-white) !important;
    box-shadow: var(--shadow-header) !important;
    border-bottom-color: transparent;
}

/* ── Custom logo image ──────────────────────────────────────────
   DOM: .site-logo-img > a.custom-logo-link > img.custom-logo
   Logo file: 488×216px (2.26:1) → at max-height 55px → ~124px wide  */
.site-logo-img {
    display: flex;
    align-items: center;
}

.custom-logo-link {
    display: flex !important;
    align-items: center;
    line-height: 0;
    padding: 6px 0;
}

.custom-logo-link img,
img.custom-logo {
    max-height: 55px !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    display: block;
    /* smooth compression on sticky scroll */
    transition: max-height 0.3s ease;
}

/* Slightly compressed logo when header is scrolled/sticky */
#masthead.kp-scrolled .custom-logo-link img,
#masthead.kp-scrolled img.custom-logo {
    max-height: 44px !important;
}

/* ── Site title: screen-reader-only (logo image is the visual label)
   The img alt="Klausk Patarimo" serves sighted+AT users.
   This text stays in DOM for pure screen-reader users who don't process images. */
.ast-site-title-wrap .site-title,
.ast-site-title-wrap span.site-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Fallback text style — visible only if logo fails to load / img blocked */
#masthead .site-title a,
.site-title a {
    font-family: var(--font-heading) !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #c9974a !important;
    letter-spacing: -0.01em;
    text-decoration: none !important;
}

/* Mobile logo: slightly smaller */
@media (max-width: 768px) {
    .custom-logo-link img,
    img.custom-logo {
        max-height: 40px !important;
    }
    #masthead.kp-scrolled .custom-logo-link img,
    #masthead.kp-scrolled img.custom-logo {
        max-height: 34px !important;
    }
}

/* Site tagline */
.ast-site-identity .site-description { font-size: 0.78rem; color: var(--color-text-muted); }

/* Nav links */
.ast-nav-menu > li > a,
.main-header-menu > li > a,
#site-navigation .menu > li > a {
    font-family: var(--font-body) !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    color: var(--color-text) !important;
    letter-spacing: 0.01em;
    padding: 8px 12px !important;
    transition: color 0.2s ease;
}

.ast-nav-menu > li > a:hover,
.main-header-menu > li > a:hover { color: var(--color-gold) !important; }

.ast-nav-menu > .current-menu-item > a,
.main-header-menu > .current-menu-item > a { color: var(--color-gold) !important; }

/* "Rezervuoti konsultaciją" — green pill button in nav
   Exact DOM confirmed: li.nav-pill-green > a.menu-link
   Astra gives nav links class="menu-link" */
/* Nav pill — confirmed DOM: li.nav-pill-green > a.menu-link
   Must beat Astra's nav rules (e.g. .ast-header-wrap .main-navigation .ast-nav-menu > li > a) */
#masthead li.nav-pill-green a,
li.nav-pill-green a.menu-link,
li.nav-pill-green a {
    background-color: #2d4a3e !important;
    color: #ffffff !important;
    border-radius: 100px !important;
    padding: 8px 20px !important;
    font-weight: 600 !important;
    transition: background-color 0.2s ease !important;
    margin-left: 8px !important;
    display: inline-block !important;
}

#masthead li.nav-pill-green a:hover,
li.nav-pill-green a.menu-link:hover,
li.nav-pill-green a:hover {
    background-color: #1e3329 !important;
    color: #ffffff !important;
}

/* Mobile hamburger */
.ast-button-wrap .menu-toggle,
button.ast-mobile-menu-trigger { color: var(--color-text) !important; }

/* ============================================================
   HIDE PAGE TITLE ON FRONT PAGE
   ============================================================ */
/* Astra renders the title in .entry-header inside article.page */
.home .entry-header,
.home .entry-title,
.home .page-title,
.home .ast-page-title-wrap,
.home .ast-page-header-section,
.home .ast-breadcrumbs-wrapper,
.home .ast-page-title,
.woocommerce-page .woocommerce-products-header { display: none !important; }

/* ============================================================
   BUTTONS — Global
   ============================================================ */
.wp-block-button__link,
.button,
button[type="submit"],
input[type="submit"],
.ast-button,
a.ast-button {
    font-family: var(--font-body) !important;
    font-weight: 600;
    font-size: 0.95rem;
    border-radius: var(--radius-btn) !important;
    padding: 14px 28px;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.15s ease;
    border: none;
    display: inline-block;
    line-height: 1.4;
    box-shadow: none !important;
    text-decoration: none;
}

/* Gold — primary (PDF/written analysis) */
.wp-block-button.is-style-primary .wp-block-button__link,
.wp-block-button__link.btn-gold {
    background-color: var(--color-gold) !important;
    color: var(--color-white) !important;
}
.wp-block-button.is-style-primary .wp-block-button__link:hover {
    background-color: var(--color-gold-dark) !important;
    transform: translateY(-1px);
}

/* Green — secondary (consultation/Calendly) */
.wp-block-button.is-style-secondary .wp-block-button__link,
.wp-block-button__link.btn-green {
    background-color: var(--color-green) !important;
    color: var(--color-white) !important;
}
.wp-block-button.is-style-secondary .wp-block-button__link:hover {
    background-color: var(--color-green-dark) !important;
    transform: translateY(-1px);
}

/* Outline */
.wp-block-button.is-style-outline .wp-block-button__link {
    background-color: transparent !important;
    border: 2px solid var(--color-gold) !important;
    color: var(--color-gold) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: var(--color-gold) !important;
    color: var(--color-white) !important;
}

/* WooCommerce buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce .checkout-button,
.woocommerce #place_order {
    background-color: var(--color-gold) !important;
    color: var(--color-white) !important;
    border-radius: var(--radius-btn) !important;
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover { background-color: var(--color-gold-dark) !important; }
.woocommerce a.button.alt,
.woocommerce button.button.alt { background-color: var(--color-green) !important; }
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover { background-color: var(--color-green-dark) !important; }

/* ============================================================
   HERO — content-width two-column layout
   DOM: div.wp-block-group.kp-hero.is-layout-flow
          div.wp-block-columns.kp-hero-inner.is-layout-flex
            div.wp-block-column.kp-hero-text-col   (left ~50%)
            div.wp-block-column.kp-hero-image-col  (right ~50%)
   No alignfull — sits within Astra's content container, centered.
   ============================================================ */

/* Outer group: cream bg, vertical breathing room */
.wp-block-group.kp-hero {
    background-color: var(--color-bg);
    padding-top: 80px !important;
    padding-bottom: 88px !important;
}

/* Columns wrapper: side-by-side flex, 60px gap, vertically centered */
.kp-hero .wp-block-columns.kp-hero-inner,
.kp-hero .kp-hero-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 60px !important;
}

/* Both columns: equal, flexible */
.kp-hero .wp-block-column.kp-hero-text-col,
.kp-hero .wp-block-column.kp-hero-image-col {
    flex: 1 1 0 !important;
    min-width: 0 !important;
}

/* Hero heading */
h1.wp-block-heading.kp-hero-heading,
.kp-hero-heading {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(2rem, 4vw, 3.2rem) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    color: #2c2c2c !important;
    margin-bottom: 20px !important;
}

/* Hero subheading */
p.kp-hero-sub {
    font-size: 1.1rem !important;
    color: #6b6b6b !important;
    line-height: 1.7 !important;
    margin-bottom: 36px !important;
}

/* Buttons row */
.kp-hero-buttons {
    margin-bottom: 28px !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
}

.kp-hero-buttons .wp-block-button__link {
    font-size: 1rem !important;
    padding: 15px 30px !important;
}

/* Trust badges */
p.kp-trust-line {
    display: flex !important;
    flex-wrap: wrap;
    gap: 20px;
    margin: 0 !important;
    padding: 0;
}

.kp-trust-line span {
    font-size: 0.82rem;
    font-weight: 500;
    color: #6b6b6b;
    display: inline-flex;
    align-items: center;
}

/* ── Hero image (wp:image block) ──────────────────────────── */
/* The figure fills the column; overflow:hidden + border-radius clip the photo */
.kp-hero-image-col figure.wp-block-image,
.kp-hero-image-col .wp-block-image {
    margin: 0 !important;
    width: 100% !important;
    overflow: hidden;
    border-radius: 20px;
    /* Soft warm placeholder shown while image loads / before real photo */
    background: linear-gradient(150deg, #efe7d8 0%, #e4dac9 100%);
    line-height: 0;
    box-shadow: 0 26px 60px -18px rgba(58, 44, 24, 0.30);
    position: relative;
}

/* Thin gold inner frame to make the photo feel intentional & premium */
.kp-hero-image-col figure.wp-block-image::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 20px;
    box-shadow: inset 0 0 0 1px rgba(201, 151, 74, 0.28);
    pointer-events: none;
    z-index: 2;
}

/* The image itself: full-width, fixed 560px height, portrait crop */
.kp-hero-image-col .wp-block-image img {
    width: 100% !important;
    height: 560px !important;
    object-fit: cover !important;
    object-position: top center !important;
    display: block !important;
}

/* ============================================================
   APIE MANE — two-column layout (photo left, bio right)
   ============================================================ */
.kp-about-section {
    padding-top: 56px !important;
    padding-bottom: 72px !important;
}

.kp-about-layout {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 56px !important;
}

.kp-about-photo-col { min-width: 0 !important; position: sticky; top: 110px; }

/* About photo — same visual language as hero image */
.kp-about-photo-col figure.wp-block-image,
.kp-about-photo-col .wp-block-image {
    margin: 0 !important;
    width: 100% !important;
    overflow: hidden;
    border-radius: 20px;
    background: linear-gradient(150deg, #efe7d8 0%, #e4dac9 100%);
    line-height: 0;
    box-shadow: 0 26px 60px -18px rgba(58, 44, 24, 0.30);
    position: relative;
}

.kp-about-photo-col figure.wp-block-image::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 20px;
    box-shadow: inset 0 0 0 1px rgba(201, 151, 74, 0.28);
    pointer-events: none;
    z-index: 2;
}

.kp-about-photo-col .wp-block-image img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5;
    object-fit: cover !important;
    object-position: top center !important;
    display: block !important;
}

.kp-about-text-col { min-width: 0 !important; }

/* ============================================================
   SECTION SHARED STYLES
   ============================================================ */
.kp-section,
.kp-two-cards-section,
.kp-steps-section,
.kp-testimonials-section,
.kp-faq-section {
    padding-top: var(--section-pad-v) !important;
    padding-bottom: var(--section-pad-v) !important;
}

.kp-section-title {
    margin-bottom: 52px !important;
    position: relative;
}

/* Elegant divider motif: thin gold line + small centered diamond + line */
.kp-section-title::after {
    content: '';
    display: block;
    width: 72px;
    height: 12px;
    margin: 18px auto 0;
    background: center / contain no-repeat
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='12' viewBox='0 0 72 12'%3E%3Cline x1='2' y1='6' x2='28' y2='6' stroke='%23c9974a' stroke-width='1'/%3E%3Cpolygon points='36,1.5 40.5,6 36,10.5 31.5,6' fill='none' stroke='%23c9974a' stroke-width='1'/%3E%3Cline x1='44' y1='6' x2='70' y2='6' stroke='%23c9974a' stroke-width='1'/%3E%3C/svg%3E");
}

/* Left-aligned headings keep the motif left-anchored */
.kp-section-title:not(.has-text-align-center)::after { margin-left: 0; }

/* ============================================================
   "DU BŪDAI" — TWO CARDS (premium)
   ============================================================ */
.kp-two-cards-section { background-color: var(--color-bg-light) !important; }

.kp-two-cards {
    gap: 32px !important;
    align-items: stretch !important;
}

.kp-two-cards .wp-block-column {
    display: flex !important;
    flex-direction: column !important;
}

.kp-card {
    background: var(--color-white) !important;
    border-radius: var(--radius-card) !important;
    box-shadow: var(--shadow-card) !important;
    padding: 44px 40px !important;
    transition: box-shadow 0.25s ease, transform 0.2s ease;
    border-top: 4px solid transparent;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
}

.kp-card:hover {
    box-shadow: var(--shadow-card-hover) !important;
    transform: translateY(-4px);
}

.kp-card--gold { border-top-color: var(--color-gold); }
.kp-card--green { border-top-color: var(--color-green); }

/* ── inner flex column ── */
.kp-card__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* ── label tag ── */
.kp-card__label {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-gold);
    margin-bottom: 20px;
}

.kp-card__label--green { color: var(--color-green); }

/* ── icon circle ── */
.kp-card__icon-wrap {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    flex-shrink: 0;
}

.kp-card__icon-wrap--gold {
    background-color: #f5ebdb;
    color: var(--color-gold);
}

.kp-card__icon-wrap--green {
    background-color: #e3ebe7;
    color: var(--color-green);
}

/* ── heading ── */
.kp-card__title {
    font-family: var(--font-heading) !important;
    font-size: 1.45rem !important;
    font-weight: 600 !important;
    margin-bottom: 14px !important;
    color: var(--color-text) !important;
    line-height: 1.3 !important;
}

/* ── description ── */
.kp-card__desc {
    color: var(--color-text-muted) !important;
    font-size: 0.95rem;
    line-height: 1.7;
    margin-bottom: 24px !important;
}

/* ── checklist ── */
.kp-card__list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 32px 0 !important;
    flex: 1;
}

.kp-card__list li {
    padding: 6px 0 6px 28px;
    position: relative;
    font-size: 0.93rem;
    color: var(--color-text);
    line-height: 1.5;
}

.kp-card__list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 6px;
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--color-gold);
}

.kp-card__list--green li::before { color: var(--color-green); }

/* ── CTA button ── */
.kp-card__btn {
    display: inline-block;
    padding: 13px 26px;
    font-weight: 600;
    font-size: 0.9rem;
    border-radius: var(--radius-btn);
    transition: background-color 0.2s ease, color 0.2s ease;
    text-decoration: none !important;
    background-color: var(--color-gold);
    color: var(--color-white) !important;
    align-self: flex-start;
    margin-top: auto;
}

.kp-card__btn:hover { background-color: var(--color-gold-dark); }

.kp-card__btn--green { background-color: var(--color-green); }
.kp-card__btn--green:hover { background-color: var(--color-green-dark); }

/* ============================================================
   "KAIP TAI VEIKIA?" — 3 STEPS
   ============================================================ */
.kp-steps-section { background-color: var(--color-bg) !important; }

.kp-steps-grid {
    gap: 40px !important;
}

.kp-step { text-align: center; }

.kp-step__number {
    width: 60px;
    height: 60px;
    background-color: var(--color-gold);
    color: var(--color-white);
    border-radius: 50%;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 auto 24px !important;
    line-height: 1;
}

.kp-step__title {
    font-family: var(--font-heading) !important;
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    margin-bottom: 10px !important;
}

.kp-step__desc {
    color: var(--color-text-muted) !important;
    font-size: 0.92rem;
    line-height: 1.65;
}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.kp-testimonials-section { background-color: var(--color-bg-light) !important; }

.kp-testimonials-grid { gap: 28px !important; }

.kp-testimonial {
    background: var(--color-white) !important;
    border-radius: var(--radius-card) !important;
    box-shadow: var(--shadow-card) !important;
    padding: 36px 32px !important;
    position: relative;
}

.kp-testimonial__quote {
    font-style: italic;
    color: var(--color-text);
    margin-bottom: 20px !important;
    font-size: 0.97rem;
    line-height: 1.75;
    position: relative;
    padding-top: 8px;
}

/* Large decorative opening quote mark */
.kp-testimonial::before {
    content: '\201C';
    font-family: var(--font-heading);
    font-size: 4.5rem;
    color: var(--color-gold);
    line-height: 0;
    position: absolute;
    top: 44px;
    left: 28px;
    opacity: 0.3;
    pointer-events: none;
}

.kp-testimonial__author {
    font-size: 0.85rem;
    color: var(--color-text-muted);
    margin: 0 !important;
}

.kp-testimonial__author strong { color: var(--color-text); }

/* ============================================================
   FAQ ACCORDION
   ============================================================ */
.kp-faq-section { background-color: var(--color-bg) !important; }

.kp-faq-item,
.wp-block-details.kp-faq-item,
details.kp-faq-item {
    background: var(--color-white) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-btn) !important;
    margin-bottom: 10px !important;
    overflow: hidden;
    transition: box-shadow 0.2s ease;
}

.kp-faq-item:hover { box-shadow: var(--shadow-card); }

.kp-faq-item summary,
details.kp-faq-item > summary {
    font-family: var(--font-heading) !important;
    font-size: 1.02rem !important;
    font-weight: 600 !important;
    color: var(--color-text) !important;
    padding: 20px 48px 20px 22px !important;
    cursor: pointer;
    position: relative;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    user-select: none;
}

.kp-faq-item summary::-webkit-details-marker { display: none; }

/* Gold chevron */
.kp-faq-item summary::after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--color-gold);
    border-bottom: 2px solid var(--color-gold);
    transform: rotate(45deg);
    transition: transform 0.25s ease;
    flex-shrink: 0;
    margin-left: 16px;
}

.kp-faq-item[open] summary::after { transform: rotate(-135deg); }

.kp-faq-item[open] summary { color: var(--color-gold) !important; }

.kp-faq-item > *:not(summary) {
    padding: 0 22px 20px 22px;
    color: var(--color-text-muted);
    font-size: 0.95rem;
    line-height: 1.7;
}

.kp-faq-item > *:not(summary) p { margin-bottom: 0; }

/* Native WP details blocks on DUK page */
.wp-block-details {
    background: var(--color-white) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-btn) !important;
    margin-bottom: 10px !important;
    overflow: hidden;
}

.wp-block-details summary {
    font-family: var(--font-heading) !important;
    font-weight: 600 !important;
    color: var(--color-text) !important;
    padding: 20px 48px 20px 22px !important;
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    user-select: none;
    position: relative;
}

.wp-block-details summary::-webkit-details-marker { display: none; }

.wp-block-details summary::after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--color-gold);
    border-bottom: 2px solid var(--color-gold);
    transform: rotate(45deg);
    transition: transform 0.25s ease;
    flex-shrink: 0;
    margin-left: 16px;
}

.wp-block-details[open] summary::after { transform: rotate(-135deg); }
.wp-block-details[open] summary { color: var(--color-gold) !important; }

.wp-block-details > *:not(summary) {
    padding: 0 22px 20px !important;
    color: var(--color-text-muted);
    font-size: 0.95rem;
}

/* ============================================================
   WOOCOMMERCE — shop & products
   ============================================================ */
.woocommerce-page { background-color: var(--color-bg) !important; }

.kp-shop-intro {
    text-align: center;
    padding: 72px 24px 16px;
    max-width: 680px;
    margin: 0 auto;
}

/* Product grid */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 28px !important;
}

.woocommerce ul.products li.product {
    background: var(--color-white) !important;
    border-radius: var(--radius-card) !important;
    box-shadow: var(--shadow-card) !important;
    padding: 32px 28px !important;
    transition: box-shadow 0.25s ease, transform 0.2s ease !important;
    border: none !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

.woocommerce ul.products li.product:hover {
    box-shadow: var(--shadow-card-hover) !important;
    transform: translateY(-3px);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-heading) !important;
    font-size: 1.2rem !important;
    font-weight: 600 !important;
    color: var(--color-text) !important;
    padding: 0 0 8px !important;
}

.woocommerce ul.products li.product .price {
    color: var(--color-gold) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
}

.woocommerce ul.products li.product del { color: var(--color-text-muted) !important; }
.woocommerce ul.products li.product ins { text-decoration: none !important; }

/* Single product */
.woocommerce div.product .product_title {
    font-family: var(--font-heading) !important;
    font-size: 2rem !important;
    color: var(--color-text) !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--color-gold) !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
}

/* Sale badge */
.woocommerce span.onsale {
    background-color: var(--color-green) !important;
    border-radius: 4px !important;
    font-family: var(--font-body) !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    padding: 4px 8px !important;
}

/* Sample download link */
.kp-sample-btn {
    display: inline-block;
    margin-top: 14px;
    padding: 10px 20px;
    font-size: 0.875rem;
    font-weight: 600;
    border: 2px solid var(--color-gold);
    color: var(--color-gold) !important;
    border-radius: var(--radius-btn);
    transition: background-color 0.2s ease, color 0.2s ease;
}
.kp-sample-btn:hover {
    background-color: var(--color-gold);
    color: var(--color-white) !important;
}

/* ---- Single product layout polish ---- */
.single-product .site-content { background-color: var(--color-bg); }

.woocommerce div.product {
    max-width: 1080px;
    margin: 0 auto;
    padding: 56px 24px 24px;
}

/* Product image — warm rounded card */
.woocommerce div.product div.images,
.woocommerce div.product div.images img {
    border-radius: var(--radius-card) !important;
}
.woocommerce div.product div.images img {
    box-shadow: var(--shadow-card) !important;
}

/* Summary column spacing */
.woocommerce div.product div.summary {
    padding-left: 8px;
}
.woocommerce div.product .product_title {
    margin-bottom: 12px !important;
    line-height: 1.2 !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    margin-bottom: 20px !important;
    display: block;
}
.woocommerce div.product .woocommerce-product-details__short-description {
    color: var(--color-text-muted);
    font-size: 1.02rem;
    line-height: 1.7;
    margin-bottom: 24px;
}

/* Add-to-cart row */
.woocommerce div.product form.cart {
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.woocommerce div.product form.cart div.quantity {
    margin: 0 !important;
    float: none !important;
}
.woocommerce .quantity .qty {
    width: 76px !important;
    height: 48px;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-btn) !important;
    background-color: var(--color-bg-light) !important;
    font-family: var(--font-body) !important;
    text-align: center;
    color: var(--color-text) !important;
}
.woocommerce div.product form.cart .button.single_add_to_cart_button {
    height: 48px;
    padding: 0 32px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    border-radius: var(--radius-btn) !important;
    letter-spacing: 0.01em;
}

/* Product meta (SKU/category) — quiet it down */
.woocommerce div.product .product_meta {
    margin-top: 28px;
    padding-top: 18px;
    border-top: 1px solid var(--color-border);
    font-size: 0.85rem;
    color: var(--color-text-muted);
}

/* Tabs — calm, on-brand */
.woocommerce div.product .woocommerce-tabs {
    margin-top: 48px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0 0 0 1em !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border-bottom-color: var(--color-border) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: var(--color-bg-light) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-btn) var(--radius-btn) 0 0 !important;
    font-family: var(--font-body) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background: var(--color-white) !important;
    border-bottom-color: var(--color-white) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: var(--color-text) !important;
    font-weight: 600 !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
    color: var(--color-text);
    line-height: 1.75;
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
    font-family: var(--font-heading) !important;
    color: var(--color-text) !important;
}

/* Related products */
.woocommerce .related.products,
.woocommerce .up-sells.products {
    max-width: 1080px;
    margin: 56px auto 0;
    padding: 40px 24px 0;
    border-top: 1px solid var(--color-border);
}
.woocommerce .related.products > h2,
.woocommerce .up-sells.products > h2 {
    font-family: var(--font-heading) !important;
    text-align: center;
    color: var(--color-text) !important;
    margin-bottom: 32px !important;
}

/* Cart / Checkout */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-btn) !important;
    padding: 10px 14px !important;
    font-family: var(--font-body) !important;
    background-color: var(--color-bg-light) !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
    border-color: var(--color-gold) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(201, 151, 74, 0.15) !important;
}

/* ============================================================
   CALENDLY PAGE
   ============================================================ */
.kp-calendly-wrap { padding: 48px 24px 88px; max-width: 920px; margin: 0 auto; }
.kp-calendly-intro { text-align: center; max-width: 640px; margin: 0 auto 48px; }

/* ============================================================
   BLOG
   ============================================================ */
.blog .site-content,
.archive .site-content { background-color: var(--color-bg); }

article.post {
    background: var(--color-white);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 36px 32px;
    margin-bottom: 32px;
}

.entry-title a { font-family: var(--font-heading); color: var(--color-text); }
.entry-title a:hover { color: var(--color-gold); }

/* ============================================================
   FOOTER — custom footer rendered by footer.php child override.
   Astra's footer is never called (footer.php replaces it).
   ============================================================ */
#kp-footer {
    background-color: var(--color-green);
    color: rgba(255, 255, 255, 0.85);
    font-family: var(--font-body);
    font-size: 0.9rem;
}

.kp-footer-main {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 64px 40px 48px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
}

.kp-footer-brand {}

.kp-footer-logo {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-gold) !important;
    display: block;
    margin-bottom: 8px;
    text-decoration: none;
}

.kp-footer-tagline {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.875rem;
    margin-bottom: 20px;
    line-height: 1.5;
}

.kp-footer-email {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 0.875rem;
    margin-bottom: 20px;
    text-decoration: none;
    transition: color 0.2s;
}
.kp-footer-email:hover { color: var(--color-gold) !important; }

.kp-footer-social {
    display: flex;
    gap: 10px;
}

.kp-footer-social a {
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: background-color 0.2s ease;
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 0.85rem;
    font-weight: 600;
}
.kp-footer-social a:hover { background: var(--color-gold) !important; }

.kp-footer-links { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-start; gap: 12px; padding-top: 8px; }

.kp-footer-links a {
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: 0.875rem;
    text-decoration: none;
    transition: color 0.2s;
}
.kp-footer-links a:hover { color: var(--color-gold) !important; }

.kp-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding: 18px 40px;
    text-align: center;
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.4);
    max-width: var(--max-width);
    margin: 0 auto;
}

/* ============================================================
   GUTENBERG MISC
   ============================================================ */
.wp-block-separator { border-color: var(--color-border); opacity: 1; }
.wp-block-quote { border-left: 4px solid var(--color-gold); padding-left: 20px; font-style: italic; color: var(--color-text-muted); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
    /* Hero: reduce gap on medium screens */
    .kp-hero .kp-hero-inner { gap: 40px !important; }
    .kp-hero .wp-block-group.kp-hero { padding-top: 64px !important; padding-bottom: 72px !important; }
    /* About: reduce gap */
    .kp-about-layout { gap: 40px !important; }
}

@media (max-width: 900px) {
    :root { --section-pad-v: 64px; }

    /* Hero: stack vertically, image on top */
    .kp-hero .wp-block-columns.kp-hero-inner,
    .kp-hero .kp-hero-inner {
        flex-direction: column !important;
        text-align: center;
        gap: 36px !important;
    }

    .kp-hero .wp-block-column.kp-hero-text-col,
    .kp-hero .wp-block-column.kp-hero-image-col {
        flex: unset !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    /* Image appears above text on mobile */
    .kp-hero .wp-block-column.kp-hero-image-col { order: -1; }

    /* Cap image height on mobile */
    .kp-hero-image-col .wp-block-image img { height: 320px !important; }

    p.kp-hero-sub { max-width: 520px; margin-left: auto !important; margin-right: auto !important; }
    p.kp-trust-line { justify-content: center; }

    /* About: stack vertically */
    .kp-about-layout {
        flex-direction: column !important;
        gap: 32px !important;
    }
    .kp-about-photo-col,
    .kp-about-text-col { flex: unset !important; width: 100% !important; }
    .kp-about-photo-col .wp-block-image img { max-height: 360px !important; }

    /* Other sections */
    .kp-two-cards { flex-direction: column !important; }
    .kp-steps-grid { flex-direction: column !important; }
    .kp-testimonials-grid { flex-direction: column !important; }

    .kp-footer-main { grid-template-columns: 1fr; gap: 36px; padding: 48px 24px 40px; }
    .kp-footer-links { align-items: flex-start; }
    .kp-footer-bottom { padding: 18px 24px; }

    .woocommerce ul.products { grid-template-columns: 1fr !important; }
}

@media (max-width: 640px) {
    :root { --section-pad-v: 52px; }

    h1 { font-size: 2rem; }
    h2 { font-size: 1.55rem; }

    h1.kp-hero-heading { font-size: 1.9rem !important; }
    .kp-hero-buttons .wp-block-button__link { padding: 13px 22px !important; font-size: 0.9rem !important; }
    p.kp-trust-line { flex-direction: column; align-items: center; gap: 8px; }
    .kp-hero-image-col .wp-block-image img { height: 260px !important; }

    .kp-card { padding: 32px 24px !important; }
    .kp-testimonial { padding: 28px 22px !important; }

    .woocommerce ul.products { grid-template-columns: 1fr !important; }
}

/* ============================================================
   INNER PAGE HERO
   ============================================================ */
.kp-page-hero {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
    background-color: var(--color-bg-light) !important;
    text-align: center;
}

.kp-page-hero .kp-page-title {
    font-size: 2.6rem !important;
    margin-bottom: 20px !important;
    line-height: 1.15 !important;
}

.kp-page-hero .kp-page-intro {
    font-size: 1.05rem;
    color: var(--color-text-muted);
    max-width: 580px;
    margin: 0 auto !important;
    line-height: 1.75;
}

/* ============================================================
   PRICING SECTION — three-card grid
   ============================================================ */
.kp-pricing-section {
    padding-top: 64px !important;
    padding-bottom: 72px !important;
    background-color: var(--color-white) !important;
}

.kp-three-cards {
    gap: 24px !important;
    align-items: stretch !important;
}

.kp-three-cards .wp-block-column {
    display: flex !important;
    flex-direction: column !important;
}

/* Featured (most popular) card */
.kp-card--featured {
    border-top-width: 4px;
    outline: 2px solid var(--color-gold);
    outline-offset: -2px;
}

/* Popular badge */
.kp-card__badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background-color: var(--color-gold);
    color: var(--color-white);
    border-radius: 100px;
    padding: 4px 10px;
    margin-bottom: 16px;
    align-self: flex-start;
}

/* Price display */
.kp-pricing-price {
    font-family: var(--font-heading);
    font-size: 3rem;
    font-weight: 700;
    color: var(--color-gold);
    line-height: 1;
    margin-bottom: 4px;
}

.kp-pricing-price sup {
    font-size: 1.3rem;
    font-weight: 600;
    vertical-align: super;
    line-height: 0;
}

.kp-pricing-price--green { color: var(--color-green); }

.kp-pricing-period {
    font-size: 0.82rem;
    color: var(--color-text-muted);
    margin-bottom: 20px;
    display: block;
}

/* PDF sample outlined button (replaces plain secondary-link) */
.kp-pdf-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--color-text-muted);
    text-decoration: none !important;
    border: 1.5px solid #d9cfc4;
    border-radius: var(--radius-btn);
    padding: 9px 16px;
    margin-top: 10px;
    transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
    align-self: flex-start;
    background-color: transparent;
}
.kp-pdf-btn:hover {
    border-color: var(--color-gold);
    color: var(--color-gold) !important;
    background-color: #fdf6ec;
}
.kp-pdf-btn svg { flex-shrink: 0; }

/* ============================================================
   PROCESS STEPS (Analizė Raštu — 4 steps)
   ============================================================ */
.kp-process-section {
    padding-top: 64px !important;
    padding-bottom: 72px !important;
    background-color: var(--color-bg-light) !important;
}

.kp-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    margin-top: 40px;
}

.kp-process-step { text-align: center; }

.kp-process-number {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background-color: var(--color-gold);
    color: var(--color-white);
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    flex-shrink: 0;
}

.kp-process-title {
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-text);
    margin: 0 0 8px 0;
}

.kp-process-desc {
    font-size: 0.88rem;
    color: var(--color-text-muted);
    line-height: 1.65;
    margin: 0;
}

/* ============================================================
   BOOKING / CALENDLY SECTION
   ============================================================ */
.kp-booking-section {
    padding-top: 64px !important;
    padding-bottom: 72px !important;
    background-color: var(--color-bg-light) !important;
}

/* Calendly inline widget — clean, centered, finished look */
.kp-calendly-outer {
    max-width: 740px;
    margin: 36px auto 0;
}
.kp-calendly-outer .calendly-inline-widget {
    width: 100%;
    margin: 0 auto;
}
@media (max-width: 768px) {
    /* a little more height on phones so the month/time view isn't cramped */
    .kp-calendly-outer .calendly-inline-widget { height: 780px !important; }
}

/* ============================================================
   DUK — FAQ ACCORDION
   ============================================================ */
.kp-faq-section {
    padding-top: 64px !important;
    padding-bottom: 80px !important;
}

.kp-faq {
    max-width: 720px;
    margin: 40px auto 0;
}

.kp-faq__item {
    border-bottom: 1px solid #e8e0d5;
}
.kp-faq__item:first-child { border-top: 1px solid #e8e0d5; }

.kp-faq__question {
    cursor: pointer;
    padding: 22px 4px;
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--color-text);
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    user-select: none;
    transition: color 0.15s ease;
}
.kp-faq__question::-webkit-details-marker { display: none; }
.kp-faq__question:hover { color: var(--color-gold); }

.kp-faq__question::after {
    content: '+';
    font-size: 1.6rem;
    font-weight: 300;
    color: var(--color-gold);
    flex-shrink: 0;
    line-height: 1;
    font-family: var(--font-body);
}
details[open] > .kp-faq__question::after { content: '\2212'; }

.kp-faq__answer {
    padding: 0 4px 22px;
    font-size: 0.96rem;
    color: var(--color-text-muted);
    line-height: 1.8;
}

/* ============================================================
   KONTAKTAI — CONTACT PAGE
   ============================================================ */
.kp-contact-section {
    padding-top: 88px !important;
    padding-bottom: 88px !important;
    text-align: center;
}

.kp-contact-tagline {
    font-size: 1.1rem !important;
    color: var(--color-text-muted);
    margin-bottom: 36px !important;
    max-width: 480px;
    margin-left: auto !important;
    margin-right: auto !important;
}

.kp-contact-email-link {
    display: inline-block;
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--color-gold);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    padding-bottom: 2px;
    transition: border-color 0.2s ease;
    margin-bottom: 48px;
}
.kp-contact-email-link:hover { border-bottom-color: var(--color-gold); }

/* ---- Kontaktai: centered layout + styled email card ---- */
.kp-contact-inner {
    max-width: 540px;
    margin: 0 auto;
    text-align: center;
}

/* Email contact card with mail icon */
.kp-contact-card {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    text-align: left;
    text-decoration: none !important;
    background: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 22px 30px;
    margin: 8px auto 18px;
    transition: box-shadow 0.25s ease, transform 0.2s ease, border-color 0.2s ease;
}
.kp-contact-card:hover {
    box-shadow: var(--shadow-card-hover);
    transform: translateY(-3px);
    border-color: #e3d4b6;
}
.kp-contact-card__icon {
    flex: 0 0 auto;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: linear-gradient(145deg, #f4ead2, #e9d7ad);
    color: var(--color-gold-dark);
    display: flex;
    align-items: center;
    justify-content: center;
}
.kp-contact-card__body { display: flex; flex-direction: column; line-height: 1.3; }
.kp-contact-card__label {
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-text-muted);
    margin-bottom: 4px;
}
.kp-contact-card__email {
    font-family: var(--font-heading);
    font-size: 1.32rem;
    font-weight: 600;
    color: var(--color-text);
}
.kp-contact-card:hover .kp-contact-card__email { color: var(--color-gold-dark); }

.kp-contact-note {
    font-size: 0.9rem !important;
    color: var(--color-text-muted);
    margin: 0 auto 38px !important;
    max-width: 360px;
}

.kp-social-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.kp-social-link {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: var(--color-bg-light);
    border: 1px solid #e8e0d5;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text);
    text-decoration: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.kp-social-link:hover {
    background-color: var(--color-gold);
    color: var(--color-white);
    border-color: var(--color-gold);
}

/* ============================================================
   APIE MANE — disclaimer note style
   ============================================================ */
.kp-disclaimer {
    font-size: 0.88rem !important;
    color: var(--color-text-muted);
    font-style: italic;
    padding: 14px 18px;
    border-left: 3px solid #e8e0d5;
    margin-top: 8px !important;
    line-height: 1.65;
}

/* ============================================================
   RESPONSIVE — inner pages
   ============================================================ */
@media (max-width: 768px) {
    .kp-page-hero .kp-page-title { font-size: 1.95rem !important; }
    .kp-process-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .kp-three-cards { flex-direction: column !important; }
    .kp-contact-email-link { font-size: 1.2rem; }
}

@media (max-width: 480px) {
    .kp-process-grid { grid-template-columns: 1fr; }
    .kp-page-hero .kp-page-title { font-size: 1.7rem !important; }
}

/* ============================================================
   HOMEPAGE — "GALBŪT ŠIUO METU JŪS:" EMPATHY BLOCK
   ============================================================ */
.kp-maybe-section {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
    background-color: var(--color-bg-light) !important;
    text-align: center;
}

.kp-maybe-section .kp-section-title {
    font-size: 1.8rem !important;
    margin-bottom: 32px !important;
}

.kp-maybe-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 auto 32px !important;
    max-width: 520px;
    text-align: left;
}

.kp-maybe-list li {
    position: relative;
    padding: 9px 0 9px 26px;
    font-size: 1rem;
    color: var(--color-text);
    line-height: 1.55;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}
.kp-maybe-list li:last-child { border-bottom: none; }
.kp-maybe-list li::before {
    content: '—';
    position: absolute;
    left: 0;
    color: var(--color-gold);
    font-weight: 500;
}

.kp-maybe-closing {
    font-size: 1rem !important;
    color: var(--color-text-muted);
    font-style: italic;
    max-width: 460px;
    margin: 0 auto !important;
    line-height: 1.7;
}

/* ============================================================
   HOMEPAGE — "KODĖL ŽMONĖS KREIPIASI?" TRUST BLOCK
   ============================================================ */
.kp-why-section {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
    background-color: #ffffff !important;
    text-align: center;
}

.kp-why-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px 28px;
    max-width: 720px;
    margin: 36px auto 0;
}

.kp-why-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.97rem;
    color: var(--color-text);
    background: var(--color-bg-light);
    border-radius: 100px;
    padding: 12px 22px;
    white-space: nowrap;
}

.kp-why-item::before {
    content: '✓';
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--color-gold);
    flex-shrink: 0;
}

/* ============================================================
   HOMEPAGE — FINAL CTA BLOCK
   ============================================================ */
.kp-cta-final {
    padding-top: 88px !important;
    padding-bottom: 88px !important;
    background-color: #f5ebdb !important;
    text-align: center;
}

.kp-cta-final .kp-cta-heading {
    font-size: 2rem !important;
    line-height: 1.25 !important;
    max-width: 620px;
    margin: 0 auto 20px !important;
    color: var(--color-text) !important;
}

.kp-cta-final .kp-cta-sub {
    font-size: 1rem !important;
    color: var(--color-text-muted);
    max-width: 460px;
    margin: 0 auto 36px !important;
    line-height: 1.7;
}

/* ============================================================
   "SVARBU ŽINOTI" DISCLAIMER BLOCK
   ============================================================ */
.kp-notice-section {
    padding-top: 48px !important;
    padding-bottom: 56px !important;
}

.kp-notice-block {
    max-width: 680px;
    margin: 0 auto;
    background: #faf7f2;
    border-left: 4px solid #d9cfc4;
    border-radius: 0 8px 8px 0;
    padding: 22px 28px;
}

.kp-notice-block p {
    font-size: 0.9rem !important;
    color: var(--color-text-muted);
    line-height: 1.8;
    margin: 0 !important;
    font-style: italic;
}

/* ============================================================
   WOOCOMMERCE CHECKOUT — READING FIELDS
   ============================================================ */
.kp-reading-fields {
    margin-top: 24px;
    padding: 24px 28px 20px;
    background: #faf7f2;
    border: 1px solid #e8e0d5;
    border-radius: 10px;
}

.kp-reading-fields__heading {
    font-family: var(--font-heading) !important;
    font-size: 1.15rem !important;
    color: var(--color-text) !important;
    margin-bottom: 18px !important;
    padding-bottom: 12px;
    border-bottom: 1px solid #e8e0d5;
}

.kp-reading-fields .woocommerce-input-wrapper textarea {
    width: 100%;
    border: 1px solid #d9cfc4;
    border-radius: 6px;
    padding: 12px 14px;
    font-family: var(--font-body);
    font-size: 0.93rem;
    color: var(--color-text);
    background: #ffffff;
    transition: border-color 0.2s ease;
    resize: vertical;
    line-height: 1.6;
}

.kp-reading-fields .woocommerce-input-wrapper textarea:focus {
    border-color: var(--color-gold);
    outline: none;
    box-shadow: 0 0 0 3px rgba(201, 151, 74, 0.12);
}

.kp-reading-fields label {
    font-weight: 600 !important;
    font-size: 0.88rem !important;
    color: var(--color-text) !important;
    margin-bottom: 6px !important;
    display: block;
}

/* ============================================================
   RESPONSIVE — new homepage blocks
   ============================================================ */
@media (max-width: 640px) {
    .kp-why-grid { gap: 10px 14px; }
    .kp-why-item { white-space: normal; padding: 10px 16px; font-size: 0.9rem; }
    .kp-cta-final .kp-cta-heading { font-size: 1.55rem !important; }
    .kp-maybe-list { text-align: left; }
}

/* ============================================================
   ============================================================
   DESIGN POLISH v1.3 — warmth, cozy texture, botanical accents,
   image header slots, blog page, consistency, bug fixes.
   ============================================================
   ============================================================ */

/* ── Reusable botanical watermark (gold sprig, very low opacity) ── */
:root {
    --kp-sprig: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23c9974a' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M50 96 C50 70 50 40 52 10'/%3E%3Cpath d='M51 72 C39 68 31 59 29 46'/%3E%3Cpath d='M52 58 C64 55 72 46 74 33'/%3E%3Cpath d='M51 45 C40 42 33 34 31 23'/%3E%3Cpath d='M53 34 C63 31 70 24 72 14'/%3E%3Cpath d='M52 23 C45 20 40 14 38 6'/%3E%3C/svg%3E");
}

/* ============================================================
   1. SOFT GRADIENT BACKGROUNDS (replace flat creams)
   ============================================================ */
.kp-two-cards-section,
.kp-testimonials-section,
.kp-process-section,
.kp-booking-section,
.kp-maybe-section {
    background: linear-gradient(180deg, #fdfbf7 0%, #f4eee4 100%) !important;
}

.kp-why-section,
.kp-pricing-section {
    background: linear-gradient(180deg, #ffffff 0%, #fbf7f0 100%) !important;
}

.kp-steps-section {
    background: linear-gradient(180deg, #f7f2ea 0%, #f0e9dc 100%) !important;
}

.kp-cta-final {
    background: linear-gradient(150deg, #f7eedc 0%, #f0e2c6 100%) !important;
}

.kp-page-hero {
    background: linear-gradient(180deg, #fdfaf4 0%, #f4ede0 100%) !important;
}

/* ============================================================
   2. BOTANICAL ACCENTS near section headings / corners
   ============================================================ */
/* Cream page-hero banners: faint sprigs in both top corners + accent */
.kp-page-hero { position: relative; overflow: hidden; }
.kp-page-hero::before,
.kp-page-hero::after {
    content: '';
    position: absolute;
    top: -14px;
    width: 130px;
    height: 130px;
    background: var(--kp-sprig) center / contain no-repeat;
    opacity: 0.10;
    pointer-events: none;
}
.kp-page-hero::before { left: -26px; transform: rotate(-24deg); }
.kp-page-hero::after  { right: -26px; transform: rotate(24deg) scaleX(-1); }

/* Final CTA: a single soft sprig watermark, top-right */
.kp-cta-final { position: relative; overflow: hidden; }
.kp-cta-final::after {
    content: '';
    position: absolute;
    top: -30px;
    right: -20px;
    width: 200px;
    height: 200px;
    background: var(--kp-sprig) center / contain no-repeat;
    opacity: 0.09;
    transform: rotate(18deg);
    pointer-events: none;
}

/* Empathy "Galbūt" section: sprig watermark behind, low opacity */
.kp-maybe-section { position: relative; overflow: hidden; }
.kp-maybe-section::before {
    content: '';
    position: absolute;
    bottom: -34px;
    left: -24px;
    width: 180px;
    height: 180px;
    background: var(--kp-sprig) center / contain no-repeat;
    opacity: 0.08;
    transform: rotate(-32deg);
    pointer-events: none;
}

/* Keep section inner content above watermarks */
.kp-page-hero > *,
.kp-cta-final > *,
.kp-maybe-section > * { position: relative; z-index: 1; }

/* ============================================================
   3. PAGE COVER HEADER (service pages — editable image slot)
   wp:cover with dark overlay; heading stays readable.
   ============================================================ */
.kp-page-cover {
    padding: 92px 24px !important;
    text-align: center;
    border-radius: 0 !important;
    margin-bottom: 0 !important;
}

.kp-page-cover .wp-block-cover__inner-container {
    max-width: 760px;
    margin: 0 auto;
    width: 100%;
}

.kp-page-cover .kp-page-title {
    color: #ffffff !important;
    font-size: 2.7rem !important;
    margin-bottom: 18px !important;
    line-height: 1.15 !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.28);
}

/* Small gold sprig above the cover title */
.kp-page-cover .kp-page-title::before {
    content: '';
    display: block;
    width: 38px;
    height: 30px;
    margin: 0 auto 16px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23e8c98a' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M50 96 C50 70 50 40 52 10'/%3E%3Cpath d='M51 72 C39 68 31 59 29 46'/%3E%3Cpath d='M52 58 C64 55 72 46 74 33'/%3E%3Cpath d='M51 45 C40 42 33 34 31 23'/%3E%3Cpath d='M53 34 C63 31 70 24 72 14'/%3E%3C/svg%3E") center / contain no-repeat;
    opacity: 0.9;
}

.kp-page-cover .kp-page-intro {
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: 1.08rem !important;
    max-width: 600px;
    margin: 0 auto !important;
    line-height: 1.75;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.25);
}

/* ============================================================
   4. BUG FIX 7a — Final CTA: second button = dark green
   ============================================================ */
.kp-cta-final .wp-block-button.kp-btn-green .wp-block-button__link {
    background-color: var(--color-green) !important;
    color: #ffffff !important;
}
.kp-cta-final .wp-block-button.kp-btn-green .wp-block-button__link:hover {
    background-color: var(--color-green-dark) !important;
}

/* ============================================================
   5. BUG FIX 7b — Pricing card PDF buttons: breathing room
   ============================================================ */
.kp-pricing-section .kp-card {
    padding-bottom: 40px !important;
    overflow: visible !important;
}
.kp-pricing-section .kp-card__list {
    margin-bottom: 24px !important;
}
.kp-pricing-section .kp-card__btn {
    margin-top: auto !important;
    margin-bottom: 0 !important;
}
.kp-pricing-section .kp-pdf-btn {
    margin-top: 14px !important;
    margin-bottom: 0 !important;
}

/* ============================================================
   6. PATARIMAI — BLOG INDEX (intro header + post cards + empty)
   ============================================================ */
/* Intro header injected via astra_primary_content_top hook */
.kp-blog-hero {
    background: linear-gradient(180deg, #fdfaf4 0%, #f4ede0 100%);
    text-align: center;
    padding: 78px 24px 70px;
    margin: 0 0 56px;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--color-border);
}
.kp-blog-hero::before,
.kp-blog-hero::after {
    content: '';
    position: absolute;
    top: -14px;
    width: 130px;
    height: 130px;
    background: var(--kp-sprig) center / contain no-repeat;
    opacity: 0.10;
    pointer-events: none;
}
.kp-blog-hero::before { left: -26px; transform: rotate(-24deg); }
.kp-blog-hero::after  { right: -26px; transform: rotate(24deg) scaleX(-1); }

.kp-blog-hero__inner { max-width: 640px; margin: 0 auto; position: relative; z-index: 1; }

.kp-blog-hero__title {
    font-family: var(--font-heading);
    font-size: 2.7rem;
    font-weight: 700;
    color: var(--color-text);
    margin: 0 0 16px;
    line-height: 1.15;
}
.kp-blog-hero__title::after {
    content: '';
    display: block;
    width: 72px;
    height: 12px;
    margin: 18px auto 0;
    background: center / contain no-repeat
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='12' viewBox='0 0 72 12'%3E%3Cline x1='2' y1='6' x2='28' y2='6' stroke='%23c9974a' stroke-width='1'/%3E%3Cpolygon points='36,1.5 40.5,6 36,10.5 31.5,6' fill='none' stroke='%23c9974a' stroke-width='1'/%3E%3Cline x1='44' y1='6' x2='70' y2='6' stroke='%23c9974a' stroke-width='1'/%3E%3C/svg%3E");
}
.kp-blog-hero__intro {
    font-size: 1.08rem;
    color: var(--color-text-muted);
    line-height: 1.75;
    margin: 0;
}

/* ---- Cinematic blog banner (rendered via functions.php hook) ----
   Constrained to the same 1040px width as the post-card grid below and
   centered, so the banner's left/right edges line up exactly with the cards
   (previously it spanned the full #primary width, overhanging the grid). */
.kp-blog-cover {
    position: relative;
    max-width: 1040px;
    margin: 0 auto 56px;
    background-color: var(--color-green-dark);
    background-size: cover;
    background-position: center;
    padding: 78px 32px;
    text-align: center;
    overflow: hidden;
    border-radius: var(--radius-card);
}
/* Match the card grid's 20px side gutters on narrower viewports so the
   banner never grows wider than the cards beneath it. */
@media (max-width: 1080px) {
    .kp-blog-cover { margin-left: 20px; margin-right: 20px; }
}
.kp-blog-cover__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(38,49,43,0.55) 0%, rgba(30,40,34,0.72) 100%);
    z-index: 0;
}
.kp-blog-cover__inner {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 0 auto;
}
.kp-blog-cover .kp-page-title {
    color: #ffffff !important;
    font-family: var(--font-heading);
    font-size: 2.7rem;
    line-height: 1.15;
    margin: 0 0 18px;
    text-shadow: 0 2px 18px rgba(0,0,0,0.28);
}
.kp-blog-cover .kp-page-title::before {
    content: '';
    display: block;
    width: 38px;
    height: 30px;
    margin: 0 auto 16px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23e8c98a' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M50 96 C50 70 50 40 52 10'/%3E%3Cpath d='M51 72 C39 68 31 59 29 46'/%3E%3Cpath d='M52 58 C64 55 72 46 74 33'/%3E%3Cpath d='M51 45 C40 42 33 34 31 23'/%3E%3Cpath d='M53 34 C63 31 70 24 72 14'/%3E%3C/svg%3E") center / contain no-repeat;
    opacity: 0.9;
}
.kp-blog-cover .kp-page-intro {
    color: rgba(255,255,255,0.9) !important;
    font-size: 1.08rem;
    line-height: 1.75;
    max-width: 560px;
    margin: 0 auto;
    text-shadow: 0 1px 10px rgba(0,0,0,0.25);
}

/* ---- Post archive as a centered card grid ---- */
.blog #primary .site-main,
.archive #primary .site-main,
.search #primary .site-main {
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
}
.blog .ast-row,
.archive .ast-row,
.search .ast-row {
    display: grid !important;
    /* Match Astra's configured 3-column grid so an odd post count
       (e.g. 3 posts) forms one balanced row instead of a lopsided 2 + 1. */
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    margin: 0 auto !important;
}

/* Post cards — cream/gold, matching the rest of the site */
.blog article.ast-article-post,
.archive article.ast-article-post,
.search article.ast-article-post {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    /* Zero Astra's article padding so the featured image can sit flush to the
       card edges; inner spacing comes from .post-content instead. */
    padding: 0 !important;
    background: var(--color-white) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-card) !important;
    box-shadow: var(--shadow-card) !important;
    overflow: hidden;
    transition: box-shadow 0.25s ease, transform 0.2s ease;
    display: flex;
    flex-direction: column;
}
.blog article.ast-article-post:hover,
.archive article.ast-article-post:hover,
.search article.ast-article-post:hover {
    box-shadow: var(--shadow-card-hover) !important;
    transform: translateY(-4px);
}
.blog article.ast-article-post .ast-article-inner,
.archive article.ast-article-post .ast-article-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.blog article.ast-article-post .post-content,
.archive article.ast-article-post .post-content,
.search article.ast-article-post .post-content {
    padding: 0 28px 30px !important;
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Featured image — full-bleed card header with a uniform 3:2 aspect ratio.
   Negative side margins cancel the .post-content horizontal padding so the
   image reaches the card edges; the card's overflow:hidden rounds its top
   corners. The portrait/landscape/small source images are all normalised to
   the same 3:2 crop via object-fit. */
.blog .ast-blog-featured-section,
.archive .ast-blog-featured-section,
.search .ast-blog-featured-section { margin: 0 -28px 22px !important; }
.blog .post-thumb-img-content img,
.archive .post-thumb-img-content img,
.search .post-thumb-img-content img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    display: block;
    border-radius: 0 !important;
}

/* Category pill */
.blog .ast-taxonomy-container,
.archive .ast-taxonomy-container {
    display: inline-block;
    margin-bottom: 12px !important;
    font-size: 0.72rem !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.blog .ast-taxonomy-container a,
.archive .ast-taxonomy-container a {
    color: var(--color-gold) !important;
    font-weight: 600;
}

.blog article.post .entry-title,
.archive article.post .entry-title {
    font-family: var(--font-heading) !important;
    font-size: 1.4rem !important;
    line-height: 1.28 !important;
    margin: 0 0 10px !important;
}
.blog article.post .entry-title a { color: var(--color-text) !important; }
.blog article.post .entry-title a:hover { color: var(--color-gold) !important; }

/* Post meta — muted, small, gold accents */
.blog .entry-meta,
.archive .entry-meta {
    font-size: 0.78rem !important;
    color: var(--color-text-muted) !important;
    margin-bottom: 14px;
}
.blog .entry-meta a { color: var(--color-text-muted) !important; }
.blog .entry-meta a:hover { color: var(--color-gold) !important; }

/* Excerpt — grows to fill the card so the read-more link sits flush at the
   bottom edge of every card, keeping a tidy baseline across uneven excerpts. */
.blog .ast-excerpt-container,
.archive .ast-excerpt-container,
.search .ast-excerpt-container {
    color: var(--color-text-muted) !important;
    line-height: 1.7;
    font-size: 0.95rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.blog .ast-excerpt-container p,
.archive .ast-excerpt-container p,
.search .ast-excerpt-container p { margin: 0; }

/* Read more → gold text link with arrow */
.kp-read-more {
    display: inline-block;
    margin-top: auto;
    padding-top: 18px;
    color: var(--color-gold) !important;
    font-weight: 600;
    font-size: 0.92rem;
    text-decoration: none !important;
    border-bottom: 1px solid transparent;
    transition: color 0.2s ease, border-color 0.2s ease;
    align-self: flex-start;
}
.kp-read-more:hover {
    color: var(--color-gold-dark) !important;
    border-bottom-color: var(--color-gold-dark);
}

/* Empty state (no posts yet) */
.blog .no-results,
.search-no-results .no-results,
.ast-no-results {
    max-width: 560px;
    margin: 0 auto 64px;
    text-align: center;
    background: var(--color-white);
    border: 1px dashed #d9cfc4;
    border-radius: var(--radius-card);
    padding: 56px 40px;
}
.blog .no-results .page-title { font-size: 1.5rem; margin-bottom: 10px; }
.blog .no-results p { color: var(--color-text-muted); }

/* ============================================================
   7. CONSISTENCY — unified hover lift, soft focus, rhythm
   ============================================================ */
/* Gentle lift on all card-like surfaces already covered; unify links */
.kp-card,
.kp-testimonial,
.woocommerce ul.products li.product,
.blog article.post {
    will-change: transform;
}

/* Consistent rounded focus ring for keyboard users */
a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible,
summary:focus-visible {
    outline: 2px solid var(--color-gold);
    outline-offset: 3px;
    border-radius: 4px;
}

/* About section: tighten empty space, add subtle bottom rhythm */
.kp-about-section {
    padding-top: 64px !important;
    padding-bottom: 80px !important;
}

/* ============================================================
   8. RESPONSIVE — polish additions
   ============================================================ */
@media (max-width: 900px) {
    .kp-about-photo-col { position: static; top: auto; }
    .kp-about-photo-col .wp-block-image img { aspect-ratio: 3 / 4; }
}

/* Tablet: step the post grid down to 2 columns before going single-column. */
@media (max-width: 980px) {
    .blog .ast-row,
    .archive .ast-row,
    .search .ast-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
    .kp-page-cover { padding: 64px 20px !important; }
    .kp-page-cover .kp-page-title { font-size: 2rem !important; }
    .kp-blog-cover { padding: 64px 20px; margin-bottom: 44px; }
    .kp-blog-cover .kp-page-title { font-size: 2rem; }
    .blog .ast-row,
    .archive .ast-row,
    .search .ast-row { grid-template-columns: 1fr; gap: 26px; max-width: 480px; }
    .kp-page-hero::before,
    .kp-page-hero::after { width: 90px; height: 90px; opacity: 0.08; }
}

@media (max-width: 480px) {
    .kp-page-cover .kp-page-title { font-size: 1.7rem !important; }
    .kp-blog-cover .kp-page-title { font-size: 1.7rem; }
}

/* ============================================================
   ============================================================
   DESIGN POLISH v1.4 — HOMEPAGE EDITORIAL FLOW
   Asymmetric image+text, quote band, dark color block,
   tinted testimonials, Apie Mane teaser, step connectors.
   ============================================================
   ============================================================ */

/* ── Shared asymmetric image+text layout ──────────────────── */
.kp-asym {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 60px !important;
}
.kp-asym > .wp-block-column { min-width: 0 !important; }

/* The image — rounded, soft shadow, thin gold inner frame */
.kp-asym__media figure.wp-block-image,
.kp-asym__media .wp-block-image {
    margin: 0 !important;
    width: 100% !important;
    overflow: hidden;
    border-radius: 20px;
    box-shadow: 0 28px 64px -20px rgba(58, 44, 24, 0.34);
    position: relative;
    line-height: 0;
    background: linear-gradient(150deg, #efe7d8 0%, #e4dac9 100%);
}
.kp-asym__media figure.wp-block-image::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 20px;
    box-shadow: inset 0 0 0 1px rgba(201, 151, 74, 0.28);
    pointer-events: none;
    z-index: 2;
}
.kp-asym__image img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    display: block !important;
    aspect-ratio: 4 / 3;
}

/* Left-anchored section titles + motif */
.kp-section-title--left { text-align: left !important; }
.kp-section-title--left::after { margin-left: 0 !important; margin-right: auto !important; }
.kp-section-title--light { color: #ffffff !important; }

/* ── 1. GALBŪT — asymmetric variant overrides ─────────────── */
.kp-maybe-asym { text-align: left !important; }
.kp-maybe-asym::before { display: none !important; }          /* image is the visual focus */
.kp-maybe-asym .kp-section-title { font-size: 1.9rem !important; margin-bottom: 26px !important; }
.kp-maybe-asym .kp-maybe-list {
    max-width: none !important;
    margin: 0 0 24px !important;
    text-align: left;
}
.kp-maybe-asym .kp-maybe-closing {
    max-width: none !important;
    margin: 0 !important;
    text-align: left;
}
.kp-maybe-asym .kp-asym__image img { aspect-ratio: 5 / 4; }

/* ── 3. KODĖL — dark green color block ─────────────────────── */
.kp-why-section.kp-why-section--dark {
    background: linear-gradient(160deg, #33564a 0%, #21382e 100%) !important;
    position: relative;
    overflow: hidden;
}
.kp-why-section--dark .kp-section-title { color: #ffffff !important; }
.kp-why-section--dark .kp-why-item {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #f3ead9 !important;
    border: 1px solid rgba(201, 151, 74, 0.30);
    backdrop-filter: blur(1px);
}
.kp-why-section--dark .kp-why-item::before { color: var(--color-gold) !important; }
/* Faint botanical sprigs in the corners */
.kp-why-section--dark::before,
.kp-why-section--dark::after {
    content: '';
    position: absolute;
    width: 210px;
    height: 210px;
    background: var(--kp-sprig) center / contain no-repeat;
    opacity: 0.14;
    pointer-events: none;
}
.kp-why-section--dark::before { top: -34px; left: -34px; transform: rotate(-28deg); }
.kp-why-section--dark::after  { bottom: -44px; right: -30px; transform: rotate(150deg); }
.kp-why-section--dark > * { position: relative; z-index: 1; }

/* ── 2. QUOTE BAND — full-width cover with cinematic overlay ── */
.kp-quote-band {
    padding: 104px 24px !important;
    text-align: center;
}
.kp-quote-band .wp-block-cover__inner-container {
    max-width: 900px;
    margin: 0 auto;
    width: 100%;
}
/* Small cream sprig above the quote */
.kp-quote-band .wp-block-cover__inner-container::before {
    content: '';
    display: block;
    width: 40px;
    height: 32px;
    margin: 0 auto 26px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23e8c98a' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M50 96 C50 70 50 40 52 10'/%3E%3Cpath d='M51 72 C39 68 31 59 29 46'/%3E%3Cpath d='M52 58 C64 55 72 46 74 33'/%3E%3Cpath d='M51 45 C40 42 33 34 31 23'/%3E%3Cpath d='M53 34 C63 31 70 24 72 14'/%3E%3C/svg%3E") center / contain no-repeat;
    opacity: 0.85;
}
.kp-quote-text {
    font-family: var(--font-heading) !important;
    font-style: italic !important;
    font-weight: 600 !important;
    font-size: clamp(1.5rem, 3vw, 2.35rem) !important;
    line-height: 1.45 !important;
    color: #f5ecdb !important;
    margin: 0 auto !important;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

/* ── 5a. KAIP TAI VEIKIA — connector line between step circles ── */
.kp-steps-grid { position: relative; }
.kp-steps-grid::before {
    content: '';
    position: absolute;
    top: 30px;            /* aligns with the 60px circle's vertical centre */
    left: 16.66%;
    right: 16.66%;
    border-top: 2px dashed rgba(201, 151, 74, 0.45);
    z-index: 0;
}
.kp-steps-grid .kp-step { position: relative; z-index: 1; }

/* ── 5b. TESTIMONIALS — tinted image cover ────────────────── */
.kp-testimonials-cover {
    min-height: 0 !important;
    padding-top: var(--section-pad-v) !important;
    padding-bottom: var(--section-pad-v) !important;
}
.kp-testimonials-cover .wp-block-cover__inner-container { width: 100%; }
.kp-testimonials-cover .kp-section-title { color: var(--color-text) !important; }
.kp-testimonials-cover .kp-testimonial__quote { color: var(--color-text) !important; }
.kp-testimonials-cover .kp-testimonial__author { color: var(--color-text-muted) !important; }

/* ── 4. APIE MANE teaser ──────────────────────────────────── */
.kp-about-teaser {
    background: linear-gradient(180deg, #ffffff 0%, #fbf7f0 100%) !important;
}
.kp-about-teaser__media .kp-asym__image img { aspect-ratio: 4 / 5; }
.kp-about-teaser__eyebrow {
    font-size: 0.72rem !important;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--color-gold);
    margin-bottom: 14px !important;
}
.kp-about-teaser .kp-section-title--left { margin-bottom: 22px !important; }
.kp-about-teaser__text {
    color: var(--color-text-muted);
    font-size: 1.02rem;
    line-height: 1.8;
    margin-bottom: 18px !important;
}
.kp-about-teaser__btn { margin-top: 14px !important; }

/* ── RESPONSIVE — stack asymmetric sections cleanly ───────── */
@media (max-width: 900px) {
    .kp-asym {
        flex-direction: column !important;
        gap: 34px !important;
    }
    .kp-asym > .wp-block-column {
        width: 100% !important;
        flex-basis: auto !important;
    }
    /* image always on top when stacked */
    .kp-asym--img-left .kp-asym__media { order: -1; }

    .kp-maybe-asym,
    .kp-about-teaser { text-align: center !important; }
    .kp-asym__text .kp-section-title--left { text-align: center !important; }
    .kp-asym__text .kp-section-title--left::after {
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .kp-maybe-asym .kp-maybe-list { display: inline-block; text-align: left; }
    .kp-maybe-asym .kp-maybe-closing { text-align: center; }
    .kp-about-teaser__eyebrow { text-align: center; }
    .kp-about-teaser__btn .wp-block-buttons,
    .kp-about-teaser__btn { justify-content: center; display: flex; }

    /* gentler crops on mobile */
    .kp-maybe-asym .kp-asym__image img { aspect-ratio: 16 / 10; }
    .kp-about-teaser .kp-asym__image img { aspect-ratio: 3 / 4; }

    /* hide the step connector once stacked */
    .kp-steps-grid::before { display: none; }

    .kp-quote-band { padding: 76px 22px !important; }
    .kp-why-section--dark::before,
    .kp-why-section--dark::after { width: 140px; height: 140px; opacity: 0.10; }
}

@media (max-width: 600px) {
    .kp-asym__media .wp-block-image,
    .kp-about-teaser__media .wp-block-image { max-width: 420px; margin: 0 auto !important; }
}

/* ============================================================
   ============================================================
   PRE-LAUNCH POLISH v1.5 — calm, warm, premium final pass
   Global refinements only; restrained, no layout rewrites.
   ============================================================
   ============================================================ */

/* ── Warmer, softer shadows site-wide (brown-tinted, not grey) ── */
:root {
    --shadow-card:        0 3px 20px rgba(74, 56, 30, 0.06);
    --shadow-card-hover:  0 16px 40px -10px rgba(74, 56, 30, 0.16);
    --shadow-header:      0 4px 26px rgba(74, 56, 30, 0.07);
    --ease-calm:          cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* ── Calmer text rendering across the site ── */
html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    /* sticky header is ~80–90px; keep anchor jumps clear of it (#pasirinkite-laika etc.) */
    scroll-padding-top: 96px;
}
body { font-feature-settings: "kern" 1, "liga" 1, "calt" 1; }

/* Premium serif headings: a hair tighter, balanced line breaks */
h1, h2, h3,
.kp-hero-heading,
.kp-section-title,
.kp-page-title,
.entry-title {
    letter-spacing: -0.012em;
    text-wrap: balance;
}

/* Avoid typographic widows/orphans in flowing copy */
p, li, .kp-page-intro, .ast-excerpt-container { text-wrap: pretty; }

/* Warm text selection */
::selection { background: rgba(201, 151, 74, 0.22); color: var(--color-text); }
::-moz-selection { background: rgba(201, 151, 74, 0.22); color: var(--color-text); }

/* ── Softer, unhurried motion on interactive elements ── */
.wp-block-button__link,
.button,
.ast-button,
.woocommerce a.button,
.woocommerce button.button,
.kp-card,
.kp-testimonial,
.kp-contact-card,
.kp-social-link,
.blog article.ast-article-post,
.archive article.ast-article-post,
.woocommerce ul.products li.product {
    transition-timing-function: var(--ease-calm) !important;
    transition-duration: 0.28s !important;
}

/* Primary buttons gain a soft warm lift on hover (tactile, not flashy) */
.wp-block-button.is-style-primary .wp-block-button__link:hover,
.wp-block-button__link.btn-gold:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce #place_order:hover {
    box-shadow: 0 10px 24px -8px rgba(201, 151, 74, 0.5) !important;
}
.wp-block-button.is-style-secondary .wp-block-button__link:hover,
.wp-block-button__link.btn-green:hover {
    box-shadow: 0 10px 24px -8px rgba(45, 74, 62, 0.45) !important;
}

/* ── Long-form reading comfort (blog posts, legal, generic pages) ── */
.single-post .entry-content,
.page:not(.home) .entry-content > p,
.single-post .entry-content > p {
    line-height: 1.85;
}
.single-post .entry-content {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.04rem;
}
.single-post .entry-content p { margin-bottom: 1.35rem; }

/* Inline links inside body copy: subtle underline for clarity (skip buttons/nav/cards) */
.entry-content p a:not(.wp-block-button__link):not(.button),
.ast-excerpt-container a:not(.kp-read-more) {
    text-underline-offset: 0.18em;
    text-decoration-thickness: 1px;
    text-decoration-color: rgba(201, 151, 74, 0.45);
    text-decoration-line: underline;
}
.entry-content p a:hover { text-decoration-color: var(--color-gold); }

/* ── Single blog post: a calmer header + meta ── */
.single-post .entry-title {
    text-align: center;
    margin-bottom: 14px;
}
.single-post .ast-single-post-meta,
.single-post .entry-meta {
    justify-content: center;
    text-align: center;
    font-size: 0.8rem !important;
    color: var(--color-text-muted) !important;
}
.single-post .post-thumb img,
.single-post .wp-post-image {
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    margin: 0 auto 8px;
}

/* ── Legal / simple pages: gentle breathing room and measure ──
   Pages 20/21/22 use plain core blocks (heading/paragraph/list) so the
   client can edit freely. These rules supply the readable column width and
   typography the old constrained-group wrapper used to provide. */
.page-id-20 .entry-content,
.page-id-21 .entry-content,
.page-id-22 .entry-content {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 64px;
    padding-bottom: 72px;
    line-height: 1.85;
}
.page-id-20 .entry-content > h1,
.page-id-21 .entry-content > h1,
.page-id-22 .entry-content > h1 {
    margin-bottom: 0.5em;
}
.page-id-20 .entry-content > h2,
.page-id-21 .entry-content > h2,
.page-id-22 .entry-content > h2 {
    margin-top: 1.9em;
    margin-bottom: 0.5em;
    font-size: 1.4rem;
}
.page-id-20 .entry-content p,
.page-id-21 .entry-content p,
.page-id-22 .entry-content p,
.page-id-20 .entry-content li,
.page-id-21 .entry-content li,
.page-id-22 .entry-content li {
    line-height: 1.85;
}
.page-id-20 .entry-content ul,
.page-id-21 .entry-content ul,
.page-id-22 .entry-content ul {
    margin: 0 0 1.3em 1.3em;
}
.page-id-20 .entry-content li,
.page-id-21 .entry-content li,
.page-id-22 .entry-content li {
    margin-bottom: 0.45em;
}

/* ── Footer: a touch more air, softer dividers ── */
.site-footer a,
.ast-small-footer a { transition: color 0.2s var(--ease-calm); }

/* ── Section dividers feel intentional, not stark ── */
hr.wp-block-separator {
    border: 0;
    height: 1px;
    max-width: 80px;
    margin: 40px auto;
    background: linear-gradient(90deg, transparent, rgba(201,151,74,0.55), transparent);
}

/* ── Respect reduced-motion: remove transforms/transitions ── */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
    .kp-card:hover,
    .kp-contact-card:hover,
    .blog article.ast-article-post:hover,
    .wp-block-button__link:hover { transform: none !important; }
}
