@font-face{font-family:AlluraGallery;src:url('/fonts/allura-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
/* The legacy multilingual reset forces a sans face on every span and heading. */
.tf-wedding-gallery .tf-chapter-script{font-family:AlluraGallery,Georgia,serif!important}
.tf-wedding-gallery .tf-gallery-heading h1,.tf-wedding-gallery .tf-gallery-contact{font-family:Georgia,serif!important}
.tf-wedding-gallery{--gallery-ink:#263f3a;--gallery-line:#dce5e1;max-width:1440px;padding:38px 40px 72px;color:var(--gallery-ink);font-family:'Open Sans',Arial,sans-serif;letter-spacing:0}
.tf-wedding-gallery .tf-gallery-back{color:#516761;font-size:12px;text-decoration:none}
.tf-wedding-gallery .tf-gallery-heading{padding:36px 0 40px}
.tf-wedding-gallery .tf-gallery-heading>p:first-child{font-size:12px;color:#6a7c74}
.tf-wedding-gallery .tf-gallery-heading h1{font:400 52px/1.2 Georgia,serif;color:#203d34;margin:16px 0}
.tf-wedding-gallery .tf-gallery-heading>p:last-child{font-size:12px;color:#6a7c74}
.tf-wedding-gallery .tf-gallery-tools{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:10px;padding:12px 0;margin:0 0 40px;border-block:1px solid var(--gallery-line);background:#fffffffa;backdrop-filter:blur(12px)}
.tf-wedding-gallery .tf-gallery-tools button,.tf-wedding-gallery .tf-gallery-tools select{font:500 12px/1.4 'Open Sans',Arial,sans-serif;min-height:46px;border-radius:4px;transition:background .2s,color .2s,border-color .2s;letter-spacing:0}
.tf-wedding-gallery .tf-gallery-tools .tf-moment-label{font-size:0;gap:0;min-width:0;margin-right:auto}
.tf-wedding-gallery .tf-moment-label select{border:0;background-color:transparent;padding:12px 32px 12px 0;max-width:300px;font-size:13px;font-weight:600;color:#203d34;cursor:pointer}
.tf-wedding-gallery .tf-selection-toggle{display:flex;align-items:center;justify-content:center;gap:9px;background:#f1f5f3;border-color:transparent;color:#214c40;padding:12px 18px}
.tf-wedding-gallery .tf-selection-toggle::before,.tf-wedding-gallery .tf-download-primary::before{content:'';width:18px;height:18px;flex:0 0 18px;background:currentColor;mask:url('/assets/gallery-icons/images.svg') center/contain no-repeat}
.tf-wedding-gallery .tf-gallery-tools button:not(.tf-selection-toggle){display:none;border:0;background:transparent;padding:10px;color:#3b5d51;text-decoration:underline;text-underline-offset:4px}
.tf-wedding-gallery.is-selecting .tf-gallery-tools button:not(.tf-selection-toggle){display:block}
.tf-wedding-gallery.is-selecting .tf-selection-toggle{background:#244e42;color:white}
.tf-wedding-gallery .tf-gallery-chapter{position:relative;margin:60px 0 0;scroll-margin-top:90px}
.tf-wedding-gallery .tf-gallery-chapter h2{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px;padding:0 0 16px;border-bottom:1px solid var(--gallery-line);color:#294c3e;overflow-wrap:anywhere}
.tf-wedding-gallery .tf-chapter-script{font:400 58px/1.2 AlluraGallery,Georgia,serif;letter-spacing:0}
.tf-wedding-gallery .tf-gallery-chapter h2 small{margin:0;font:400 11px/1.4 'Open Sans',Arial,sans-serif;color:#66786f;flex-shrink:0}
.tf-wedding-gallery .tf-photo-grid{column-gap:14px}
.tf-wedding-gallery .tf-gallery-photo{margin-bottom:14px;border-radius:2px;background:#eef1ef}
.tf-wedding-gallery .tf-gallery-photo img{transition:transform .6s cubic-bezier(.2,.65,.3,1),opacity .2s;transform-origin:center}
.tf-wedding-gallery .tf-photo-select{display:flex;width:40px;height:40px;border-radius:50%;border:1px solid #ffffff80;background:#ffffffee;box-shadow:0 2px 10px #102b2520;opacity:0;transition:opacity .2s,transform .2s;transform:translateY(-3px)}
.tf-wedding-gallery .tf-photo-select input{width:20px;height:20px;accent-color:#245e48}
.tf-wedding-gallery .tf-photo-item:hover .tf-photo-select,.tf-wedding-gallery .tf-photo-select:focus-within,.tf-wedding-gallery.is-selecting .tf-photo-select,.tf-wedding-gallery .is-selected .tf-photo-select{opacity:1;transform:none}
.tf-wedding-gallery .is-selected>.tf-gallery-photo{outline:3px solid #2d6a52;outline-offset:-3px}
.tf-wedding-gallery .is-selected .tf-photo-select{background:#ffffff}
.tf-wedding-gallery .tf-selection-bar{gap:12px;max-width:680px;padding:12px 16px;background:#fffffff7;border-color:#d5e1da;box-shadow:0 8px 38px #153d3024;backdrop-filter:blur(14px);border-radius:8px;color:#244b3d}
.tf-wedding-gallery .tf-selection-bar strong{font:600 13px/1.4 'Open Sans',Arial,sans-serif;font-variant-numeric:tabular-nums}
.tf-wedding-gallery .tf-download-primary{display:flex;justify-content:center;align-items:center;gap:10px;background:#244e42;min-height:46px;border-radius:4px;font:500 12px/1.4 'Open Sans',Arial,sans-serif}
.tf-wedding-gallery .tf-download-primary::before{mask-image:url('/assets/gallery-icons/download.svg')}
.tf-wedding-gallery .tf-download-status{color:#526e60;font-size:11px;overflow-wrap:anywhere}
.tf-wedding-gallery .tf-gallery-source{color:#65766c;font-size:11px;margin-top:32px}
.tf-wedding-gallery .tf-gallery-contact{color:#244e42;font:400 26px/1.4 Georgia,serif;border-top:1px solid var(--gallery-line);padding-top:40px}
.tf-wedding-gallery .tf-photo-bar{border-bottom:1px solid #ffffff20}
.tf-wedding-gallery .tf-photo-actions button{border-color:#ffffff40;border-radius:4px;font:400 12px/1.4 Arial,sans-serif}
.tf-wedding-gallery .tf-photo-select:focus-within,.tf-wedding-gallery .tf-gallery-tools button:focus-visible,.tf-wedding-gallery select:focus-visible{outline:3px solid #458a73;outline-offset:3px}
@media(hover:hover){.tf-wedding-gallery .tf-gallery-tools button:hover{background:#e5eee8;color:#244b3d}.tf-wedding-gallery .tf-download-primary:hover{background:#32624f}.tf-wedding-gallery .tf-gallery-photo:hover img{transform:scale(1.018)}}
@media(max-width:767px){.tf-wedding-gallery{padding:24px 14px 48px}.tf-wedding-gallery .tf-gallery-heading{padding:30px 0}.tf-wedding-gallery .tf-gallery-heading h1{font-size:36px}.tf-wedding-gallery .tf-gallery-tools{margin:0 0 28px;gap:6px;padding:10px 0}.tf-wedding-gallery .tf-gallery-tools .tf-moment-label{width:auto;flex:1;justify-content:initial}.tf-wedding-gallery .tf-moment-label select{width:100%;max-width:none;min-width:0;font-size:12px;padding-right:10px}.tf-wedding-gallery .tf-selection-toggle{font-size:11px;padding:10px;gap:6px}.tf-wedding-gallery .tf-selection-toggle::before{width:16px;height:16px;flex-basis:16px}.tf-wedding-gallery.is-selecting .tf-gallery-tools .tf-moment-label{flex-basis:45%}.tf-wedding-gallery.is-selecting .tf-selection-toggle{flex-basis:45%}.tf-wedding-gallery .tf-gallery-tools button:not(.tf-selection-toggle){font-size:11px;min-height:40px}.tf-wedding-gallery .tf-gallery-chapter{margin-top:42px}.tf-wedding-gallery .tf-gallery-chapter h2{gap:10px;padding-bottom:12px;margin-bottom:16px}.tf-wedding-gallery .tf-chapter-script{font-size:44px}.tf-wedding-gallery .tf-gallery-chapter h2 small{font-size:10px}.tf-wedding-gallery .tf-photo-grid{column-gap:8px}.tf-wedding-gallery .tf-gallery-photo{margin-bottom:8px}.tf-wedding-gallery .tf-photo-select{right:5px;top:5px;width:36px;height:36px;opacity:1;transform:none}.tf-wedding-gallery .tf-photo-select input{width:18px;height:18px}.tf-wedding-gallery .tf-selection-bar{width:calc(100% - 24px);gap:8px;padding:12px;bottom:max(12px,env(safe-area-inset-bottom))}.tf-wedding-gallery .tf-selection-bar strong{width:auto;flex:1;font-size:12px}.tf-wedding-gallery .tf-download-primary{flex:initial;max-width:65%;font-size:11px;padding:10px}.tf-wedding-gallery .tf-download-primary::before{width:16px;height:16px;flex-basis:16px}.tf-wedding-gallery .tf-photo-actions button{font-size:10px}.tf-wedding-gallery .tf-gallery-contact{font-size:23px}}
@media(max-width:359px){.tf-wedding-gallery .tf-gallery-tools .tf-moment-label{flex-basis:100%}.tf-wedding-gallery .tf-selection-toggle{width:100%}.tf-wedding-gallery .tf-chapter-script{font-size:40px}.tf-wedding-gallery .tf-gallery-chapter h2{flex-wrap:wrap}.tf-wedding-gallery .tf-selection-bar strong{font-size:11px}.tf-wedding-gallery .tf-download-primary{max-width:67%;gap:6px}}
@media(max-width:767px){.tf-wedding-gallery .tf-moment-label select{font-size:16px;text-overflow:ellipsis}}
@media(hover:none){.tf-wedding-gallery:not(.is-selecting) .tf-photo-item:not(.is-selected) .tf-photo-select{opacity:0;pointer-events:none}.tf-wedding-gallery .tf-photo-select:focus-within{opacity:1!important;pointer-events:auto!important}}
@media(prefers-reduced-motion:reduce){.tf-wedding-gallery *{scroll-behavior:auto!important}.tf-wedding-gallery .tf-gallery-photo img,.tf-wedding-gallery .tf-photo-select,.tf-wedding-gallery .tf-gallery-tools button{transition:none!important}.tf-wedding-gallery .tf-gallery-photo:hover img{transform:none}}
