/* ============================================================
   TAFFYDEVS — style.css
   Blue theme (EN default), Red theme (PL)
   ============================================================ */

/* ── GOOGLE FONTS ── */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;600;700;800;900&family=Montserrat:wght@300;400;500;600;700;800&family=Poppins:wght@300;400;500;600;700&display=swap');

/* ── VARIABLES ── */
:root {
  /* Blue theme (default) */
  --primary:        #0A4DB3;
  --primary-dark:   #012A73;
  --primary-mid:    #1F6BE3;
  --primary-light:  #33A3FF;
  --bg:             #F0F4FF;
  --bg-soft:        #E0EAFF;
  --bg-softer:      #D0DCFF;
  --text:           #071440;
  --text-muted:     #2A3D6B;
  --text-light:     #5B72A8;
  --nav-bg:         #003B9A;
  --nav-text:       #FFFFFF;
  --card-bg:        #FFFFFF;
  --card-border:    rgba(10,77,179,0.12);
  --hero-gradient:  linear-gradient(135deg,#012A73 0%,#003B9A 40%,#0A4DB3 70%,#1F6BE3 100%);
  --section-alt:    #E8F0FF;
  --loader-bg:      #012A73;
  --badge-bg:       rgba(10,77,179,0.08);
  --badge-text:     #0A4DB3;
  --icon-color:     #0A4DB3;
  --shadow:         0 4px 24px rgba(10,77,179,0.10);
  --shadow-lg:      0 12px 48px rgba(10,77,179,0.18);
  --transition:     0.32s cubic-bezier(0.4,0,0.2,1);
  --radius:         14px;
  --radius-sm:      8px;
  --font-heading:   'Orbitron', sans-serif;
  --font-body:      'Poppins', sans-serif;
  --font-ui:        'Montserrat', sans-serif;
}

html.lang-pl {
  --primary:        #D71920;
  --primary-dark:   #B8121A;
  --primary-mid:    #E02A34;
  --primary-light:  #F04B53;
  --bg:             #FFFFFF;
  --bg-soft:        #F2F2F2;
  --bg-softer:      #EDEDED;
  --text:           #1A1A1A;
  --text-muted:     #555555;
  --text-light:     #888888;
  --nav-bg:         #FFFFFF;
  --nav-text:       #1A1A1A;
  --card-bg:        #FFFFFF;
  --card-border:    rgba(215,25,32,0.12);
  --hero-gradient:  linear-gradient(135deg,#1A0003 0%,#3D0008 40%,#6B0010 70%,#D71920 100%);
  --section-alt:    #FDF0F0;
  --loader-bg:      #1A0003;
  --badge-bg:       rgba(215,25,32,0.08);
  --badge-text:     #D71920;
  --icon-color:     #D71920;
  --shadow:         0 4px 24px rgba(215,25,32,0.10);
  --shadow-lg:      0 12px 48px rgba(215,25,32,0.18);
}

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--text);
  line-height: 1.7;
  overflow-x: hidden;
  transition: background var(--transition), color var(--transition);
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
input, textarea, select { font-family: inherit; }

/* ── SVG ICONS ── */
.icon {
  width: 20px; height: 20px;
  display: inline-block; flex-shrink: 0;
  fill: currentColor; vertical-align: middle;
}
.icon-sm { width: 16px; height: 16px; }
.icon-lg { width: 28px; height: 28px; }
.icon-xl { width: 40px; height: 40px; }

/* ── LOADER ── */
#loader {
  position: fixed; inset: 0;
  background: var(--loader-bg);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  z-index: 9999;
  transition: opacity 0.8s ease, visibility 0.8s ease;
}
#loader.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.loader-logo {
  width: 140px; height: 140px; object-fit: contain;
  animation: loaderPulse 1.3s ease-in-out infinite alternate;
}
.loader-text {
  font-family: var(--font-heading); color: #FFF;
  font-size: 0.7rem; letter-spacing: 0.38em; text-transform: uppercase;
  margin-top: 22px; opacity: 0.8;
}
.loader-bar-wrap {
  width: 190px; height: 3px;
  background: rgba(255,255,255,0.15);
  border-radius: 99px; margin-top: 18px; overflow: hidden;
}
.loader-bar {
  height: 100%; background: var(--primary-light);
  border-radius: 99px; animation: loaderBar var(--loader-bar-duration, 4000ms) linear forwards;
}
@keyframes loaderPulse {
  0%   { transform: scale(1) rotate(-1deg); filter: drop-shadow(0 0 18px rgba(51,163,255,0.4)); }
  100% { transform: scale(1.07) rotate(1deg); filter: drop-shadow(0 0 36px rgba(51,163,255,0.7)); }
}
@keyframes loaderBar { 0% { width:0% } 100% { width:100% } }

/* ── NAVBAR ── */
#navbar {
  position: sticky; top: 0; z-index: 1000;
  background: var(--nav-bg);
  box-shadow: 0 2px 20px rgba(0,0,0,0.12);
  transition: background var(--transition);
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.nav-inner {
  max-width: 1280px; margin: 0 auto; padding: 0 24px;
  display: flex; align-items: center; gap: 14px; height: 74px;
}
.nav-logo { display: flex; align-items: center; flex-shrink: 0; }
.nav-logo img { height: 60px; width: auto; object-fit: contain; }
.nav-logo-placeholder {
  font-family: var(--font-heading); font-size: 1.1rem; font-weight: 800;
  color: #FFFFFF; letter-spacing: 0.04em;
}

#navbar nav[role="navigation"] { flex: 1; display: flex; justify-content: center; min-width: 0; }
.nav-links { display: flex; align-items: center; justify-content: center; gap: 2px; margin-left: 0; }
.nav-links a {
  font-family: var(--font-ui); font-size: 0.76rem; font-weight: 600;
  letter-spacing: 0.06em; text-transform: uppercase;
  padding: 7px 10px; border-radius: var(--radius-sm);
  color: rgba(255,255,255,0.8);
  transition: color var(--transition), background var(--transition);
}
html.lang-pl .nav-links a { color: var(--text-muted); }
.nav-links a:hover,
.nav-links a.active {
  color: #FFF; background: rgba(255,255,255,0.12);
}
html.lang-pl .nav-links a:hover,
html.lang-pl .nav-links a.active {
  color: var(--primary); background: var(--badge-bg);
}

