/* Separate CSS scale never replaces the saved image framing transform. */
.gf-stories .da-card > figure img {
    transition: scale .5s cubic-bezier(.2,.7,.3,1), transform .5s ease;
}
/* Replace the theme's anchor-only zoom with the same independent scale used
   for unlinked images. Saved crop zooms retain their inline transform. */
.gf-stories .da-card > figure a:hover img:not(.gf-image-framing-zoomed) { transform:none; }
@media (hover:hover) and (pointer:fine) {
    .gf-stories .da-card:hover > figure img { scale:1.025; }
}
.gf-stories .da-card:focus-within > figure img { scale:1.025; }

.gf-horse-animation {
    display:block;
    width:clamp(120px,14vw,176px);
    max-width:100%;
    margin:0 auto 24px !important;
    padding:0;
    background:none;
    border:0;
    line-height:0;
}
.gf-horse-animation svg { display:block; width:100%; height:auto; overflow:visible; }
.gf-horse-story .gf-horse-origin--text { display:block; }
.gf-horse-story .gf-horse-origin--text .da-copy { max-width:720px; margin-inline:auto; }
.gf-horse-story .gf-horse-origin--text .da-kicker,
.gf-horse-story .gf-horse-origin--text h2 { text-align:center; }

/* Keep the wedding masonry intact; remove only its narrow section constraint. */
#post-34 .da-gallery-section {
    max-width:none !important;
    width:100%;
    padding-inline:clamp(12px,1.5vw,24px) !important;
}
#post-34 .da-gallery-section > .wp-block-pgcsimplygalleryblock-masonry {
    max-width:none !important;
    width:100%;
}
@media (scripting:enabled) and (prefers-reduced-motion:no-preference) {
    .gf-horse-animation:not(.gf-horse-ready) svg { animation:gf-horse-static-fallback 0s 3.5s both; }
}
@keyframes gf-horse-static-fallback { from { visibility:hidden; } to { visibility:visible; } }

/* Only the explicitly opted-in native horse gallery breaks out to the viewport. */
.gf-horse-story .gf-horse-gallery:has(.gf-horse-carousel) {
    max-width:none !important;
    padding-inline:0 !important;
}
.wp-block-gallery.gf-swipe-gallery.gf-horse-carousel.has-nested-images {
    --gf-row-height:clamp(280px,33vw,480px);
    width:var(--gf-viewport-width,100%) !important;
    max-width:none !important;
    margin-inline:calc((100% - var(--gf-viewport-width,100%))/2) !important;
    padding-inline:clamp(16px,2vw,32px);
    box-sizing:border-box;
    scroll-padding-inline:clamp(16px,2vw,32px);
}
.gf-horse-carousel-controls {
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    margin:18px auto 0;
    padding-inline:20px;
}
.gf-horse-carousel-controls[hidden] { display:none; }
.gf-horse-carousel-controls button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    min-width:96px;
    padding:10px 18px;
    margin:0;
    border:1px solid #D29A45;
    border-radius:999px;
    color:#26382C;
    background:#F4EBDD;
    font-family:inherit;
    font-size:13px;
    font-weight:500;
    line-height:1.3;
    letter-spacing:.02em;
    cursor:pointer;
    box-shadow:none;
}
.gf-horse-carousel-controls button:hover:not(:disabled) { background:#D29A45; color:#26382C; }
.gf-horse-carousel-controls button:focus-visible { outline:2px solid #C75A38; outline-offset:3px; }
.gf-horse-carousel-controls button:disabled { opacity:.42; cursor:default; }
@media (max-width:690px) {
    .wp-block-gallery.gf-swipe-gallery.gf-horse-carousel.has-nested-images { --gf-row-height:280px; }
}
@media (prefers-reduced-motion:reduce) {
    .gf-stories .da-card > figure img { transition:none !important; scale:1 !important; }
    .gf-horse-animation svg { animation:none !important; }
    .gf-horse-carousel { scroll-behavior:auto !important; }
}
