/*
Theme Name: Fátima & Miguel — Écija
Description: Tema elegante y optimizado para la boda de Fátima y Miguel.
Version: 3.2.0
*/
:root{--bg:#f7f3ec;--paper:#fffdf9;--ink:#273029;--muted:#666e68;--sage:#718270;--dark:#4e6151;--line:rgba(39,48,41,.14);--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.65;font-synthesis:none;text-rendering:optimizeLegibility}img{display:block;max-width:100%;height:auto}a{color:inherit}.shell{overflow:hidden}.skip-link{position:fixed;z-index:999;top:8px;left:8px;transform:translateY(-160%);padding:10px 14px;background:#fff;color:#111}.skip-link:focus{transform:none}
.topbar{position:fixed;inset:0 0 auto;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:12px clamp(18px,4vw,60px);background:rgba(247,243,236,.98);border-bottom:1px solid rgba(39,48,41,.08);backdrop-filter:saturate(140%) blur(8px)}.brand{display:flex;align-items:center;gap:14px;font-family:var(--serif);font-size:1.4rem;text-decoration:none;min-width:0}.brand-logo{width:56px;height:56px;object-fit:contain;object-position:center;background:transparent;padding:0;border:none;border-radius:0;filter:none;flex:0 0 auto}.brand-text{line-height:1;white-space:nowrap}.nav{display:flex;gap:20px}.nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font-size:.72rem}.nav a:hover,.nav a:focus-visible{color:var(--dark)}
.hero{position:relative;isolation:isolate;min-height:100svh;display:grid;place-items:center;padding:110px 22px 60px;overflow:hidden;background:#555147 url("data:image/webp;base64,UklGRowAAABXRUJQVlA4IIAAAABwBQCdASocACMAPxVysFCspqSitVgIAZAiiUAW9wLNuHiFHCbLgjZnF3rMWbJyDdMexqUgAP7elU0S4b6UzrtTgLKuBL90T2RRCG38RGa2l/VlyHBcjGyG0ZeaSTNFmKk142/Hf3cIDqU/6GUbjWS9ks0hr6iPdprW2Dx+vV7AAA==") center/cover no-repeat;color:#fff;text-align:center}.hero-media{position:absolute;z-index:-2;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(20,26,22,.54),rgba(20,26,22,.2))}.hero-content{width:min(980px,100%)}.hero h1{margin:0;font-family:var(--serif);font-size:clamp(4rem,11vw,9rem);font-weight:400;line-height:.86;letter-spacing:-.035em}.amp{display:block;font-style:italic;font-size:.58em}.kicker,.label{font-size:.76rem;letter-spacing:.22em;text-transform:uppercase}.meta{display:flex;justify-content:center;gap:12px 25px;flex-wrap:wrap;margin-top:30px;font-size:.84rem;letter-spacing:.1em;text-transform:uppercase}.actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:34px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 23px;border:1px solid currentColor;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.73rem;transition:transform .18s ease,background-color .18s ease}.btn:hover{transform:translateY(-1px)}.btn:focus-visible{outline:3px solid rgba(173,138,82,.6);outline-offset:3px}.btn.primary{background:#fff;color:var(--ink);border-color:#fff}.btn.hero-button{color:#fff}.btn.dark{background:var(--dark);color:#fff;border-color:var(--dark)}
.section{padding:clamp(72px,10vw,130px) clamp(20px,5vw,70px)}.inner{width:min(1120px,100%);margin:auto}.label{color:var(--dark)}.title{margin:0 0 24px;font-family:var(--serif);font-size:clamp(2.8rem,6vw,5.5rem);font-weight:400;line-height:.98;letter-spacing:-.025em}.lead{max-width:800px;color:var(--muted);font-size:clamp(1.08rem,2vw,1.35rem)}.center{text-align:center}.center .lead{margin-inline:auto}.deadline{display:inline-block;margin-top:25px;padding:12px 18px;border:1px solid #a88956;color:#765f3a;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px}.card{display:flex;flex-direction:column;min-height:390px;padding:clamp(28px,5vw,48px);background:var(--paper);border:1px solid var(--line)}.time{color:var(--dark);font-family:var(--serif);font-size:3.1rem}.card h3,.stay h3,.taxi h3{font-family:var(--serif);font-weight:400}.card h3{margin:6px 0;font-size:2.25rem}.card p,.stay p{color:var(--muted)}.card .btn{align-self:flex-start;margin-top:auto;color:var(--dark)}.notice{margin-top:22px;padding:20px 22px;background:#e9eee7;border-left:3px solid var(--sage)}
.photo-band{position:relative;min-height:420px;margin:0;aspect-ratio:16/7;overflow:hidden;background:#d9d1c1}.photo-band picture,.photo-band img{width:100%;height:100%}.photo-band img{object-fit:cover;object-position:center}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px}.stay{padding:28px;background:var(--paper);border:1px solid var(--line)}.stay h3{margin:0 0 10px;font-size:1.8rem}.taxis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:36px}.taxi{padding:20px 10px;text-align:center;background:var(--paper);border:1px solid var(--line)}.taxi h3{margin:0 0 7px;font-size:1.45rem}.taxi a{text-decoration:none;font-weight:600}
.formbox{width:min(820px,100%);margin:34px auto 0;padding:clamp(24px,5vw,50px);background:var(--paper);border:1px solid var(--line)}.formlink{text-align:center}.formlink p{margin:0 0 22px;color:var(--muted);font-size:1.08rem}.formlink .btn{margin:auto}.contact{margin-top:26px;text-align:center}.contact a{color:var(--dark);font-weight:600}.footer{padding:40px 20px;text-align:center;background:var(--ink);color:#fff}.footer strong{font-family:var(--serif);font-size:1.7rem;font-weight:400}.footer small{display:block;margin-top:4px;color:rgba(255,255,255,.62)}
.defer-section{content-visibility:auto;contain-intrinsic-size:auto 800px}
@media(max-width:850px){.nav{display:none}.brand-logo{width:48px;height:48px}.brand-text{font-size:1.15rem}.grid2,.grid3{grid-template-columns:1fr}.taxis{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-band{min-height:360px;aspect-ratio:4/3}}
@media(max-width:600px){.topbar{padding-block:10px}.hero{padding-top:96px}.hero h1{font-size:clamp(3.8rem,19vw,6.2rem)}.taxis{grid-template-columns:1fr}.section{padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}.btn:hover{transform:none}}
