/* Poročna dekoracija (page 2995) – values taken 1:1 from Porocna-Dekoracija.dc.html. Namespace: .fla-pd */

.fla-pd { position: relative; }
.fla-pd em { font-style: italic; }
.fla-pd a:focus-visible,
.fla-pd button:focus-visible { outline: 2px solid #B8968A; outline-offset: 4px; }

/* line masks for the "rise" headings */
.fla-pd-mask { display: block; overflow: hidden; padding-bottom: .08em; }
.fla-pd-mask--a { padding-bottom: .06em; }
.fla-pd-mask > * { display: block; }

/* ---------- hero ---------- */
.fla-pd-hero { position: relative; height: 100vh; min-height: 620px; max-height: 1400px; /* cap: crawlers render with a page-tall viewport */ background: #4F4540; overflow: hidden; }
.fla-pd-hero__media { position: absolute; inset: 0; }
.fla-pd-hero__media img { width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; }
.fla-pd-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(30,24,21,.45), rgba(30,24,21,0) 25%, rgba(30,24,21,0) 45%, rgba(30,24,21,.72)); }
.fla-pd-hero__inner {
  position: absolute; left: 0; right: 0; bottom: 0; max-width: 1440px; margin: 0 auto;
  padding: 0 clamp(20px,4vw,56px) clamp(40px,7vh,80px);
  display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 28px; color: #F7F3F0;
}
.fla-pd-hero__head { display: flex; flex-direction: column; gap: 22px; }
.fla-pd-hero__eyebrow { font-size: 12px; letter-spacing: .3em; text-transform: uppercase; }
.fla-pd .fla-pd-hero__title { margin: 0; font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: clamp(56px,9vw,150px); line-height: .92; letter-spacing: -.02em; color: inherit; }
.fla-pd-hero__em { padding-left: .8em; }
.fla-pd-hero__side { display: flex; flex-direction: column; gap: 24px; max-width: 360px; }
.fla-pd-hero__lead { margin: 0; font-size: 15px; line-height: 1.7; color: #EDE5DF; text-wrap: pretty; }
.fla-pd-hero__actions { display: flex; gap: 10px; }
.fla-pd .fla-pd-hero__btn {
  height: 54px; padding: 0 28px; background: #F7F3F0; color: #3F3632; display: flex; align-items: center;
  font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; border-radius: 27px;
  transition: transform .5s cubic-bezier(.34,1.56,.64,1);
}
.fla-pd .fla-pd-hero__btn:hover { transform: scale(1.04); color: #3F3632; }

/* ---------- intro ---------- */
.fla-pd-intro { position: relative; overflow: hidden; }
.fla-pd-intro__orb { position: absolute; right: -160px; top: 60px; width: 500px; height: 500px; pointer-events: none; }
.fla-pd-intro__orb > div { width: 100%; height: 100%; border-radius: 50%; background: radial-gradient(circle, rgba(222,196,184,.8), rgba(222,196,184,0) 68%); filter: blur(8px); }
.fla-pd-intro__inner { position: relative; max-width: 1100px; margin: 0 auto; padding: clamp(80px,11vw,150px) clamp(20px,4vw,56px); display: flex; flex-direction: column; gap: 28px; }
.fla-pd-intro__statement { margin: 0; font-family: 'Cormorant Garamond', serif; font-size: clamp(30px,3.6vw,52px); line-height: 1.15; color: #3F3632; text-wrap: pretty; }
.fla-pd-intro__text { margin: 0; max-width: 620px; font-size: 15px; line-height: 1.8; text-wrap: pretty; }

/* ---------- image / text blocks ---------- */
.fla-pd-block { background: #F2EDE9; overflow: hidden; }
.fla-pd-block--alt { background: #E9E1DB; }
.fla-pd-block__inner { max-width: 1440px; margin: 0 auto; padding: clamp(64px,9vw,130px) clamp(20px,4vw,56px); display: flex; flex-wrap: wrap; flex-direction: row; align-items: center; gap: clamp(40px,7vw,120px); }
.fla-pd-block--alt .fla-pd-block__inner { flex-direction: row-reverse; }
.fla-pd-block__media { flex: 1 1 360px; max-width: 560px; }
.fla-pd-block__frame { overflow: hidden; aspect-ratio: 683/1024; }
.fla-pd-block__frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fla-pd-block__body { flex: 1 1 360px; display: flex; flex-direction: column; gap: 22px; }
.fla-pd-block__n { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 22px; color: #A8968A; }
.fla-pd-block__title { margin: 0; font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: clamp(40px,4.6vw,72px); line-height: 1; color: #3F3632; }
.fla-pd-block__p { margin: 0; font-size: 15px; line-height: 1.8; max-width: 480px; text-wrap: pretty; }

/* ---------- steps ---------- */
.fla-pd-steps { background: #4F4540; color: #F3EEEA; overflow: hidden; }
.fla-pd-steps__inner { max-width: 1440px; margin: 0 auto; padding: clamp(72px,10vw,140px) clamp(20px,4vw,56px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,380px), 1fr)); gap: clamp(40px,6vw,100px); }
.fla-pd-steps__head { display: flex; flex-direction: column; gap: 18px; }
.fla-pd-steps__eyebrow { font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: #C9B8AD; }
.fla-pd-steps__title { margin: 0; font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: clamp(44px,5.4vw,88px); line-height: .98; }
.fla-pd-steps__timeline { position: relative; display: flex; flex-direction: column; }
.fla-pd-steps__rail,
.fla-pd-steps__progress { position: absolute; left: 21px; top: 30px; bottom: 30px; width: 1px; background: #655953; }
.fla-pd-steps__progress { background: #D9C3B8; transform-origin: top; scale: 1 0; }
.fla-pd-steps__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.fla-pd-step { position: relative; display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 22px; padding: 18px 0; }
.fla-pd-step__n { width: 44px; height: 44px; border-radius: 50%; background: #F3EEEA; color: #3F3632; font-family: 'Cormorant Garamond', serif; font-size: 20px; line-height: normal; display: flex; align-items: center; justify-content: center; }
.fla-pd-step__body { display: flex; flex-direction: column; gap: 6px; padding-top: 8px; }
.fla-pd .fla-pd-step__t { margin: 0; font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: 26px; line-height: normal; color: inherit; }
.fla-pd-step__d { margin: 0; font-size: 14px; line-height: 1.7; color: #D8CCC4; text-wrap: pretty; }

/* ---------- venues + gallery ---------- */
.fla-pd-venues { overflow: hidden; }
.fla-pd-venues__head { max-width: 1440px; margin: 0 auto; padding: clamp(72px,10vw,140px) clamp(20px,4vw,56px) 40px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,380px), 1fr)); gap: 40px; align-items: end; }
.fla-pd-venues__titles { display: flex; flex-direction: column; gap: 18px; }
.fla-pd-venues__eyebrow { font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: #8C7D74; }
.fla-pd-venues__title { margin: 0; font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: clamp(40px,4.8vw,76px); line-height: 1; color: #3F3632; }
.fla-pd-venues__lead { margin: 0; font-size: 15px; line-height: 1.8; max-width: 460px; text-wrap: pretty; }
.fla-pd-venues__listwrap { max-width: 1440px; margin: 0 auto; padding: 0 clamp(20px,4vw,56px); }
.fla-pd-venues__intro { margin: 0 0 16px; font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: #8C7D74; }
.fla-pd-venues__list { list-style: none; margin: 0; border-top: 1px solid #DED4CD; border-bottom: 1px solid #DED4CD; padding: 22px 0; display: flex; flex-wrap: wrap; gap: 10px 34px; }
.fla-pd-venues__list li { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: clamp(22px,2.2vw,30px); line-height: normal; color: #3F3632; }
.fla-pd-gallery { max-width: 1440px; margin: 0 auto; padding: 40px clamp(20px,4vw,56px) clamp(72px,10vw,140px); display: flex; flex-direction: column; gap: 32px; }
.fla-pd-gallery__cols { columns: 3 280px; column-gap: clamp(12px,1.4vw,20px); }
.fla-pd-gallery__item { overflow: hidden; break-inside: avoid; margin-bottom: clamp(12px,1.4vw,20px); }
.fla-pd-gallery__item img { width: 100%; height: auto; display: block; transition: transform 1.1s cubic-bezier(.16,1,.3,1); }
.fla-pd-gallery__item img:hover { transform: scale(1.07); }
.fla-pd .fla-pd-gallery__btn {
  align-self: center; height: 56px; padding: 0 32px; border: 1px solid #5E524C; border-radius: 28px; display: flex; align-items: center; gap: 12px;
  font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: #3F3632; transition: background .4s, color .4s;
}
.fla-pd .fla-pd-gallery__btn:hover { background: #5E524C; color: #F7F3F0; }

/* ---------- FAQ ---------- */
.fla-pd-faq { background: #E9E1DB; }
.fla-pd-faq__inner { max-width: 1100px; margin: 0 auto; padding: clamp(72px,10vw,140px) clamp(20px,4vw,56px); display: flex; flex-direction: column; gap: 36px; }
.fla-pd-faq__title { margin: 0; font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: clamp(40px,4.8vw,76px); line-height: 1; color: #3F3632; }
.fla-pd-faq__list { display: flex; flex-direction: column; border-top: 1px solid #CDBFB5; }
.fla-pd-faq__item { border-bottom: 1px solid #CDBFB5; }
.fla-pd .fla-pd-faq__h { margin: 0; font: inherit; }
.fla-pd .fla-pd-faq__q {
  width: 100%; min-height: 76px; margin: 0; padding: 20px 0; border: none; border-radius: 0; background: transparent;
  display: flex; justify-content: space-between; align-items: center; gap: 24px; text-align: left; cursor: pointer;
  font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: clamp(22px,2.2vw,28px); line-height: normal; color: #3F3632;
  -webkit-appearance: none; appearance: none;
}
.fla-pd-faq__icon {
  flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; border: 1px solid #A8968A; display: flex; align-items: center; justify-content: center;
  font-family: Montserrat, sans-serif; font-size: 18px; color: #5E524C;
  transition: transform .5s cubic-bezier(.34,1.56,.64,1); transform: rotate(45deg);
}
.fla-pd-faq__panel { display: grid; grid-template-rows: 1fr; transition: grid-template-rows .6s cubic-bezier(.16,1,.3,1), visibility 0s; }
.fla-pd-faq__clip { overflow: hidden; min-height: 0; }
.fla-pd-faq__a { margin: 0; padding: 0 64px 26px 0; font-size: 15px; line-height: 1.8; text-wrap: pretty; }
/* Collapsed state exists only when JS is available (html.fla-pd-js); without JS every answer stays open. */
.fla-pd-js .fla-pd-faq__item:not(.is-open) .fla-pd-faq__panel { grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows .6s cubic-bezier(.16,1,.3,1), visibility 0s .6s; }
.fla-pd-js .fla-pd-faq__item:not(.is-open) .fla-pd-faq__icon { transform: rotate(0deg); }

/* ---------- final CTA ---------- */
.fla-pd-cta { position: relative; overflow: hidden; }
.fla-pd-cta__inner { position: relative; max-width: 900px; margin: 0 auto; padding: clamp(90px,12vw,170px) clamp(20px,4vw,56px); display: flex; flex-direction: column; align-items: center; gap: 26px; text-align: center; }
.fla-pd-cta__title { margin: 0; font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: clamp(40px,5.4vw,84px); line-height: 1; color: #3F3632; text-wrap: balance; }
.fla-pd-cta__text { margin: 0; max-width: 520px; font-size: 15px; line-height: 1.8; text-wrap: pretty; }
.fla-pd .fla-pd-cta__btn {
  height: 58px; padding: 0 40px; border-radius: 29px; background: #5E524C; color: #F7F3F0; display: flex; align-items: center; gap: 12px;
  font-size: 13px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; transition: background .3s;
}
.fla-pd .fla-pd-cta__btn:hover { background: #3F3632; color: #F7F3F0; }

@media (prefers-reduced-motion: reduce) {
  /* motion.js is idle – show the timeline line filled instead of leaving it empty */
  .fla-pd-steps__progress { scale: 1 1; }
  .fla-pd-faq__panel, .fla-pd-faq__icon, .fla-pd-gallery__item img, .fla-pd .fla-pd-hero__btn { transition: none !important; }
}
