/* Magatokra ismertek? — új szöveges blokk a jó lagzi videómegjelenésével. */
.dream-wedding {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  --dream-phone-scale: .5;
  background: var(--pb-ivory-light);
  padding-block: clamp(4.5rem, 7vw, 8rem);
}
.dream-wedding::before {
  position: absolute;
  z-index: -1;
  right: -18rem;
  bottom: -17rem;
  width: 52rem;
  aspect-ratio: 1;
  content: "";
  background: url('assets/olive-branch-left.png') center/contain no-repeat;
  opacity: .1;
  filter: grayscale(1) sepia(.35) blur(10px);
  transform: rotate(127deg);
  pointer-events: none;
}
.dream-wedding__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.13fr) minmax(25rem, .87fr);
  align-items: center;
  gap: clamp(3rem, 7vw, 8rem);
}
.dream-wedding__copy { max-width: 47rem; }
.dream-wedding__rule {
  display: block;
  width: 4.75rem;
  height: 2px;
  margin-bottom: 1.8rem;
  background: var(--pb-gold);
}
.dream-wedding h2 {
  font-size: clamp(1.8rem, 2.35vw, 2.65rem);
  line-height: 1.12;
  letter-spacing: -.025em;
}
.dream-wedding h2 span { color: var(--pb-gold); }
.dream-wedding__copy > p {
  max-width: 46rem;
  margin-top: clamp(1.15rem, 1.75vw, 1.55rem);
  font-size: clamp(1rem, 1.12vw, 1.14rem);
  line-height: 1.5;
}
.dream-wedding__copy > .dream-wedding__eyebrow {
  margin: 0 0 .55rem;
  color: var(--pb-text);
  font: 600 clamp(3.2rem, 4.25vw, 5rem)/.98 var(--pb-font-heading);
  letter-spacing: -.04em;
}
.dream-wedding__copy strong { color: var(--pb-gold); font-weight: 700; }
.dream-wedding__conclusion {
  margin-top: clamp(1.5rem, 2.3vw, 2rem);
  padding: clamp(1.4rem, 2.1vw, 1.85rem) clamp(1.5rem, 2.4vw, 2.2rem);
  border-left: 3px solid #b38d58;
  border-radius: .75rem;
  background: linear-gradient(110deg, #303a2b, #1f291f);
  color: var(--pb-ivory-light);
  box-shadow: 0 1rem 2rem rgba(34, 39, 28, .15);
  font: 500 clamp(1.45rem, 1.8vw, 1.85rem)/1.15 var(--pb-font-heading);
}
.dream-wedding__conclusion p + p { margin-top: .55rem; }
.dream-wedding__conclusion strong { color: #d4aa6c; font-size: inherit; font-weight: 600; }
.dream-wedding__conclusion p:first-child strong { color: inherit; }
.dream-wedding__media {
  position: relative;
  display: grid;
  min-height: clamp(36rem, 51vw, 47rem);
  place-items: center;
}
.dream-wedding__halo {
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(27rem, 34vw, 38rem);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 43% 36%, #f3eadb 0%, #ead9bc 61%, #ddc7a5 100%);
  transform: translate(-50%, -50%);
  animation: dream-wedding-halo 5.5s ease-in-out infinite;
}
.dream-wedding__phone {
  position: relative;
  z-index: 1;
  width: min(100%, 25rem);
  aspect-ratio: 9/16;
  padding: .55rem;
  border: 4px solid #2e2e2b;
  border-radius: 2.25rem;
  background: #171715;
  box-shadow: 0 1.75rem 2.4rem rgba(52, 42, 26, .25), inset 0 0 0 2px rgba(255, 255, 255, .33);
  transform: scale(var(--dream-phone-scale));
  transform-origin: center;
}
.dream-wedding__phone::before {
  position: absolute;
  z-index: 2;
  top: .45rem;
  left: 50%;
  width: 34%;
  height: .35rem;
  border-radius: 99px;
  content: "";
  background: #1a1a18;
  transform: translateX(-50%);
  pointer-events: none;
}
.dream-wedding__phone iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 1.62rem;
  background: #1a1a18;
}
@keyframes dream-wedding-halo {
  0%, 100% { transform: translate(-50%, -50%) scale(.94); filter: brightness(.78); opacity: .78; }
  50% { transform: translate(-50%, -50%) scale(1.06); filter: brightness(1.12); opacity: 1; }
}
.dream-wedding--traditions::before { right: auto; left: -18rem; transform: scaleX(-1) rotate(127deg); }
.dream-wedding--traditions .dream-wedding__grid { grid-template-columns: minmax(25rem, .87fr) minmax(0, 1.13fr); }
.dream-wedding--traditions .dream-wedding__media { grid-column: 1; grid-row: 1; }
.dream-wedding--traditions .dream-wedding__copy { grid-column: 2; grid-row: 1; max-width: 47rem; }
.dream-wedding--traditions h2 { font-size: clamp(3rem, 4.3vw, 5rem); line-height: .98; letter-spacing: -.045em; }
@media (max-width: 991px) {
  .dream-wedding__grid { grid-template-columns: 1fr; gap: 3.5rem; }
  .dream-wedding__copy { max-width: 48rem; }
  .dream-wedding__media { min-height: 36rem; }
  .dream-wedding__phone { width: min(100%, 23rem); }
  .dream-wedding--traditions .dream-wedding__grid { grid-template-columns: 1fr; }
  .dream-wedding--traditions .dream-wedding__copy,
  .dream-wedding--traditions .dream-wedding__media { grid-column: auto; grid-row: auto; }
}
@media (max-width: 575px) {
  .dream-wedding { padding-block: 4rem; }
  .dream-wedding h2 { font-size: clamp(1.65rem, 6.5vw, 2.15rem); }
  .dream-wedding__copy > p { font-size: 1rem; }
  .dream-wedding__copy > .dream-wedding__eyebrow { font-size: clamp(3.1rem, 11vw, 4rem); }
  .dream-wedding__conclusion { padding: 1.3rem 1.25rem; font-size: 1.5rem; }
  .dream-wedding__media { min-height: 29rem; }
  .dream-wedding__phone { width: min(100%, 19rem); border-radius: 1.8rem; }
  .dream-wedding__phone iframe { border-radius: 1.25rem; }
  .dream-wedding__halo { width: min(calc(100vw - 2.5rem), 26rem); }
  .dream-wedding--traditions h2 { font-size: clamp(2.15rem, 11vw, 3rem); }
}
@media (prefers-reduced-motion: reduce) {
  .dream-wedding { --dream-phone-scale: 1; }
  .dream-wedding__halo { animation: none; }
}
