/*
Theme Name: Glow Fit
Theme URI: https://glowfit.pl
Author: Glow Fit
Description: Motyw WordPress + WooCommerce dla Glow Fit — Aleksandra Szymańska, trenerka personalna. Kolorystyka kremowo-oliwkowa.
Version: 1.1.3
Requires PHP: 8.0
Text Domain: glowfit
*/

/* ============ DESIGN TOKENS ============ */
:root{
  --bg:#F7F1E8;
  --bg-soft:#F1E9DB;
  --card:#FFFDF9;
  --border:#E9E0CE;
  --icon-bg:#DEDAC6;
  --olive:#6E7D61;
  --olive-dark:#57624C;
  --olive-deep:#4B5640;
  --sage:#8B987E;
  --heading:#2A1B14;
  --text:#4A4038;
  --text-soft:#7A7266;
  --white:#FFFFFF;
  --danger:#B3453D;
  --radius-lg:28px;
  --radius-md:18px;
  --radius-sm:12px;
  --serif:'Playfair Display', Georgia, serif;
  --sans:'Poppins', system-ui, sans-serif;
  --script:'Alex Brush', cursive;
  --maxw:1240px;
}

/* ============ RESET / BASE ============ */
*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; overflow-x:hidden; }
body{
  margin:0;
  overflow-x:hidden;
  max-width:100%;
  background:var(--bg);
  font-family:var(--sans);
  color:var(--text);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
h1,h2,h3{ font-family:var(--serif); color:var(--heading); margin:0; font-weight:600; }
p{ margin:0; line-height:1.7; }
a{ color:var(--olive-deep); text-decoration:none; }
a:hover{ color:var(--olive); }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:var(--sans); }
:focus-visible{ outline:2px solid var(--olive); outline-offset:2px; }

.container{ max-width:var(--maxw); margin:0 auto; padding:0 64px; }
.section{ position:relative; padding:96px 0; }
.section-inner{ max-width:var(--maxw); margin:0 auto; padding:0 64px; }
.section-narrow .section-inner{ max-width:900px; }

.accent{ color:var(--olive-deep); font-style:italic; }
.kw{ color:var(--olive-deep); font-weight:600; }
.eyebrow{
  display:flex; align-items:center; gap:10px;
  font-weight:600; font-size:13px; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--olive-deep);
}
.divider-heart{ display:flex; align-items:center; gap:14px; margin:22px 0; }
.divider-heart.is-center{ justify-content:center; }
.divider-heart .line{ flex:0 0 56px; height:1px; background:var(--sage); opacity:0.6; }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--sans); font-weight:600; font-size:14px; letter-spacing:0.06em; text-transform:uppercase;
  padding:18px 30px; border-radius:14px; border:1.5px solid transparent; cursor:pointer;
  transition:background .2s, transform .15s, border-color .2s; min-height:44px;
}
.btn-primary{ background:var(--olive); color:var(--white); }
.btn-primary:hover{ background:var(--olive-dark); color:var(--white); transform:translateY(-1px); }
.btn-outline{ background:transparent; color:var(--olive-deep); border-color:var(--olive); }
.btn-outline:hover{ background:var(--bg-soft); }
.btn-full{ width:100%; }

.icon-circle{
  width:56px; height:56px; border-radius:50%; background:var(--icon-bg);
  display:flex; align-items:center; justify-content:center; flex:0 0 56px; color:var(--olive-deep);
}
.card{ background:var(--card); border:1px solid var(--border); border-radius:var(--radius-md); }
.leaf-decor{ position:absolute; opacity:.55; pointer-events:none; color:var(--sage); }

/* ============ NAV ============ */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(247,241,232,.92); backdrop-filter:blur(6px);
  border-bottom:1px solid var(--border);
}
.site-header .container{ max-width:none; display:flex; align-items:center; justify-content:space-between; padding:22px 56px; }
.site-logo{ font-family:var(--serif); font-size:26px; font-weight:600; letter-spacing:.04em; color:var(--heading); line-height:1; }
.site-tagline{ font-size:10px; letter-spacing:.32em; color:var(--text-soft); margin-top:2px; }
.nav-right{ display:flex; align-items:center; gap:22px; }
.main-nav ul{ display:flex; gap:30px; }
.main-nav a{ font-size:13px; font-weight:500; letter-spacing:.03em; color:var(--heading); }
.main-nav a:hover{ color:var(--olive-deep); }
.nav-cart-link{ position:relative; display:flex; align-items:center; justify-content:center; width:44px; height:44px; color:var(--heading); }
.nav-cart-count{
  position:absolute; top:2px; right:2px; background:var(--olive); color:#fff; font-size:10px; font-weight:700;
  border-radius:50%; width:17px; height:17px; display:flex; align-items:center; justify-content:center;
}
.nav-burger{ display:none; width:44px; height:44px; align-items:center; justify-content:center; background:none; border:none; color:var(--heading); cursor:pointer; }

