/* Shared form, privacy and motion controls. Icons are vectors, never emoji. */
.ui-arrow{display:inline-block;width:1.1em;height:1.1em;flex:none;vertical-align:-.12em}
.ui-star{width:1em;height:1em;display:inline-block}.stars{display:inline-flex;gap:.08em}
.contact-phone-field{grid-column:1/-1}
.contact-inner>*{min-width:0}.contact-form,.contact-form *{box-sizing:border-box}
.contact-form .form-row{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1rem}
.contact-form input:not([type=checkbox]):not([type=hidden]),.contact-form textarea{display:block;width:100%;max-width:100%;min-width:0;min-inline-size:0;font:inherit;font-size:16px}
.contact-form input[type=date]{appearance:none;-webkit-appearance:none;min-height:50px;max-inline-size:100%;text-align:left;display:flex;align-items:center}
.contact-form input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0;min-height:1.5em}
.contact-form input[type=date]::-webkit-datetime-edit{padding:0;min-width:0}
.contact-form input[type=date]::-webkit-calendar-picker-indicator{flex:none;margin-left:auto}
.contact-form .form-extra{margin-top:.3rem}.contact-form .form-extra-content{display:grid;gap:1rem}.contact-form .message-label{margin-top:0}
.contact-form .form-privacy{font-size:.875rem;line-height:1.55;color:#58624f;margin:1.3rem 0 0}.form-privacy a{text-decoration:underline;text-underline-offset:3px}
.contact-form #send-request{justify-content:center;font-size:1rem;min-height:54px;margin-top:1.25rem;gap:.7rem}
.contact-form #send-request:disabled{opacity:.7;cursor:wait}
.contact-alternative{border-top:1px solid #cbd2c2;padding-top:1.1rem;margin-top:1.2rem;text-align:center;display:grid;gap:.45rem}
.contact-alternative>span{font-size:.875rem;color:#58624f}.whatsapp-alternative{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-weight:500}
.contact-status{padding:1rem;border:1px solid #748457;background:#edf2e0;font-size:1rem;line-height:1.5;margin-top:1rem;overflow-wrap:anywhere}
.contact-status[data-error=true]{border-color:#a84335;background:#fff1ed;color:#752c22}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.footer-preferences{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;align-items:center}
.footer-preferences a,.footer-preferences button{font:inherit;font-size:.875rem;line-height:1.5;color:inherit;padding:.4rem 0;background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.reel figcaption{display:grid;gap:.15rem}.reel figcaption .film-open{background:none;border:0;border-bottom:1px solid #c9d1be70;border-radius:0;justify-self:start;color:inherit;padding:.45rem 0;font-size:.875rem;min-height:44px}
.wedding-home .hero-copy{padding-bottom:4.5rem}.film video[aria-hidden=true]{pointer-events:none}
.login-privacy{font-size:.875rem!important;line-height:1.5!important}.login-privacy a{text-decoration:underline}
.privacy-banner,.privacy-panel{box-sizing:border-box;font-family:'DM Sans',Arial,sans-serif;color:#20271e;background:#f7f8f1;border:1px solid #c3cbb8;border-radius:4px;box-shadow:0 8px 50px #0004;line-height:1.5;text-align:left;color-scheme:light}
.privacy-banner{position:fixed;z-index:60;bottom:1rem;left:1rem;right:1rem;max-width:1060px;margin:auto;padding:1.3rem 3.4rem 1.3rem 1.4rem;display:grid;grid-template-columns:1fr auto;align-items:center;gap:1.3rem}
.privacy-banner[hidden],.privacy-panel [hidden]{display:none!important}
.privacy-banner h2,.privacy-panel h2{font:600 1.15rem/1.4 Archivo,Arial,sans-serif;letter-spacing:-.02em;margin:0 0 .4rem;color:inherit}
.privacy-banner p,.privacy-panel p{font-size:.875rem;line-height:1.55;margin:0;color:#526048}.privacy-banner a,.privacy-panel a{text-decoration:underline;text-underline-offset:3px;color:inherit}
.privacy-actions{display:flex;gap:.5rem;flex-wrap:wrap}.privacy-actions button,.privacy-save{font:500 .875rem/1.35 'DM Sans',Arial,sans-serif;min-height:44px;padding:.65rem .85rem;border:1px solid #63734e;border-radius:2px;background:#f7f8f1;color:#20271e;cursor:pointer}
.privacy-actions button:hover,.privacy-save:hover{background:#e9efdd}.privacy-close{position:absolute;right:.65rem;top:.65rem;background:none;border:0;color:#20271e;width:36px;height:36px;cursor:pointer;display:grid;place-items:center}
.privacy-close svg{width:19px;height:19px}.privacy-banner button:focus-visible,.privacy-panel button:focus-visible,.privacy-panel input:focus-visible{outline:2px solid #526519;outline-offset:3px}
.privacy-panel{position:fixed;inset:0;width:min(550px,calc(100% - 2rem));max-height:calc(100svh - 2rem);padding:1.5rem;overflow:auto;margin:auto}
.privacy-panel::backdrop{background:#10170ebd}.privacy-panel h2{padding-right:2rem;font-size:1.4rem}
.privacy-category{padding:1.2rem 0;border-top:1px solid #cbd2c2;margin-top:1.1rem}.privacy-category label,.privacy-category strong{display:flex;gap:.7rem;align-items:center;font-size:1rem;color:#20271e;font-weight:600}.privacy-category input{width:20px;height:20px;accent-color:#4c6222}.privacy-category p{margin-top:.45rem}.privacy-category small{display:block;margin-top:.35rem;color:#61704f;font-size:.8125rem}
.privacy-panel .privacy-actions{margin-top:1rem}.privacy-panel .privacy-save{margin-top:.7rem;width:100%;background:#20271e;color:#fff;border-color:#20271e}
.legal-page{background:#f5f6ef;color:#20271e;min-height:100svh}.legal-header{background:#141715;padding:1.25rem max(1.25rem,calc((100% - 1100px)/2));display:flex;justify-content:space-between;align-items:center;color:#f5f6ef;gap:1rem}.legal-header img{width:120px;height:auto}.legal-header a{color:inherit}
.legal-content{max-width:800px;padding:3.5rem 1.5rem 4rem;margin:auto}.legal-content h1{font:500 clamp(2.2rem,6vw,3.5rem)/1.1 Archivo,Arial,sans-serif;letter-spacing:-.04em;margin:.6rem 0 1.5rem}.legal-content h2{font:600 1.25rem/1.4 Archivo,Arial,sans-serif;letter-spacing:-.015em;margin:2rem 0 .65rem}.legal-content p,.legal-content li{font-size:1rem;line-height:1.75;color:#425039}.legal-content p+p{margin-top:.8rem}.legal-content a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-content ul{padding-left:1.3rem}.legal-meta{font-size:.875rem!important}.legal-table-wrap{overflow:auto}.legal-content table{width:100%;border-collapse:collapse;font-size:.875rem;text-align:left}.legal-content th,.legal-content td{padding:.8rem;border-bottom:1px solid #cbd2c2;vertical-align:top}.legal-footer{max-width:800px;padding:0 1.5rem 3rem;margin:auto}
@media(max-width:700px){.contact-form .form-row{grid-template-columns:minmax(0,1fr);gap:.9rem}.contact-form{width:100%;max-width:100%;padding:1.2rem}.wedding-home .hero-copy{padding-bottom:3rem}.privacy-banner{bottom:.75rem;left:.75rem;right:.75rem;grid-template-columns:1fr;gap:1rem;padding:1.2rem}.privacy-banner h2{padding-right:1.8rem}.privacy-banner p{padding-right:.4rem}.privacy-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.privacy-actions .privacy-customize{grid-column:1/-1}.privacy-panel{padding:1.3rem}.contact-form .form-heading p{font-size:.9375rem}.footer-preferences{gap:.5rem 1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
