/*
Theme Name: ML FUSION CONCEPT
Theme URI: https://mlfusionconcept.com
Author: ML FUSION CONCEPT
Author URI: https://mlfusionconcept.com
Description: Autorski motyw blokowy marki ML FUSION CONCEPT (wersja 2) — pełnoekranowe zdjęcia, oferta z cenami „od”, metamorfozy, projektowanie online, FAQ, formularz z załącznikami. Paleta 5 kolorów, Cormorant Garamond + Inter.
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Version: 2.0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ml-fusion-concept
*/

/* =====================================================================
   ZMIENNE MARKI (zgodne z theme.json / zatwierdzonym brandboardem)
   ===================================================================== */
:root {
  --mlfc-ivory: #F7F4ED;
  --mlfc-lightgray: #D9D9D9;
  --mlfc-beige: #B89E86;
  --mlfc-anthracite: #2F2F2F;
  --mlfc-gold: #D4AF7C;
  --mlfc-anthracite-soft: rgba(47, 47, 47, 0.62);
  --mlfc-ivory-soft: rgba(247, 244, 237, 0.68);
  --mlfc-hairline: rgba(212, 175, 124, 0.35);
  --mlfc-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --mlfc-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --mlfc-gutter: clamp(20px, 4vw, 48px);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }

/* Wszystkie sekcje strony mają wspólny rytm */
.mlfc-section {
  padding-block: clamp(56px, 8vw, 96px);
  padding-inline: var(--mlfc-gutter);
  width: 100%;
}
.mlfc-section.mlfc-hero { padding-block: clamp(48px, 7vw, 88px) clamp(56px, 8vw, 96px); }
.mlfc-section.mlfc-tight { padding-block: clamp(40px, 6vw, 72px); }
.mlfc-section.mlfc-hairline { border-top: 1px solid var(--mlfc-hairline); }
.mlfc-section > .mlfc-inner { max-width: 1104px; margin-inline: auto; }
.mlfc-header > .mlfc-header-row, .mlfc-footer > .mlfc-footer-row { max-width: 1104px; margin-inline: auto; }

/* Etykieta nad nagłówkiem ("eyebrow") */
.eyebrow,
p.eyebrow {
  font-family: var(--mlfc-sans);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--mlfc-anthracite-soft);
  font-weight: 600;
}
.eyebrow.mlfc-eyebrow-lg { font-size: 22px; letter-spacing: 0.14em; }
.mlfc-dark .eyebrow { color: var(--mlfc-gold); }

/* Typografia pomocnicza */
.mlfc-lead { font-size: 17px; line-height: 1.75; max-width: 62ch; }
.mlfc-soft { color: var(--mlfc-anthracite-soft); }
.mlfc-note { font-size: 13.5px; line-height: 1.7; color: var(--mlfc-anthracite-soft); }
.mlfc-motto {
  font-family: var(--mlfc-serif);
  font-style: italic;
  font-size: 19px;
  color: var(--mlfc-anthracite-soft);
}
.mlfc-quote-gold {
  font-family: var(--mlfc-sans);
  font-size: clamp(19px, 2vw, 24px);
  font-weight: 600;
  font-style: italic;
  line-height: 1.7;
  color: var(--mlfc-gold);
  max-width: 480px;
  margin-inline: auto;
}
.mlfc-idea-text { font-size: clamp(17px, 1.6vw, 21px); line-height: 1.75; max-width: 560px; margin-inline: auto; }
.mlfc-gold-rule {
  width: 32px;
  height: 1px;
  background: var(--mlfc-gold);
  border: 0;
  margin: 0 auto;
}
.mlfc-center { text-align: center; }
.mlfc-narrow { max-width: 640px; }
.mlfc-narrow-760 { max-width: 760px; }
.mlfc-center .mlfc-narrow, .mlfc-center .mlfc-narrow-760 { margin-inline: auto; }
.mlfc-hero h1 { text-wrap: balance; line-height: 1.08; }
.mlfc-hero h1.mlfc-h1-sm { font-size: clamp(30px, 3.2vw, 42px); }
.wp-block-columns.mlfc-hero-cols { gap: clamp(32px, 6vw, 80px); }
.wp-block-columns.mlfc-cards { gap: clamp(24px, 3.5vw, 40px); }
.wp-block-columns.mlfc-testimonials { gap: clamp(32px, 5vw, 64px); }
.mlfc-inner > .wp-block-group + .wp-block-columns,
.mlfc-inner > .wp-block-group + .mlfc-portfolio-grid { margin-top: 48px; }
.mlfc-inner > .mlfc-narrow-760 + .wp-block-image { margin-top: 48px; }
.mlfc-card > .wp-block-image + .mlfc-numeral { margin-top: 22px; }
.mlfc-card > .mlfc-numeral + h3 { margin-top: 6px; }
.mlfc-card > h3 + p { margin-top: 12px; }
.mlfc-card > p + .mlfc-more { margin-top: 10px; }
.mlfc-hero-cols .wp-block-column > .eyebrow + h1 { margin-top: 20px; }
.mlfc-hero-cols .wp-block-column > h1 + .mlfc-motto { margin-top: 18px; }
.mlfc-inner > .mlfc-narrow-760 > .eyebrow + h1,
.mlfc-inner > .mlfc-narrow-760 > h1 + .mlfc-lead { margin-top: 20px; }
.mlfc-box > h3 + p { margin-top: 14px; }
.mlfc-testimonial > .mlfc-quote-mark + p { margin-top: 8px; }
.mlfc-testimonial > p + .mlfc-testimonial-author { margin-top: 16px; }