/* Mobile menu (reuses drawer pattern) */
.mobile-menu-overlay{ position:fixed; inset:0; background:rgba(42,27,20,.35); opacity:0; visibility:hidden; transition:opacity .25s; z-index:200; }
.mobile-menu-overlay.is-open{ opacity:1; visibility:visible; }
.mobile-menu{
  position:fixed; top:0; right:0; height:100%; width:min(86vw,360px); background:var(--bg);
  transform:translateX(100%); transition:transform .3s ease; z-index:201; padding:28px 26px;
  box-shadow:-14px 0 40px rgba(42,27,20,.12); overflow-y:auto;
}
.mobile-menu.is-open{ transform:translateX(0); }
.mobile-menu-close{ background:none; border:none; color:var(--heading); width:40px; height:40px; cursor:pointer; }
.mobile-menu ul{ display:flex; flex-direction:column; gap:6px; margin-top:30px; }
.mobile-menu a{ display:block; padding:14px 4px; font-size:17px; color:var(--heading); border-bottom:1px solid var(--border); }
body.mobile-menu-open{ overflow:hidden; }

/* ============ CART DRAWER ============ */
.cart-drawer-overlay{ position:fixed; inset:0; background:rgba(42,27,20,.35); opacity:0; visibility:hidden; transition:opacity .25s; z-index:200; }
.cart-drawer-overlay.is-open{ opacity:1; visibility:visible; }
.cart-drawer{
  position:fixed; top:0; right:0; height:100%; width:min(92vw,420px); background:var(--bg);
  transform:translateX(100%); transition:transform .3s ease; z-index:201; display:flex; flex-direction:column;
  box-shadow:-14px 0 40px rgba(42,27,20,.12);
}
.cart-drawer.is-open{ transform:translateX(0); }
.cart-drawer-header{ display:flex; align-items:center; justify-content:space-between; padding:24px 26px; border-bottom:1px solid var(--border); }
.cart-drawer-header h2{ font-size:19px; }
.cart-drawer-close{ background:none; border:none; font-size:26px; color:var(--heading); cursor:pointer; line-height:1; width:40px; height:40px; }
.cart-drawer-body{ flex:1; overflow-y:auto; padding:20px 26px; }
.cart-drawer-empty{ text-align:center; padding:40px 10px; color:var(--text-soft); }
.cart-drawer-empty svg{ width:40px; height:40px; margin:0 auto 16px; color:var(--sage); }
.cart-drawer-items{ display:flex; flex-direction:column; gap:16px; }
.cart-drawer-item{ display:flex; gap:14px; align-items:center; }
.cart-drawer-item-img img{ width:64px; height:64px; object-fit:cover; border-radius:10px; border:1px solid var(--border); }
.cart-drawer-item-info{ flex:1; display:flex; flex-direction:column; gap:2px; }
.cart-drawer-item-name{ font-size:14px; font-weight:600; color:var(--heading); }
.cart-drawer-item-qty, .cart-drawer-item-price{ font-size:12.5px; color:var(--text-soft); }
.cart-drawer-item .remove{ font-size:20px; color:var(--text-soft); width:28px; height:28px; display:flex; align-items:center; justify-content:center; }
.cart-drawer-item .remove:hover{ color:var(--danger); }
.cart-drawer-total{ display:flex; justify-content:space-between; margin-top:20px; padding-top:16px; border-top:1px solid var(--border); font-weight:600; color:var(--heading); }
.cart-drawer-footer{ display:flex; gap:12px; padding:22px 26px; border-top:1px solid var(--border); }
.cart-drawer-btn{ flex:1; text-align:center; }
body.cart-drawer-open{ overflow:hidden; }

