.elementor .bbk-occasion-gallery.e-con{gap:25px;scroll-margin-top:125px}
.bbk-occasion-tablist{display:flex;flex-wrap:wrap;gap:10px}
.bbk-occasion-tablist button{font:700 13px/1.4 'DM Sans',sans-serif;background:white;color:#454a42;border:1px solid #dce0d6;border-radius:8px;padding:14px 18px;min-height:48px;cursor:pointer;transition:background .2s}
.bbk-occasion-tablist button:hover{background:#eef4e4;color:#454a42}
.bbk-occasion-tablist button[aria-selected=true]{background:#89b82c;border-color:#89b82c;color:white}
.bbk-occasion-tablist button[aria-selected=true]:hover{background:#6d9422}
.bbk-occasion-gallery :focus-visible{outline:3px solid #454a42;outline-offset:4px}
.elementor .bbk-occasion-panel.e-con{gap:20px}
.elementor .bbk-occasion-panel[hidden]{display:none!important}
.elementor .bbk-occasion-examples.e-con{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.elementor .bbk-occasion-example.e-con{overflow:hidden;gap:0}
.bbk-occasion-example-photo{overflow:hidden;aspect-ratio:2/3;position:relative}
.bbk-occasion-example-photo .elementor-widget-container{height:100%}
.bbk-occasion-example-photo img{display:block;width:300%!important;max-width:none!important;height:100%!important;object-fit:fill}
.bbk-occasion-example-photo.pos-1 img{transform:translateX(-33.333333%)}
.bbk-occasion-example-photo.pos-2 img{transform:translateX(-66.666667%)}
.elementor .bbk-occasion-caption.e-con{padding:20px 23px;gap:8px}
.bbk-occasion-caption .bbk-wedding-heading h4.elementor-heading-title{font-size:20px!important;letter-spacing:-.4px}
.bbk-occasion-caption .bbk-wedding-text{font-size:13px}
.bbk-occasion-gallery-note{font-size:13px!important}
@media(max-width:700px){.elementor .bbk-occasion-examples.e-con{grid-template-columns:1fr;gap:22px}.bbk-occasion-tablist{gap:8px}.bbk-occasion-tablist button{flex:1 1 140px;padding:12px;font-size:12px}.bbk-occasion-example-photo{aspect-ratio:2/3}.elementor .bbk-occasion-gallery.e-con{scroll-margin-top:95px}}
.bbk-occasion-enlarge{position:absolute;inset:0;border:0!important;background:transparent!important;cursor:zoom-in;border-radius:0}
.bbk-occasion-zoom{padding:16px;border:0;border-radius:18px;background:white;color:#454a42;max-width:calc(100vw - 30px);max-height:95vh;overflow:auto}
.bbk-occasion-zoom::backdrop{background:#172011ba}
.bbk-occasion-zoom>button{position:absolute;right:22px;top:22px;z-index:2;background:white;color:#454a42;border:1px solid #ddd;border-radius:50%;width:42px;height:42px;font-size:26px;cursor:pointer}
.bbk-occasion-zoom-photo{width:min(520px,calc(100vw - 65px),52vh);aspect-ratio:2/3;overflow:hidden}
.bbk-occasion-zoom-photo img{width:300%;max-width:none;height:100%;display:block}
.bbk-occasion-zoom-photo.pos-1 img{transform:translateX(-33.333333%)}
.bbk-occasion-zoom-photo.pos-2 img{transform:translateX(-66.666667%)}
.bbk-occasion-zoom p{font:13px/1.4 'DM Sans',sans-serif;margin:12px 0 0}

.bbk-occasion-zoom>button,.bbk-occasion-zoom>button:hover,.bbk-occasion-zoom>button:focus{background:#89b82c!important;color:white!important;border-color:#89b82c!important}
/* Compact shared introduction and navigation card. */
.elementor .bbk-occasion-compact-head.e-con{padding:28px 30px;gap:22px}
.elementor .bbk-occasion-head-copy.e-con{gap:12px;text-align:left}
.bbk-occasion-head-copy .bbk-wedding-eye p{margin:0;font-size:10px}
.bbk-occasion-head-copy .bbk-wedding-heading .elementor-heading-title{font-size:32px!important;letter-spacing:-.9px}
.bbk-occasion-head-copy>.bbk-wedding-text:last-child{font-size:14px;max-width:900px}
@media(max-width:700px){.elementor .bbk-occasion-compact-head.e-con{padding:24px 22px;gap:20px}.bbk-occasion-head-copy .bbk-wedding-heading .elementor-heading-title{font-size:27px!important}.bbk-occasion-head-copy .bbk-wedding-eye p{font-size:9px;letter-spacing:1px}}
/* Closer editorial hero crop requested by user. */
.bbk-occasion-page .bbk-wedding-hero-image{overflow:hidden}
.bbk-occasion-page .bbk-wedding-hero-image img{transform:scale(1.25);transform-origin:78% 48%}