/* Numer rzymski nad kartą kompetencji */
.mlfc-numeral {
  font-family: var(--mlfc-serif);
  font-size: 14px;
  color: var(--mlfc-gold);
  letter-spacing: 0.06em;
}
.mlfc-card p:not(.eyebrow):not(.mlfc-numeral) { font-size: 14.5px; line-height: 1.6; color: var(--mlfc-anthracite-soft); }
.mlfc-card h3 { margin: 0; }
.mlfc-card .mlfc-more { color: var(--mlfc-anthracite); font-size: 13px; font-weight: 500; }
.mlfc-card .mlfc-more a::after { content: " \2192"; }

/* Kroki usługi (01, 02, 03...) — numeracja rysowana przez CSS */
ol.mlfc-steps {
  list-style: none;
  counter-reset: mlfc-step;
  padding: 0;
  margin: 4px 0 0 0;
}
ol.mlfc-steps li {
  counter-increment: mlfc-step;
  position: relative;
  padding-left: 38px;
  font-size: 14.5px;
  line-height: 1.7;
  margin: 0;
}
ol.mlfc-steps li + li { margin-top: 16px; }
ol.mlfc-steps li::before {
  content: counter(mlfc-step, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0;
  font-family: var(--mlfc-serif);
  font-size: 16px;
  color: var(--mlfc-gold);
  width: 22px;
  line-height: 1.55;
}
.mlfc-steps strong { font-weight: 600; }

/* Złota kreska (separator) */
.wp-block-separator.mlfc-gold-rule:not(.is-style-wide):not(.is-style-dots) {
  width: 32px;
  height: 1px;
  background: var(--mlfc-gold);
  border: 0;
  opacity: 1;
  margin: 0 auto;
}

/* Karty "Dla kogo pracujemy" */
.mlfc-box {
  background: var(--mlfc-lightgray);
  border-radius: 2px;
  padding: 36px;
}
.mlfc-box h3 { font-size: 22px; margin: 0; }
.mlfc-box p { font-size: 15px; line-height: 1.7; }

/* Opinie */
.mlfc-testimonial {
  padding-top: 36px;
  border-top: 1px solid rgba(212, 175, 124, 0.4);
}
.mlfc-testimonial .mlfc-quote-mark {
  font-family: var(--mlfc-serif);
  font-size: 40px;
  line-height: 1;
  color: var(--mlfc-gold);
  opacity: 0.6;
}
.mlfc-testimonial blockquote,
.mlfc-testimonial .mlfc-testimonial-text {
  font-family: var(--mlfc-serif);
  font-style: italic;
  font-size: 17px;
  line-height: 1.8;
  margin: 0;
}
.mlfc-testimonial .mlfc-testimonial-author { font-size: 13px; color: var(--mlfc-anthracite-soft); letter-spacing: 0.02em; }

/* Ciemne sekcje (CTA / kontakt / stopka) */
.mlfc-dark {
  background: var(--mlfc-anthracite);
  color: var(--mlfc-ivory);
}
.mlfc-dark h1, .mlfc-dark h2, .mlfc-dark h3 { color: var(--mlfc-ivory); }
.mlfc-dark p { color: var(--mlfc-ivory-soft); }
.mlfc-dark h2 + p { max-width: 44ch; }
.mlfc-dark .mlfc-contact-data p { font-size: 14.5px; line-height: 1.6; }
.mlfc-contact-data > p + p { margin-top: 6px; }
.mlfc-dark .eyebrow + .mlfc-contact-data { margin-top: 12px; }
.mlfc-dark .mlfc-contact-data + .eyebrow { margin-top: 28px; }

/* Siatka realizacji */
.mlfc-portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.mlfc-portfolio-grid > * { margin: 0; }
.mlfc-portfolio-grid > .wp-block-image img,
.mlfc-portfolio-grid > figure img { width: 100%; height: 100%; object-fit: cover; }
.mlfc-portfolio-grid > :first-child { grid-row: span 2; }
.mlfc-portfolio-grid.mlfc-portfolio-grid-flat > :first-child { grid-row: auto; }
.mlfc-portfolio-grid > figure { aspect-ratio: 4 / 3; }
.mlfc-portfolio-grid > :first-child { aspect-ratio: auto; }
.mlfc-portfolio-grid > figure.mlfc-tall { aspect-ratio: 4 / 5; }

/* Obrazy — proporcje z makiety */
.mlfc-ph img { width: 100%; object-fit: cover; }
.mlfc-ratio-4x5 img { aspect-ratio: 4 / 5; }
.mlfc-ratio-1x1 img { aspect-ratio: 1 / 1; }
.mlfc-ratio-4x3 img { aspect-ratio: 4 / 3; }
.mlfc-ratio-3x4 img { aspect-ratio: 3 / 4; }
.mlfc-ratio-21x9 img { aspect-ratio: 21 / 9; }

/* Przyciski — style blokowe */
.wp-block-button .wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; }
.wp-block-button.is-style-mlfc-gold .wp-block-button__link {
  background: var(--mlfc-gold);
  color: var(--mlfc-anthracite);
}
.wp-block-button.is-style-mlfc-gold .wp-block-button__link:hover { background: #c9a06a; color: var(--mlfc-anthracite); }
.wp-block-button.is-style-mlfc-link .wp-block-button__link {
  background: transparent;
  color: var(--mlfc-anthracite);
  border-radius: 0;
  border-bottom: 1px solid var(--mlfc-beige);
  padding: 0 0 3px 0;
  font-size: 14px;
  letter-spacing: 0.02em;
  font-weight: 500;
}
.wp-block-button.is-style-mlfc-link .wp-block-button__link:hover { background: transparent; color: var(--mlfc-anthracite); border-bottom-color: var(--mlfc-gold); }
.mlfc-dark .wp-block-button.is-style-mlfc-link .wp-block-button__link { color: var(--mlfc-ivory); }
.wp-block-buttons { align-items: center; }
.wp-block-buttons > .wp-block-button + .wp-block-button { margin-left: 4px; }
.wp-block-button.mlfc-btn-arrow .wp-block-button__link::after { content: "\2192"; margin-left: 2px; }

/* =====================================================================
   NAGŁÓWEK (sticky)
   ===================================================================== */
.mlfc-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(247, 244, 237, 0.94);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid rgba(184, 158, 134, 0.3);
  padding-inline: var(--mlfc-gutter);
}
.mlfc-header .mlfc-header-row { padding-block: 18px; }
.mlfc-brand { text-decoration: none; }
.mlfc-brand img { height: 36px; width: auto; }
.mlfc-brand .mlfc-brand-name {
  font-family: var(--mlfc-serif);
  font-size: 17px;
  letter-spacing: 0.05em;
  font-weight: 600;
  color: var(--mlfc-anthracite);
  white-space: nowrap;
  margin: 0;
}
.mlfc-header .wp-block-navigation { font-size: 14px; }
.mlfc-header .wp-block-navigation .wp-block-navigation-item__content { color: var(--mlfc-anthracite); }
.mlfc-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.mlfc-header .wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content {
  color: var(--mlfc-gold);
  font-weight: 600;
}
.mlfc-header .wp-block-navigation .wp-block-navigation__submenu-container {
  background: var(--mlfc-ivory);
  border: 1px solid rgba(184, 158, 134, 0.35);
  padding: 8px 0;
  min-width: 260px;
}
.mlfc-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 16px; }
.mlfc-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--mlfc-ivory); padding: 24px var(--mlfc-gutter); }
.mlfc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 18px; }
.mlfc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 17px; }
.mlfc-header .wp-block-navigation__responsive-container-open,
.mlfc-header .wp-block-navigation__responsive-container-close { color: var(--mlfc-anthracite); }
/* Przycisk "hamburger" — tylko na telefonie (na komputerze WordPress go ukrywa) */
@media (max-width: 599px) {
  .mlfc-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
    width: 44px; height: 44px;
    border: 1px solid rgba(184, 158, 134, 0.5);
    border-radius: 3px;
    display: flex; align-items: center; justify-content: center;
  }
}
.mlfc-header .wp-block-navigation { flex-wrap: nowrap; }
.mlfc-header .wp-block-navigation .wp-block-navigation__container { gap: 36px; }
.mlfc-header .mlfc-nav-cta .wp-block-button__link { padding: 12px 26px; }