/* ============ HERO ============ */
.hero-row{ display:flex; gap:72px; align-items:center; flex-wrap:wrap; }
.hero-text{ flex:1 1 480px; min-width:320px; }
.hero-heading{ font-size:56px; line-height:1.12; margin-top:22px; }
.hero-rule{ width:64px; height:1.5px; background:var(--sage); margin:30px 0; }
.hero-photo-col{ flex:1 1 480px; min-width:300px; display:flex; justify-content:center; position:relative; }
.hero-blob{ position:absolute; width:494px; height:598px; background:var(--bg-soft); border-radius:46% 54% 58% 42%/48% 42% 58% 52%; top:10px; right:10px; }
.hero-photo{ position:relative; width:100%; max-width:545px; }
.hero-feature-card{ margin-top:56px; padding:0; overflow:hidden; }
.hero-feature-grid{ display:grid; grid-template-columns:repeat(3,1fr); }
.hero-feature-item{ padding:26px 20px; display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; border-right:1px solid var(--border); }
.hero-feature-item:last-child{ border-right:none; }
.hero-feature-item .label{ font-size:12px; font-weight:600; letter-spacing:.04em; }

/* ============ ABOUT ============ */
.about-row{ display:flex; gap:72px; align-items:flex-start; flex-wrap:wrap; }
.about-photo{ flex:0 0 400px; min-width:280px; display:flex; justify-content:center; align-items:flex-end; align-self:stretch; position:relative; }
.about-photo .blob{ position:absolute; width:380px; height:470px; background:var(--bg-soft); border-radius:50% 50% 46% 54%/56% 56% 44% 44%; top:0; left:20px; }
.about-photo img{ position:relative; width:100%; max-width:400px; }
.about-text{ flex:1 1 0%; min-width:320px; padding-top:20px; }
.about-heading{ font-size:44px; margin-top:18px; }
.about-paragraphs{ display:flex; flex-direction:column; gap:20px; font-size:15.5px; color:var(--text); max-width:520px; }
.about-quote{ margin-top:0; padding:26px 34px; width:100%; background:var(--bg-soft); border:none; }
.about-tiles{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:36px; width:100%; }
.about-tile{ text-align:center; }
.about-tile .about-tile-title{ font-size:14px; font-weight:600; color:var(--heading); }
.about-tile .about-tile-desc{ font-size:12.5px; color:var(--text-soft); margin-top:8px; }

/* ============ QUALIFICATION ============ */
.qualification-section{ background:var(--bg-soft); border-radius:var(--radius-lg); overflow:hidden; }
.qual-heading{ font-size:38px; }
.qual-list{ display:flex; flex-direction:column; gap:18px; max-width:660px; }
.qual-item{ padding:24px 28px; display:flex; gap:20px; align-items:center; }
.qual-item p{ font-size:15.5px; }
.qual-closing{ max-width:660px; margin-top:32px; padding:26px 30px; display:flex; gap:18px; align-items:flex-start; }
.qual-cta{ max-width:660px; }
.qual-photo{ position:absolute; right:-6px; bottom:-4px; width:210px; opacity:.98; }

/* ============ PRICING / PRODUCT CARD ============ */
.pricing-header{ text-align:center; margin-bottom:56px; }
.pricing-lead{ max-width:620px; margin:0 auto; font-size:15.5px; color:var(--text-soft); text-align:center; }
.pricing-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; text-align:left; }

