/* Additions to the approved marryday design, September 2026. */
[hidden]{display:none!important}
.plan ul{margin-top:24px}
.offer-actions{margin-top:30px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.offer-actions p{font-size:14px;color:#6b6861}
.lower-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:16px}
.contact-actions{display:flex;align-items:flex-start;flex-direction:column;gap:16px;margin-top:30px}
.offer-actions .button,.lower-actions .button,.contact-actions .button,.review-links .button{max-width:100%;text-align:left;white-space:normal}
.messenger-float{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:9;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 18px;border:1px solid #bfb9ad;border-radius:28px;background:#f5f3ee;color:#191917;font-size:13px;box-shadow:0 2px 12px #19191715;transition:background .2s,box-shadow .2s}
.messenger-float svg{flex-shrink:0}
.messenger-float:hover{background:#e8e3da;box-shadow:0 3px 16px #19191725}
.messenger-float:focus-visible,.reviews summary:focus-visible{outline:2px solid #967444;outline-offset:5px}
.messenger-float.is-obscured{visibility:hidden;pointer-events:none}
.reviews{border-top:1px solid #d8d3c9}
.reviews-heading h2{font-size:clamp(42px,5.3vw,78px)}
.reviews-heading>p{margin-top:25px}
.reviews-rating{margin-top:28px;font-size:13px;color:#6b6861}
.reviews-rating>span{letter-spacing:.16em;color:#847c70}
.reviews-rating p{margin-top:5px}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:40px;align-items:start}
.reviews-more{margin-top:28px}
.review-card{margin:0;padding:28px;border:1px solid #d8d3c9;min-width:0;background:#efebe4;align-self:stretch}
.review-card blockquote{margin:0;font-size:15px;line-height:1.8}
.review-card figcaption{margin-top:25px;font-size:14px}
.review-card figcaption strong{font-weight:400}
.review-location,.review-source{display:block;font-size:12px;color:#6b6861}
.review-source{margin-top:8px}
.review-card summary{cursor:pointer;font-size:13px;text-decoration:underline;text-underline-offset:4px;margin-top:15px;width:fit-content}
.review-card details[open] p{margin-top:15px}
.reviews-toggle{margin-top:32px}
.review-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:30px}
.review-links .outline:hover,.lower-actions .outline:hover{background:#847c701a}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
 .reviews-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .reviews-more{margin-top:20px}
 .review-card{padding:24px}
 .messenger-float{width:48px;height:48px;padding:0;justify-content:center;right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom))}
 .messenger-float span{display:none}
 .footer{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
 .lower-actions{gap:16px;margin-top:40px}
 .cta .lower-actions .button{margin-top:0}
}
/* Hide immediately when the existing mobile navigation opens. */
body:has(.nav-links.open) .messenger-float{visibility:hidden;pointer-events:none}