/* =====================================================================
   STOPKA
   ===================================================================== */
.mlfc-footer {
  background: var(--mlfc-anthracite);
  border-top: 1px solid rgba(247, 244, 237, 0.12);
  color: var(--mlfc-ivory-soft);
  padding: 40px var(--mlfc-gutter);
  font-size: 13px;
}
.mlfc-footer p { margin: 0; color: var(--mlfc-ivory-soft); }
.mlfc-footer a { color: var(--mlfc-ivory-soft); }
.mlfc-footer a:hover { color: var(--mlfc-ivory); }
.mlfc-footer .mlfc-footer-logo img { height: 28px; width: auto; }
.mlfc-footer-links a { margin-right: 24px; }
.mlfc-footer-links a:last-child { margin-right: 0; }
.mlfc-social { display: flex; gap: 14px; }
.mlfc-social a {
  width: 30px; height: 30px;
  border-radius: 50%;
  border: 1px solid rgba(247, 244, 237, 0.3);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 10px;
  letter-spacing: 0.04em;
  color: var(--mlfc-ivory-soft);
}
.mlfc-social.mlfc-social-lg a { width: 34px; height: 34px; font-size: 11px; }

/* =====================================================================
   FORMULARZ KONTAKTOWY
   ===================================================================== */
.mlfc-form { display: flex; flex-direction: column; gap: 16px; }
.mlfc-form .mlfc-field {
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(247, 244, 237, 0.35);
  padding: 12px 0;
  color: var(--mlfc-ivory);
  font-size: 14.5px;
  font-family: var(--mlfc-sans);
  width: 100%;
  border-radius: 0;
  outline: none;
}
.mlfc-form .mlfc-field::placeholder { color: var(--mlfc-ivory-soft); }
.mlfc-form .mlfc-field:focus { border-bottom-color: var(--mlfc-gold); }
.mlfc-form textarea.mlfc-field { resize: vertical; min-height: 96px; }
.mlfc-form .mlfc-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 12.5px; color: var(--mlfc-ivory-soft); line-height: 1.5; margin-top: 6px; }
.mlfc-form .mlfc-consent input { width: 15px; height: 15px; margin-top: 2px; accent-color: var(--mlfc-gold); flex: none; }
.mlfc-form .mlfc-submit {
  display: inline-flex; justify-content: center; align-items: center;
  background: var(--mlfc-gold);
  color: var(--mlfc-anthracite);
  border: 0; border-radius: 3px;
  padding: 15px 32px;
  font-size: 14px; letter-spacing: 0.03em; font-weight: 500;
  font-family: var(--mlfc-sans);
  cursor: pointer;
  margin-top: 8px;
}
.mlfc-form .mlfc-submit:hover { background: #c9a06a; }
.mlfc-form .mlfc-legal { font-size: 11.5px; color: var(--mlfc-ivory-soft); opacity: 0.8; line-height: 1.6; margin-top: 6px; }
.mlfc-form .mlfc-legal a { text-decoration: underline; color: var(--mlfc-ivory-soft); }
.mlfc-form .mlfc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mlfc-form-msg {
  padding: 14px 18px;
  border: 1px solid var(--mlfc-gold);
  border-radius: 3px;
  font-size: 14px;
  color: var(--mlfc-ivory);
}
.mlfc-form-msg.is-error { border-color: #d9827c; }

/* Polityka prywatności — czytelny dokument */
.mlfc-legal-doc h2 { font-size: 22px; margin: 32px 0 8px; }
.mlfc-legal-doc p { font-size: 15px; line-height: 1.75; color: var(--mlfc-anthracite-soft); }

/* Wpisy / blog (fallback) */
.mlfc-post-list article { padding: 24px 0; border-top: 1px solid var(--mlfc-hairline); }

/* =====================================================================
   WERSJA 2 — hero pełnoekranowe, wyróżniki, oferta, kafle, proces, FAQ, cennik
   ===================================================================== */

/* Sekcja z obrazem tła (blok Grupa z tłem) */
.mlfc-bg { position: relative; background-size: cover; background-position: 50% 50%; color: var(--mlfc-ivory); }
.mlfc-bg::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(47,47,47,0.18) 0%, rgba(47,47,47,0.42) 55%, rgba(47,47,47,0.66) 100%);
  pointer-events: none;
}
.mlfc-bg > .mlfc-inner { position: relative; width: 100%; }
.mlfc-bg h1, .mlfc-bg h2, .mlfc-bg h3 { color: var(--mlfc-ivory); }
.mlfc-bg .eyebrow { color: var(--mlfc-gold); }
.mlfc-bg p { color: rgba(247,244,237,0.86); }
.mlfc-bg .wp-block-button.is-style-mlfc-link .wp-block-button__link { color: var(--mlfc-ivory); border-bottom-color: rgba(247,244,237,0.6); }
.mlfc-bg .wp-block-button.is-style-mlfc-link .wp-block-button__link:hover { color: var(--mlfc-ivory); border-bottom-color: var(--mlfc-gold); }

