body.tf-wedding-fix #tf-md-images { padding:80px 32px 48px; }
.tf-magic-caption-row { display:flex; justify-content:space-between; align-items:end; gap:32px; width:100%; }
body.tf-wedding-fix [data-magic-caption] { display:flex; align-items:end; justify-content:space-between; gap:32px; margin:0 0 40px; }
body.tf-wedding-fix [data-magic-caption] h2 { font-size:52px!important; max-width:520px; font-weight:400; }
body.tf-wedding-fix [data-magic-caption] a { flex:0 0 auto; padding:12px 0; border-bottom:1px solid #ba8a7e; text-decoration:none; }
body.tf-wedding-fix #tf-md-images .tf-photo-grid { display:grid; columns:auto; grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:8px; aspect-ratio:8/3; }
body.tf-wedding-fix #tf-md-images figure { margin:0; min-width:0; min-height:0; overflow:hidden; }
body.tf-wedding-fix #tf-md-images figure:nth-child(1) { grid-column:1; grid-row:1/3; }
body.tf-wedding-fix #tf-md-images figure:nth-child(2) { grid-column:2; grid-row:1; }
body.tf-wedding-fix #tf-md-images figure:nth-child(3) { grid-column:3; grid-row:1; }
body.tf-wedding-fix #tf-md-images figure:nth-child(4) { grid-column:2; grid-row:2; }
body.tf-wedding-fix #tf-md-images figure:nth-child(5) { grid-column:3; grid-row:2; }
body.tf-wedding-fix #tf-md-images figure:nth-child(6) { grid-column:4; grid-row:1/3; }
body.tf-wedding-fix #tf-md-images a[data-tf-photo],body.tf-wedding-fix #tf-md-images [data-magic-lens] { display:block; width:100%; height:100%; }
body.tf-wedding-fix #tf-md-images img { width:100%; height:100%; object-fit:cover; object-position:center; }
body.tf-wedding-fix #tf-md-images a:hover img { transform:none; }
.tf-magic-lens { position:relative; width:100%; height:100%; overflow:hidden; }
.tf-magic-lens-overlay { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.tf-magic-lens-zoom { position:absolute; inset:0; }
body.tf-wedding-fix #carousel_9db9.tf-magic-extended { padding:0 32px 72px; color:#243c35; }
.tf-magic-extended-inner { max-width:1240px; margin:auto; }
.tf-magic-extended details { border-top:1px solid #d8e0da; border-bottom:1px solid #d8e0da; }
.tf-magic-extended summary { display:flex; align-items:center; justify-content:space-between; gap:24px; cursor:pointer; min-height:76px; font-family:Georgia,serif!important; font-size:25px; list-style:none; }
.tf-magic-extended summary::-webkit-details-marker { display:none; }
.tf-magic-extended summary span { color:#95675f; font-size:24px; font-weight:400; }
.tf-magic-extended details[open] summary span { transform:rotate(45deg); }
body.tf-wedding-fix #carousel_9db9.tf-magic-extended h3 { font-size:22px!important; text-align:left; margin:0 0 24px!important; }
.tf-magic-more-grid { columns:3; column-gap:10px; padding-bottom:24px; }
.tf-magic-more-grid a { display:block; break-inside:avoid; margin:0 0 10px; }
.tf-magic-more-grid img { display:block; width:100%; height:auto; }
.tf-magic-extended-links { display:flex; flex-wrap:wrap; gap:24px; padding:28px 0 12px; }
.tf-magic-extended-links a { display:inline-flex; align-items:center; min-height:44px; color:#95675f; text-decoration:underline; text-underline-offset:6px; font-size:14px; }
@media(max-width:991px) {
  body.tf-wedding-fix #tf-md-images .tf-photo-grid { aspect-ratio:3/4; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(4,minmax(0,1fr)); align-items:stretch; }
  body.tf-wedding-fix #tf-md-images figure:nth-child(n) { grid-column:auto; grid-row:auto; }
  body.tf-wedding-fix #tf-md-images figure { height:100%; }
  body.tf-wedding-fix #tf-md-images figure:nth-child(n) { width:100%; aspect-ratio:auto; }
  body.tf-wedding-fix #tf-md-images figure:nth-child(1) { grid-column:1; grid-row:1/3; }
  body.tf-wedding-fix #tf-md-images figure:nth-child(6) { grid-column:2; grid-row:3/5; }
  body.tf-wedding-fix #tf-md-images figure:nth-child(2),body.tf-wedding-fix #tf-md-images figure:nth-child(3) { grid-column:2; }
  body.tf-wedding-fix #tf-md-images figure:nth-child(4),body.tf-wedding-fix #tf-md-images figure:nth-child(5) { grid-column:1; }
  .tf-magic-more-grid { columns:2; }
}
@media(max-width:700px) {
  body.tf-wedding-fix #tf-md-images { padding:48px 16px 28px; }
  body.tf-wedding-fix [data-magic-caption] { margin-bottom:28px; flex-direction:column; align-items:start; gap:12px; }
  body.tf-wedding-fix [data-magic-caption] h2 { font-size:36px!important; max-width:300px; }
  .tf-magic-caption-row { flex-direction:column; align-items:start; gap:12px; }
  body.tf-wedding-fix [data-magic-caption] a { font-size:14px; }
  body.tf-wedding-fix #carousel_9db9.tf-magic-extended { padding:0 16px 48px; }
  .tf-magic-extended summary { font-size:22px; min-height:72px; }
}
@media(prefers-reduced-motion:reduce) { .tf-magic-extended summary span { transition:none; } }