/* Language Toggle */
.lang-toggle {
  display: flex; align-items: center; gap: 7px;
  font-family: var(--font-ui); font-size: 0.76rem; font-weight: 700; flex-shrink: 0;
}
.lang-lbl { color: rgba(255,255,255,0.6); transition: color var(--transition); }
html.lang-pl .lang-lbl { color: var(--text-muted); }
.lang-lbl.active { color: #FFF; }
html.lang-pl .lang-lbl.active { color: var(--primary); }
.toggle-sw {
  position: relative; width: 42px; height: 22px;
  background: rgba(255,255,255,0.18); border-radius: 99px;
  cursor: pointer; border: 2px solid rgba(255,255,255,0.25);
  transition: background var(--transition);
}
html.lang-pl .toggle-sw { background: var(--bg-softer); border-color: var(--card-border); }
.toggle-sw::after {
  content: ''; position: absolute; top: 2px; left: 2px;
  width: 14px; height: 14px; border-radius: 50%;
  background: #FFF; transition: transform var(--transition);
}
html:not(.lang-pl) .toggle-sw::after { transform: translateX(20px); }

.nav-socials {
  display: flex; align-items: center; gap: 6px; flex-shrink: 0;
}
.nav-social-btn {
  width: 32px; height: 32px; border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,0.78);
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  transition: background var(--transition), color var(--transition), transform var(--transition);
}
.nav-social-btn:hover { background: rgba(255,255,255,0.14); color: #FFF; transform: translateY(-1px); }
html.lang-pl .nav-social-btn {
  color: var(--text-muted);
  border-color: var(--card-border);
  background: var(--bg-soft);
}
html.lang-pl .nav-social-btn:hover { color: var(--primary); background: var(--badge-bg); }

/* Nav CTA */
.nav-cta {
  font-family: var(--font-ui); font-size: 0.76rem; font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase;
  padding: 9px 18px; border-radius: var(--radius-sm);
  background: var(--primary-light); color: #FFF;
  transition: background var(--transition), transform var(--transition);
  flex-shrink: 0; white-space: nowrap;
}
html.lang-pl .nav-cta { background: var(--primary); }
.nav-cta:hover { filter: brightness(1.1); transform: translateY(-1px); }

/* Hamburger */
.hamburger { display: none; flex-direction: column; gap: 5px; padding: 8px; }
.hamburger span {
  display: block; width: 22px; height: 2px;
  background: #FFF; border-radius: 99px;
  transition: transform 0.3s, opacity 0.3s;
}
html.lang-pl .hamburger span { background: var(--text); }
.hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

.mobile-nav {
  display: none; flex-direction: column; gap: 3px;
  background: var(--nav-bg); padding: 12px 20px 20px;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.mobile-nav.open { display: flex; }
.mobile-nav a {
  font-family: var(--font-ui); font-size: 0.88rem; font-weight: 600;
  padding: 10px 14px; border-radius: var(--radius-sm);
  color: rgba(255,255,255,0.85);
  transition: color var(--transition), background var(--transition);
}
html.lang-pl .mobile-nav a { color: var(--text-muted); }
.mobile-nav a:hover { color: #FFF; background: rgba(255,255,255,0.1); }

@media (max-width: 960px) {
  .nav-links, .nav-cta, .nav-socials { display: none; }
  #navbar nav[role="navigation"] { flex: 1; }
  .hamburger { display: flex; }
}

/* ── HERO ── */
#hero {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background: var(--hero-gradient); position: relative; overflow: hidden; text-align: center;
}
.hero-geo { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.geo { position: absolute; border-radius: 50%; background: rgba(255,255,255,0.03); animation: geoFloat 9s ease-in-out infinite alternate; }
.geo:nth-child(1) { width:580px; height:580px; top:-200px; left:-180px; animation-delay:0s; }
.geo:nth-child(2) { width:380px; height:380px; bottom:-140px; right:-90px; animation-delay:2s; }
.geo:nth-child(3) { width:180px; height:180px; top:28%; left:62%; animation-delay:4s; }
.geo:nth-child(4) { width:90px; height:90px; top:58%; left:18%; border:2px solid rgba(255,255,255,0.05); background:none; animation-delay:6s; }
@keyframes geoFloat { 0% { transform:translateY(0) rotate(0deg); } 100% { transform:translateY(-28px) rotate(6deg); } }
.hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.025) 1px,transparent 1px); background-size:60px 60px; }
.hero-content { position:relative; z-index:2; max-width:820px; padding:120px 24px 60px; display:flex; flex-direction:column; align-items:center; gap:20px; }
.hero-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.15); color:rgba(255,255,255,0.9); font-family:var(--font-ui); font-size:0.68rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; padding:6px 16px; border-radius:99px; }
.hero-badge-dot { width:6px; height:6px; border-radius:50%; background:var(--primary-light); animation:blink 1.5s infinite; }
html.lang-pl .hero-badge-dot { background:#F04B53; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.2} }
.hero-eyebrow { font-family:var(--font-ui); font-size:0.74rem; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--primary-light); }
.hero-title { font-family:var(--font-heading); font-weight:800; font-size:clamp(1.9rem,5vw,3.6rem); line-height:1.15; color:#FFF; letter-spacing:-0.02em; }
.hero-title em { color:var(--primary-light); font-style:normal; }
.hero-sub { font-family:var(--font-body); font-size:clamp(0.93rem,2vw,1.1rem); font-weight:300; color:rgba(255,255,255,0.8); max-width:560px; line-height:1.85; }
.hero-actions { display:flex; flex-wrap:wrap; gap:13px; justify-content:center; }
.btn-primary { font-family:var(--font-ui); font-size:0.82rem; font-weight:700; letter-spacing:0.07em; text-transform:uppercase; padding:13px 26px; border-radius:var(--radius-sm); background:var(--primary); color:#FFF; transition:filter var(--transition),transform var(--transition),box-shadow var(--transition); box-shadow:0 4px 18px rgba(0,0,0,0.28); display:inline-flex; align-items:center; gap:8px; }
.btn-primary:hover { filter:brightness(1.12); transform:translateY(-2px); box-shadow:0 8px 28px rgba(0,0,0,0.35); }
.btn-outline { font-family:var(--font-ui); font-size:0.82rem; font-weight:700; letter-spacing:0.07em; text-transform:uppercase; padding:13px 26px; border-radius:var(--radius-sm); background:transparent; color:#FFF; border:2px solid rgba(255,255,255,0.4); transition:border-color var(--transition),background var(--transition),transform var(--transition); display:inline-flex; align-items:center; gap:8px; }
.btn-outline:hover { border-color:#FFF; background:rgba(255,255,255,0.08); transform:translateY(-2px); }
.hero-stats { display:flex; flex-wrap:wrap; gap:28px; justify-content:center; padding-top:26px; border-top:1px solid rgba(255,255,255,0.1); width:100%; }
.hero-stat { text-align:center; }
.hero-stat-num { font-family:var(--font-heading); font-size:1.85rem; font-weight:800; color:#FFF; }
.hero-stat-num span { color:var(--primary-light); }
.hero-stat-label { font-family:var(--font-ui); font-size:0.66rem; font-weight:600; color:rgba(255,255,255,0.52); letter-spacing:0.1em; text-transform:uppercase; }
.scroll-hint { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:5px; color:rgba(255,255,255,0.42); font-family:var(--font-ui); font-size:0.64rem; letter-spacing:0.16em; text-transform:uppercase; animation:scrollB 2.2s infinite; }
@keyframes scrollB { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(7px)} }

/* ── CLIENT LOGO STRIP ── */
.client-strip {
  background: var(--card-bg);
  border-top: 1px solid var(--card-border);
  border-bottom: 1px solid var(--card-border);
  padding: 28px 0; overflow: hidden; position: relative;
}
.client-strip::before,
.client-strip::after {
  content: ''; position: absolute; top: 0; bottom: 0; width: 100px; z-index: 2;
}
.client-strip::before { left: 0; background: linear-gradient(to right, var(--card-bg), transparent); }
.client-strip::after  { right: 0; background: linear-gradient(to left, var(--card-bg), transparent); }
.client-track {
  display: flex; gap: 64px; align-items: center;
  animation: scrollTrack 28s linear infinite;
  width: max-content;
}
.client-track:hover { animation-play-state: paused; }
@keyframes scrollTrack { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.client-logo-item {
  flex-shrink: 0; display: flex; align-items: center; justify-content: center;
  height: 68px; width: 180px;
  opacity: 1; filter: none;
  transition: opacity var(--transition), filter var(--transition);
}
.client-logo-item:hover { opacity: 1; filter: none; }
.client-logo-item img { max-height: 62px; max-width: 170px; object-fit: contain; }
/* Placeholder when no image */
.client-logo-item .logo-text {
  font-family: var(--font-ui); font-size: 0.72rem; font-weight: 700;
  color: var(--text-muted); letter-spacing: 0.08em; text-transform: uppercase;
  white-space: nowrap;
}

/* ── SECTION COMMON ── */
.section { padding: 88px 24px; }
.section-alt { background: var(--section-alt); }
.section-inner { max-width: 1200px; margin: 0 auto; }
.section-header { text-align: center; margin-bottom: 52px; }
.section-eyebrow { font-family:var(--font-ui); font-size:0.68rem; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--primary); margin-bottom:11px; display:block; }
.section-title { font-family:var(--font-heading); font-size:clamp(1.65rem,3.4vw,2.5rem); font-weight:800; line-height:1.2; color:var(--text); letter-spacing:-0.02em; }
.section-title em { color:var(--primary); font-style:normal; }
.section-sub { font-family:var(--font-body); font-size:0.97rem; color:var(--text-muted); max-width:560px; margin:13px auto 0; line-height:1.82; }

/* Scroll Reveal */
.reveal { opacity:0; transform:translateY(26px); transition:opacity 0.58s ease,transform 0.58s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:0.1s; }
.reveal-delay-2 { transition-delay:0.2s; }
.reveal-delay-3 { transition-delay:0.3s; }

/* ── USP ── */
.usp-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(285px,1fr)); gap:20px; }
.usp-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:var(--radius); padding:30px 24px; position:relative; overflow:hidden; transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition); }
.usp-card::before { content:''; position:absolute; top:0; left:0; width:3px; height:0; background:var(--primary); transition:height 0.4s ease; }
.usp-card:hover::before { height:100%; }
.usp-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--primary); }
.usp-icon-wrap { width:50px; height:50px; border-radius:11px; background:var(--badge-bg); display:flex; align-items:center; justify-content:center; margin-bottom:16px; color:var(--icon-color); transition:background var(--transition),color var(--transition); }
.usp-card:hover .usp-icon-wrap { background:var(--primary); color:#FFF; }
.usp-title { font-family:var(--font-ui); font-size:0.93rem; font-weight:700; color:var(--text); margin-bottom:9px; }
.usp-desc { font-size:0.852rem; color:var(--text-muted); line-height:1.72; }

/* ── ABOUT ── */
.about-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:56px; align-items:start; }
.about-photo-wrap { width:260px; height:280px; border-radius:var(--radius); overflow:hidden; border:3px solid var(--primary); margin-bottom:24px; box-shadow:var(--shadow-lg); }
.about-photo-wrap img { width:100%; height:100%; object-fit:cover; }
.about-photo-placeholder { width:260px; height:280px; border-radius:var(--radius); background:var(--badge-bg); border:3px solid var(--primary); display:flex; align-items:center; justify-content:center; margin-bottom:24px; color:var(--icon-color); }
.about-name { font-family:var(--font-heading); font-size:1.45rem; font-weight:800; color:var(--text); margin-bottom:4px; }
.about-role { font-family:var(--font-ui); font-size:0.77rem; font-weight:600; color:var(--primary); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:16px; }
.about-bio { font-size:0.9rem; color:var(--text-muted); line-height:1.82; margin-bottom:20px; }
.about-markets { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:24px; }
.market-tag { font-family:var(--font-ui); font-size:0.7rem; font-weight:600; padding:5px 13px; border-radius:99px; background:var(--badge-bg); color:var(--badge-text); }
.cv-btn { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-ui); font-size:0.78rem; font-weight:700; letter-spacing:0.07em; text-transform:uppercase; padding:11px 20px; border-radius:var(--radius-sm); background:var(--primary); color:#FFF; transition:filter var(--transition),transform var(--transition); }
.cv-btn:hover { filter:brightness(1.1); transform:translateY(-2px); }
.skills-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin-bottom:32px; }
.skill-item { background:var(--card-bg); border:1px solid var(--card-border); border-radius:var(--radius-sm); padding:15px; }
.skill-label { font-family:var(--font-ui); font-size:0.68rem; font-weight:700; color:var(--primary); margin-bottom:3px; text-transform:uppercase; letter-spacing:0.08em; }
.skill-impact { font-size:0.8rem; color:var(--text-muted); line-height:1.55; }
.timeline { position:relative; padding-left:28px; }
.timeline::before { content:''; position:absolute; left:6px; top:0; bottom:0; width:2px; background:var(--primary); opacity:0.22; }
.timeline-item { position:relative; margin-bottom:26px; }
.timeline-item::before { content:''; position:absolute; left:-26px; top:5px; width:11px; height:11px; border-radius:50%; background:var(--primary); box-shadow:0 0 0 3px var(--badge-bg); }
.timeline-year { font-family:var(--font-ui); font-size:0.65rem; font-weight:700; color:var(--primary); letter-spacing:0.1em; margin-bottom:2px; text-transform:uppercase; }
.timeline-title { font-family:var(--font-ui); font-size:0.88rem; font-weight:700; color:var(--text); margin-bottom:2px; }
.timeline-desc { font-size:0.8rem; color:var(--text-muted); line-height:1.58; }
@media(max-width:768px) { .about-grid{grid-template-columns:1fr;gap:32px} .skills-grid{grid-template-columns:1fr} }