/* Hero strony głównej: pełna wysokość ekranu (minus nagłówek) */
.mlfc-section.mlfc-hero-full {
  min-height: calc(100svh - 76px);
  display: flex;
  align-items: flex-end;
  padding-block: clamp(96px, 14vh, 160px) clamp(48px, 8vh, 88px);
}
.mlfc-hero-full-content { max-width: 820px; }
.mlfc-hero-full-content > .eyebrow + h1 { margin-top: 18px; }
.mlfc-hero-full-content > h1 + .mlfc-lead { margin-top: 22px; }
.mlfc-hero-full-content > .mlfc-lead + .wp-block-buttons { margin-top: 32px; }
h1.mlfc-display {
  font-size: clamp(44px, 6.6vw, 92px);
  line-height: 1.0;
  letter-spacing: -0.012em;
  font-weight: 500;
  text-wrap: balance;
}
h1.mlfc-display-sm {
  font-size: clamp(36px, 4.8vw, 64px);
  line-height: 1.04;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-wrap: balance;
}
.mlfc-lead-light { font-size: clamp(16px, 1.3vw, 18.5px); max-width: 58ch; }
.mlfc-hero-full .wp-block-buttons { gap: 20px; }

/* Hero podstrony ze zdjęciem */
.mlfc-section.mlfc-hero-sub-bg {
  min-height: clamp(480px, 64svh, 720px);
  display: flex;
  align-items: flex-end;
  padding-block: clamp(80px, 12vh, 120px) clamp(48px, 7vh, 80px);
}
.mlfc-hero-sub-content { max-width: 800px; }
.mlfc-hero-sub-content > .eyebrow + h1 { margin-top: 16px; }
.mlfc-hero-sub-content > h1 + .mlfc-lead { margin-top: 20px; }
.mlfc-hero-sub-content > .mlfc-lead + .wp-block-buttons { margin-top: 28px; }
.mlfc-hero .mlfc-hero-sub-content .mlfc-lead { max-width: 66ch; }

