/*
Theme Name: Dunamis Wedding
Author: Dunamis
Description: A minimalist wedding theme inspired by the Churchill wedding website. Elegant serif typography, wide photographs, editable wedding details and native WordPress pages.
Version: 1.5.1
Requires at least: 6.3
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dunamis-wedding
*/
:root{--ink:#141414;--paper:#fff;--canvas:#f8f8f8;--line:#dededb;--serif:Cardo,'Palatino Linotype','Book Antiqua',Palatino,Georgia,serif;--sans:'Helvetica Neue',Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:6px}a:hover{text-decoration-thickness:2px}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:6px}img{max-width:100%;height:auto;display:block}figure{margin:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.3;letter-spacing:1px}h1{font-size:clamp(2.25rem,5vw,3.5rem)}h2{font-size:2.5rem}h3{font-size:1.7rem}.wedding-site{max-width:1440px;margin:0 auto;background:var(--paper);min-height:100vh}.site-header{padding:65px 40px 0;text-align:center}.couple-names{display:flex;justify-content:center;align-items:center;gap:22px;font:400 clamp(2rem,3.8vw,3.5rem)/1.3 var(--serif);letter-spacing:1px;text-decoration:none}.name-and{font:400 1rem/1.6 var(--sans);letter-spacing:0}.wedding-nav{margin:32px auto 0}.menu{display:flex;justify-content:center;align-items:center;gap:32px;list-style:none;padding:0;margin:0;flex-wrap:wrap}.menu a{display:block;text-decoration:none;padding:8px 0 18px;border-bottom:2px solid transparent;font-size:1rem}.menu a:hover,.menu a[aria-current=page],.menu .current-menu-item>a,.menu .current_page_item>a{border-bottom-color:var(--ink)}.menu-toggle{display:none}.hero-photo,.closing-photo{margin:34px 64px 0}.hero-photo img,.closing-photo img{width:100%;aspect-ratio:5470/3191;object-fit:cover}.welcome-section{text-align:center;padding:76px 24px 82px;max-width:840px;margin:auto}.welcome-section h1{font-size:clamp(2.5rem,5vw,4.5rem);margin:0 0 26px}.wedding-details{font-size:1.125rem}.wedding-details p{margin:4px 0}.welcome-copy{max-width:560px;margin:30px auto;white-space:normal}.button,.wp-block-button__link{display:inline-block;border:1px solid var(--ink);border-radius:0;background:var(--ink);color:white;padding:12px 37px;min-height:48px;text-decoration:none;letter-spacing:1px;font-size:1rem}.button:hover,.wp-block-button__link:hover{background:white;color:var(--ink)}.closing-photo{margin-top:0}.site-footer{padding:56px 24px 48px;text-align:center}.site-footer p{margin:0;font:400 1.5rem/1.5 var(--serif)}.site-footer .footer-date{font:400 .875rem/1.6 var(--sans);margin-top:10px}.page-main{padding:62px 32px 84px;min-height:50vh}.page-title{text-align:center;margin:0 0 50px}.entry-content{max-width:760px;margin:auto;overflow-wrap:anywhere}.entry-content::after{content:'';display:table;clear:both}.entry-content>*{margin-top:0;margin-bottom:1.6rem}.entry-content h2,.entry-content h3{margin-top:2.5rem}.entry-content .alignwide{max-width:1100px}.entry-content .alignfull{width:100%;max-width:none}.entry-content img{height:auto}.entry-content .wp-block-gallery{gap:20px}.entry-content details{border-bottom:1px solid var(--line);padding:20px 0}.entry-content summary{cursor:pointer;font-size:1.125rem}.entry-content details p{margin-top:16px}.entry-content table{border-collapse:collapse;width:100%}.entry-content td,.entry-content th{border:1px solid var(--line);padding:12px}.page-photo{max-width:1100px;margin:0 auto 40px}.page-photo img{width:100%}.journal-entry{max-width:760px;margin:0 auto 60px}.journal-entry h2 a{text-decoration:none}.navigation.pagination{text-align:center}.page-numbers{display:inline-block;padding:8px 14px}.center{text-align:center}.home-content:empty{display:none}.home-content{padding:0 24px}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;top:10px;left:10px;z-index:99999;background:white;padding:12px 20px}.wp-caption{max-width:100%}.wp-caption-text,.gallery-caption{font-size:.875rem}.alignleft{float:left;margin:0 24px 20px 0}.alignright{float:right;margin:0 0 20px 24px}.aligncenter{margin-left:auto;margin-right:auto}.sticky{border-top:1px solid var(--ink);padding-top:24px}.bypostauthor{font-weight:inherit}
@media(min-width:1100px){.entry-content>.alignwide{width:calc(100% + 240px);max-width:none;margin-left:-120px}}
@media(max-width:1000px){.couple-names{gap:14px}.site-header{padding:48px 24px 0}.menu{gap:22px}.hero-photo,.closing-photo{margin-left:32px;margin-right:32px}}
@media(max-width:760px){.site-header{padding:36px 20px 0}.couple-names{flex-direction:column;gap:3px;font-size:2.15rem}.name-and{font-size:.875rem}.wedding-nav{margin-top:24px}.menu{gap:8px 22px}.menu a{padding:9px 0}.navigation-ready .menu-toggle:not([hidden]){display:flex;justify-content:space-between;align-items:center;border:0;border-top:1px solid var(--line);background:white;color:var(--ink);width:100%;padding:14px 0;cursor:pointer}.navigation-ready .menu{display:none;padding:0 0 20px}.navigation-ready .menu.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.hero-photo,.closing-photo{margin:16px 20px 0}.hero-photo img{aspect-ratio:1/1;object-position:center}.welcome-section{padding:48px 24px}.welcome-section h1{margin-bottom:22px}.closing-photo{margin-top:0}.site-footer{padding:36px 20px}.site-footer p{font-size:1.2rem}.page-main{padding:40px 24px 60px}.page-title{margin-bottom:32px}.entry-content h2{font-size:2rem}.alignleft,.alignright{float:none;margin:0 auto 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Use the available window width without viewport-unit scrollbar overflow. */
.hero-full-width .wedding-site{max-width:none}
.hero-full-width .site-header,.hero-full-width .site-footer{max-width:1440px;margin-inline:auto}
.hero-full-width .hero-photo{margin-inline:0}
.hero-full-width .closing-photo{width:calc(100% - 128px);max-width:1312px;margin-inline:auto}
.hero-photo img{height:var(--hero-height,auto);object-fit:cover;object-position:center}
@media(max-width:1000px){.hero-full-width .closing-photo{width:calc(100% - 64px)}}
@media(max-width:760px){
 .hero-photo img{height:var(--hero-mobile-height,auto)}
 .hero-full-width .closing-photo{width:calc(100% - 40px)}
}

/* Caption stays in flow so long text or text zoom can expand a short photo. */
.hero-photo.has-overlay{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;min-height:var(--hero-height,auto);aspect-ratio:var(--hero-overlay-ratio,5470 / 3191)}
.hero-photo.has-overlay img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;z-index:-2}
.hero-photo.has-overlay::before{content:"";position:absolute;inset:0;background:#000;opacity:var(--hero-overlay-shade,.3);z-index:-1;pointer-events:none}
.hero-overlay{padding:clamp(24px,5vw,72px);color:var(--hero-overlay-color,#fff);text-align:center;overflow-wrap:anywhere}
.hero-overlay-title{font:400 clamp(2rem,5vw,4.5rem)/1.2 var(--serif);letter-spacing:1px;margin:0;white-space:pre-line}
.hero-overlay-text{font-size:clamp(1rem,1.8vw,1.375rem);line-height:1.6;max-width:48rem;margin:0 auto;white-space:pre-line}
.hero-overlay-title+.hero-overlay-text{margin-top:16px}
.hero-photo.overlay-top{justify-content:flex-start}
.hero-photo.overlay-bottom,.hero-photo.overlay-bottom-left,.hero-photo.overlay-bottom-right{justify-content:flex-end}
.overlay-bottom-left .hero-overlay{text-align:left}
.overlay-bottom-right .hero-overlay{text-align:right}
.overlay-bottom-left .hero-overlay-text{margin-left:0}
.overlay-bottom-right .hero-overlay-text{margin-right:0}
@media(max-width:760px){.hero-photo.has-overlay{min-height:var(--hero-mobile-height,auto);aspect-ratio:var(--hero-overlay-mobile-ratio,1 / 1)}}

.ceremony-countdown{max-width:760px;margin:36px auto 0;padding:16px 24px 8px;text-align:center}
.ceremony-countdown h2{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 8px}
.ceremony-date{font-size:.875rem;margin:0 0 22px}
.countdown-units{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:560px;margin:0 auto}
.countdown-units[hidden],.countdown-finished[hidden]{display:none}
.countdown-number{display:block;font:400 clamp(2rem,5vw,3.5rem)/1.15 var(--serif);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.countdown-label{display:block;font-size:.875rem;margin-top:8px}
.countdown-finished{font:400 1.5rem/1.4 var(--serif);margin:16px 0}
@media(max-width:400px){.countdown-units{gap:8px}.ceremony-countdown{padding-inline:16px}}

/* Equal columns with centred content; shared by the editor and front end. */
.wp-block-columns.is-style-dunamis-divided{gap:0!important;align-items:stretch!important;margin-block:48px;min-height:420px}
.wp-block-columns.is-style-dunamis-divided>.wp-block-column{flex-basis:0!important;flex-grow:1;min-width:0;display:flex;flex-direction:column;justify-content:center;align-self:stretch!important;text-align:center;padding:32px clamp(24px,4vw,56px);gap:24px;overflow-wrap:anywhere}
.wp-block-columns.is-style-dunamis-divided>.wp-block-column+.wp-block-column{border-inline-start:2px solid var(--ink,#141414)}
.wp-block-columns.is-style-dunamis-divided>.wp-block-column>*{margin-block:0}
.wp-block-columns.is-style-dunamis-divided h2{font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.25}
.wp-block-columns.is-style-dunamis-divided .wp-block-buttons{justify-content:center}
.wp-block-columns.is-style-dunamis-divided .wp-block-image img{margin-inline:auto}
.editor-styles-wrapper .is-style-dunamis-divided>.wp-block-column>.block-editor-inner-blocks{display:flex;flex-direction:column;justify-content:center;flex:1}
.editor-styles-wrapper .is-style-dunamis-divided>.wp-block-column>.block-editor-inner-blocks>.block-editor-block-list__layout{display:flex;flex-direction:column;justify-content:center;gap:24px}
.editor-styles-wrapper .is-style-dunamis-divided>.wp-block-column>.block-editor-inner-blocks>.block-editor-block-list__layout>*{margin-block:0}
@media(max-width:781px){
 .wp-block-columns.is-style-dunamis-divided{flex-wrap:wrap!important;min-height:0}
 .wp-block-columns.is-style-dunamis-divided>.wp-block-column{flex-basis:100%!important;padding:32px 20px}
 .wp-block-columns.is-style-dunamis-divided>.wp-block-column+.wp-block-column{border-inline-start:0;border-top:2px solid var(--ink,#141414)}
}

.rsvp-wrap{max-width:680px;margin:auto}.rsvp-intro{text-align:center;margin-bottom:32px}.rsvp-intro h2{margin-top:0}.rsvp-form{display:grid;gap:24px}.rsvp-form label{display:block;text-align:left}.rsvp-form input:not([type=hidden]){display:block;width:100%;border:1px solid #999;border-radius:0;background:#fff;color:var(--ink);padding:12px;margin-top:8px;min-height:48px}.rsvp-name-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.rsvp-optional,.rsvp-note{font-size:.875rem;color:#555}.rsvp-guest{min-width:0;border:1px solid var(--line);padding:20px;margin:0 0 20px}.rsvp-guest legend{padding:0 8px}.rsvp-add,.rsvp-remove{cursor:pointer;background:white;color:var(--ink);border:1px solid var(--ink);padding:12px 20px;min-height:44px;justify-self:start}.rsvp-add span{font-size:1.3rem}.rsvp-remove{margin-top:16px;font-size:.875rem}.rsvp-add[hidden],.rsvp-remove[hidden]{display:none}.rsvp-add:disabled{opacity:.5;cursor:default}.rsvp-form .button{cursor:pointer;justify-self:start}.rsvp-errors{border:1px solid #a32626;padding:16px 24px;margin-bottom:24px}.rsvp-success{text-align:center;border-block:1px solid var(--line);padding:32px 0}.rsvp-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.rsvp-note{margin:0}.rsvp-guests:empty{display:none}@media(max-width:600px){.rsvp-name-row{grid-template-columns:1fr}}

.closing-message{max-width:760px;margin:40px auto 0;padding:0 24px;text-align:center;overflow-wrap:anywhere}.closing-message p{margin:0 0 1.25em}.closing-message p:last-child{margin-bottom:0}