.product-card{
  background:var(--card); border:1px solid var(--border); border-radius:var(--radius-md);
  padding:34px 28px; display:flex; flex-direction:column; position:relative;
}
.product-card.is-featured{ border:2px solid var(--olive); box-shadow:0 18px 40px -22px rgba(74,64,56,.35); }
.product-card-badge{
  position:absolute; top:-14px; right:24px; background:var(--bg-soft); border:1px solid var(--border);
  border-radius:20px; padding:6px 14px; font-size:12px; font-weight:600; display:flex; align-items:center; gap:6px; color:var(--heading);
}
.product-card-img{ border-radius:var(--radius-sm); overflow:hidden; margin-bottom:20px; aspect-ratio:4/3; background:var(--bg-soft); }
.product-card-cat{ font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-soft); margin-bottom:6px; }
.product-card-name{ font-size:17px; font-weight:600; color:var(--heading); font-family:var(--sans); }
.product-card-desc{ font-size:14px; color:var(--text-soft); margin-top:16px; }
.product-card-price{ font-family:var(--serif); font-size:26px; color:var(--olive-deep); margin-top:10px; }
.product-card-price .woocommerce-Price-currencySymbol{ font-family:var(--serif); }
.product-card-features{ display:flex; flex-direction:column; gap:10px; margin-top:22px; flex:1; }
.product-card-feature{ display:flex; gap:10px; font-size:14px; }
.product-card-feature svg{ flex:0 0 18px; color:var(--olive-deep); }
.product-card-features ul{ display:flex; flex-direction:column; gap:11px; }
.product-card-features li{ position:relative; padding-left:26px; font-size:14px; color:var(--text); line-height:1.5; }
.product-card-features li::before{
  content:""; position:absolute; left:0; top:6px; width:14px; height:14px;
  background:var(--icon-bg); border-radius:50%;
}
.product-card-features li::after{
  content:""; position:absolute; left:4px; top:9px; width:6px; height:3.5px;
  border-left:1.6px solid var(--olive-deep); border-bottom:1.6px solid var(--olive-deep);
  transform:rotate(-45deg);
}
.product-card-actions{ margin-top:26px; position:relative; z-index:2; }
.product-card-actions .button,
.product-card-actions .add_to_cart_button{
  display:flex; align-items:center; justify-content:center; width:100%; text-align:center;
  font-family:var(--sans); font-size:13px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  color:#fff !important; background:var(--olive); border:1.5px solid var(--olive);
  padding:16px 20px; border-radius:14px; text-decoration:none !important; transition:background .2s;
}
.product-card-actions .button:hover,
.product-card-actions .add_to_cart_button:hover{ background:var(--olive-dark); border-color:var(--olive-dark); }
.product-card-actions .added_to_cart{ display:block; margin-top:10px; text-align:center; font-size:12.5px; color:var(--olive-deep); text-decoration:underline; }

.pricing-help{ margin-top:40px; padding:30px 36px; display:flex; align-items:center; gap:22px; text-align:left; }
.pricing-help .icon-circle{ background:transparent; border:1.5px solid var(--olive); }