/* Pasek 4 wyróżników */
.mlfc-section.mlfc-wyrozniki { padding-block: clamp(40px, 6vw, 72px); }
.wp-block-columns.mlfc-wyrozniki-cols { gap: clamp(24px, 3vw, 40px); }
.mlfc-wyroznik { border-top: 1px solid var(--mlfc-hairline); padding-top: 20px; }
.mlfc-wyroznik > .mlfc-numeral + h3 { margin-top: 10px; }
.mlfc-wyroznik > h3 + p { margin-top: 10px; }
.mlfc-wyroznik h3 { font-size: 21px; }
.mlfc-wyroznik p:not(.mlfc-numeral) { font-size: 14.5px; line-height: 1.65; color: var(--mlfc-anthracite-soft); }

/* Nagłówek sekcji */
.mlfc-narrow > .eyebrow + h2 { margin-top: 14px; }
.mlfc-narrow > h2 + .mlfc-soft { margin-top: 16px; }
.mlfc-narrow > h2 + p { max-width: 58ch; }
.mlfc-inner > .mlfc-narrow + .mlfc-oferta,
.mlfc-inner > .mlfc-narrow + .mlfc-portfolio,
.mlfc-inner > .mlfc-row-between + .mlfc-portfolio,
.mlfc-inner > .mlfc-narrow + .wp-block-columns,
.mlfc-inner > .mlfc-narrow + .wp-block-buttons { margin-top: 44px; }
.mlfc-inner > .mlfc-portfolio + .wp-block-buttons { margin-top: 32px; }

/* Lista oferty z cenami */
.mlfc-oferta { border-bottom: 1px solid var(--mlfc-hairline); }
.mlfc-oferta > .mlfc-oferta-row {
  display: flex; flex-wrap: wrap; align-items: flex-start;
  gap: 16px 32px;
  border-top: 1px solid var(--mlfc-hairline);
  padding-block: 30px;
  margin-top: 0;
}
.mlfc-oferta-row > .mlfc-numeral { flex: 0 0 40px; font-size: 15px; padding-top: 8px; margin: 0; }
.mlfc-oferta-row > .mlfc-oferta-main { flex: 1 1 420px; margin: 0; }
.mlfc-oferta-row > .mlfc-oferta-side { flex: 0 0 200px; margin: 0; text-align: right; }
.mlfc-oferta-main h3 { font-size: clamp(24px, 2.2vw, 30px); line-height: 1.15; }
.mlfc-oferta-main h3 a:hover { color: var(--mlfc-gold); }
.mlfc-oferta-main > h3 + p { margin-top: 10px; font-size: 15px; line-height: 1.65; color: var(--mlfc-anthracite-soft); max-width: 62ch; }
.mlfc-oferta-side > .mlfc-price + .mlfc-more { margin-top: 6px; }
.mlfc-price { font-family: var(--mlfc-serif); font-size: 24px; font-weight: 600; line-height: 1.2; color: var(--mlfc-anthracite); }
.mlfc-price.mlfc-price-lg { font-size: clamp(30px, 3vw, 40px); }
.mlfc-more { font-size: 13px; font-weight: 500; letter-spacing: 0.02em; }
.mlfc-more a::after { content: " \2192"; }
.mlfc-inner > .mlfc-oferta + .mlfc-note { margin-top: 20px; max-width: 70ch; }