/* ── PRICING ── */
.pricing-tabs { display:flex; justify-content:center; gap:5px; background:var(--bg-soft); padding:5px; border-radius:var(--radius); max-width:370px; margin:0 auto 26px; }
.pricing-tab { flex:1; font-family:var(--font-ui); font-size:0.76rem; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; padding:9px 14px; border-radius:var(--radius-sm); color:var(--text-muted); transition:all var(--transition); text-align:center; display:flex; align-items:center; justify-content:center; gap:6px; }
.pricing-tab.active { background:var(--primary); color:#FFF; box-shadow:var(--shadow); }
.currency-toggle { display:flex; justify-content:center; gap:7px; margin-bottom:40px; }
.currency-btn { font-family:var(--font-ui); font-size:0.72rem; font-weight:700; padding:6px 15px; border-radius:99px; border:2px solid var(--card-border); color:var(--text-muted); transition:all var(--transition); }
.currency-btn.active { background:var(--primary); border-color:var(--primary); color:#FFF; }
.pricing-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; }
.pricing-card { background:var(--card-bg); border:2px solid var(--card-border); border-radius:var(--radius); padding:30px 22px; position:relative; transition:transform var(--transition),box-shadow var(--transition); display:flex; flex-direction:column; }
.pricing-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); }
.pricing-card.popular { border-color:var(--primary); }
.popular-badge { position:absolute; top:-12px; left:50%; transform:translateX(-50%); font-family:var(--font-ui); font-size:0.64rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; background:var(--primary); color:#FFF; padding:4px 14px; border-radius:99px; white-space:nowrap; }
.pricing-tier { font-family:var(--font-heading); font-size:0.78rem; font-weight:700; color:var(--primary); letter-spacing:0.12em; text-transform:uppercase; margin-bottom:7px; }
.pricing-price { font-family:var(--font-heading); font-size:2.1rem; font-weight:800; color:var(--text); line-height:1; margin-bottom:4px; }
.pricing-price sup { font-size:0.88rem; vertical-align:top; margin-top:7px; margin-right:1px; }
.pricing-delivery { font-family:var(--font-ui); font-size:0.72rem; font-weight:600; color:var(--text-muted); margin-bottom:4px; display:flex; align-items:center; gap:5px; }
.pricing-payment { font-family:var(--font-ui); font-size:0.67rem; color:var(--primary); font-weight:600; margin-bottom:18px; background:var(--badge-bg); padding:4px 9px; border-radius:var(--radius-sm); display:inline-flex; align-items:center; gap:5px; }
.pricing-divider { border:none; border-top:1px solid var(--card-border); margin-bottom:16px; }
.pricing-features { flex:1; margin-bottom:22px; }
.pricing-features li { display:flex; align-items:flex-start; gap:8px; font-size:0.8rem; color:var(--text-muted); margin-bottom:8px; line-height:1.5; }
.pricing-features li .feat-check { color:var(--primary); flex-shrink:0; margin-top:2px; }
.pricing-cta { font-family:var(--font-ui); font-size:0.78rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; padding:11px 16px; border-radius:var(--radius-sm); background:var(--primary); color:#FFF; text-align:center; display:flex; align-items:center; justify-content:center; gap:7px; transition:filter var(--transition),transform var(--transition); }
.pricing-cta:hover { filter:brightness(1.1); transform:translateY(-1px); }
.pricing-cta.outline { background:transparent; border:2px solid var(--primary); color:var(--primary); }
.pricing-cta.outline:hover { background:var(--primary); color:#FFF; }

/* ── PROCESS ── */
.process-timeline { display:flex; position:relative; }
.process-timeline::before { content:''; position:absolute; top:32px; left:8%; right:8%; height:2px; background:var(--primary); opacity:0.18; z-index:0; }
.process-step { flex:1; min-width:130px; display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 10px; position:relative; z-index:1; }
.process-num { width:64px; height:64px; border-radius:50%; background:var(--primary); color:#FFF; font-family:var(--font-heading); font-size:1.2rem; font-weight:800; display:flex; align-items:center; justify-content:center; margin-bottom:16px; box-shadow:var(--shadow); flex-shrink:0; }
.process-title { font-family:var(--font-ui); font-size:0.87rem; font-weight:700; color:var(--text); margin-bottom:6px; }
.process-desc { font-size:0.78rem; color:var(--text-muted); line-height:1.6; }
.process-payment-note { font-family:var(--font-ui); font-size:0.65rem; font-weight:700; color:var(--primary); background:var(--badge-bg); padding:3px 9px; border-radius:99px; margin-top:9px; display:inline-flex; align-items:center; gap:4px; }
@media(max-width:768px) { .process-timeline{flex-direction:column;gap:26px} .process-timeline::before{display:none} .process-step{flex-direction:row;text-align:left;gap:16px} .process-num{min-width:50px;height:50px;font-size:0.95rem;margin-bottom:0} }

/* ── PORTFOLIO ── */
.portfolio-tabs { display:flex; justify-content:center; gap:7px; margin-bottom:40px; flex-wrap:wrap; }
.portfolio-tab { font-family:var(--font-ui); font-size:0.73rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; padding:8px 17px; border-radius:99px; border:2px solid var(--card-border); color:var(--text-muted); transition:all var(--transition); display:flex; align-items:center; gap:6px; }
.portfolio-tab.active { background:var(--primary); border-color:var(--primary); color:#FFF; }
.portfolio-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:22px; }
.portfolio-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:var(--radius); overflow:hidden; transition:transform var(--transition),box-shadow var(--transition); }
.portfolio-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.portfolio-thumb { height:200px; overflow:hidden; background:var(--bg-soft); position:relative; }
.portfolio-thumb img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease; }
.portfolio-card:hover .portfolio-thumb img { transform:scale(1.04); }
.portfolio-thumb-placeholder { height:200px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; }
.portfolio-thumb-placeholder .icon { width:36px; height:36px; color:var(--text-light); }
.portfolio-thumb-placeholder span { font-family:var(--font-ui); font-size:0.72rem; color:var(--text-light); }
.portfolio-info { padding:20px; }
.portfolio-name { font-family:var(--font-ui); font-size:0.92rem; font-weight:700; color:var(--text); margin-bottom:7px; }
.portfolio-desc { font-size:0.8rem; color:var(--text-muted); line-height:1.62; margin-bottom:13px; }
.portfolio-link { font-family:var(--font-ui); font-size:0.72rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--primary); display:inline-flex; align-items:center; gap:5px; border-bottom:2px solid var(--primary); padding-bottom:1px; transition:color var(--transition); }
.portfolio-link:hover { color:var(--primary-dark); }
.design-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px; }
.design-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:var(--radius-sm); overflow:hidden; transition:transform var(--transition),box-shadow var(--transition); cursor:pointer; }
.design-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.design-preview { height:150px; overflow:hidden; background:var(--bg-soft); display:flex; align-items:center; justify-content:center; }
.design-preview img { width:100%; height:100%; object-fit:cover; transition:opacity 0.25s ease, transform 0.35s ease; }
.design-card:hover .design-preview img { transform:scale(1.04); }
.design-preview-placeholder { color:var(--text-light); }
.design-preview-placeholder .icon { width:32px; height:32px; }
.design-label { padding:13px 14px; }
.design-name { font-family:var(--font-ui); font-size:0.83rem; font-weight:700; color:var(--text); margin-bottom:2px; }
.design-type { font-size:0.7rem; color:var(--text-muted); }
.portfolio-lightbox {
  position:fixed; inset:0; z-index:10000; display:none; align-items:center; justify-content:center;
  background:rgba(0,0,0,0.86); padding:28px;
}
.portfolio-lightbox.open { display:flex; }
.portfolio-lightbox-stage {
  width:min(100%,980px); display:flex; flex-direction:column; align-items:center; gap:14px;
}
.portfolio-lightbox-img {
  width:100%; max-height:78vh; object-fit:contain; background:#fff; border-radius:var(--radius-sm);
  box-shadow:0 20px 60px rgba(0,0,0,0.36);
}
.portfolio-lightbox-caption { color:#fff; font-family:var(--font-ui); font-size:0.9rem; text-align:center; }
.portfolio-lightbox-btn {
  position:absolute; top:50%; transform:translateY(-50%); width:44px; height:58px;
  display:flex; align-items:center; justify-content:center; border-radius:var(--radius-sm);
  background:rgba(255,255,255,0.12); color:#fff; border:1px solid rgba(255,255,255,0.18);
  transition:background var(--transition);
}
.portfolio-lightbox-btn:hover { background:rgba(255,255,255,0.22); }
.portfolio-lightbox-prev { left:24px; }
.portfolio-lightbox-next { right:24px; }
.portfolio-lightbox-close {
  position:absolute; top:18px; right:20px; width:42px; height:42px; border-radius:50%;
  color:#fff; background:rgba(255,255,255,0.12); font-size:1.6rem; line-height:1;
}
@media(max-width:640px) {
  .nav-logo img { height:52px; }
  .portfolio-lightbox { padding:18px; }
  .portfolio-lightbox-btn { width:38px; height:48px; }
  .portfolio-lightbox-prev { left:8px; }
  .portfolio-lightbox-next { right:8px; }
}
.testimonials-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:20px; }
.testimonial-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:var(--radius); padding:28px; transition:transform var(--transition); position:relative; }
.testimonial-card::before { content:'"'; position:absolute; top:12px; right:20px; font-family:Georgia,serif; font-size:4.5rem; color:var(--primary); opacity:0.09; line-height:1; }
.testimonial-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.testimonial-stars { display:flex; gap:3px; margin-bottom:11px; color:#FFB400; }
.testimonial-stars .icon { width:15px; height:15px; fill:#FFB400; }
.testimonial-text { font-size:0.86rem; color:var(--text-muted); line-height:1.75; margin-bottom:16px; font-style:italic; }
.testimonial-author { display:flex; align-items:center; gap:11px; }
.testimonial-avatar { width:42px; height:42px; border-radius:50%; overflow:hidden; background:var(--badge-bg); flex-shrink:0; display:flex; align-items:center; justify-content:center; color:var(--icon-color); }
.testimonial-avatar img { width:100%; height:100%; object-fit:cover; }
.testimonial-name { font-family:var(--font-ui); font-size:0.84rem; font-weight:700; color:var(--text); }
.testimonial-company { font-size:0.7rem; color:var(--primary); }

/* ── BLOG ── */
.blog-tabs { display:flex; justify-content:center; gap:5px; background:var(--bg-softer); padding:5px; border-radius:var(--radius); max-width:310px; margin:0 auto 32px; }
.blog-tab { flex:1; font-family:var(--font-ui); font-size:0.76rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; padding:8px 13px; border-radius:var(--radius-sm); color:var(--text-muted); transition:all var(--transition); text-align:center; display:flex; align-items:center; justify-content:center; gap:5px; }
.blog-tab.active { background:var(--primary); color:#FFF; }
.blog-panel { display:none; }
.blog-panel.active { display:block; }
.articles-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:20px; margin-bottom:26px; }
.article-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:var(--radius); overflow:hidden; transition:transform var(--transition),box-shadow var(--transition); text-decoration:none; color:inherit; display:block; }
.article-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.article-thumb { height:180px; overflow:hidden; background:var(--bg-soft); }
.article-thumb img { width:100%; height:100%; object-fit:cover; transition:transform 0.4s ease; }
.article-card:hover .article-thumb img { transform:scale(1.04); }
.article-thumb-placeholder { height:180px; display:flex; align-items:center; justify-content:center; background:var(--bg-soft); color:var(--text-light); }
.article-thumb-placeholder .icon { width:36px; height:36px; }
.article-body { padding:20px; }
.article-meta { display:flex; align-items:center; gap:9px; margin-bottom:9px; flex-wrap:wrap; }
.article-cat { font-family:var(--font-ui); font-size:0.62rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; background:var(--badge-bg); color:var(--badge-text); padding:3px 9px; border-radius:99px; }
.article-date { font-size:0.7rem; color:var(--text-light); display:flex; align-items:center; gap:4px; }
.article-title { font-family:var(--font-ui); font-size:0.93rem; font-weight:700; color:var(--text); margin-bottom:8px; line-height:1.38; }
.article-excerpt { font-size:0.8rem; color:var(--text-muted); line-height:1.7; margin-bottom:13px; }
.article-read-more { font-family:var(--font-ui); font-size:0.72rem; font-weight:700; letter-spacing:0.07em; text-transform:uppercase; color:var(--primary); display:inline-flex; align-items:center; gap:5px; }
.load-more-wrap { text-align:center; margin-top:10px; }
.load-more-btn { font-family:var(--font-ui); font-size:0.78rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; padding:11px 26px; border-radius:var(--radius-sm); border:2px solid var(--primary); color:var(--primary); transition:all var(--transition); background:transparent; display:inline-flex; align-items:center; gap:7px; }
.load-more-btn:hover { background:var(--primary); color:#FFF; }
.youtube-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; }
.video-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:var(--radius); overflow:hidden; transition:transform var(--transition),box-shadow var(--transition); }
.video-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.video-thumb { position:relative; height:165px; overflow:hidden; background:var(--bg-soft); display:flex; align-items:center; justify-content:center; }
.video-thumb img { width:100%; height:100%; object-fit:cover; }
.video-play-btn { position:absolute; width:50px; height:50px; border-radius:50%; background:var(--primary); display:flex; align-items:center; justify-content:center; color:#FFF; box-shadow:0 4px 18px rgba(0,0,0,0.3); transition:transform var(--transition); }
.video-card:hover .video-play-btn { transform:scale(1.1); }
.video-play-btn .icon { width:20px; height:20px; margin-left:2px; }
.video-info { padding:15px 17px; }
.video-title { font-family:var(--font-ui); font-size:0.85rem; font-weight:700; color:var(--text); line-height:1.38; margin-bottom:4px; }
.video-channel { font-size:0.7rem; color:var(--text-light); display:flex; align-items:center; gap:4px; }

/* ── BLOG ARTICLE PAGE ── */
.article-page { max-width:760px; margin:0 auto; padding:56px 24px 96px; }
.article-page-header { margin-bottom:32px; }
.article-back { display:inline-flex; align-items:center; gap:6px; font-family:var(--font-ui); font-size:0.74rem; font-weight:700; letter-spacing:0.07em; text-transform:uppercase; color:var(--primary); margin-bottom:28px; transition:gap var(--transition); }
.article-back:hover { gap:10px; }
.article-hero-img { width:100%; height:380px; object-fit:cover; border-radius:var(--radius); margin-bottom:32px; }
.article-hero-img-placeholder { width:100%; height:280px; background:var(--bg-soft); border-radius:var(--radius); margin-bottom:32px; display:flex; align-items:center; justify-content:center; color:var(--text-light); }
.article-page-title { font-family:var(--font-heading); font-size:clamp(1.5rem,3vw,2.2rem); font-weight:800; color:var(--text); line-height:1.22; margin-bottom:16px; }
.article-page-meta { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:32px; padding-bottom:24px; border-bottom:1px solid var(--card-border); }
.article-content { font-size:1rem; color:var(--text-muted); line-height:1.88; }
.article-content h2 { font-family:var(--font-heading); font-size:1.3rem; font-weight:700; color:var(--text); margin:32px 0 14px; }
.article-content h3 { font-family:var(--font-ui); font-size:1.05rem; font-weight:700; color:var(--text); margin:24px 0 10px; }
.article-content p { margin-bottom:16px; }
.article-content ul { margin:0 0 16px 20px; list-style:disc; }
.article-content ul li { margin-bottom:7px; }
.article-content strong { color:var(--text); font-weight:600; }
.article-content blockquote { border-left:3px solid var(--primary); padding:14px 20px; margin:24px 0; background:var(--badge-bg); border-radius:0 var(--radius-sm) var(--radius-sm) 0; font-style:italic; }
.related-articles { margin-top:56px; padding-top:40px; border-top:1px solid var(--card-border); }
.related-title { font-family:var(--font-heading); font-size:1.1rem; font-weight:700; color:var(--text); margin-bottom:20px; }

/* ── BOOKING ── */
.booking-wrap { background:var(--card-bg); border:1px solid var(--card-border); border-radius:var(--radius); max-width:740px; margin:0 auto; box-shadow:var(--shadow-lg); overflow:hidden; }
.booking-header { background:var(--primary); padding:26px 34px; text-align:center; }
.booking-header h3 { font-family:var(--font-heading); font-size:1.2rem; font-weight:800; color:#FFF; margin-bottom:5px; }
.booking-header p { color:rgba(255,255,255,0.78); font-size:0.85rem; }
.booking-progress { display:flex; align-items:center; padding:18px 34px; border-bottom:1px solid var(--card-border); overflow-x:auto; }
.progress-step { display:flex; flex-direction:column; align-items:center; flex:1; position:relative; text-align:center; min-width:68px; }
.progress-step:not(:last-child)::after { content:''; position:absolute; top:16px; left:50%; width:100%; height:2px; background:var(--card-border); z-index:0; }
.progress-step.done:not(:last-child)::after { background:var(--primary); }
.progress-dot { width:32px; height:32px; border-radius:50%; background:var(--bg-softer); color:var(--text-muted); font-family:var(--font-ui); font-size:0.76rem; font-weight:700; display:flex; align-items:center; justify-content:center; margin-bottom:4px; position:relative; z-index:1; transition:background var(--transition),color var(--transition); }
.progress-step.active .progress-dot, .progress-step.done .progress-dot { background:var(--primary); color:#FFF; }
.progress-label { font-family:var(--font-ui); font-size:0.59rem; font-weight:600; color:var(--text-muted); letter-spacing:0.05em; text-transform:uppercase; }
.progress-step.active .progress-label { color:var(--primary); }
.booking-body { padding:32px 34px; }
.form-step { display:none; }
.form-step.active { display:block; }
.form-step-title { font-family:var(--font-heading); font-size:1.05rem; font-weight:700; color:var(--text); margin-bottom:20px; }
.form-group { margin-bottom:16px; }
.form-label { display:block; font-family:var(--font-ui); font-size:0.72rem; font-weight:700; color:var(--text); margin-bottom:6px; letter-spacing:0.04em; text-transform:uppercase; }
.form-input, .form-textarea, .form-select { width:100%; padding:11px 13px; border-radius:var(--radius-sm); border:2px solid var(--card-border); background:var(--bg); font-family:var(--font-body); font-size:0.87rem; color:var(--text); transition:border-color var(--transition); outline:none; }
.form-input:focus, .form-textarea:focus, .form-select:focus { border-color:var(--primary); }
.form-textarea { min-height:90px; resize:vertical; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.form-check-group { display:flex; flex-wrap:wrap; gap:8px; }
.form-check-item { display:flex; align-items:center; gap:6px; background:var(--bg-soft); border:2px solid var(--card-border); border-radius:var(--radius-sm); padding:8px 13px; cursor:pointer; transition:border-color var(--transition); font-size:0.8rem; color:var(--text-muted); user-select:none; }
.form-check-item.selected { border-color:var(--primary); color:var(--primary); background:var(--badge-bg); }
.pkg-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.pkg-card { border:2px solid var(--card-border); border-radius:var(--radius-sm); padding:16px; cursor:pointer; transition:all var(--transition); }
.pkg-card.selected { border-color:var(--primary); background:var(--badge-bg); }
.pkg-name { font-family:var(--font-ui); font-size:0.85rem; font-weight:700; color:var(--text); margin-bottom:2px; }
.pkg-price { font-family:var(--font-heading); font-size:1.25rem; font-weight:800; color:var(--primary); }
.pkg-desc { font-size:0.72rem; color:var(--text-muted); margin-top:4px; }
.booking-footer { display:flex; align-items:center; justify-content:space-between; padding:20px 34px; border-top:1px solid var(--card-border); gap:13px; flex-wrap:wrap; }
.booking-nav-btn { font-family:var(--font-ui); font-size:0.77rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; padding:10px 22px; border-radius:var(--radius-sm); transition:all var(--transition); display:inline-flex; align-items:center; gap:6px; }
.booking-prev { background:transparent; border:2px solid var(--card-border); color:var(--text-muted); }
.booking-prev:hover { border-color:var(--primary); color:var(--primary); }
.booking-next { background:var(--primary); color:#FFF; border:2px solid transparent; }
.booking-next:hover { filter:brightness(1.08); }
.booking-next:disabled { opacity:0.65; cursor:wait; filter:none; }
.booking-step-indicator { font-family:var(--font-ui); font-size:0.72rem; color:var(--text-muted); }

/* ── CONTACT ── */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:start; }
.contact-item { display:flex; align-items:flex-start; gap:13px; margin-bottom:22px; }
.contact-icon-wrap { width:44px; height:44px; border-radius:10px; background:var(--badge-bg); display:flex; align-items:center; justify-content:center; color:var(--icon-color); flex-shrink:0; }
.contact-item-label { font-family:var(--font-ui); font-size:0.65rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--primary); margin-bottom:1px; }
.contact-item-val { font-size:0.87rem; color:var(--text); }
.contact-item-val a { color:var(--primary); transition:color var(--transition); }
.contact-item-val a:hover { color:var(--primary-dark); }
.social-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:26px; }
.social-btn { display:flex; align-items:center; gap:6px; font-family:var(--font-ui); font-size:0.72rem; font-weight:700; padding:8px 13px; border-radius:var(--radius-sm); border:2px solid var(--card-border); color:var(--text-muted); transition:all var(--transition); }
.social-btn:hover { background:var(--primary); border-color:var(--primary); color:#FFF; }
.contact-form-wrap { background:var(--card-bg); border:1px solid var(--card-border); border-radius:var(--radius); padding:32px; }
.contact-form-title { font-family:var(--font-heading); font-size:1.15rem; font-weight:700; color:var(--text); margin-bottom:22px; }
.submit-btn { width:100%; font-family:var(--font-ui); font-size:0.82rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; padding:12px 20px; border-radius:var(--radius-sm); background:var(--primary); color:#FFF; margin-top:8px; transition:filter var(--transition),transform var(--transition); display:flex; align-items:center; justify-content:center; gap:7px; }
.submit-btn:hover { filter:brightness(1.1); transform:translateY(-1px); }
.map-placeholder { background:var(--bg-soft); border:1px solid var(--card-border); border-radius:var(--radius-sm); height:175px; display:flex; align-items:center; justify-content:center; color:var(--text-muted); font-family:var(--font-ui); font-size:0.8rem; font-weight:600; gap:8px; margin-top:22px; }
@media(max-width:768px) { .contact-grid{grid-template-columns:1fr;gap:32px} }

/* Floating Actions */
.floating-actions {
  position: fixed; right: 20px; bottom: 20px; z-index: 3000;
  display: flex; flex-direction: column; align-items: flex-end; gap: 10px;
  opacity: 0; visibility: hidden; transform: translateY(14px);
  transition: opacity var(--transition), visibility var(--transition), transform var(--transition);
}
.floating-actions.visible { opacity: 1; visibility: visible; transform: translateY(0); }
.floating-btn {
  width: 48px; height: 48px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 28px rgba(0,0,0,0.22);
  transition: transform var(--transition), filter var(--transition);
}
.floating-btn:hover { transform: translateY(-2px); filter: brightness(1.08); }
.whatsapp-btn { background: #25D366; color: #fff; }
.scroll-top-btn { background: var(--primary); color: #fff; }
.whatsapp-chat { position: relative; }
.whatsapp-panel {
  position: absolute; right: 58px; bottom: 0; width: 250px;
  background: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--radius-sm);
  box-shadow: var(--shadow-lg); padding: 14px; color: var(--text);
  opacity: 0; visibility: hidden; transform: translateX(8px);
  transition: opacity var(--transition), visibility var(--transition), transform var(--transition);
}
.whatsapp-chat.open .whatsapp-panel { opacity: 1; visibility: visible; transform: translateX(0); }
.whatsapp-title { font-family: var(--font-ui); font-size: 0.82rem; font-weight: 800; color: var(--text); margin-bottom: 5px; }
.whatsapp-panel p { font-size: 0.76rem; color: var(--text-muted); line-height: 1.55; margin-bottom: 10px; }
.whatsapp-open {
  display: inline-flex; align-items: center; justify-content: center;
  width: 100%; padding: 9px 12px; border-radius: var(--radius-sm);
  background: #25D366; color: #fff; font-family: var(--font-ui); font-size: 0.74rem; font-weight: 800;
}
@media(max-width:640px) {
  .floating-actions { right: 14px; bottom: 14px; }
  .floating-btn { width: 44px; height: 44px; }
  .whatsapp-panel { right: 0; bottom: 54px; width: min(250px, calc(100vw - 28px)); }
}

/* ── FOOTER ── */
#footer { background:#08142E; color:rgba(255,255,255,0.72); padding:56px 24px 26px; }
html.lang-pl #footer { background:#160004; }
.footer-inner { max-width:1200px; margin:0 auto; }
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px; }
.footer-logo { height:48px; width:auto; margin-bottom:13px; }
.footer-tagline { font-size:0.83rem; color:rgba(255,255,255,0.5); line-height:1.62; max-width:230px; margin-bottom:16px; }
.footer-social { display:flex; flex-wrap:wrap; gap:6px; }
.footer-social-btn { width:34px; height:34px; border-radius:var(--radius-sm); background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.09); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.6); transition:background var(--transition),color var(--transition); }
.footer-social-btn:hover { background:var(--primary); color:#FFF; }
.footer-social-btn .icon { width:16px; height:16px; }
.footer-col-title { font-family:var(--font-ui); font-size:0.64rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:rgba(255,255,255,0.38); margin-bottom:13px; }
.footer-links { display:flex; flex-direction:column; gap:8px; }
.footer-links a { font-size:0.83rem; color:rgba(255,255,255,0.62); transition:color var(--transition); }
.footer-links a:hover { color:#FFF; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.06); padding-top:22px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:13px; }
.footer-copy { font-size:0.74rem; color:rgba(255,255,255,0.3); }
@media(max-width:768px) { .footer-grid{grid-template-columns:1fr 1fr;gap:26px} }
@media(max-width:480px) { .footer-grid{grid-template-columns:1fr} .form-row{grid-template-columns:1fr} .pkg-grid{grid-template-columns:1fr} }
@media(max-width:640px) { .section{padding:60px 18px} .booking-body,.booking-footer{padding:20px 16px} .booking-header,.booking-progress{padding:20px 16px} }
