/* =====================================================
   Febal Casa Albania — design system
   Source-faithful replica of febalcasa.com.
   ===================================================== */

:root {
  /* Tokens — source-matched */
  --fc-ink: #0a0c06;
  --fc-cream: #fbfaf6;
  --fc-utility-dark: #32322F;
  --fc-brand-red: #ED1C24;
  --fc-warm-grey: #8a7d6e;
  --fc-body: #343e47;
  --fc-section-alt: #f4f1ea;
  --fc-line: rgba(10,12,6,0.10);
  --fc-line-soft: rgba(10,12,6,0.06);

  --fc-font-serif: "Noto Serif Display", Georgia, serif;
  --fc-font-sans: system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;

  --fc-h-utility: 47px;
  --fc-h-primary: 61px;
  --fc-h-header: calc(var(--fc-h-utility) + var(--fc-h-primary));
  --fc-container: 1440px;

  --fc-eyebrow-fs: 13px;
  --fc-eyebrow-tracking: 1.5px;
}

/* ---------- Reset / base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font: 400 15px/1.35 var(--fc-font-sans); color: var(--fc-body); background: var(--fc-cream); padding-top: var(--fc-h-header); padding-bottom: 56px; -webkit-font-smoothing: antialiased; }
img, svg { max-width: 100%; height: auto; display: block; }
h1, h2, h3, h4, h5 { font-family: var(--fc-font-serif); font-weight: 400; color: var(--fc-ink); margin: 0 0 .6em; line-height: 1.05; letter-spacing: -0.4px; }
h1 { font-size: clamp(40px, 5vw, 62px); line-height: 1; }
h2 { font-size: clamp(32px, 5vw, 56px); line-height: 1.1; }
h3 { font-size: clamp(24px, 3vw, 38px); line-height: 1.15; }
p { margin: 0 0 1em; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.fc-skip-link:focus { position: absolute; top: 8px; left: 8px; padding: 8px 12px; background: #fff; color: var(--fc-ink); z-index: 9999; clip: auto; width: auto; height: auto; }

.fc-eyebrow { font-family: var(--fc-font-sans); font-size: var(--fc-eyebrow-fs); font-weight: 500; letter-spacing: var(--fc-eyebrow-tracking); text-transform: uppercase; color: var(--fc-warm-grey); margin: 0 0 14px; }
.fc-arrow { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border: 1px solid currentColor; border-radius: 50%; font-size: 12px; line-height: 1; }

/* =====================================================
   HEADER — dark utility bar + logo overhang + transparent primary nav
   ===================================================== */
.fc-nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; background: transparent; }
.fc-nav__inner { position: relative; }