/* Pasek cen pod hero usługi */
.mlfc-section.mlfc-cena-pasek { border-block: 1px solid var(--mlfc-hairline); background: rgba(217,217,217,0.28); }
.wp-block-columns.mlfc-cena-cols { gap: clamp(24px, 3vw, 48px); }
.mlfc-cena-col { border-left: 1px solid var(--mlfc-gold); padding-left: 22px; }
.mlfc-cena-col > .eyebrow + .mlfc-price { margin-top: 10px; }
.mlfc-cena-col > .mlfc-price + .mlfc-note { margin-top: 6px; }
.mlfc-inner > .mlfc-cena-cols + .mlfc-note { margin-top: 24px; }

/* Kafle realizacji */
.mlfc-portfolio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; }
.mlfc-portfolio > .mlfc-tile { margin: 0; }
.mlfc-portfolio.mlfc-portfolio-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mlfc-portfolio.mlfc-portfolio-3 > .mlfc-tile:first-child { grid-column: 1 / -1; }
.mlfc-tile figure { overflow: hidden; margin: 0; }
.mlfc-tile img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 1.1s cubic-bezier(.2,.7,.2,1); }
.mlfc-portfolio-3 > .mlfc-tile:first-child img { aspect-ratio: 16 / 8; }
.mlfc-tile:hover img { transform: scale(1.035); }
.mlfc-tile > .wp-block-image + .mlfc-tile-caption { margin-top: 12px; }
.mlfc-tile-caption { font-size: 15px; line-height: 1.5; }
.mlfc-tile-caption a:hover { color: var(--mlfc-gold); }
.mlfc-tile-cat { display: inline-block; font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.14em; color: var(--mlfc-gold); font-weight: 600; margin-bottom: 2px; }

/* Kafle etapów (przed / koncepcja / wizualizacja / po) */
.wp-block-columns.mlfc-etapy { gap: clamp(20px, 2.5vw, 32px); }
.mlfc .wp-block-columns.mlfc-etapy-4 { flex-wrap: wrap; }
.mlfc .wp-block-columns.mlfc-etapy-4 > .wp-block-column { flex: 0 0 calc(25% - 24px); }
.mlfc-etap figure { overflow: hidden; }
.mlfc-etap > .wp-block-image + .mlfc-etap-label { margin-top: 14px; }
.mlfc-etap > .mlfc-etap-label + .mlfc-note { margin-top: 4px; }
.mlfc-etap-label { font-family: var(--mlfc-serif); font-size: 20px; font-weight: 600; line-height: 1.2; }

/* Proces */
.wp-block-columns.mlfc-proces { gap: clamp(24px, 3vw, 40px); }
.mlfc .wp-block-columns.mlfc-proces-6 { flex-wrap: wrap; row-gap: 40px; }
.mlfc .wp-block-columns.mlfc-proces-6 > .wp-block-column { flex: 0 0 calc(33.333% - 27px); }
.mlfc-krok { border-top: 1px solid var(--mlfc-hairline); padding-top: 20px; }
.mlfc-krok > .mlfc-numeral { font-size: 15px; }
.mlfc-krok > .mlfc-numeral + h3 { margin-top: 10px; }
.mlfc-krok > h3 + p { margin-top: 10px; }
.mlfc-krok h3 { font-size: 22px; }
.mlfc-krok p:not(.mlfc-numeral) { font-size: 14.5px; line-height: 1.65; color: var(--mlfc-anthracite-soft); }
.mlfc-proces-historia .mlfc-krok p:not(.mlfc-numeral) { font-size: 15px; color: var(--mlfc-anthracite); }

/* Lista z „ptaszkami” */
ul.mlfc-check { list-style: none; padding: 0; margin: 0; }
ul.mlfc-check li { position: relative; padding-left: 28px; font-size: 15px; line-height: 1.6; }
ul.mlfc-check li + li { margin-top: 10px; }
ul.mlfc-check li::before {
  content: "";
  position: absolute; left: 2px; top: 0.55em;
  width: 10px; height: 6px;
  border-left: 1.5px solid var(--mlfc-gold);
  border-bottom: 1.5px solid var(--mlfc-gold);
  transform: rotate(-45deg);
}
ul.mlfc-check strong { font-weight: 600; }
.mlfc-box-gold { background: rgba(212,175,124,0.18); }
.mlfc-box > h3 + .mlfc-check { margin-top: 16px; }
.wp-block-columns.mlfc-dwie-listy { gap: clamp(20px, 2.5vw, 32px); }