/* ============ OPINIE (slider) ============ */
.opinie-slider{ display:flex; align-items:center; gap:14px; }
.opinie-track{
  flex:1; min-width:0;
  display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding:16px 4px 8px; scrollbar-width:none; -ms-overflow-style:none; scroll-behavior:smooth;
}
.opinie-track::-webkit-scrollbar{ display:none; }
.opinie-card{
  flex:0 0 calc((100% - 48px) / 3); scroll-snap-align:start; scroll-snap-stop:always;
  padding:30px 28px; display:flex; flex-direction:column; gap:14px;
}
.opinie-quote{ flex:0 0 34px; }
.opinie-stars{ display:flex; gap:4px; }
.opinie-text{ font-size:14.5px; color:var(--text); line-height:1.65; flex:1; }
.opinie-author{ display:flex; align-items:center; gap:12px; margin-top:4px; padding-top:16px; border-top:1px solid var(--border); }
.opinie-avatar{
  flex:0 0 40px; width:40px; height:40px; border-radius:50%; background:var(--icon-bg);
  display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:17px; color:var(--olive-deep);
}
.opinie-meta{ display:flex; flex-direction:column; }
.opinie-name{ font-size:13.5px; font-weight:600; color:var(--heading); }
.opinie-role{ font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-soft); margin-top:3px; }
.opinie-arrow{
  flex:0 0 46px; width:46px; height:46px; border-radius:50%; cursor:pointer;
  background:var(--card); border:1.5px solid var(--olive); color:var(--olive-deep);
  display:flex; align-items:center; justify-content:center; transition:background .2s, color .2s, opacity .2s;
}
.opinie-arrow:hover{ background:var(--olive); color:#fff; }
.opinie-arrow:disabled{ opacity:.3; cursor:default; background:var(--card); color:var(--olive-deep); }
.opinie-dots{ display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin-top:24px; }
.opinie-dot{
  width:8px; height:8px; border-radius:50%; background:var(--border); border:none; padding:0; cursor:pointer;
  transition:background .2s, transform .2s;
}
.opinie-dot.is-active{ background:var(--olive); transform:scale(1.3); }
@media (max-width:900px){
  .opinie-card{ flex-basis:100%; }
  .opinie-arrow{ display:none; }
}
@media (max-width:560px){
  .opinie-card{ flex-basis:100%; padding:26px 22px; }
}

/* ============ FINAL CTA + FORM ============ */
.finalcta-row{ display:flex; gap:72px; align-items:flex-start; flex-wrap:wrap; }
.finalcta-text{ flex:1 1 460px; min-width:300px; }
.finalcta-heading{ font-size:42px; margin-top:18px; }
.finalcta-actions{ display:flex; gap:16px; margin-top:32px; flex-wrap:wrap; }
.finalcta-benefits{ margin-top:56px; padding:0; overflow:hidden; max-width:520px; }
.finalcta-benefits-grid{ display:grid; grid-template-columns:1fr 1fr; }
.finalcta-benefit{ padding:22px 20px; display:flex; gap:12px; align-items:center; border-right:1px solid var(--border); border-bottom:1px solid var(--border); }
.finalcta-benefit:nth-child(2n){ border-right:none; }
.finalcta-benefit:nth-last-child(-n+2){ border-bottom:none; }
.finalcta-benefit .t{ font-size:12.5px; font-weight:600; }
.finalcta-benefit .d{ font-size:11px; color:var(--text-soft); }
.finalcta-photo-col{ flex:1 1 420px; min-width:300px; position:relative; }
.finalcta-blob{ position:absolute; width:320px; height:320px; background:var(--bg-soft); border-radius:50%; top:-30px; right:10px; }
.finalcta-photo{ position:relative; width:100%; max-width:340px; display:block; margin:0 auto 0; }
.contact-card{ padding:36px 34px; }
.contact-card-title{ font-family:var(--serif); font-size:24px; display:flex; align-items:center; gap:10px; color:var(--heading); }
.contact-form{ display:flex; flex-direction:column; gap:14px; margin-top:24px; }
.contact-field{ display:flex; gap:12px; align-items:center; border:1px solid var(--border); border-radius:12px; padding:14px 18px; background:var(--bg); }
.contact-field svg{ flex:0 0 18px; color:var(--text-soft); }
.contact-field input, .contact-field select, .contact-field textarea{
  border:none; background:transparent; outline:none; font-family:var(--sans); font-size:14px; color:var(--heading); width:100%;
}
.contact-field textarea{ resize:vertical; min-height:64px; }
.contact-field.textarea{ align-items:flex-start; }
.contact-note{ font-size:12.5px; color:var(--text-soft); margin-top:4px; }
.contact-success{ background:var(--bg-soft); border-radius:12px; padding:16px 18px; font-size:14px; color:var(--heading); }

.finalcta-links{ display:grid; grid-template-columns:1fr 1fr; gap:26px; max-width:900px; margin:64px auto 0; }
.finalcta-link-card{ padding:24px 26px; display:flex; gap:16px; align-items:center; }
.finalcta-link-card .t{ font-size:14.5px; font-weight:600; color:var(--heading); }
.finalcta-link-card .d{ font-size:12.5px; color:var(--text-soft); margin-top:2px; }

/* ============ FOOTER ============ */
.site-footer-band{ background:var(--sage); padding:34px 24px; margin-top:40px; }
.site-footer-band .inner{ max-width:1140px; margin:0 auto; display:flex; align-items:center; justify-content:center; gap:20px; }
.site-footer-band .line{ flex:0 0 90px; height:1px; background:rgba(255,255,255,.55); }
.site-footer-band .script{ font-family:var(--script); font-size:30px; color:#fff; white-space:nowrap; }

/* ============ MOTION — lekkie efekty ============ */
/* Hover: delikatne uniesienie kart */
.about-tile,
.qual-item,
.product-card,
.opinie-card,
.finalcta-link-card,
.pricing-help,
.hero-feature-item{
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease;
}
.qual-item:hover,
.finalcta-link-card:hover,
.pricing-help:hover,
.opinie-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 16px 34px -22px rgba(74,64,56,.34);
}
.product-card:hover{
  transform: translateY(-5px);
  box-shadow: 0 18px 40px -20px rgba(74,64,56,.38);
}
.product-card.is-featured:hover{
  transform: translateY(-7px);
  box-shadow: 0 24px 48px -20px rgba(74,64,56,.44);
}
.about-tile:hover{ transform: translateY(-3px); }
.hero-feature-item:hover{ background: var(--bg-soft); }

.icon-circle{ transition: background .3s ease, color .3s ease, transform .3s ease; }
.about-tile:hover .icon-circle,
.qual-item:hover .icon-circle,
.finalcta-link-card:hover .icon-circle{
  background: var(--olive);
  color: #fff;
  transform: scale(1.08);
}

/* Przyciski: drobny ruch strzałki */
.btn svg,
.opinie-arrow svg{ transition: transform .2s ease; }
.btn:hover svg{ transform: translateX(3px); }

/* Wejście w kadr — subtelny fade-up (tylko gdy JS aktywny i brak reduce-motion) */
@media (prefers-reduced-motion: no-preference){
  .js-reveal .reveal,
  .js-reveal .reveal-stagger > *{
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .6s ease, transform .6s cubic-bezier(.22,.61,.36,1);
  }
  .js-reveal .reveal.is-visible,
  .js-reveal .reveal-stagger.is-visible > *{
    opacity: 1;
    transform: none;
  }
  .js-reveal .reveal-stagger.is-visible > *:nth-child(2){ transition-delay: .07s; }
  .js-reveal .reveal-stagger.is-visible > *:nth-child(3){ transition-delay: .14s; }
  .js-reveal .reveal-stagger.is-visible > *:nth-child(4){ transition-delay: .21s; }
  .js-reveal .reveal-stagger.is-visible > *:nth-child(5){ transition-delay: .28s; }
  .js-reveal .reveal-stagger.is-visible > *:nth-child(6){ transition-delay: .35s; }
  /* po ujawnieniu przywróć szybką animację hover dla kart interaktywnych */
  .js-reveal .reveal-stagger.is-visible > .product-card,
  .js-reveal .reveal-stagger.is-visible > .opinie-card,
  .js-reveal .reveal-stagger.is-visible > .qual-item,
  .js-reveal .reveal-stagger.is-visible > .finalcta-link-card{
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease;
  }
}

/* ============ RESPONSIVE ============ */
@media (max-width: 1100px){
  .pricing-grid{ grid-template-columns:repeat(3,1fr); gap:18px; }
}
@media (max-width: 900px){
  .container, .section-inner{ padding:0 28px; }
  .site-header .container{ padding:18px 28px; }
  .section{ padding:64px 0; }
  .main-nav{ display:none; }
  .nav-burger{ display:flex; }
  .hero-heading{ font-size:38px !important; }
  .about-heading, .qual-heading, .pricing-header h2, .finalcta-heading{ font-size:32px !important; }
  .about-row{ flex-direction:column; }
  .about-photo{ order:2; flex:0 0 auto; width:100%; margin-top:36px; align-items:center; align-self:auto; }
  .about-text{ order:1; width:100%; }
  .pricing-grid{ grid-template-columns:1fr; }
  .finalcta-links{ grid-template-columns:1fr; }
  .qual-photo{ display:none; }
  .qual-list, .qual-closing, .qual-cta{ max-width:none; }
  /* dekoracyjne „plamy" nie mogą wystawać poza ekran na mobile */
  .hero-blob{ width:min(78vw,340px); height:auto; aspect-ratio:.83; right:2%; }
  .about-photo .blob{ width:min(72vw,320px); height:auto; aspect-ratio:.82; left:auto; }
  .finalcta-blob{ width:min(62vw,240px); height:auto; aspect-ratio:1; right:2%; }
  .leaf-decor{ display:none; }
}
@media (max-width: 560px){
  .container, .section-inner{ padding:0 18px; }
  .section{ padding:48px 0; }
  .hero-heading{ font-size:30px !important; }
  .about-heading, .qual-heading, .pricing-header h2, .finalcta-heading{ font-size:26px !important; }
  .btn{ padding:16px 22px; font-size:13px; }
  .hero-feature-grid{ grid-template-columns:1fr; }
  .hero-feature-item{ border-right:none; border-bottom:1px solid var(--border); }
  .hero-feature-item:last-child{ border-bottom:none; }
  .finalcta-benefits-grid{ grid-template-columns:1fr; }
  .finalcta-benefit{ border-right:none !important; border-bottom:1px solid var(--border) !important; }
  .finalcta-benefit:last-child{ border-bottom:none !important; }
}