.fc-nav__utility { background: var(--fc-utility-dark); height: var(--fc-h-utility); }
.fc-nav__utility-inner { max-width: var(--fc-container); margin: 0 auto; height: 100%; padding: 0 32px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.fc-nav__utility-left { list-style: none; margin: 0; padding: 0; display: flex; gap: 28px; }
.fc-nav__utility-left a { font-size: 12px; font-weight: 500; letter-spacing: 1.2px; text-transform: uppercase; color: var(--fc-cream); }
.fc-nav__utility-left a:hover { text-decoration: underline; text-underline-offset: 4px; }
.fc-nav__utility-right { display: flex; align-items: center; gap: 16px; }
.fc-lang-pill { background: transparent; border: 1px solid var(--fc-cream); color: var(--fc-cream); border-radius: 999px; padding: 4px 12px; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; }

/* Logo overhang — 90x90 SVG, top:18 → overhangs into the dark bar by 22px and bottom-aligns with the primary nav */
.fc-nav__logo { position: absolute; top: 18px; left: 50%; transform: translateX(-50%); width: 90px; height: 90px; z-index: 4; display: block; filter: drop-shadow(0 2px 6px rgba(0,0,0,0.10)); }
.fc-nav__logo svg { width: 100%; height: 100%; }

/* Primary nav row — transparent over hero, fills cream when scrolled */
.fc-nav__primary { background: transparent; height: var(--fc-h-primary); transition: background .25s ease; }
.fc-nav__primary-inner { max-width: var(--fc-container); margin: 0 auto; height: 100%; padding: 0 32px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.fc-nav__primary-left, .fc-nav__primary-right { display: flex; align-items: center; gap: 32px; }
.fc-nav__primary-right { gap: 24px; }

.fc-nav__link, .fc-nav__trigger {
  font: 500 12px var(--fc-font-sans); letter-spacing: 1.8px; text-transform: uppercase;
  color: var(--fc-ink); background: transparent; border: 0; padding: 0;
  display: inline-flex; align-items: center; gap: 8px;
  position: relative;
}
.fc-nav__link::after, .fc-nav__trigger::after { content: ""; position: absolute; left: 0; right: 0; bottom: -8px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.fc-nav__link:hover::after, .fc-nav__trigger:hover::after { transform: scaleX(1); }
.fc-caret { width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 4px solid currentColor; transition: transform .2s ease; }
.fc-nav__trigger[aria-expanded="true"] .fc-caret { transform: rotate(180deg); }

.fc-nav__search { background: transparent; border: 0; color: inherit; display: inline-flex; align-items: center; gap: 8px; font: 500 12px var(--fc-font-sans); letter-spacing: 1.5px; text-transform: uppercase; padding: 8px; }
.fc-nav__cta { background: var(--fc-ink); color: #fff; padding: 14px 22px; font: 500 12px var(--fc-font-sans); letter-spacing: 1.8px; text-transform: uppercase; display: inline-flex; align-items: center; gap: 14px; transition: background .2s ease; }
.fc-nav__cta:hover { background: #1a1c14; }
.fc-nav__cta .fc-arrow { border-color: rgba(255,255,255,0.6); }

.fc-nav__menu-btn { display: none; background: transparent; border: 0; align-items: center; gap: 10px; font: 500 12px var(--fc-font-sans); letter-spacing: 1.5px; text-transform: uppercase; }
.fc-burger { display: inline-flex; flex-direction: column; gap: 4px; width: 22px; }
.fc-burger span { height: 2px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.fc-nav__menu-btn[aria-expanded="true"] .fc-burger span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.fc-nav__menu-btn[aria-expanded="true"] .fc-burger span:nth-child(2) { opacity: 0; }
.fc-nav__menu-btn[aria-expanded="true"] .fc-burger span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Scrolled state — solid cream nav (matches source) */
body.fc-scrolled .fc-nav__primary { background: var(--fc-cream); }

/* Dark hero opt-in: page can add body class fc-hero-dark for fully transparent nav, white text */
body.fc-hero-dark .fc-nav__primary { background: transparent; color: #fff; }
body.fc-hero-dark .fc-nav__primary .fc-nav__link, body.fc-hero-dark .fc-nav__primary .fc-nav__trigger, body.fc-hero-dark .fc-nav__primary .fc-nav__search { color: #fff; }
body.fc-hero-dark .fc-nav__cta { background: #fff; color: var(--fc-ink); }
body.fc-hero-dark.fc-scrolled .fc-nav__primary { background: var(--fc-cream); color: var(--fc-ink); }
body.fc-hero-dark.fc-scrolled .fc-nav__primary .fc-nav__link, body.fc-hero-dark.fc-scrolled .fc-nav__primary .fc-nav__trigger, body.fc-hero-dark.fc-scrolled .fc-nav__primary .fc-nav__search { color: var(--fc-ink); }
body.fc-hero-dark.fc-scrolled .fc-nav__cta { background: var(--fc-ink); color: #fff; }

/* Mega menu */
.fc-mega { position: fixed; top: var(--fc-h-header); left: 0; right: 0; background: var(--fc-cream); border-top: 1px solid var(--fc-line-soft); box-shadow: 0 12px 32px rgba(10,12,6,0.10); padding: 36px 48px 48px; z-index: 99; opacity: 0; visibility: hidden; transform: translateY(-12px); transition: opacity .22s ease, transform .22s ease, visibility .22s linear; }
.fc-mega.is-open { opacity: 1; visibility: visible; transform: none; }
.fc-mega[hidden] { display: block; }
.fc-mega__inner { max-width: var(--fc-container); margin: 0 auto; }
.fc-mega__eyebrow { font: 500 12px var(--fc-font-sans); letter-spacing: 1.5px; text-transform: uppercase; color: var(--fc-warm-grey); margin: 0 0 8px; }
.fc-mega__title { font: 400 36px/1.05 var(--fc-font-serif); margin: 0 0 28px; }
.fc-mega__grid { display: grid; gap: 18px; grid-template-columns: repeat(5, 1fr); }
.fc-mega__card { display: block; }
.fc-mega__img { display: block; width: 100%; aspect-ratio: 4/5; background: var(--fc-section-alt) center/cover no-repeat; transition: transform .25s ease; }
.fc-mega__card:hover .fc-mega__img { transform: scale(1.04); filter: brightness(0.95); }
.fc-mega__img { overflow: hidden; transition: transform .5s cubic-bezier(0.2, 0.8, 0.2, 1), filter .35s ease; }
.fc-mega__label { display: block; margin-top: 12px; font: 500 12px var(--fc-font-sans); letter-spacing: 1.5px; text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px; }

/* Mobile drawer */
.fc-mobile { position: fixed; inset: 0; z-index: 95; background: var(--fc-cream); padding: calc(var(--fc-h-header) + 32px) 24px 32px; overflow-y: auto; }
.fc-mobile[hidden] { display: none; }
.fc-mobile__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.fc-mobile__list > li { border-bottom: 1px solid var(--fc-line-soft); padding: 14px 0; }
.fc-mobile__list a, .fc-mobile__trigger { display: flex; justify-content: space-between; align-items: center; width: 100%; background: transparent; border: 0; padding: 8px 0; font: 500 16px var(--fc-font-sans); letter-spacing: 1.2px; text-transform: uppercase; color: var(--fc-ink); }
.fc-mobile__sub { list-style: none; margin: 8px 0 0; padding: 0 0 0 16px; display: flex; flex-direction: column; gap: 4px; }
.fc-mobile__sub a { font-size: 14px; letter-spacing: 1px; padding: 6px 0; }
.fc-mobile__cta { display: inline-flex; align-items: center; gap: 14px; margin-top: 24px; padding: 14px 24px; background: var(--fc-ink); color: #fff; font: 500 12px var(--fc-font-sans); letter-spacing: 1.8px; text-transform: uppercase; }

body.fc-mobile-open { overflow: hidden; }
/* S86: removed Gen 1 buggy rule - was: body.fc-mobile-open .fc-mobile { display: block; } - replaced by S85b */

/* Search expand */
.fc-search-form { position: absolute; right: 0; top: 100%; margin-top: 6px; background: var(--fc-cream); border: 1px solid var(--fc-line); padding: 8px; width: 280px; display: none; box-shadow: 0 6px 18px rgba(10,12,6,0.10); }
.fc-search-form.is-open { display: block; }
.fc-search-form input { width: 100%; padding: 8px 12px; border: 0; background: transparent; font: 400 14px var(--fc-font-sans); outline: none; }

/* =====================================================
   FOOTER — dark, 4-col, with newsletter + bottom row
   ===================================================== */
.fc-footer { background: var(--fc-ink); color: var(--fc-cream); margin-top: 80px; }
.fc-footer a { color: inherit; }
.fc-footer .fc-eyebrow { color: var(--fc-warm-grey); }

/* Newsletter section — photo background with dark overlay */
.fc-footer__newsletter { position: relative; padding: 120px 32px 100px; border-bottom: 1px solid rgba(255,255,255,0.08); background: var(--fc-ink) center/cover no-repeat; min-height: 480px; display: flex; align-items: center; }
.fc-footer__newsletter-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,12,6,0.55) 0%, rgba(10,12,6,0.78) 100%); z-index: 1; }
.fc-footer__newsletter-inner { position: relative; z-index: 2; max-width: var(--fc-container); margin: 0 auto; width: 100%; display: grid; grid-template-columns: 1fr 1.4fr; gap: 60px; align-items: end; }
.fc-footer__newsletter-title { font: 400 clamp(28px, 3vw, 44px)/1.1 var(--fc-font-serif); color: var(--fc-cream); max-width: 480px; }
.fc-footer__newsletter-form .ff-default input[type="email"], .fc-footer__newsletter-stub input[type="email"] { width: 100%; background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,0.30); padding: 14px 0; color: var(--fc-cream); font: 400 16px var(--fc-font-sans); outline: none; }
.fc-footer__newsletter-form .ff-default input[type="email"]::placeholder, .fc-footer__newsletter-stub input[type="email"]::placeholder { color: rgba(251,250,246,0.5); }
.fc-footer__newsletter-form button, .fc-footer__newsletter-stub button { background: transparent; border: 1px solid var(--fc-cream); color: var(--fc-cream); padding: 14px 28px; font: 500 12px var(--fc-font-sans); letter-spacing: 1.8px; text-transform: uppercase; margin-top: 16px; display: inline-flex; align-items: center; gap: 12px; cursor: pointer; }
.fc-footer__newsletter-form button:hover, .fc-footer__newsletter-stub button:hover { background: var(--fc-cream); color: var(--fc-ink); }

/* 4-col nav */
.fc-footer__nav { padding: 60px 32px; border-bottom: 1px solid rgba(255,255,255,0.08); }
.fc-footer__nav-inner { max-width: var(--fc-container); margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 48px; }
.fc-footer__col-title { font: 400 14px var(--fc-font-sans); font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; color: var(--fc-cream); margin: 0 0 20px; }
.fc-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.fc-footer__col a { font: 400 14px var(--fc-font-sans); color: rgba(251,250,246,0.75); }
.fc-footer__col a:hover { color: var(--fc-cream); text-decoration: underline; }
.fc-footer__contact { font: 400 13px/1.6 var(--fc-font-sans); color: rgba(251,250,246,0.70); margin: 0 0 12px; }
.fc-footer__cta { display: inline-flex; align-items: center; gap: 14px; margin-top: 12px; padding: 12px 22px; background: transparent; border: 1px solid var(--fc-cream); color: var(--fc-cream); font: 500 12px var(--fc-font-sans); letter-spacing: 1.8px; text-transform: uppercase; }
.fc-footer__cta:hover { background: var(--fc-cream); color: var(--fc-ink); }

/* Bottom row */
.fc-footer__bottom { padding: 28px 32px; }
.fc-footer__bottom-inner { max-width: var(--fc-container); margin: 0 auto; display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; }
.fc-footer__copyright { font: 400 12px var(--fc-font-sans); color: rgba(251,250,246,0.6); margin: 0; }
.fc-footer__legal, .fc-footer__socials { list-style: none; margin: 0; padding: 0; display: flex; gap: 20px; }
.fc-footer__legal a { font: 400 12px var(--fc-font-sans); color: rgba(251,250,246,0.6); }
.fc-footer__legal a:hover { color: var(--fc-cream); }
.fc-footer__socials a { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.20); color: rgba(251,250,246,0.7); transition: color .2s, border-color .2s; }
.fc-footer__socials a:hover { color: var(--fc-cream); border-color: var(--fc-cream); }

/* Sticky strip */
.fc-sticky-strip { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 24px; background: rgba(251,250,246,0.96); border-top: 1px solid var(--fc-line); backdrop-filter: saturate(140%) blur(6px); }
.fc-sticky-strip__copy { margin: 0; font: 400 14px/1.4 var(--fc-font-sans); color: var(--fc-body); }
.fc-sticky-strip__copy .fc-bullet { color: var(--fc-brand-red); margin-right: 8px; font-size: 18px; line-height: 1; }
.fc-sticky-strip__cta { font: 500 12px var(--fc-font-sans); letter-spacing: 1.5px; text-transform: uppercase; padding: 12px 22px; background: var(--fc-ink); color: var(--fc-cream); display: inline-flex; align-items: center; gap: 12px; }
.fc-sticky-strip__cta .fc-arrow { border-color: rgba(255,255,255,0.6); }

/* =====================================================
   PAGE CONTAINERS
   ===================================================== */
.fc-container { max-width: var(--fc-container); margin: 0 auto; padding: 0 32px; }
.fc-section { padding: 100px 0; }
.fc-section--alt { background: var(--fc-section-alt); }
.fc-grid { display: grid; gap: 24px; }

/* =====================================================
   BUTTONS
   ===================================================== */
.fc-btn { display: inline-flex; align-items: center; gap: 12px; padding: 14px 24px; font: 500 12px var(--fc-font-sans); letter-spacing: 1.8px; text-transform: uppercase; border: 0; cursor: pointer; }
.fc-btn--primary { background: var(--fc-ink); color: var(--fc-cream); }
.fc-btn--primary:hover { background: #1a1c14; }
.fc-btn--ghost { background: transparent; border: 1px solid var(--fc-ink); color: var(--fc-ink); }
.fc-btn--ghost-light { background: transparent; border: 1px solid var(--fc-cream); color: var(--fc-cream); }
.fc-btn--text { background: transparent; padding: 0; color: var(--fc-ink); text-decoration: underline; text-underline-offset: 6px; }
.fc-btn .fc-arrow { width: 26px; height: 26px; }

/* =====================================================
   HOMEPAGE — hero / rooms / showroom / booking / newsletter
   ===================================================== */
.fc-hero { position: relative; min-height: 86vh; display: flex; align-items: flex-end; padding: 0 0 60px; overflow: hidden; }
.fc-hero__slides { position: absolute; inset: 0; }
.fc-hero__slide { position: absolute; inset: 0; background: center/cover no-repeat; opacity: 0; transition: opacity 1.1s ease-in-out; }
.fc-hero__slide.is-active { opacity: 1; }
.fc-hero__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.10) 18%, rgba(0,0,0,0) 35%, rgba(0,0,0,0.40) 100%); }
.fc-hero__inner { position: relative; z-index: 2; max-width: var(--fc-container); margin: 0 auto; padding: 0 48px; color: #fff; }
.fc-hero__eyebrow { font: 500 14px var(--fc-font-sans); color: rgba(255,255,255,0.85); margin: 0 0 12px; }
.fc-hero__title { font: 400 clamp(36px, 4.6vw, 62px)/1.0 var(--fc-font-serif); color: #fff; margin: 0 0 18px; max-width: 720px; }
.fc-hero__lede { font: 400 16px/1.6 var(--fc-font-sans); color: rgba(255,255,255,0.85); margin: 0 0 28px; max-width: 540px; }
.fc-hero__cta { color: #fff; padding: 0; background: transparent; border: 0; border-bottom: 1px solid currentColor; padding-bottom: 4px; font: 500 12px var(--fc-font-sans); letter-spacing: 1.8px; text-transform: uppercase; display: inline-flex; align-items: center; gap: 12px; }
.fc-hero__counter { position: absolute; right: 32px; bottom: 32px; z-index: 3; display: inline-flex; align-items: center; gap: 12px; color: #fff; font: 500 12px var(--fc-font-sans); letter-spacing: 1.5px; }
.fc-hero__playpause { width: 22px; height: 22px; border: 1px solid rgba(255,255,255,0.6); border-radius: 50%; background: transparent; color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }

/* Rooms section — 2-col magazine */
.fc-rooms { padding: 60px 0; background: #fff; }
.fc-rooms__inner { max-width: var(--fc-container); margin: 0 auto; padding: 0 32px; display: grid; grid-template-columns: 420px 1fr; gap: 60px; align-items: start; }
.fc-rooms__title { font: 400 clamp(32px, 3.5vw, 52px)/1 var(--fc-font-serif); margin: 16px 0; }
.fc-rooms__cards { display: grid; grid-template-columns: 363fr 594fr 363fr; gap: 18px; }
.fc-room-card { display: block; }
.fc-room-card__img { aspect-ratio: 4/5; background: var(--fc-section-alt) center/cover no-repeat; transition: transform .35s ease; }
.fc-room-card--md .fc-room-card__img { aspect-ratio: 3/4; }
.fc-room-card:hover .fc-room-card__img { transform: scale(1.04); filter: brightness(0.95); }
.fc-room-card__img { transition: transform .5s cubic-bezier(0.2, 0.8, 0.2, 1), filter .35s ease; overflow: hidden; }
.fc-room-card__label { display: block; margin-top: 14px; font: 500 12px var(--fc-font-sans); letter-spacing: 1.5px; text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px; }

/* Showroom feature — full-bleed dark photo with overlay text */
.fc-showroom-feature { position: relative; min-height: 70vh; display: flex; align-items: center; justify-content: center; text-align: center; padding: 80px 32px; background: center/cover no-repeat; color: #fff; }
.fc-showroom-feature::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.30), rgba(0,0,0,0.55)); }
.fc-showroom-feature__inner { position: relative; z-index: 2; max-width: 700px; }
.fc-showroom-feature__title { font: 400 clamp(32px, 3.5vw, 48px)/1.05 var(--fc-font-serif); color: #fff; }
.fc-showroom-feature__eyebrow { display: inline-block; padding: 6px 14px; border: 1px solid rgba(255,255,255,0.5); border-radius: 999px; font: 500 11px var(--fc-font-sans); letter-spacing: 1.5px; text-transform: uppercase; color: #fff; margin-bottom: 18px; }

/* Booking split */
.fc-booking { padding: 80px 0; }
.fc-booking__inner { max-width: var(--fc-container); margin: 0 auto; padding: 0 32px; display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; }
.fc-booking__img { aspect-ratio: 4/3; background: var(--fc-section-alt) center/cover no-repeat; }
.fc-booking__copy h2 { font: 400 clamp(28px, 3vw, 44px)/1.1 var(--fc-font-serif); }

/* =====================================================
   PRODUCT CARDS / GRID
   ===================================================== */
.fc-card-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, 1fr); }
.fc-card { display: block; transition: transform .35s cubic-bezier(0.2, 0.8, 0.2, 1); }
.fc-card__img { display: block; width: 100%; aspect-ratio: 4/5; background: var(--fc-section-alt) center/cover no-repeat; transition: transform .5s cubic-bezier(0.2, 0.8, 0.2, 1), filter .35s ease; overflow: hidden; }
.fc-card:hover .fc-card__img { transform: scale(1.04); filter: brightness(0.95); }
.fc-card:hover .fc-card__title { text-decoration: underline; text-underline-offset: 4px; }
.fc-card__placeholder { display: block; aspect-ratio: 4/5; background: linear-gradient(135deg, #efe9dc, #d8cfbb); display: flex; align-items: center; justify-content: center; color: var(--fc-warm-grey); font: 500 12px var(--fc-font-sans); letter-spacing: 1.5px; text-transform: uppercase; }
.fc-card__title { display: block; margin-top: 12px; font: 500 11px/1.2 var(--fc-font-sans, system-ui, -apple-system, sans-serif); color: var(--fc-ink); text-transform: uppercase; letter-spacing: 1.5px; }

/* =====================================================
   PRODUCT PAGE
   ===================================================== */
.fc-product { max-width: var(--fc-container); margin: 0 auto; padding: 40px 32px 80px; }
.fc-product__intro { text-align: center; padding: 24px 0 32px; max-width: 760px; margin: 0 auto; }
.fc-product__title { font: 400 clamp(40px, 5vw, 72px)/1.0 var(--fc-font-serif); margin: 16px 0; }
.fc-product__tagline { font: 400 18px/1.5 var(--fc-font-sans); color: var(--fc-body); }
.fc-product__gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 32px; }
.fc-product__gallery img { width: 100%; height: auto; }
.fc-product__section { margin-top: 60px; }
.fc-section-heading { font: 400 32px/1.1 var(--fc-font-serif); text-align: center; margin: 0 0 24px; }

.fc-finishes { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.fc-finishes__item { text-align: center; }
.fc-finishes__swatch { aspect-ratio: 1; background: var(--fc-section-alt) center/cover no-repeat; }
.fc-finishes__name { display: block; margin-top: 8px; font: 400 13px var(--fc-font-sans); }
.fc-finishes__type { display: block; font: 400 11px var(--fc-font-sans); color: var(--fc-warm-grey); text-transform: uppercase; letter-spacing: 1px; }

.fc-dimensions { list-style: none; padding: 0; display: flex; gap: 32px; justify-content: center; font-size: 14px; }
.fc-dimensions strong { color: var(--fc-warm-grey); margin-right: 6px; font-weight: 500; }

.fc-product__cta { text-align: center; padding: 60px 0; background: var(--fc-section-alt); margin-top: 60px; }
.fc-product__cta h2 { font: 400 clamp(28px, 3vw, 40px)/1.1 var(--fc-font-serif); }
.fc-product__cta-buttons { display: flex; justify-content: center; gap: 16px; margin-top: 20px; }

.fc-breadcrumb { font: 400 12px var(--fc-font-sans); letter-spacing: 1px; text-transform: uppercase; color: var(--fc-warm-grey); text-align: center; margin: 0 0 8px; }
.fc-breadcrumb a { color: inherit; }
.fc-breadcrumb a:hover { color: var(--fc-ink); }
.fc-breadcrumb__sep { margin: 0 6px; }

/* =====================================================
   ARCHIVE PAGE (kategoria)
   ===================================================== */
.fc-archive__hero { padding: 60px 32px 32px; text-align: center; max-width: var(--fc-container); margin: 0 auto; }
.fc-archive__title { font: 400 clamp(36px, 5vw, 62px)/1 var(--fc-font-serif); margin: 16px 0; }
.fc-archive__eyebrow { font: 500 13px var(--fc-font-sans); letter-spacing: 1.5px; text-transform: uppercase; color: var(--fc-warm-grey); }
.fc-archive__tabs { display: flex; justify-content: center; gap: 28px; padding: 16px 0 32px; flex-wrap: wrap; }
.fc-archive__tab { font: 500 13px var(--fc-font-sans); letter-spacing: 1.5px; text-transform: uppercase; color: var(--fc-ink); text-decoration: underline; text-underline-offset: 6px; cursor: pointer; background: transparent; border: 0; }
.fc-archive__tab.is-active { color: var(--fc-brand-red); }
.fc-archive__section { padding: 32px 32px 60px; max-width: var(--fc-container); margin: 0 auto; }
.fc-archive__section-title { font: 400 28px/1.1 var(--fc-font-serif); text-align: center; margin: 0 0 24px; }

/* =====================================================
   RESPONSIVE
   ===================================================== */
@media (max-width: 1199px) {
  .fc-nav__utility { display: none; }
  .fc-nav__primary-left .fc-nav__link, .fc-nav__primary-left .fc-nav__trigger { display: none; }
  .fc-nav__menu-btn { display: inline-flex; }
  .fc-nav__logo { top: 8px; left: 24px; transform: none; width: 70px; height: 70px; }
  body { padding-top: 86px; }
  .fc-nav__primary { height: 86px; }
  .fc-mega { top: 86px; padding: 24px; }
  .fc-mega__grid { grid-template-columns: repeat(4, 1fr); }
  .fc-rooms__inner { grid-template-columns: 1fr; }
  .fc-rooms__cards { grid-template-columns: repeat(3, 1fr); }
  .fc-card-grid { grid-template-columns: repeat(3, 1fr); }
  .fc-finishes { grid-template-columns: repeat(4, 1fr); }
  .fc-footer__newsletter-inner { grid-template-columns: 1fr; gap: 24px; }
  .fc-footer__nav-inner { grid-template-columns: repeat(2, 1fr); gap: 32px; }
  .fc-booking__inner { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .fc-mega__grid { grid-template-columns: repeat(3, 1fr); }
  .fc-rooms__cards { grid-template-columns: 1fr; }
  .fc-card-grid { grid-template-columns: repeat(2, 1fr); }
  .fc-finishes { grid-template-columns: repeat(3, 1fr); }
  .fc-product__gallery { grid-template-columns: 1fr; }
  .fc-footer__bottom-inner { flex-direction: column; align-items: center; text-align: center; }
}

@media (max-width: 600px) {
  .fc-nav__menu-btn-label { display: none; }
  .fc-nav__cta { padding: 12px 16px; font-size: 11px; }
  .fc-nav__cta span:first-child { display: none; }
  .fc-mega__grid { grid-template-columns: repeat(2, 1fr); }
  .fc-finishes { grid-template-columns: repeat(2, 1fr); }
  .fc-footer__nav-inner { grid-template-columns: 1fr; }
  .fc-sticky-strip__copy { display: none; }
  .fc-sticky-strip__cta { width: 100%; justify-content: center; }
  body { padding-bottom: 64px; }
  .fc-hero__inner { padding: 0 24px; }
  .fc-hero__counter { right: 16px; bottom: 16px; }
}
/* === SRC_FAITHFUL_START === */

/* ---------- Header refinements: utility right links + always-visible search ---------- */
.fc-nav__utility-right { list-style: none; margin: 0; padding: 0; display: flex; gap: 24px; align-items: center; }
.fc-nav__utility-right > li { display: flex; align-items: center; }
.fc-nav__utility-right a { font-size: 12px; font-weight: 500; letter-spacing: 1.2px; text-transform: uppercase; color: var(--fc-cream); }
.fc-nav__utility-right a:hover { text-decoration: underline; text-underline-offset: 4px; }
.fc-lang-pill { background: transparent; border: 0; color: var(--fc-cream); padding: 4px; cursor: pointer; display: inline-flex; align-items: center; }
.fc-lang-pill svg { width: 16px; height: 16px; }

/* Always-visible search input (matches source "Cerca" + icon) */
.fc-nav__search-form { display: inline-flex; align-items: center; gap: 8px; position: relative; }
.fc-nav__search-label { font: 500 12px var(--fc-font-sans); letter-spacing: 1.5px; text-transform: uppercase; color: inherit; cursor: pointer; }
.fc-nav__search-btn { background: transparent; border: 0; color: inherit; padding: 4px; display: inline-flex; align-items: center; cursor: pointer; }
input.fc-nav__search-input { background: transparent !important; border: 0 !important; border-bottom: 1px solid transparent !important; padding: 6px 0 !important; font: 400 13px var(--fc-font-sans); color: inherit; outline: none; width: 0 !important; min-width: 0 !important; max-width: 0 !important; transition: width .25s ease, max-width .25s ease, border-color .25s ease, padding .25s ease; overflow: hidden; flex: 0 0 auto; }
.fc-nav__search-form.is-open input.fc-nav__search-input { width: 200px !important; max-width: 200px !important; border-bottom-color: currentColor !important; padding: 6px 8px !important; }
.fc-nav__search-input::placeholder { color: rgba(10,12,6,0.5); }
body.fc-hero-dark:not(.fc-scrolled) .fc-nav__search-input::placeholder { color: rgba(255,255,255,0.5); }

/* ---------- Hero refinements: massive title, captions cross-fade, minimal counter ---------- */
.fc-hero { min-height: 100vh; padding: 0; }
.fc-hero__overlay { background: linear-gradient(180deg, rgba(0,0,0,0.30) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0.10) 50%, rgba(0,0,0,0.70) 100%); }

/* Captions stack: each caption absolutely positioned bottom-left, cross-fades */
.fc-hero__captions { position: absolute; left: 0; right: 0; bottom: 80px; padding: 0 64px; z-index: 2; pointer-events: none; min-height: 240px; }
.fc-hero__caption { position: absolute; left: 64px; right: 64px; bottom: 0; opacity: 0; transition: opacity 1.0s ease-in-out; pointer-events: none; max-width: 800px; }
.fc-hero__caption.is-active { opacity: 1; pointer-events: auto; }
.fc-hero__eyebrow { font: 400 14px var(--fc-font-sans); color: rgba(255,255,255,0.85); margin: 0 0 14px; letter-spacing: 0; text-transform: none; }
.fc-hero__title { font: 400 clamp(72px, 11vw, 160px)/0.95 var(--fc-font-serif); color: #fff; margin: 0 0 24px; letter-spacing: -1px; }
.fc-hero__cta { color: #fff; padding: 0; background: transparent; border: 0; font: 500 12px var(--fc-font-sans); letter-spacing: 2px; text-transform: uppercase; display: inline-flex; align-items: center; gap: 16px; margin-top: 8px; transition: gap .2s ease; }
.fc-hero__cta:hover { gap: 22px; }
.fc-hero__cta .fc-arrow { width: 28px; height: 28px; border: 1px solid currentColor; border-radius: 50%; transition: background .2s ease, color .2s ease; }
.fc-hero__cta:hover .fc-arrow { background: #fff; color: var(--fc-ink); }

/* Hide the legacy .fc-hero__inner so only captions show */
.fc-hero__inner { display: none !important; }

/* Minimal counter (source: dot + 1/4) */
.fc-hero__counter { position: absolute; right: 32px; bottom: 32px; z-index: 3; display: inline-flex; align-items: center; gap: 10px; color: #fff; font: 400 13px var(--fc-font-sans); letter-spacing: 0.5px; }
.fc-hero__dot { display: inline-block; width: 6px; height: 6px; background: #fff; border-radius: 50%; }
.fc-hero__counter-text { opacity: 0.95; }

/* Hide the old .fc-hero__playpause if still present */
.fc-hero__playpause { display: none !important; }

/* ---------- Inline strip below hero (white bg, mirrors source) ---------- */
.fc-inline-strip { background: #fff; border-bottom: 1px solid var(--fc-line-soft); }
.fc-inline-strip__inner { max-width: var(--fc-container); margin: 0 auto; padding: 14px 32px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.fc-inline-strip__copy { margin: 0; font: 400 13px/1.4 var(--fc-font-sans); color: var(--fc-body); }
.fc-inline-strip__copy .fc-bullet { color: var(--fc-brand-red); margin-right: 6px; font-size: 18px; line-height: 1; }
.fc-inline-strip__cta { font: 500 12px var(--fc-font-sans); letter-spacing: 1.5px; text-transform: uppercase; padding: 12px 22px; background: var(--fc-ink); color: var(--fc-cream); display: inline-flex; align-items: center; gap: 12px; white-space: nowrap; }
.fc-inline-strip__cta .fc-arrow { border-color: rgba(255,255,255,0.6); }
.fc-inline-strip__cta:hover { background: #1a1c14; }

/* Suppress the FIXED sticky strip on the home page (we use the inline one instead) */
body.home-page .fc-sticky-strip { display: none; }

/* ---------- Rooms section: 3-col layout (copy / title / cards row) ---------- */
.fc-rooms { padding: 110px 0 120px; background: #fff; }
.fc-rooms__inner { max-width: var(--fc-container); margin: 0 auto; padding: 0 32px; display: grid; grid-template-columns: 280px 1fr; gap: 60px; align-items: start; }
.fc-rooms__copy .fc-eyebrow { color: var(--fc-warm-grey); }
.fc-rooms__lede { font: 400 14px/1.6 var(--fc-font-sans); color: var(--fc-body); margin: 0 0 24px; }
.fc-rooms__main { display: flex; flex-direction: column; gap: 32px; }
.fc-rooms__title { font: 400 clamp(40px, 4.5vw, 64px)/1 var(--fc-font-serif); margin: 0; letter-spacing: -0.5px; }
.fc-rooms__cards { display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: 18px; align-items: stretch; }
.fc-room-card { display: block; }
.fc-room-card__img { display: block; width: 100%; aspect-ratio: 4/5; background: var(--fc-section-alt) center/cover no-repeat; transition: transform .35s ease; }
.fc-room-card--sm .fc-room-card__img { aspect-ratio: 4/5; }
.fc-room-card--lg .fc-room-card__img { aspect-ratio: 3/4; }
.fc-room-card:hover .fc-room-card__img { transform: scale(1.04); filter: brightness(0.95); }
.fc-room-card__img { transition: transform .5s cubic-bezier(0.2, 0.8, 0.2, 1), filter .35s ease; overflow: hidden; }
.fc-room-card__label { display: block; margin-top: 12px; font: 500 11px var(--fc-font-sans); letter-spacing: 1.5px; text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px; color: var(--fc-ink); }

/* ---------- CTA text-arrow refinements ---------- */
.fc-cta-text-arrow { display: inline-flex; align-items: center; gap: 14px; font: 500 11px var(--fc-font-sans); letter-spacing: 1.8px; text-transform: uppercase; color: var(--fc-ink); text-decoration: none; }
.fc-cta-text-arrow .fc-arrow { width: 28px; height: 28px; border: 1px solid currentColor; border-radius: 50%; }
.fc-cta-text-arrow:hover .fc-arrow { background: currentColor; }
.fc-cta-text-arrow:hover .fc-arrow::before { content: "→"; color: var(--fc-cream); }
.fc-cta-text-arrow--light { color: #fff; }
.fc-eyebrow--light { color: rgba(255,255,255,0.85); }

/* ---------- Showroom feature refinements ---------- */
.fc-showroom-feature { min-height: 80vh; padding: 100px 32px; }
.fc-showroom-feature::before { background: linear-gradient(135deg, rgba(80,55,35,0.55) 0%, rgba(50,32,18,0.72) 60%, rgba(25,15,8,0.78) 100%); }
.fc-showroom-feature__inner { text-align: center; max-width: 720px; }
.fc-showroom-feature__eyebrow { display: inline-block; padding: 6px 16px; border: 1px solid rgba(255,255,255,0.6); border-radius: 999px; font: 500 11px var(--fc-font-sans); letter-spacing: 1.8px; text-transform: uppercase; color: #fff; margin-bottom: 24px; }
.fc-showroom-feature__title { font: 400 clamp(40px, 5vw, 68px)/1.05 var(--fc-font-serif); color: #fff; margin: 0 0 24px; letter-spacing: -0.5px; }
.fc-showroom-feature__lede { font: 400 16px/1.6 var(--fc-font-sans); color: rgba(255,255,255,0.85); margin: 0 auto 28px; max-width: 560px; }

/* ---------- Booking section: dark full-bleed text-only split ---------- */
.fc-booking { position: relative; min-height: 60vh; padding: 100px 32px; background: var(--fc-ink) center/cover no-repeat; color: #fff; }
.fc-booking__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.55), rgba(0,0,0,0.75)); }
.fc-booking__inner { position: relative; z-index: 2; max-width: var(--fc-container); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.fc-booking__left { padding-right: 40px; border-right: 1px solid rgba(255,255,255,0.18); }
.fc-booking__title { font: 400 clamp(40px, 5vw, 64px)/1.05 var(--fc-font-serif); color: #fff; margin: 8px 0 0; letter-spacing: -0.5px; }
.fc-booking__copy { font: 400 16px/1.6 var(--fc-font-sans); color: rgba(255,255,255,0.85); margin: 0 0 24px; max-width: 480px; }

/* ---------- Footer column 1 expansion (more items per source) ---------- */
.fc-footer__col ul.fc-footer__col-list--dense { gap: 8px; }

/* ---------- Responsive refinements ---------- */
@media (max-width: 1199px) {
  .fc-nav__utility-right li:nth-child(2),
  .fc-nav__utility-right li:nth-child(3) { display: none; }
  .fc-hero__captions { padding: 0 24px; }
  .fc-hero__caption { left: 24px; }
  .fc-hero__title { font-size: clamp(56px, 9vw, 100px); }
  .fc-rooms__inner { grid-template-columns: 1fr; gap: 32px; }
  .fc-rooms__cards { grid-template-columns: 1fr 1fr 1fr; }
  .fc-booking__inner { grid-template-columns: 1fr; gap: 32px; }
  .fc-booking__left { padding-right: 0; border-right: 0; padding-bottom: 24px; border-bottom: 1px solid rgba(255,255,255,0.18); }
}
@media (max-width: 768px) {
  .fc-inline-strip__inner { flex-direction: column; align-items: stretch; gap: 16px; padding: 16px 24px; }
  .fc-inline-strip__cta { justify-content: center; }
  .fc-rooms__cards { grid-template-columns: 1fr; }
  .fc-hero__title { font-size: clamp(48px, 13vw, 80px); }
  .fc-hero__captions { bottom: 100px; }
}
@media (max-width: 600px) {
  .fc-hero__title { font-size: 56px; }
  .fc-hero__counter { right: 16px; bottom: 16px; }
}

/* === SRC_FAITHFUL_END === */
/* === FC_BRANDMARK === */
/* Footer brandmark (red Febal Casa square in bottom row) */
.fc-footer__brandmark { display: inline-flex; align-items: center; width: 36px; height: 36px; flex-shrink: 0; }
.fc-footer__brandmark svg { width: 100%; height: 100%; }
.fc-footer__bottom-inner { gap: 32px; }
@media (max-width: 768px) { .fc-footer__brandmark { margin: 0 auto; } }



/* FC_DETAJE_START */
.fc-product__detaje { max-width: 1080px; margin: 0 auto; padding: 60px 24px; }
.fc-detaje-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 32px 40px; margin-top: 32px; }
.fc-detaje-item { border-top: 1px solid rgba(10,12,6,0.15); padding-top: 18px; }
.fc-detaje-item__title { font-family: 'Noto Serif Display', serif; font-size: 16px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; margin: 0 0 8px; color: var(--fc-ink, #0a0c06); line-height: 1.2; }
.fc-detaje-item__body { font-size: 14px; line-height: 1.55; color: var(--fc-body-text, #343e47); margin: 0; }
@media (max-width: 760px) { .fc-product__detaje { padding: 40px 16px; } .fc-detaje-list { grid-template-columns: 1fr; gap: 24px; } }
/* FC_DETAJE_END */


/* FC_INSPIRIME_START */
.fc-inspirime { max-width: 1280px; margin: 0 auto; padding: 80px 24px 100px; }
.fc-inspirime__hero { text-align: center; max-width: 760px; margin: 0 auto 80px; }
.fc-inspirime__title { font-family: 'Noto Serif Display', serif; font-weight: 400; font-size: clamp(40px, 5vw, 72px); line-height: 1.05; margin: 12px 0 20px; color: var(--fc-ink, #0a0c06); }
.fc-inspirime__lede { font-size: 17px; line-height: 1.55; color: var(--fc-body-text, #343e47); max-width: 620px; margin: 0 auto; }
.fc-inspirime__list { display: flex; flex-direction: column; gap: 80px; margin-top: 60px; }
.fc-inspirime__story { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: center; }
.fc-inspirime__story--alt { grid-template-columns: 1fr 1.1fr; }
.fc-inspirime__story--alt .fc-inspirime__media { order: 2; }
.fc-inspirime__story--alt .fc-inspirime__copy  { order: 1; }
.fc-inspirime__media img { width: 100%; height: auto; display: block; aspect-ratio: 5/3; object-fit: cover; }
.fc-inspirime__copy { padding: 0 8px; }
.fc-inspirime__story-eyebrow { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--fc-warm-grey, #8a7d6e); margin: 0 0 12px; }
.fc-inspirime__story-title { font-family: 'Noto Serif Display', serif; font-weight: 400; font-size: clamp(28px, 3.2vw, 44px); line-height: 1.1; margin: 0 0 18px; color: var(--fc-ink, #0a0c06); }
.fc-inspirime__story-body { font-size: 15px; line-height: 1.35; color: var(--fc-body-text, #343e47); margin: 0; }
@media (max-width: 860px) {
  .fc-inspirime { padding: 48px 16px 70px; }
  .fc-inspirime__hero { margin-bottom: 56px; }
  .fc-inspirime__list { gap: 56px; }
  .fc-inspirime__story, .fc-inspirime__story--alt { grid-template-columns: 1fr; gap: 24px; }
  .fc-inspirime__story--alt .fc-inspirime__media { order: 1; }
  .fc-inspirime__story--alt .fc-inspirime__copy  { order: 2; }
}
/* FC_INSPIRIME_END */


/* FC_KOLEKSIONET_START */
.fc-archive__koleksionet { max-width: 1080px; margin: 0 auto; padding: 48px 24px 60px; }
.fc-archive__koleksionet .fc-section-heading { text-align: center; margin-bottom: 32px; }
.fc-koleksionet-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 28px 36px; }
.fc-koleksionet-item { border-top: 1px solid rgba(10,12,6,0.15); padding-top: 16px; }
.fc-koleksionet-item__title { font-family: 'Noto Serif Display', serif; font-size: 15px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; margin: 0 0 8px; line-height: 1.2; color: var(--fc-ink, #0a0c06); }
.fc-koleksionet-item__body { font-size: 14px; line-height: 1.55; color: var(--fc-body-text, #343e47); margin: 0; }
@media (max-width: 760px) { .fc-archive__koleksionet { padding: 36px 16px 48px; } .fc-koleksionet-list { grid-template-columns: 1fr; gap: 22px; } }
/* FC_KOLEKSIONET_END */
\n/* FC_SISTEMI_START */\n.fc-sistemi { max-width: 1080px; margin: 0 auto; padding: 80px 32px 100px; }\n.fc-sistemi__hero { text-align: center; margin-bottom: 48px; }\n.fc-sistemi__title { font-family: var(--fc-font-serif); font-size: clamp(40px, 5vw, 72px); line-height: 1.05; margin: 8px 0 16px; color: var(--fc-ink); }\n.fc-sistemi__lede { font-size: 17px; line-height: 1.55; color: var(--fc-body); max-width: 720px; margin: 0 auto; }\n.fc-sistemi__description { max-width: 820px; margin: 0 auto 64px; }\n.fc-sistemi__description p { font-size: 16px; line-height: 1.7; color: var(--fc-body); margin: 0 0 18px; }\n.fc-sistemi__exclusive { margin: 64px 0 80px; }\n.fc-sistemi__exclusive-title { font-family: var(--fc-font-serif); font-size: clamp(28px, 3vw, 40px); text-align: center; margin: 0 0 36px; color: var(--fc-ink); }\n.fc-sistemi-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 28px 36px; }\n.fc-sistemi-item { border-top: 1px solid rgba(10,12,6,0.12); padding-top: 16px; }\n.fc-sistemi-item__title { font-family: var(--fc-font-serif); font-size: 15px; letter-spacing: 1.5px; text-transform: uppercase; margin: 0 0 10px; color: var(--fc-ink); }\n.fc-sistemi-item__body { font-size: 14.5px; line-height: 1.55; color: var(--fc-body); margin: 0; }\n.fc-sistemi__products-title { font-family: var(--fc-font-serif); font-size: clamp(28px, 3vw, 40px); text-align: center; margin: 0 0 36px; color: var(--fc-ink); }\n.fc-sistemi__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 24px; }\n.fc-sistemi__card { display: block; text-decoration: none; color: inherit; transition: transform 0.5s cubic-bezier(0.2,0.8,0.2,1); }\n.fc-sistemi__card:hover { transform: scale(1.03); }\n.fc-sistemi__card-img { display: block; aspect-ratio: 4/3; overflow: hidden; background: var(--fc-section-alt-bg, #f4f1ea); }\n.fc-sistemi__card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }\n.fc-sistemi__card-label { display: block; margin-top: 12px; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px; }\n@media (max-width: 760px) { .fc-sistemi { padding: 60px 20px 80px; } .fc-sistemi-list { grid-template-columns: 1fr; gap: 22px; } }\n/* FC_SISTEMI_END */\n
/* FC_HERO_LEDE_START */
.fc-hero__lede { font-family: var(--fc-font-sans, system-ui); font-size: 15px; line-height: 1.45; color: #fff; max-width: 480px; margin: 14px 0 22px; opacity: 0.95; }
@media (max-width: 760px) { .fc-hero__lede { font-size: 14px; max-width: 90%; } }
/* FC_HERO_LEDE_END */

/* FC_NAV_HOVER_SLIDE_START */
.fc-nav__primary .fc-nav__link, .fc-nav__primary .fc-nav__trigger { position: relative; overflow: hidden; }
.fc-nav__primary .fc-nav__link span, .fc-nav__primary .fc-nav__trigger > span { display: inline-block; transition: transform 320ms cubic-bezier(0.4, 0, 0.2, 1); }
.fc-nav__primary .fc-nav__link:hover span, .fc-nav__primary .fc-nav__trigger:hover > span { transform: translateY(-2px); }
.fc-nav__primary .fc-nav__link::after, .fc-nav__primary .fc-nav__trigger::after { content: ''; position: absolute; left: 0; right: 0; bottom: -2px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left center; transition: transform 320ms cubic-bezier(0.4, 0, 0.2, 1); }
.fc-nav__primary .fc-nav__link:hover::after, .fc-nav__primary .fc-nav__trigger:hover::after { transform: scaleX(1); }
/* FC_NAV_HOVER_SLIDE_END */

/* FC_GLOBE_START - Session 45 utility globe icon */
.fc-nav__utility-right { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.fc-nav__utility-globe { display: inline-flex; align-items: center; color: var(--fc-cream, #fbfaf6); opacity: 0.7; margin-left: 4px; }
.fc-nav__utility-globe svg { display: block; }
/* FC_GLOBE_END */

/* FC_PRODUCT_S45_START - Session 45 product page enrichment */
.fc-product__hero { position: relative; width: 100%; aspect-ratio: 16/8; background-size: cover; background-position: center; margin: 0 0 40px; }
.fc-product__hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.12) 0%, rgba(0,0,0,0) 35%, rgba(0,0,0,0.10) 100%); }
@media (max-width: 768px) { .fc-product__hero { aspect-ratio: 4/3; margin-bottom: 24px; } }

.fc-product__lede { max-width: 760px; margin: 0 auto; padding: 0 24px 40px; text-align: center; }
.fc-product__lede p { font-size: 17px; line-height: 1.55; color: var(--fc-body-text, #343e47); }

.fc-product__storytelling { max-width: 1280px; margin: 0 auto; padding: 60px 24px; display: flex; flex-direction: column; gap: 80px; }
.fc-product__story { display: grid; grid-template-columns: 1fr 1.1fr; gap: 60px; align-items: center; }
.fc-product__story--alt { grid-template-columns: 1.1fr 1fr; direction: rtl; }
.fc-product__story--alt > * { direction: ltr; }
.fc-product__story-title { font-family: var(--fc-font-serif, 'Noto Serif Display', serif); font-size: clamp(28px, 3.2vw, 44px); line-height: 1.1; margin: 12px 0 16px; color: var(--fc-ink, #0a0c06); }
.fc-product__story-body { font-size: 15px; line-height: 1.35; color: var(--fc-body-text, #343e47); }
.fc-product__story-body p { margin: 0 0 12px; }
.fc-product__story-media img { width: 100%; height: auto; display: block; aspect-ratio: 4/3; object-fit: cover; }
@media (max-width: 900px) { .fc-product__story, .fc-product__story--alt { grid-template-columns: 1fr; direction: ltr; gap: 24px; } .fc-product__storytelling { gap: 60px; padding: 40px 20px; } }

.fc-product__finishes-wrap { max-width: 1280px; margin: 60px auto; padding: 0 24px; }
.fc-product__finishes-head { text-align: center; max-width: 720px; margin: 0 auto 40px; }
.fc-product__finishes-head .fc-eyebrow { margin-bottom: 8px; }
.fc-product__finishes-sub { font-size: 15px; color: var(--fc-body-text, #343e47); margin-top: 12px; line-height: 1.5; }
.fc-finishes-group { margin-bottom: 48px; }
.fc-finishes-group__title { font-family: var(--fc-font-sans, system-ui); font-size: 12px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--fc-warm-grey, #8a7d6e); margin: 0 0 18px; padding-bottom: 8px; border-bottom: 1px solid rgba(138,125,110,0.25); }
.fc-finishes-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 16px; }
.fc-finish-card { margin: 0; }
.fc-finish-card__swatch { display: block; width: 100%; aspect-ratio: 1/1; background-color: #efeae3; background-size: cover; background-position: center; border-radius: 2px; }
.fc-finish-card__name { display: block; margin-top: 8px; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: var(--fc-ink, #0a0c06); text-align: center; }
@media (max-width: 600px) { .fc-finishes-grid { grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); gap: 12px; } }

.fc-product__consulting { background: var(--fc-section-alt-bg, #f4f1ea); margin: 60px 0 0; padding: 60px 24px; text-align: center; }
.fc-product__consulting-inner { max-width: 680px; margin: 0 auto; }
.fc-product__consulting-body { font-size: 15px; line-height: 1.35; color: var(--fc-body-text, #343e47); margin: 16px 0 24px; }

.fc-product__catalogue { background: var(--fc-ink, #0a0c06); color: var(--fc-cream, #fbfaf6); padding: 60px 24px; text-align: center; }
.fc-product__catalogue-inner { max-width: 680px; margin: 0 auto; }
.fc-product__catalogue .fc-eyebrow, .fc-product__catalogue .fc-section-heading { color: var(--fc-cream, #fbfaf6); }
.fc-product__catalogue-body { font-size: 15px; line-height: 1.6; opacity: 0.85; margin: 16px 0 24px; }
.fc-product__catalogue .fc-btn--ghost { color: var(--fc-cream, #fbfaf6); border-color: rgba(251,250,246,0.4); }
.fc-product__catalogue .fc-btn--ghost:hover { background: var(--fc-cream, #fbfaf6); color: var(--fc-ink, #0a0c06); }
/* FC_PRODUCT_S45_END */

/* FC_S46_S47_START - Session 46+47 archive/system covers, Inspirime preview, newsletter underline inputs */
.fc-archive__cover, .fc-sistemi__cover { position: relative; width: 100%; aspect-ratio: 16/6; background-size: cover; background-position: center; margin: 0 0 40px; }
.fc-archive__cover-overlay, .fc-sistemi__cover-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0) 40%, rgba(0,0,0,0.15) 100%); }
@media (max-width: 768px) { .fc-archive__cover, .fc-sistemi__cover { aspect-ratio: 4/3; margin-bottom: 24px; } }
.fc-inspirime-preview { max-width: 1280px; margin: 80px auto; padding: 0 24px; }
.fc-inspirime-preview__head { text-align: center; max-width: 680px; margin: 0 auto 40px; }
.fc-inspirime-preview__title { font-family: var(--fc-font-serif, 'Noto Serif Display', serif); font-size: clamp(32px, 4vw, 56px); line-height: 1.1; margin: 12px 0 16px; color: var(--fc-ink, #0a0c06); }
.fc-inspirime-preview__lede { font-size: 15px; line-height: 1.5; color: var(--fc-body-text, #343e47); }
.fc-inspirime-preview__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 32px; }
.fc-inspirime-preview__card { display: block; text-decoration: none; color: inherit; transition: transform 500ms cubic-bezier(0.2, 0.8, 0.2, 1); }
.fc-inspirime-preview__card:hover { transform: scale(1.02); }
.fc-inspirime-preview__img { display: block; width: 100%; aspect-ratio: 4/3; background-size: cover; background-position: center; margin-bottom: 12px; }
.fc-inspirime-preview__label { font-family: var(--fc-font-sans, system-ui); font-size: 12px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--fc-ink, #0a0c06); }
.fc-inspirime-preview__cta { text-align: center; }
@media (max-width: 860px) { .fc-inspirime-preview__grid { grid-template-columns: 1fr; gap: 20px; } .fc-inspirime-preview { margin: 60px auto; } }
/* Newsletter underline-only inputs (source-faithful minimalist style) */
.fc-newsletter input[type="email"], .fc-newsletter input[type="text"] { background: transparent !important; border: none !important; border-bottom: 1px solid rgba(251,250,246,0.5) !important; border-radius: 0 !important; padding: 12px 0 !important; color: var(--fc-cream, #fbfaf6) !important; font-size: 15px; letter-spacing: 0.5px; transition: border-color 240ms ease; }
.fc-newsletter input[type="email"]:focus, .fc-newsletter input[type="text"]:focus { outline: none !important; border-bottom-color: var(--fc-cream, #fbfaf6) !important; box-shadow: none !important; }
.fc-newsletter input[type="email"]::placeholder, .fc-newsletter input[type="text"]::placeholder { color: rgba(251,250,246,0.5); }
/* FC_S46_S47_END */


/* FC_KATALOGU_SHOWROOM_START - Session 48+49 catalogue grid + showroom page */
.fc-katalogu { max-width: 1280px; margin: 60px auto 0; padding: 0 24px; }
.fc-katalogu__hero { text-align: center; max-width: 720px; margin: 0 auto 60px; }
.fc-katalogu__title { font-family: var(--fc-font-serif, "Noto Serif Display", serif); font-size: clamp(40px, 5vw, 72px); line-height: 1.05; margin: 12px 0 16px; color: var(--fc-ink, #0a0c06); }
.fc-katalogu__lede { font-size: 16px; line-height: 1.55; color: var(--fc-body-text, #343e47); }
.fc-katalogu__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 32px; margin-bottom: 80px; }
.fc-katalogu-card { background: var(--fc-section-alt-bg, #f4f1ea); display: flex; flex-direction: column; transition: transform 360ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 360ms ease; }
.fc-katalogu-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(10,12,6,0.10); }
.fc-katalogu-card__cover { aspect-ratio: 4/5; background: linear-gradient(135deg, #2a2a26 0%, #1a1a18 100%); display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.fc-katalogu-card__cover::before { content: ""; position: absolute; inset: 16px; border: 1px solid rgba(251,250,246,0.15); }
.fc-katalogu-card__cover-label { font-family: var(--fc-font-sans, system-ui); font-size: 18px; font-weight: 700; letter-spacing: 6px; color: rgba(251,250,246,0.7); }
.fc-katalogu-card__body { padding: 24px 24px 28px; flex: 1; display: flex; flex-direction: column; }
.fc-katalogu-card__system { font-family: var(--fc-font-sans, system-ui); font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--fc-warm-grey, #8a7d6e); margin: 0 0 8px; }
.fc-katalogu-card__title { font-family: var(--fc-font-serif, "Noto Serif Display", serif); font-size: 24px; line-height: 1.15; margin: 0 0 12px; color: var(--fc-ink, #0a0c06); }
.fc-katalogu-card__desc { font-size: 14px; line-height: 1.5; color: var(--fc-body-text, #343e47); margin: 0 0 16px; flex: 1; }
.fc-katalogu-card__meta { font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--fc-warm-grey, #8a7d6e); margin-bottom: 16px; }
.fc-katalogu-card .fc-btn--primary { align-self: flex-start; }
.fc-katalogu__cta { background: var(--fc-section-alt-bg, #f4f1ea); padding: 60px 24px; text-align: center; margin: 0 -24px 60px; }
.fc-katalogu__cta-title { font-family: var(--fc-font-serif, serif); font-size: clamp(28px, 3.2vw, 40px); line-height: 1.1; margin: 0 0 16px; }
.fc-katalogu__cta-lede { font-size: 15px; line-height: 1.55; color: var(--fc-body-text, #343e47); max-width: 560px; margin: 0 auto 24px; }
.fc-showroom-page__hero { position: relative; aspect-ratio: 16/9; background-size: cover; background-position: center; margin: 0 0 60px; min-height: 360px; max-height: 540px; display: flex; align-items: flex-end; }
.fc-showroom-page__hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0) 40%, rgba(0,0,0,0.55) 100%); }
.fc-showroom-page__hero-inner { position: relative; z-index: 1; padding: 48px 32px; max-width: 1280px; margin: 0 auto; width: 100%; color: var(--fc-cream, #fbfaf6); }
.fc-showroom-page__hero-title { font-family: var(--fc-font-serif, "Noto Serif Display", serif); font-size: clamp(48px, 7vw, 96px); line-height: 1.0; margin: 12px 0 0; color: inherit; }
.fc-showroom-page__hero-fallback { text-align: center; padding: 80px 24px 60px; }
.fc-showroom-page__title { font-family: var(--fc-font-serif, serif); font-size: clamp(40px, 5.5vw, 72px); line-height: 1.05; margin: 12px 0 0; }
.fc-showroom-page__contact { max-width: 1280px; margin: 0 auto 60px; padding: 0 24px; }
.fc-showroom-page__contact-inner { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.fc-showroom-page__contact-card { background: #fff; padding: 28px; border: 1px solid rgba(138,125,110,0.20); }
.fc-showroom-page__contact-label { font-family: var(--fc-font-sans, system-ui); font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--fc-warm-grey, #8a7d6e); margin: 0 0 8px; }
.fc-showroom-page__contact-value { font-size: 18px; line-height: 1.4; color: var(--fc-ink, #0a0c06); margin: 0 0 16px; }
@media (max-width: 860px) { .fc-showroom-page__contact-inner { grid-template-columns: 1fr; } }
.fc-showroom-page__hours, .fc-showroom-page__characteristics, .fc-showroom-page__services { max-width: 1080px; margin: 0 auto 60px; padding: 0 24px; }
.fc-showroom-page__hours-list { list-style: none; padding: 0; margin: 0; max-width: 640px; }
.fc-showroom-page__hours-list li { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid rgba(138,125,110,0.20); font-size: 15px; }
.fc-showroom-page__day { font-weight: 600; color: var(--fc-ink, #0a0c06); }
.fc-showroom-page__time { color: var(--fc-body-text, #343e47); }
.fc-showroom-page__char-list, .fc-showroom-page__services-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px 32px; }
.fc-showroom-page__char-list li, .fc-showroom-page__services-list li { font-size: 15px; line-height: 1.5; color: var(--fc-body-text, #343e47); padding-left: 0; }
.fc-showroom-page__char-icon { display: inline-block; width: 24px; color: var(--fc-brand-red, #ED1C24); font-weight: 700; }
.fc-showroom-page__services-list li::before { content: "— "; color: var(--fc-warm-grey, #8a7d6e); margin-right: 8px; }
@media (max-width: 760px) { .fc-showroom-page__char-list, .fc-showroom-page__services-list { grid-template-columns: 1fr; } }
.fc-showroom-page__form { background: var(--fc-section-alt-bg, #f4f1ea); padding: 60px 24px; margin: 60px 0 0; }
.fc-showroom-page__form-head { max-width: 640px; margin: 0 auto 32px; text-align: center; }
.fc-showroom-page__form-title { font-family: var(--fc-font-serif, serif); font-size: clamp(28px, 3.2vw, 40px); line-height: 1.1; margin: 12px 0 16px; }
.fc-showroom-page__form-lede { font-size: 15px; line-height: 1.55; color: var(--fc-body-text, #343e47); }
.fc-showroom-page__form .fluentform { max-width: 720px; margin: 0 auto; }
/* FC_KATALOGU_SHOWROOM_END */

/* FC_DAY1_HERO_OVERLAY_START — Session 57 (2026-05-28)
   Issue (Tomi V2 #2): primary nav row reads invisible (white text on cream)
   Root cause: main.fc-main has 108px top offset reserving space for the fixed nav,
   so the hero photo starts at y=108 instead of y=0; the top 108px of viewport
   shows the cream page background (#FBFAF6) through the transparent nav.
   Fix: pull <main> up by the nav height ONLY on pages where .fc-hero is the first
   child of <main>. Other pages (kategoria archives, single produkti, kontakt, etc.)
   open with .fc-archive__cover or other elements and keep their 108px top offset.
   :has() support: Chrome/Edge 105+, Safari 15.4+, Firefox 121+ — fine for 2026.
*/
/* Real source of the 108px gap: body { padding-top: var(--fc-h-header); }
   in the base stylesheet reserves space for the position:fixed .fc-nav.
   Override: on pages whose <main> starts with .fc-hero, drop the body padding
   so the hero photo extends behind the fixed nav. The nav stays in front.
   Specificity: body:has(...) is 0,0,1,1 vs body{...} 0,0,0,1 — we win cleanly,
   no !important needed. Appearing later in the cascade also helps. */
body:has(main.fc-main > .fc-hero:first-child) {
  padding-top: 0;
}
body:has(main.fc-main > .fc-hero:first-child) .fc-hero {
  position: relative;
}
/* FC_DAY1_HERO_OVERLAY_END */

/* FC_DAY1_NAV_CREAM_GRADIENT_START — Session 57 (2026-05-28)
   Issue: with the hero-overlay fix in place, primary nav text is white over
   the hero photo. That works on dark slides (Origina dark wood) but bright
   slides (cream/white kitchens) still risk poor contrast.
   Parent solution (verified by reading designsystem.min.css on febalcasa.com/it):
     [data-navigation]:before { background-image: linear-gradient(rgba(251,250,246,0.5), transparent); }
   A 50%-opacity cream→transparent gradient sits BEHIND nav content. On dark
   slides it's almost invisible; on bright slides it provides soft cream wash
   that lifts text just enough to read. Pure CSS, no JS, no scroll math.
   We mirror the same trick on .fc-nav, scoped to negative z-index so it
   paints behind utility/primary content but in front of the hero photo.
*/
nav.fc-nav {
  position: fixed;
}
nav.fc-nav::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(251, 250, 246, 0.5), transparent);
  pointer-events: none;
  z-index: -1;
}
/* FC_DAY1_NAV_CREAM_GRADIENT_END */

/* FC_DAY1_NAV_TYPOGRAPHY_START — Session 58 (2026-05-28)
   Bring nav text in parity with parent (measured directly from
   www.febalcasa.com/it via Playwright getComputedStyle):
   - Utility row links: parent 12.96px / lh 16.85px / letter-spacing normal / mixed case
   - Primary row links: parent 12.96px / letter-spacing normal / UPPERCASE
   - CTA Prenota / Cakto:   parent 14.4px / letter-spacing normal / UPPERCASE
   - Search label Cerca:    parent 13.33px / letter-spacing normal / mixed case
   Dev was hard-coded to 12px with 1.2-1.8px letter-spacing throughout and
   uppercase on the utility row. Bringing all four clusters to parent values.
*/

/* Utility row — mixed case, parent size, no tracking */
nav.fc-nav .fc-nav__utility-left a,
nav.fc-nav .fc-nav__utility-right a {
  font-size: 0.81rem;             /* parent 12.96px @ 16px root */
  line-height: 1.3;                /* parent 16.85/12.96 ≈ 1.3 */
  letter-spacing: normal;
  text-transform: none;
}

/* Primary row triggers + links — parent size, no tracking, keep uppercase */
nav.fc-nav .fc-nav__primary-left .fc-nav__link,
nav.fc-nav .fc-nav__primary-left .fc-nav__trigger {
  font-size: 0.81rem;             /* parent 12.96px */
  letter-spacing: normal;
  /* text-transform: uppercase — already set, parent matches */
}

/* CTA "Cakto një vizitë" — parent's larger CTA size, no tracking */
nav.fc-nav .fc-nav__cta {
  font-size: 0.9rem;              /* parent 14.4px @ 16px root */
  letter-spacing: normal;
  /* text-transform: uppercase — already set, parent matches */
}

/* Search label "Kërko" — parent size, mixed case (parent "Cerca" is mixed) */
nav.fc-nav .fc-nav__search-label {
  font-size: 0.833rem;            /* parent 13.33px ≈ 0.833rem */
  letter-spacing: normal;
  text-transform: none;
}
/* FC_DAY1_NAV_TYPOGRAPHY_END */

/* Hide the mobile sticky CTA on desktop by default — it's revealed inside @media (max-width: 1199px) */
a.fc-mobile-sticky-cta { display: none; }

/* FC_DAY1_NAV_RESPONSIVE_START — Session 61 (2026-05-28)
   Elvis directive: 'It needs to behave and look exactly like the original.'
   Mirror parent's tablet+mobile nav exactly (parent breakpoint @media max-width: 1199px):
   - All utility row + primary links + search HIDDEN
   - Logo bumped to 80x80 prominent red block at top-left
   - MENU text label next to hamburger button at top-right
   - 'Cakto nje vizite' CTA REMOVED from inline nav position
   - 'Cakto nje vizite' CTA RE-ADDED as fixed sticky bar at viewport bottom
     (cream #FBFAF6 bg, dark text, full-width, 1px top border #A8A7A0)
   Source-faithful per measurements from www.febalcasa.com/it at 390 + 768 viewports.
*/
@media (max-width: 1199px) {
  /* Hide search entirely (parent ships no search on mobile) */
  nav.fc-nav .fc-nav__search-form,
  nav.fc-nav .fc-nav__search-btn,
  nav.fc-nav .fc-nav__search-label,
  nav.fc-nav .fc-nav__search-input { display: none !important; }

  /* Logo bump to match parent's 80x80 prominent red block */
  nav.fc-nav .fc-nav__logo {
    width: 80px !important;
    height: 80px !important;
    top: 8px !important;
    left: 16px !important;
  }

  /* Style the existing .fc-nav__menu-btn-label (already in the markup) to match parent.
     Do NOT inject a ::before "MENU" — the button markup already includes the label span. */
  nav.fc-nav .fc-nav__menu-btn-label {
    font-size: 0.81rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: normal;
    color: var(--fc-body, #0a0c06);
    margin-right: 8px;
    vertical-align: middle;
    display: inline-block !important; /* override any earlier rule that may hide it */
  }

  /* Remove the inline CTA from nav position (we move it to sticky bottom bar below) */
  nav.fc-nav .fc-nav__cta { display: none !important; }

  /* Sticky bottom CTA — real anchor in header.php (Session 63 swap from body::after pseudo).
     Cream bg + 1px top border + uppercase dark text matches parent's pattern. */
  a.fc-mobile-sticky-cta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background-color: #FBFAF6;
    color: #0A0C06;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    text-decoration: none;
    border-top: 1px solid #A8A7A0;
    z-index: 99;
  }
  a.fc-mobile-sticky-cta:hover,
  a.fc-mobile-sticky-cta:focus { background-color: #FFFFFF; color: #0A0C06; }

  /* Push page content up to clear the sticky CTA bar */
  body { padding-bottom: 44px !important; }
}
/* FC_DAY1_NAV_RESPONSIVE_END */

/* FC_DAY1_HERO_TYPOGRAPHY_START — Session 63 (2026-05-28)
   Wave 1: bring hero caption typography in parity with parent (measured Session 59).
   Parent values from www.febalcasa.com/it via Playwright getComputedStyle:
   - Title H1:  62px / Noto Serif Display 400 / line-height 62px / mixed case (NOT 158.4px)
   - Eyebrow:   14px / weight 500 / line-height 18.9 / mixed case
   - Lede:      14.4px / weight 400 / line-height 18.72 / mixed case
   - CTA:       14px / weight 500 / line-height 18.9 / UPPERCASE
   Per Elvis directive 'exactly like the original'.
*/
.fc-hero__title {
  /* Parent's responsive ramp: 38px @ 390 → 46.08px @ 768 → 62px @ 1440.
     Equation: clamp(38px, 6vw, 62px) — same as WP preset --wp--preset--font-size--h-1.
     Verified Session 64 via parent getComputedStyle at 3 viewports. */
  font-size: clamp(38px, 6vw, 62px) !important;
  line-height: 1 !important;
  font-weight: 400;
}
.fc-hero__eyebrow {
  font-size: 14px;
  font-weight: 500;
  line-height: 18.9px;
  /* mixed case — keep default */
}
.fc-hero__lede {
  font-size: 14.4px !important;      /* was 16px */
  font-weight: 400;
  line-height: 18.72px !important;
}
.fc-hero__cta {
  font-size: 14px !important;        /* was 12px */
  font-weight: 500;
  line-height: 18.9px;
  letter-spacing: normal;
  text-transform: uppercase !important; /* match parent's SCOPRI IL PROGETTO style */
}
/* FC_DAY1_HERO_TYPOGRAPHY_END */

/* FC_DAY1_TOMI_V2_CSS_START — Session 65 (2026-05-28)
   Tomi V2 remaining quick wins #5, #6, #8. Verified against febalcasa.com/it:
   parent search is icon-only (no visible "Cerca" word at desktop), product
   tiles have transparent backgrounds (no cream box), and ALL buttons use
   border-radius: 0 (sharp rectangles). Phase-1, no IA/sign-off needed. */

/* #5 — Remove the visible "Kërko" label on DESKTOP; keep the magnifier icon.
   (Mobile already hides the whole search cluster via the 1199px media query.) */
nav.fc-nav .fc-nav__search-label {
  display: none !important;
}

/* #6 — Product grid image tiles: remove the cream #f4f1ea placeholder box so
   tiles are transparent like the parent. The product <img> still covers the
   tile; this only kills the cream flash/box where an image is missing or while
   it loads. Scoped to grid/card image tiles only — section bands that legitimately
   use --fc-section-alt (e.g. .fc-product__cta, .fc-section--alt) are untouched. */
.fc-card__img,
.fc-card__placeholder,
.fc-mega__img,
.fc-room-card__img,
.fc-finishes__swatch {
  background-color: transparent !important;
}

/* #8 — Sharp rectangular buttons (border-radius: 0) to match the parent, which
   renders every btn-* at 0px. Flatten CTA buttons and the pill/eyebrow chips.
   IMPORTANT: do NOT touch the circular arrow icons (.fc-arrow, counter circle,
   globe) — those are intentional round icons that the parent also uses. */
.fc-btn,
.fc-btn--primary,
.fc-btn--ghost,
.fc-btn--ghost-light,
.fc-btn--text,
.fc-hero__cta,
.fc-lang-pill,
.fc-showroom-feature__eyebrow,
.fc-product__cta-button,
.fc-mobile-sticky-cta,
a.fc-mobile-sticky-cta {
  border-radius: 0 !important;
}
/* FC_DAY1_TOMI_V2_CSS_END */

/* FC_VILLA_BLOCK_START — Session 67 (2026-05-28)
   Strict mirror of parent's "Villa Febal Casa: Home, wherever you are" brand block.
   Values lifted from parent getComputedStyle: bg cover @ 50% 85%, warm overlay
   #462b0f99, 1em pure-white inset border, xxl vertical padding, centered cream
   text, 48px Noto Serif Display heading, 14.4px body. */
.fc-villa {
  position: relative;
  border: 1em solid #fbfaf6;            /* parent: 1em pure-white border */
  background-size: cover;
  background-position: 50% 85%;
  background-repeat: no-repeat;
  padding: 96px 24px;                    /* approximates parent --wp--preset--spacing--xxl */
  overflow: hidden;
}
.fc-villa__overlay {
  position: absolute;
  inset: 0;
  background: #462b0f99;                 /* parent --feb-bg-overlay-color */
  pointer-events: none;
}
.fc-villa__inner {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  color: #fbfaf6;
}
.fc-villa__title {
  font-family: var(--fc-font-serif);
  font-weight: 400;
  font-size: clamp(32px, 4vw, 48px);     /* parent desktop 48px */
  line-height: 1.08;
  color: #fbfaf6;
  margin: 0 0 20px;
}
.fc-villa__text {
  font-size: 14.4px;                     /* parent 14.4px */
  line-height: 1.6;
  color: #fbfaf6;
  margin: 0 auto 28px;
  max-width: 600px;
}
.fc-villa__cta {
  /* uses .fc-btn--ghost-light (cream border/text); border-radius 0 inherited from FC_DAY1_TOMI_V2_CSS */
}
@media (max-width: 768px) {
  .fc-villa { padding: 64px 18px; border-width: 0.5em; }
}
/* FC_VILLA_BLOCK_END */

/* FC_ARCHIVE_SUMMARY_START — Session 68 (2026-05-29)
   Strict mirror of parent's category section#summary: bottom-of-page SEO copy,
   serif brand-line title + descriptive body, transparent bg, 80px vertical pad,
   left-aligned, body 14.4px/18.72px. Two-column on desktop (title | body). */
.fc-archive__summary {
  max-width: var(--fc-container);
  margin: 0 auto;
  padding: 80px 32px;
}
.fc-archive__summary-grid {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 48px;
  align-items: start;
}
.fc-archive__summary-title {
  font-family: var(--fc-font-serif);
  font-weight: 400;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.1;
  color: var(--fc-ink);
  display: block;
}
.fc-archive__summary-body {
  font-size: 14.4px;
  line-height: 1.5;
  color: var(--fc-body);
}
.fc-archive__summary-body p { margin: 0 0 14px; }
@media (max-width: 768px) {
  .fc-archive__summary { padding: 56px 20px; }
  .fc-archive__summary-grid { grid-template-columns: 1fr; gap: 20px; }
}
/* FC_ARCHIVE_SUMMARY_END */

/* ===== FC_SHOWROOM_GALLERY — store carousel (Session 73), mirrors parent .gallery-store ===== */
.fc-showroom-page__gallery { margin: 0 auto 64px; padding-left: 32px; }
.fc-showroom-gallery { width: 100%; overflow: hidden; }
.fc-showroom-gallery .swiper-slide { height: auto; }
.fc-showroom-gallery__img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; background: #eee; }
@media (max-width: 768px) {
  .fc-showroom-page__gallery { padding-left: 20px; margin-bottom: 44px; }
}


/* FC_TYPOGRAPHY_S78_START - Session 78 source-parity typography unification */
h4, h5, h6 { font-family: var(--fc-font-sans, system-ui, -apple-system, sans-serif); font-weight: 600; line-height: 1.2; letter-spacing: 0.5px; }
h4 { font-size: clamp(18px, 1.6vw, 22px); }
h5 { font-size: clamp(14px, 1.2vw, 16px); text-transform: uppercase; letter-spacing: 1.5px; }
h6 { font-size: 12px; text-transform: uppercase; letter-spacing: 1.5px; }
/* Summary block heading - source Display 2 scale */
.fc-archive__summary h2 { font-size: clamp(32px, 4vw, 48px); }
/* Card label: explicit sans-uppercase for any remaining card title variants */
.fc-card__label, .fc-room-card__label, .fc-mega__label { font-family: var(--fc-font-sans, system-ui, -apple-system, sans-serif); font-weight: 500; text-transform: uppercase; letter-spacing: 1.5px; font-size: 11px; line-height: 1.2; }
/* Stop H1 archive title being overridden by Elementor's serif weight */
.fc-archive__title, .fc-product__title, .fc-sistemi__title { font-family: var(--fc-font-serif, 'Noto Serif Display', serif) !important; font-weight: 400 !important; }
/* FC_TYPOGRAPHY_S78_END */


/* FC_MOBILE_S78_START - Session 78 mobile menu source-faithful rebuild */
.fc-mobile {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 200;
  background: var(--fc-cream, #fbfaf6);
  color: var(--fc-ink, #0a0c06);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 320ms cubic-bezier(0.4, 0, 0.2, 1);
  padding: 0;
  overflow: hidden;
}
body.fc-mobile-open .fc-mobile { transform: translateX(0); }
.fc-mobile[hidden] { display: flex; }
.fc-mobile-overlay {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 199;
  background: rgba(0, 0, 0, 0.55);
  opacity: 0;
  pointer-events: none;
  transition: opacity 240ms ease;
}
body.fc-mobile-open .fc-mobile-overlay { opacity: 1; pointer-events: auto; }
body.fc-mobile-open { overflow: hidden; }
body.fc-mobile-open .fc-mobile-sticky-cta { display: none !important; }

.fc-mobile__topbar {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(10, 12, 6, 0.08);
}
.fc-mobile__brand { display: inline-flex; align-items: center; color: var(--fc-brand-red, #ED1C24); }
.fc-mobile__brand svg { width: 56px; height: auto; }
.fc-mobile__close {
  appearance: none; border: 0; background: transparent;
  width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--fc-ink, #0a0c06);
  cursor: pointer;
}
.fc-mobile__close:hover { color: var(--fc-brand-red, #ED1C24); }

.fc-mobile__scroll {
  flex: 1 1 auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 8px 20px 32px;
}
.fc-mobile__section { margin: 24px 0 0; }
.fc-mobile__section:first-child { margin-top: 8px; }
.fc-mobile__section-title {
  font: 600 11px/1.2 var(--fc-font-sans, system-ui, -apple-system, sans-serif);
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--fc-warm-grey, #8a7d6e);
  margin: 0 0 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(138, 125, 110, 0.25);
}
.fc-mobile__links {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 0;
}
.fc-mobile__links li { border-bottom: 1px solid rgba(10, 12, 6, 0.06); }
.fc-mobile__links li:last-child { border-bottom: 0; }
.fc-mobile__links a {
  display: block;
  padding: 14px 0;
  font: 500 15px/1.3 var(--fc-font-sans, system-ui, -apple-system, sans-serif);
  letter-spacing: 0.3px;
  color: var(--fc-ink, #0a0c06);
  text-decoration: none;
}
.fc-mobile__links a:hover, .fc-mobile__links a:focus { color: var(--fc-brand-red, #ED1C24); }

.fc-mobile__group { margin-bottom: 16px; }
.fc-mobile__group-title {
  display: block;
  font: 500 11px/1.2 var(--fc-font-sans, system-ui, -apple-system, sans-serif);
  text-transform: uppercase;
  letter-spacing: 1.8px;
  color: var(--fc-ink, #0a0c06);
  padding: 12px 0 8px;
  text-decoration: none;
  border-top: 1px solid rgba(10, 12, 6, 0.08);
}
.fc-mobile__sublinks {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column;
}
.fc-mobile__sublinks a {
  display: block;
  padding: 10px 0 10px 4px;
  font: 400 14px/1.3 var(--fc-font-sans, system-ui, -apple-system, sans-serif);
  color: var(--fc-body-text, #343e47);
  text-decoration: none;
}
.fc-mobile__sublinks a:hover, .fc-mobile__sublinks a:focus { color: var(--fc-brand-red, #ED1C24); }

.fc-mobile__footer {
  flex: 0 0 auto;
  padding: 16px 20px calc(16px + env(safe-area-inset-bottom));
  border-top: 1px solid rgba(10, 12, 6, 0.08);
  background: var(--fc-ink, #0a0c06);
}
.fc-mobile__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  padding: 16px 24px;
  font: 600 12px/1 var(--fc-font-sans, system-ui, -apple-system, sans-serif);
  letter-spacing: 2px;
  text-transform: uppercase;
  background: var(--fc-ink, #0a0c06);
  color: var(--fc-cream, #fbfaf6);
  text-decoration: none;
  border: 1px solid var(--fc-cream, #fbfaf6);
}
.fc-mobile__cta:hover, .fc-mobile__cta:focus { background: var(--fc-cream, #fbfaf6); color: var(--fc-ink, #0a0c06); }
.fc-mobile__cta .fc-arrow { font-size: 16px; }

/* Show menu only at mobile widths (under 1200px) */
@media (min-width: 1200px) {
  .fc-mobile, .fc-mobile-overlay { display: none !important; }
}
/* FC_MOBILE_S78_END */


/* FC_ARCHIVE_HERO_S78_START - Session 78 archive hero overlay (source-faithful 1:1 + H1 on image) */
.fc-archive__hero { position: relative; padding: 60px 24px; text-align: center; }
.fc-archive__hero--has-cover { aspect-ratio: 4/3; background-size: cover; background-position: center; padding: 0; display: flex; align-items: flex-end; justify-content: center; min-height: 360px; }
.fc-archive__hero--top.fc-archive__hero--has-cover { aspect-ratio: 1/1; max-height: 680px; }
.fc-archive__hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0) 35%, rgba(0,0,0,0.45) 100%); pointer-events: none; }
.fc-archive__hero-inner { position: relative; z-index: 1; max-width: 880px; margin: 0 auto; padding: 48px 24px; width: 100%; }
.fc-archive__hero--has-cover .fc-archive__title { color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,0.35); }
.fc-archive__hero--has-cover .fc-archive__eyebrow { color: rgba(255,255,255,0.92); }
.fc-archive__hero--has-cover .fc-breadcrumb, .fc-archive__hero--has-cover .fc-breadcrumb a { color: rgba(255,255,255,0.85); }
/* Suppress legacy separate cover block when present */
.fc-archive__cover { display: none; }
@media (max-width: 768px) { .fc-archive__hero--has-cover { aspect-ratio: 4/3; min-height: 280px; } .fc-archive__hero--top.fc-archive__hero--has-cover { aspect-ratio: 4/3; } }
/* FC_ARCHIVE_HERO_S78_END */


/* FC_INSPIRIME_S78_START - Session 78 Inspirime Tirana single-column rebuild + detail page */
.fc-inspirime-page { max-width: 1280px; margin: 0 auto; padding: 60px 24px 100px; }
.fc-inspirime-page__hero { text-align: center; max-width: 760px; margin: 0 auto 64px; }
.fc-inspirime-page__hero .fc-eyebrow { margin-bottom: 12px; }
.fc-inspirime-page__title { font: 400 clamp(36px, 4.5vw, 56px)/1.05 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 0 0 20px; color: var(--fc-ink); }
.fc-inspirime-page__lede { font-size: 15px; line-height: 1.55; color: var(--fc-body-text); margin: 0; }
.fc-inspirime-page__cards { display: flex; flex-direction: column; gap: 60px; }
.fc-inspirime-page__card { display: block; text-decoration: none; color: inherit; position: relative; }
.fc-inspirime-page__card-img { display: block; width: 100%; aspect-ratio: 1/1; background-size: cover; background-position: center; }
.fc-inspirime-page__card-meta { padding: 24px 0 0; max-width: 720px; }
.fc-inspirime-page__card-label { display: block; font-family: var(--fc-font-sans, system-ui); font-weight: 500; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--fc-warm-grey, #8a7d6e); margin-bottom: 12px; }
.fc-inspirime-page__card-title { font: 400 clamp(28px, 3vw, 40px)/1.1 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 0 0 16px; color: var(--fc-ink); }
.fc-inspirime-page__card-cta { display: inline-flex; align-items: center; gap: 8px; font-family: var(--fc-font-sans, system-ui); font-weight: 500; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--fc-ink); text-decoration: underline; text-underline-offset: 6px; }
.fc-inspirime-page__card:hover .fc-inspirime-page__card-title { color: var(--fc-brand-red, #ED1C24); }
.fc-inspirime-page__card:hover .fc-inspirime-page__card-img { filter: brightness(0.92); transition: filter 320ms ease; }
.fc-inspirim-detail { color: var(--fc-ink); }
.fc-inspirim-detail__hero { position: relative; min-height: 80vh; background-size: cover; background-position: center; display: flex; align-items: flex-end; padding: 60px 24px; }
.fc-inspirim-detail__hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.10) 0%, rgba(0,0,0,0) 30%, rgba(0,0,0,0.55) 100%); pointer-events: none; }
.fc-inspirim-detail__hero-inner { position: relative; z-index: 1; max-width: 820px; margin: 0 auto; color: #fff; text-align: center; }
.fc-inspirim-detail__title { font: 400 clamp(48px, 6vw, 88px)/1 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 16px 0; text-shadow: 0 2px 12px rgba(0,0,0,0.35); }
.fc-inspirim-detail__lede { font-size: 17px; line-height: 1.55; opacity: 0.95; margin: 0; max-width: 640px; margin-left: auto; margin-right: auto; }
.fc-eyebrow--light { color: rgba(255,255,255,0.92); }
.fc-inspirim-detail__intro { max-width: 760px; margin: 0 auto; padding: 80px 24px 40px; }
.fc-inspirim-detail__intro p { font-size: 16px; line-height: 1.55; color: var(--fc-body-text); margin: 0 0 18px; }
.fc-inspirim-detail__gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; padding: 40px 8px; max-width: 1600px; margin: 0 auto; }
.fc-inspirim-detail__gallery-item { margin: 0; }
.fc-inspirim-detail__gallery-item img { width: 100%; height: auto; display: block; }
.fc-inspirim-detail__cta { background: var(--fc-section-alt-bg, #f4f1ea); padding: 100px 24px; text-align: center; margin-top: 40px; }
.fc-inspirim-detail__cta-title { font: 400 clamp(32px, 3.5vw, 48px)/1.1 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 0 0 16px; }
.fc-inspirim-detail__cta-lede { font-size: 16px; line-height: 1.5; color: var(--fc-body-text); margin: 0 0 32px; max-width: 560px; margin-left: auto; margin-right: auto; }
@media (max-width: 860px) {
  .fc-inspirime-page__card-img { aspect-ratio: 4/3; }
  .fc-inspirim-detail__hero { min-height: 60vh; }
  .fc-inspirim-detail__gallery { grid-template-columns: 1fr; gap: 4px; }
}
/* FC_INSPIRIME_S78_END */


/* FC_ARCHIVE_PARTIALS_S78_START - Sprint 2 subcategory cards + anchor nav + booking strip */
.fc-archive__subcats { padding: 60px 24px 40px; }
.fc-archive__subcats-inner { max-width: 1280px; margin: 0 auto; }
.fc-archive__subcats-title { text-align: center; font: 400 clamp(28px, 3vw, 38px)/1.1 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 0 0 40px; color: var(--fc-ink); }
.fc-archive__subcats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }
.fc-archive__subcat-card { display: block; text-decoration: none; color: inherit; transition: transform 320ms ease; }
.fc-archive__subcat-card:hover { transform: scale(1.02); }
.fc-archive__subcat-img { display: block; width: 100%; aspect-ratio: 1/1; background-size: cover; background-position: center; background-color: #efeae3; }
.fc-archive__subcat-img--empty::before { content: ''; display: block; padding-bottom: 100%; background: linear-gradient(135deg, #efeae3 0%, #d8d2c5 100%); }
.fc-archive__subcat-label { display: block; margin-top: 16px; font: 500 12px/1.2 var(--fc-font-sans, system-ui); letter-spacing: 1.8px; text-transform: uppercase; color: var(--fc-ink); text-align: center; }

.fc-archive__anchor-nav { position: sticky; top: var(--fc-h-header, 108px); z-index: 50; background: var(--fc-cream, #fbfaf6); border-bottom: 1px solid rgba(10,12,6,0.08); padding: 12px 24px; }
.fc-archive__anchor-inner { max-width: 1280px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 32px; justify-content: center; }
.fc-archive__anchor-link { font: 500 11px/1.2 var(--fc-font-sans, system-ui); letter-spacing: 1.8px; text-transform: uppercase; color: var(--fc-warm-grey, #8a7d6e); text-decoration: none; padding: 8px 0; transition: color 200ms ease; }
.fc-archive__anchor-link:hover, .fc-archive__anchor-link:focus { color: var(--fc-brand-red, #ED1C24); }

.fc-archive__booking { position: relative; min-height: 480px; padding: 100px 24px; background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; margin: 80px 0 0; }
.fc-archive__booking-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,12,6,0.50) 0%, rgba(10,12,6,0.72) 100%); pointer-events: none; }
.fc-archive__booking-inner { position: relative; z-index: 1; max-width: 720px; text-align: center; color: #fff; }
.fc-archive__booking-title { font: 400 clamp(32px, 3.5vw, 48px)/1.1 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 12px 0 16px; color: #fff; }
.fc-archive__booking-lede { font-size: 16px; line-height: 1.55; opacity: 0.95; margin: 0 0 32px; }
.fc-btn--ghost-light { display: inline-flex; align-items: center; gap: 12px; padding: 14px 28px; font: 600 12px/1 var(--fc-font-sans, system-ui); letter-spacing: 2px; text-transform: uppercase; color: #fff; border: 1px solid #fff; text-decoration: none; transition: all 240ms ease; }
.fc-btn--ghost-light:hover, .fc-btn--ghost-light:focus { background: #fff; color: var(--fc-ink, #0a0c06); }

@media (max-width: 860px) {
  .fc-archive__subcats-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .fc-archive__subcat-label { font-size: 11px; letter-spacing: 1.4px; }
  .fc-archive__anchor-nav { padding: 10px 16px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .fc-archive__anchor-inner { flex-wrap: nowrap; justify-content: flex-start; gap: 24px; }
  .fc-archive__anchor-link { white-space: nowrap; }
  .fc-archive__booking { min-height: 360px; padding: 60px 20px; margin-top: 60px; }
}
/* FC_ARCHIVE_PARTIALS_S78_END */


/* FC_ARCHIVE_S81_START - Session 81 carousel + editorial + downloads + SEO + paradigm tabs */
.fc-archive__carousel { position: relative; width: 100%; aspect-ratio: 16/9; overflow: hidden; }
@media (max-width: 768px) { .fc-archive__carousel { aspect-ratio: 4/3; } }
.fc-archive__carousel-slides { position: relative; width: 100%; height: 100%; }
.fc-archive__carousel-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity 800ms ease; display: flex; align-items: flex-end; padding: 60px 24px; }
.fc-archive__carousel-slide.is-active { opacity: 1; z-index: 1; }
.fc-archive__carousel-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.10) 0%, rgba(0,0,0,0) 30%, rgba(0,0,0,0.55) 100%); pointer-events: none; }
.fc-archive__carousel-inner { position: relative; z-index: 2; max-width: 720px; color: #fff; }
.fc-archive__carousel-title { font: 400 clamp(40px, 5vw, 72px)/1 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 12px 0 16px; color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,0.35); }
.fc-archive__carousel-lede { font-size: 16px; line-height: 1.45; opacity: 0.95; margin: 0 0 24px; max-width: 540px; }
.fc-cta-text-arrow--light { color: #fff; }
.fc-archive__carousel-controls { position: absolute; bottom: 24px; right: 32px; z-index: 3; display: flex; align-items: center; gap: 16px; color: #fff; font: 500 12px/1 var(--fc-font-sans, system-ui); letter-spacing: 2px; }
.fc-archive__carousel-prev, .fc-archive__carousel-next { appearance: none; border: 1px solid rgba(255,255,255,0.6); background: transparent; color: #fff; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; font-size: 18px; }
.fc-archive__carousel-prev:hover, .fc-archive__carousel-next:hover { background: rgba(255,255,255,0.2); }

.fc-archive__tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 32px; padding: 40px 24px; border-bottom: 1px solid rgba(10,12,6,0.08); }
.fc-archive__tab { font: 500 12px/1.2 var(--fc-font-sans, system-ui); letter-spacing: 1.8px; text-transform: uppercase; color: var(--fc-warm-grey, #8a7d6e); text-decoration: none; padding: 8px 0; border-bottom: 2px solid transparent; transition: color 200ms ease, border-color 200ms ease; }
.fc-archive__tab.is-active, .fc-archive__tab:hover, .fc-archive__tab:focus { color: var(--fc-ink, #0a0c06); border-bottom-color: var(--fc-ink); }

.fc-archive__editorial { padding: 80px 24px; background: var(--fc-cream, #fbfaf6); }
.fc-archive__editorial-heading { text-align: center; font: 400 clamp(32px, 3.5vw, 48px)/1.1 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 0 0 56px; }
.fc-archive__editorial-block { display: grid; grid-template-columns: 1fr 2fr; gap: 48px; max-width: 1100px; margin: 0 auto 48px; align-items: start; padding-bottom: 48px; border-bottom: 1px solid rgba(10,12,6,0.08); }
.fc-archive__editorial-block:last-child { border-bottom: 0; }
.fc-archive__editorial-block--alt { grid-template-columns: 2fr 1fr; }
.fc-archive__editorial-block--alt .fc-archive__editorial-title { order: 2; }
.fc-archive__editorial-block--alt .fc-archive__editorial-body { order: 1; }
.fc-archive__editorial-title { font: 400 clamp(22px, 2.2vw, 30px)/1.2 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 0; color: var(--fc-ink); }
.fc-archive__editorial-body { font-size: 15px; line-height: 1.55; color: var(--fc-body-text); }
.fc-archive__editorial-body p { margin: 0 0 14px; }

.fc-archive__downloads { padding: 60px 24px; }
.fc-archive__downloads-heading { text-align: center; font: 400 28px/1.1 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 0 0 32px; }
.fc-archive__downloads-list { list-style: none; padding: 0; max-width: 600px; margin: 0 auto; }
.fc-archive__download-link { display: block; padding: 16px 0; font: 500 14px/1 var(--fc-font-sans, system-ui); letter-spacing: 1px; color: var(--fc-ink); text-decoration: none; border-bottom: 1px solid rgba(10,12,6,0.1); }
.fc-archive__download-link:hover { color: var(--fc-brand-red, #ED1C24); }

.fc-archive__seo-editorial { max-width: 800px; margin: 80px auto; padding: 0 24px; }
.fc-archive__seo-editorial h2 { font: 400 clamp(28px, 3vw, 38px)/1.1 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 48px 0 16px; }
.fc-archive__seo-editorial h2:first-child { margin-top: 0; }
.fc-archive__seo-editorial h3 { font: 500 18px/1.2 var(--fc-font-sans, system-ui); letter-spacing: 0.5px; margin: 36px 0 12px; color: var(--fc-ink); }
.fc-archive__seo-editorial p { font-size: 15px; line-height: 1.65; color: var(--fc-body-text); margin: 0 0 18px; }
.fc-archive__seo-editorial strong { color: var(--fc-ink); }

.fc-archive__hero-lede { font-size: 16px; line-height: 1.45; opacity: 0.95; margin: 12px 0 0; max-width: 560px; margin-left: auto; margin-right: auto; }
.fc-archive__hero--has-cover .fc-archive__hero-lede { color: #fff; }

@media (max-width: 860px) {
  .fc-archive__editorial-block, .fc-archive__editorial-block--alt { grid-template-columns: 1fr; gap: 16px; }
  .fc-archive__editorial-block--alt .fc-archive__editorial-title, .fc-archive__editorial-block--alt .fc-archive__editorial-body { order: initial; }
  .fc-archive__carousel-controls { right: 12px; bottom: 12px; gap: 8px; }
  .fc-archive__carousel-prev, .fc-archive__carousel-next { width: 32px; height: 32px; }
}
/* FC_ARCHIVE_S81_END */

/* FC_KATALOGU_S82_START - Session 82 catalogue download grid */
.fc-katalogu-page { max-width: 1280px; margin: 0 auto; padding: 60px 24px 100px; }
.fc-katalogu-page__hero { text-align: center; max-width: 760px; margin: 0 auto 64px; }
.fc-katalogu-page__title { font: 400 clamp(36px, 4.5vw, 56px)/1.05 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 12px 0 20px; color: var(--fc-ink); }
.fc-katalogu-page__lede { font-size: 16px; line-height: 1.55; color: var(--fc-body-text); margin: 0; }
.fc-katalogu-page__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.fc-katalogu-card { background: var(--fc-cream, #fbfaf6); border: 1px solid rgba(10,12,6,0.08); display: flex; }
.fc-katalogu-card__inner { padding: 28px 24px; display: flex; flex-direction: column; gap: 12px; width: 100%; min-height: 220px; }
.fc-katalogu-card__category { font: 500 10px/1 var(--fc-font-sans, system-ui); letter-spacing: 1.8px; text-transform: uppercase; color: var(--fc-warm-grey, #8a7d6e); }
.fc-katalogu-card__title { font: 400 22px/1.15 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 0; color: var(--fc-ink); }
.fc-katalogu-card__subtitle { font-size: 13px; line-height: 1.45; color: var(--fc-body-text); margin: 0; flex: 1; }
.fc-katalogu-card__meta { display: flex; justify-content: space-between; align-items: center; margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(10,12,6,0.08); }
.fc-katalogu-card__size { font: 500 11px/1 var(--fc-font-sans, system-ui); letter-spacing: 1.2px; text-transform: uppercase; color: var(--fc-warm-grey, #8a7d6e); }
.fc-katalogu-card__cta { display: inline-flex; align-items: center; gap: 8px; font: 600 12px/1 var(--fc-font-sans, system-ui); letter-spacing: 1.8px; text-transform: uppercase; color: var(--fc-ink); text-decoration: underline; text-underline-offset: 6px; }
.fc-katalogu-card:hover { background: #fff; }
.fc-katalogu-card:hover .fc-katalogu-card__cta { color: var(--fc-brand-red, #ED1C24); }
.fc-katalogu-page__cta { background: var(--fc-ink, #0a0c06); color: var(--fc-cream, #fbfaf6); padding: 80px 24px; text-align: center; margin-top: 80px; }
.fc-katalogu-page__cta-title { font: 400 clamp(28px, 3vw, 40px)/1.1 var(--fc-font-serif, 'Noto Serif Display', serif); color: var(--fc-cream, #fbfaf6); margin: 0 0 16px; }
.fc-katalogu-page__cta-lede { font-size: 15px; line-height: 1.5; opacity: 0.85; margin: 0 auto 24px; max-width: 540px; }
/* FC_KATALOGU_S82_END */


/* FC_CODEX_S82_START - Sprint 5 Codex review fixes */

/* Typography correction: source has normal letter-spacing on most text, heavy tracking only on eyebrows */
.fc-archive__tab { letter-spacing: 0.5px; }  /* was 1.8px - too tracked vs source */
.fc-archive__subcat-label { letter-spacing: 1px; }  /* was 1.5px */
.fc-archive__anchor-link { letter-spacing: 1.2px; }  /* was 1.8px */
.fc-mobile__section-title { letter-spacing: 1.5px; }  /* was 2px */
.fc-mobile__group-title { letter-spacing: 1.2px; }  /* was 1.8px */
.fc-mobile__links a { letter-spacing: normal; }  /* was 0.3px */
.fc-katalogu-card__category { letter-spacing: 1.4px; }  /* was 1.8px */
.fc-katalogu-card__cta { letter-spacing: 1px; }  /* was 1.8px */

/* Inspirime: full-bleed Tirana panel (Codex finding: source uses full-bleed viewport-height panels) */
.fc-inspirime-page { padding: 0; }
.fc-inspirime-panel { position: relative; display: flex; min-height: 80vh; background-size: cover; background-position: center; text-decoration: none; color: inherit; align-items: center; justify-content: center; padding: 60px 24px; overflow: hidden; }
.fc-inspirime-panel__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0) 35%, rgba(0,0,0,0.55) 100%); pointer-events: none; transition: background 320ms ease; }
.fc-inspirime-panel:hover .fc-inspirime-panel__overlay { background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0.10) 35%, rgba(0,0,0,0.65) 100%); }
.fc-inspirime-panel__inner { position: relative; z-index: 1; max-width: 720px; text-align: center; color: #fff; }
.fc-inspirime-panel__label { font: 500 12px/1.2 var(--fc-font-sans, system-ui); letter-spacing: 2px; text-transform: uppercase; opacity: 0.92; margin: 0 0 16px; }
.fc-inspirime-panel__title { font: 400 clamp(60px, 8vw, 120px)/1 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 0 0 20px; color: #fff; text-shadow: 0 2px 16px rgba(0,0,0,0.35); }
.fc-inspirime-panel__lede { font-size: 17px; line-height: 1.45; opacity: 0.95; margin: 0 0 28px; max-width: 580px; margin-left: auto; margin-right: auto; }
.fc-inspirime-panel__cta { display: inline-flex; align-items: center; gap: 12px; font: 600 13px/1 var(--fc-font-sans, system-ui); letter-spacing: 2px; text-transform: uppercase; color: #fff; padding: 14px 28px; border: 1px solid #fff; }
.fc-inspirime-panel:hover .fc-inspirime-panel__cta { background: #fff; color: var(--fc-ink); transition: all 240ms ease; }

.fc-inspirime-page__editorial { padding: 80px 24px; max-width: 800px; margin: 0 auto; text-align: center; }
.fc-inspirime-page__editorial-heading { font: 400 clamp(32px, 3.5vw, 48px)/1.1 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 0 0 28px; }
.fc-inspirime-page__editorial-body { font-size: 16px; line-height: 1.55; color: var(--fc-body-text); margin: 0 0 16px; }

/* Archive inspirations teaser (Dhomë gjumi, Dining) */
.fc-archive__inspirations { padding: 60px 24px 80px; }
.fc-archive__inspirations-heading { text-align: center; font: 400 clamp(28px, 3vw, 40px)/1.1 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 0 0 40px; }
.fc-archive__inspiration-card { display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: center; max-width: 1100px; margin: 0 auto; text-decoration: none; color: inherit; transition: transform 320ms ease; }
.fc-archive__inspiration-card:hover { transform: scale(1.01); }
.fc-archive__inspiration-img { display: block; aspect-ratio: 4/3; background-size: cover; background-position: center; }
.fc-archive__inspiration-label { display: inline-block; font: 500 11px/1.2 var(--fc-font-sans, system-ui); letter-spacing: 1.5px; text-transform: uppercase; color: var(--fc-warm-grey, #8a7d6e); margin-bottom: 12px; }
.fc-archive__inspiration-title { font: 400 clamp(24px, 2.5vw, 34px)/1.15 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 0 0 16px; color: var(--fc-ink); }
.fc-archive__inspiration-cta { font: 600 12px/1 var(--fc-font-sans, system-ui); letter-spacing: 1.5px; text-transform: uppercase; color: var(--fc-ink); }

/* Garderoba pre-footer 3-CTA cards (Codex finding: source has Consulenza/Catalogo/Newsletter triad) */
.fc-archive__cta-triad { background: var(--fc-cream, #fbfaf6); padding: 80px 24px; }
.fc-archive__cta-triad-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; max-width: 1100px; margin: 0 auto; }
.fc-archive__cta-card { padding: 32px 28px; background: #fff; border: 1px solid rgba(10,12,6,0.08); display: flex; flex-direction: column; gap: 14px; }
.fc-archive__cta-card-title { font: 400 22px/1.15 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 0; color: var(--fc-ink); }
.fc-archive__cta-card-body { font-size: 14px; line-height: 1.5; color: var(--fc-body-text); margin: 0; flex: 1; }

/* Source order correction: summary BEFORE booking — adjust margins */
.fc-archive__summary { padding: 80px 24px; }
.fc-archive__booking { margin-top: 0; }

@media (max-width: 860px) {
  .fc-archive__inspiration-card { grid-template-columns: 1fr; gap: 20px; }
  .fc-inspirime-panel { min-height: 60vh; }
  .fc-inspirime-panel__title { font-size: clamp(48px, 12vw, 80px); }
}
/* FC_CODEX_S82_END */

/* FC_S85_TOMI_START - Tomi 9 Qershor 2026 fixes */

/* Fix 1: Mega menu Produktet section */
.fc-mega__products { margin-top: 48px; padding-top: 40px; border-top: 1px solid var(--fc-line-soft, rgba(10,12,6,0.10)); }
.fc-mega__products-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 24px 32px; margin-top: 24px; }
.fc-mega__products-col { display: flex; flex-direction: column; gap: 10px; }
.fc-mega__products-heading { display: block; font: 500 13px/1.2 var(--fc-font-sans, system-ui); letter-spacing: 1.2px; text-transform: uppercase; color: var(--fc-ink, #0a0c06); text-decoration: none; padding-bottom: 8px; border-bottom: 1px solid var(--fc-line-soft, rgba(10,12,6,0.10)); transition: color 200ms ease; }
.fc-mega__products-heading:hover { color: var(--fc-red, #c1272d); }
.fc-mega__products-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.fc-mega__products-list a { font: 400 14px/1.4 var(--fc-font-sans, system-ui); color: var(--fc-body-text, #4a4640); text-decoration: none; display: inline-block; padding: 2px 0; transition: color 180ms ease, transform 180ms ease; }
.fc-mega__products-list a:hover { color: var(--fc-ink); transform: translateX(2px); }
@media (max-width: 900px) { .fc-mega__products-grid { grid-template-columns: repeat(2, 1fr); gap: 20px 16px; } }

/* Fix 2: Mobile menu scroll — iOS Safari overflow-fixed-container fix */
.fc-mobile__scroll { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; }
body.fc-mobile-open { position: fixed; width: 100%; overflow: hidden; }

/* Fix 4: Hero prev/next buttons */
.fc-hero { position: relative; }
.fc-hero__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; background: rgba(255, 255, 255, 0.18); border: 1px solid rgba(255, 255, 255, 0.40); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 5; font-size: 24px; line-height: 1; transition: background 200ms ease, transform 200ms ease; border-radius: 0; }
.fc-hero__nav:hover { background: rgba(255, 255, 255, 0.32); }
.fc-hero__nav:active { transform: translateY(-50%) scale(0.95); }
.fc-hero__nav-prev { left: 24px; }
.fc-hero__nav-next { right: 24px; }
@media (max-width: 768px) { .fc-hero__nav { width: 40px; height: 40px; font-size: 20px; } .fc-hero__nav-prev { left: 12px; } .fc-hero__nav-next { right: 12px; } }
/* FC_S85_TOMI_END */


/* FC_S85B_TOMI_START - Override S78 specificity bug: drawer must be flex when open, not block */
body.fc-mobile-open .fc-mobile { display: flex; flex-direction: column; }
body.fc-mobile-open .fc-mobile__topbar { flex: 0 0 auto; }
body.fc-mobile-open .fc-mobile__footer { flex: 0 0 auto; }
body.fc-mobile-open .fc-mobile__scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; touch-action: pan-y; }
/* FC_S85B_TOMI_END */


/* FC_S95_REBUILD_START - Detaje ekskluzive carousel + Rreth nesh sections */

/* ===== Detaje ekskluzive carousel (product pages, source: exclusive-details swiper) ===== */
.fc-detaje { padding: 90px 0; background: var(--fc-cream, #fbfaf6); overflow: hidden; }
.fc-detaje__head { text-align: center; margin-bottom: 48px; padding: 0 24px; }
.fc-detaje__viewport { position: relative; max-width: 1200px; margin: 0 auto; padding: 0 64px; }
.fc-detaje__track { display: flex; transition: transform 480ms cubic-bezier(0.4, 0, 0.2, 1); will-change: transform; }
.fc-detaje__slide { flex: 0 0 100%; display: grid; grid-template-columns: 1fr 1.25fr; gap: 48px; align-items: center; padding: 0 8px; box-sizing: border-box; }
.fc-detaje__content .fc-eyebrow { margin-bottom: 14px; }
.fc-detaje__title { font: 400 clamp(26px, 3vw, 40px)/1.15 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 0 0 18px; color: var(--fc-ink, #0a0c06); }
.fc-detaje__body { font-size: 16px; line-height: 1.55; color: var(--fc-body-text, #4a4640); margin: 0; }
.fc-detaje__media { aspect-ratio: 4/3; background-size: cover; background-position: center; }
.fc-detaje__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border: 1px solid rgba(10,12,6,0.25); background: transparent; color: var(--fc-ink, #0a0c06); display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 4; font-size: 22px; transition: background 200ms ease, color 200ms ease; }
.fc-detaje__nav:hover { background: var(--fc-ink, #0a0c06); color: #fff; }
.fc-detaje__nav--prev { left: 0; }
.fc-detaje__nav--next { right: 0; }
.fc-detaje__counter { text-align: center; margin-top: 28px; font: 500 13px/1 var(--fc-font-sans, system-ui); letter-spacing: 2px; color: var(--fc-warm-grey, #8a7d6e); }
@media (max-width: 860px) {
  .fc-detaje__viewport { padding: 0 16px; }
  .fc-detaje__slide { grid-template-columns: 1fr; gap: 22px; }
  .fc-detaje__media { order: -1; }
  .fc-detaje__nav { top: auto; bottom: -8px; transform: none; width: 42px; height: 42px; }
  .fc-detaje__nav--prev { left: 16px; }
  .fc-detaje__nav--next { right: 16px; }
}

/* ===== Rreth nesh: hero (video/image, dark) ===== */
.fc-about-hero { position: relative; min-height: 72vh; display: flex; align-items: center; justify-content: center; text-align: center; overflow: hidden; background: var(--fc-ink, #0a0c06); }
.fc-about-hero__video, .fc-about-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.55; }
.fc-about-hero__image { background-size: cover; background-position: center; }
.fc-about-hero__inner { position: relative; z-index: 1; color: #fff; padding: 80px 24px; max-width: 820px; }
.fc-about-hero__title { font: 400 clamp(38px, 5.5vw, 72px)/1.1 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 0; color: #fff; }

/* ===== Rreth nesh: timeline (horizontal scroll-snap, source: timeline carousel) ===== */
.fc-timeline { padding: 90px 0; background: #fff; }
.fc-timeline__head { text-align: center; margin-bottom: 44px; padding: 0 24px; }
.fc-timeline__track { display: flex; gap: 28px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px max(24px, calc((100vw - 1200px) / 2)) 28px; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.fc-timeline__item { flex: 0 0 320px; scroll-snap-align: start; }
.fc-timeline__img { aspect-ratio: 1/1; background-size: cover; background-position: center; margin-bottom: 18px; }
.fc-timeline__year { font: 400 34px/1 var(--fc-font-serif, 'Noto Serif Display', serif); color: var(--fc-brand-red, #ED1C24); margin: 0 0 10px; }
.fc-timeline__text { font-size: 15px; line-height: 1.5; color: var(--fc-body-text, #4a4640); margin: 0; }
@media (max-width: 600px) { .fc-timeline__item { flex-basis: 260px; } }

/* ===== Rreth nesh: brand text-image ===== */
.fc-about-brand { padding: 90px 24px; background: var(--fc-cream, #fbfaf6); }
.fc-about-brand__grid { max-width: 1140px; margin: 0 auto; display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center; }
.fc-about-brand__title { font: 400 clamp(28px, 3.4vw, 44px)/1.15 var(--fc-font-serif, 'Noto Serif Display', serif); margin: 0 0 22px; }
.fc-about-brand__copy p { font-size: 16px; line-height: 1.6; color: var(--fc-body-text, #4a4640); margin: 0 0 16px; }
.fc-about-brand__img { aspect-ratio: 4/5; background-size: cover; background-position: center; }
@media (max-width: 860px) { .fc-about-brand__grid { grid-template-columns: 1fr; gap: 28px; } .fc-about-brand__img { aspect-ratio: 4/3; } }

/* ===== Rreth nesh: Colombini strip ===== */
.fc-about-colombini { padding: 72px 24px; background: var(--fc-ink, #0a0c06); color: #fff; text-align: center; }
.fc-about-colombini__text { font: 400 clamp(22px, 2.6vw, 32px)/1.3 var(--fc-font-serif, 'Noto Serif Display', serif); max-width: 720px; margin: 0 auto 18px; color: #fff; }
.fc-about-colombini__link { color: #fff; font: 500 13px/1 var(--fc-font-sans, system-ui); letter-spacing: 1.5px; text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px; }
.fc-about-colombini__link:hover { color: var(--fc-brand-red, #ED1C24); }
/* FC_S95_REBUILD_END */

/* FC_S98 - carousel clip window (Tomi: adjacent slides bled into view) */
.fc-detaje__window { overflow: hidden; }

/* FC_S98B - mega panels: viewport-safe scroll + products panel spacing */
.fc-mega { max-height: calc(100vh - var(--fc-h-header, 100px)); overflow-y: auto; }
#fc-mega-products .fc-mega__products { margin-top: 0; padding-top: 0; border-top: 0; }