/* FAQ (blok Szczegóły) */
.wp-block-columns.mlfc-faq-cols { gap: clamp(32px, 5vw, 80px); }
.mlfc .wp-block-columns.mlfc-faq-cols > .mlfc-faq-head { flex: 0 0 34%; }
.mlfc-faq-head > .eyebrow + h2 { margin-top: 14px; }
.mlfc-faq-head > h2 + p { margin-top: 16px; font-size: 15px; }
.mlfc-faq { border-bottom: 1px solid var(--mlfc-hairline); }
.mlfc-faq > details { margin: 0; border-top: 1px solid var(--mlfc-hairline); }
.mlfc-faq details > summary {
  list-style: none;
  cursor: pointer;
  position: relative;
  padding: 20px 44px 20px 0;
  font-family: var(--mlfc-serif);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.3;
}
.mlfc-faq details > summary::-webkit-details-marker { display: none; }
.mlfc-faq details > summary::after {
  content: "+";
  position: absolute; right: 4px; top: 50%;
  transform: translateY(-50%);
  font-family: var(--mlfc-sans);
  font-weight: 300;
  font-size: 26px;
  color: var(--mlfc-gold);
  transition: transform .3s ease;
}
.mlfc-faq details[open] > summary::after { transform: translateY(-50%) rotate(45deg); }
.mlfc-faq details[open] > summary { color: var(--mlfc-anthracite); }
.mlfc-faq details > summary:hover { color: var(--mlfc-gold); }
.mlfc-faq details > p { margin: 0; padding: 0 44px 22px 0; font-size: 15px; line-height: 1.7; color: var(--mlfc-anthracite-soft); max-width: 64ch; }

/* Cennik — karty */
.wp-block-columns.mlfc-cennik { gap: clamp(20px, 2.5vw, 32px); }
.mlfc-cennik-card { border: 1px solid rgba(184,158,134,0.45); border-radius: 2px; padding: 36px 30px; }
.mlfc-cennik-card:nth-child(2) { background: rgba(217,217,217,0.35); border-color: var(--mlfc-gold); }
.mlfc-cennik-card > .eyebrow + .mlfc-price { margin-top: 12px; }
.mlfc-cennik-card > .mlfc-price + p { margin-top: 12px; font-size: 14.5px; line-height: 1.65; }
.mlfc-cennik-card > p + .mlfc-check { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--mlfc-hairline); }
.mlfc-cennik-card > .mlfc-check li { font-size: 14px; }
.mlfc-cennik-card > .mlfc-check + .wp-block-buttons { margin-top: 28px; }
.mlfc-cennik-card .wp-block-button__link { width: 100%; justify-content: center; }

/* Stacjonarnie / online */
.mlfc-box > p + .wp-block-buttons { margin-top: 16px; }

/* Ciemny kontakt v2 */
.mlfc-dark .mlfc-inner > .wp-block-columns { gap: clamp(32px, 5vw, 80px); }
.mlfc-dark .wp-block-column > .eyebrow + h2 { margin-top: 14px; }
.mlfc-dark .wp-block-column > h2 + p { margin-top: 18px; }
.mlfc-dark .wp-block-column > p + .mlfc-contact-data { margin-top: 28px; }

/* Formularz — pole wyboru tematu i załączniki */
.mlfc-form .mlfc-select {
  appearance: none; -webkit-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, rgba(247,244,237,0.7) 50%), linear-gradient(135deg, rgba(247,244,237,0.7) 50%, transparent 50%);
  background-position: calc(100% - 14px) 50%, calc(100% - 8px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 28px;
  cursor: pointer;
}
.mlfc-form .mlfc-select option { color: var(--mlfc-anthracite); background: var(--mlfc-ivory); }
.mlfc-form .mlfc-files { display: block; border: 1px dashed rgba(247,244,237,0.4); border-radius: 3px; padding: 14px 16px; cursor: pointer; }
.mlfc-form .mlfc-files:hover { border-color: var(--mlfc-gold); }
.mlfc-form .mlfc-files-label { display: block; font-size: 12.5px; color: var(--mlfc-ivory-soft); line-height: 1.5; margin-bottom: 8px; }
.mlfc-form .mlfc-files input { color: var(--mlfc-ivory); font-size: 13px; font-family: var(--mlfc-sans); width: 100%; }
.mlfc-form .mlfc-files input::file-selector-button {
  background: transparent; color: var(--mlfc-ivory);
  border: 1px solid rgba(247,244,237,0.5); border-radius: 3px;
  padding: 6px 12px; margin-right: 10px; font-family: var(--mlfc-sans); font-size: 12.5px; cursor: pointer;
}

/* Nagłówek po przewinięciu */
.mlfc-header { transition: box-shadow .3s ease; }
.mlfc-header.is-scrolled { box-shadow: 0 6px 24px rgba(47,47,47,0.08); }

/* Pojawianie się sekcji (klasy nadaje skrypt; bez JS wszystko jest widoczne) */
.mlfc-reveal { opacity: 0; transform: translateY(22px); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
.mlfc-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .mlfc-reveal { opacity: 1; transform: none; transition: none; }
  .mlfc-tile img { transition: none; }
}

/* =====================================================================
   RESPONSYWNOŚĆ
   ===================================================================== */
@media (max-width: 781px) {
  .mlfc-portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .mlfc-portfolio-grid > :first-child { grid-row: auto; aspect-ratio: 4 / 3; }
  .mlfc-box { padding: 28px 24px; }
  .mlfc-header .mlfc-header-row { padding-block: 12px; }
  .mlfc-brand img { height: 30px; }
  .mlfc-brand .mlfc-brand-name { font-size: 14.5px; letter-spacing: 0.04em; }
  .mlfc-nav-cta { display: none; }
  .mlfc-footer-links { display: flex; flex-direction: column; gap: 14px; }
  .mlfc-footer-links a { margin-right: 0; }
  .eyebrow.mlfc-eyebrow-lg { font-size: 18px; }
}
@media (max-width: 1023px) {
  .mlfc .wp-block-columns.mlfc-etapy-4 > .wp-block-column { flex: 0 0 calc(50% - 16px); }
  .mlfc .wp-block-columns.mlfc-proces-6 > .wp-block-column { flex: 0 0 calc(50% - 20px); }
}
@media (max-width: 781px) {
  .mlfc-section.mlfc-hero-full { min-height: calc(100svh - 60px); padding-top: 96px; }
  .mlfc-portfolio, .mlfc-portfolio.mlfc-portfolio-3 { grid-template-columns: 1fr; gap: 24px; }
  .mlfc-portfolio-3 > .mlfc-tile:first-child img { aspect-ratio: 4 / 3; }
  .mlfc-oferta-row > .mlfc-numeral { flex-basis: 100%; padding-top: 0; }
  .mlfc-oferta-row > .mlfc-oferta-side { flex-basis: 100%; text-align: left; }
  .mlfc-oferta > .mlfc-oferta-row { gap: 8px 0; padding-block: 24px; }
  .mlfc-oferta-side > .mlfc-price { font-size: 21px; }
  .mlfc .wp-block-columns.mlfc-etapy-4 > .wp-block-column,
  .mlfc .wp-block-columns.mlfc-proces-6 > .wp-block-column,
  .mlfc .wp-block-columns.mlfc-faq-cols > .mlfc-faq-head { flex-basis: 100%; }
  .mlfc-wyroznik { padding-top: 16px; }
  .mlfc-cena-col { border-left: 0; border-top: 1px solid var(--mlfc-gold); padding-left: 0; padding-top: 14px; }
  .mlfc-faq details > summary { font-size: 19px; padding-right: 36px; }
  .mlfc-cennik-card { padding: 28px 22px; }
}
@media (max-width: 480px) {
  .mlfc-portfolio-grid { grid-template-columns: 1fr; }
  .mlfc-brand .mlfc-brand-name { display: none; }
}

/* Oferta na start (promocja) */
.mlfc-promo { padding: clamp(28px, 4vw, 44px); border: 1px solid var(--mlfc-gold); }
.mlfc-promo > .eyebrow + h3 { margin-top: 12px; }
.mlfc-promo > h3 + p { margin-top: 12px; max-width: 70ch; }
.mlfc-promo > p + .wp-block-buttons { margin-top: 20px; }
.mlfc-promo h3 { font-size: clamp(22px, 2.4vw, 30px); }
.wp-block-columns.mlfc-cena-cols > .wp-block-column { min-width: 0; }
/* Pasek cen z 4 kolumnami — mniejsze kwoty, żeby się nie łamały */
.mlfc-cena-cols > .wp-block-column:nth-last-child(4) .mlfc-price-lg,
.mlfc-cena-cols > .wp-block-column:nth-last-child(4) ~ .wp-block-column .mlfc-price-lg { font-size: clamp(24px, 2.1vw, 30px); white-space: nowrap; }
/* 4 karty w rzędzie (Dla biznesu) — na tabletach 2×2 */
.mlfc .wp-block-columns.mlfc-cards-4 { flex-wrap: wrap; }
.mlfc .wp-block-columns.mlfc-cards-4 > .wp-block-column { flex: 0 0 calc(50% - 20px); }
/* 6 kart (Dla biznesu): 3 × 2, na tabletach 2 × 3 */
.mlfc .wp-block-columns.mlfc-cards-6 { flex-wrap: wrap; }
.mlfc .wp-block-columns.mlfc-cards-6 > .wp-block-column { flex: 0 0 calc(33.333% - 27px); }
@media (max-width: 1023px) { .mlfc .wp-block-columns.mlfc-cards-6 > .wp-block-column { flex: 0 0 calc(50% - 20px); } }
@media (max-width: 781px) { .mlfc .wp-block-columns.mlfc-cards-6 > .wp-block-column { flex-basis: 100%; } }
