@font-face{font-family:"Boheme Floral";src:url("../fonts/boheme-floral.ttf") format("truetype");font-display:swap}
@font-face{font-family:"Edwardian Script ITC";src:url("../fonts/edwardian-script-itc.ttf") format("truetype");font-display:swap}
:root{--terracotta:#a75d4b;--dark:#7f4034;--beige:#f4eee6;--cream:#fbf8f3;--green:#65705a;--text:#34302c;--muted:#766e67;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--cream);font-family:Montserrat,sans-serif;font-weight:300;line-height:1.7}a{color:inherit;text-decoration:none}.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px 6%;color:#fff}.brand,.footer-mark{font-family:"Cormorant Garamond",serif;font-size:34px;letter-spacing:.08em}.nav{display:flex;gap:28px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.menu-toggle{display:none;border:0;background:none;color:inherit;font-size:25px}.hero{min-height:88vh;position:relative;display:grid;place-items:center;text-align:center;background:linear-gradient(120deg,#a75d4b,#65705a);color:#fff}.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle,transparent,rgba(0,0,0,.28))}.hero-content{position:relative;z-index:1;padding:100px 20px 60px}.hero h1,.page-hero h1,h2{font-family:"Cormorant Garamond",serif;font-weight:500}.hero h1{font-size:clamp(64px,10vw,130px);line-height:.85;margin:12px 0 20px}.hero h1 span{font-size:.55em;font-style:italic}.date{font-family:"Cormorant Garamond",serif;font-size:28px;letter-spacing:.18em}.eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:11px;color:var(--terracotta);margin:0 0 12px}.hero .eyebrow,.page-hero .eyebrow{color:#f3ded5}.btn{display:inline-block;padding:13px 25px;border:1px solid currentColor;text-transform:uppercase;letter-spacing:.15em;font-size:11px;transition:.25s;background:transparent;cursor:pointer}.hero .btn{border-color:rgba(255,255,255,.7)}.btn:hover{background:#fff;color:var(--dark)}.btn-outline{border-color:var(--terracotta);color:var(--dark)}.section{padding:100px 6%}.narrow{max-width:950px;margin:auto}.center{text-align:center}h2{font-size:clamp(42px,6vw,68px);line-height:1;margin:0 0 20px}.intro{text-align:center;max-width:850px;margin:auto}.intro>p:not(.eyebrow){max-width:650px;margin:0 auto 35px;color:var(--muted)}.countdown{display:flex;justify-content:center;gap:12px;margin-top:45px}.countdown div{min-width:105px;padding:18px 10px;background:var(--beige)}.countdown strong{display:block;font-family:"Cormorant Garamond",serif;font-size:38px;line-height:1}.countdown span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.split-section{display:grid;grid-template-columns:1fr 1fr;min-height:520px}.split-section.reverse .split-image{order:2}.split-image{background-size:cover}.ceremony-image{background:linear-gradient(145deg,#c7b7a6,#8c7869)}.party-image{background:linear-gradient(145deg,#76816b,#414d3f)}.split-content{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:12%;background:var(--beige)}.text-link{color:var(--dark);text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:500}.page-hero{min-height:50vh;display:grid;place-items:end start;padding:120px 6% 65px;color:#fff;background:linear-gradient(120deg,var(--terracotta),var(--green))}.page-hero h1{font-size:clamp(55px,8vw,100px);line-height:.85;margin:0}.event{padding:70px 0;border-bottom:1px solid #ddd3c8}.event h3{font-family:"Cormorant Garamond",serif;font-size:32px;margin:5px 0;font-weight:500}.timeline{margin-top:60px;border-left:1px solid var(--terracotta);padding-left:35px}.timeline div{margin:0 0 25px}.timeline span{color:var(--dark);font-size:11px;letter-spacing:.15em}.timeline p{margin:0;font-family:"Cormorant Garamond",serif;font-size:30px}.story-card{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:55px}.story-card>div{padding:30px;background:var(--beige)}.story-card span{color:var(--terracotta);font-size:11px}.story-card h3{font-family:"Cormorant Garamond",serif;font-size:32px;margin:8px 0}.footer{text-align:center;padding:70px 20px;background:var(--green);color:#fff}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:0 4px 4px}.photo img{width:100%;height:330px;object-fit:cover;display:block}.empty-gallery{grid-column:1/-1;text-align:center;padding:80px 20px;color:var(--muted)}.upload-form{max-width:600px;margin:40px auto;text-align:left;display:grid;gap:20px}.upload-form label{font-size:11px;text-transform:uppercase;letter-spacing:.12em}.upload-form label span{color:var(--muted)}input[type=text],input[type=password],input[type=file]{display:block;width:100%;margin-top:8px;padding:14px;border:1px solid #d6ccc1;background:#fff;font:inherit}.form-btn{color:var(--dark);width:max-content}.hint{font-size:12px;color:var(--muted)}.alert{max-width:700px;margin:0 auto 25px;padding:16px}.success{background:#e6eee3}.error{background:#f3dfda}.admin-body{min-height:100vh;display:grid;place-items:center;background:var(--beige)}.login-box{width:min(420px,90%);padding:45px;background:#fff;text-align:center}.admin-wrap{max-width:1200px;margin:auto;padding:50px 5%}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:50px}.brand.dark{color:var(--text)}.admin-header h1{font-family:"Cormorant Garamond",serif;font-size:55px;margin:0}.admin-stats{display:flex;gap:15px;margin-bottom:50px}.admin-stats div{background:var(--beige);padding:20px 30px;min-width:150px}.admin-stats strong{display:block;font:500 40px "Cormorant Garamond",serif}.admin-stats span{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:60px}.admin-card{background:#fff}.admin-card img{width:100%;height:220px;object-fit:cover;display:block}.admin-card-body{padding:12px}.btn-small{padding:8px 12px;font-size:9px}.danger{border-color:#9b4034;color:#9b4034}
@media(max-width:700px){.site-header{padding:20px 6%}.menu-toggle{display:block}.nav{display:none;position:absolute;top:70px;right:6%;flex-direction:column;gap:15px;padding:20px;background:rgba(50,45,40,.95)}.nav.open{display:flex}.hero h1{font-size:70px}.countdown{gap:5px}.countdown div{min-width:70px;padding:14px 5px}.countdown strong{font-size:28px}.split-section,.story-card{grid-template-columns:1fr}.split-section.reverse .split-image{order:0}.split-image{min-height:330px}.split-content{padding:70px 10%}.photo-grid{grid-template-columns:repeat(2,1fr)}.photo img{height:190px}.admin-grid{grid-template-columns:repeat(2,1fr)}.admin-header h1{font-size:40px}}


/* =========================
   V3 — Home / Wedding Design
   ========================= */
:root{
  --terracotta:#a95b47;
  --terracotta-dark:#843f31;
  --beige:#efe5d8;
  --cream:#fbf8f3;
  --green:#65705a;
  --gold:#d7ad72;
  --text:#34302c;
  --muted:#766e67;
  --white:#fff;
}
.site-header{
  position:absolute;
  z-index:20;
  top:0;left:0;width:100%;
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 4.5%;
  color:#fff;
}
.brand{
  display:flex;
  align-items:center;
  width:142px;
  line-height:1;
}
.brand img{display:block;width:100%;height:auto}
.nav{align-items:center;gap:28px}
.nav a{
  position:relative;
  font-size:11px;
  letter-spacing:.13em;
  text-transform:uppercase;
  padding:9px 0;
  text-shadow:0 1px 10px rgba(0,0,0,.25);
}
.nav a:not(.nav-photo)::after{
  content:"";
  position:absolute;left:0;bottom:2px;width:0;height:1px;
  background:var(--gold);transition:width .25s ease;
}
.nav a:hover::after{width:100%}
.nav-photo{
  border:1px solid rgba(215,173,114,.85);
  padding:11px 16px!important;
  border-radius:2px;
}
.nav-photo:hover{background:rgba(255,255,255,.08)}
.home-hero{
  min-height:100svh;
  height:100vh;
  position:relative;
  overflow:hidden;
  color:#fff;
  display:flex;
  align-items:center;
}
.home-hero-image{
  position:absolute;inset:0;
  background-image:url("../images/hero.jpg");
  background-size:cover;
  background-position:center center;
  transform:scale(1.01);
}
.home-hero-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(25,20,17,.73) 0%,rgba(25,20,17,.43) 32%,rgba(25,20,17,.10) 58%,rgba(25,20,17,.12) 100%),
    linear-gradient(0deg,rgba(25,20,17,.55) 0%,transparent 35%,rgba(25,20,17,.12) 100%);
}
.home-hero-content{
  position:relative;z-index:3;
  width:min(560px,46vw);
  margin-left:8%;
  padding-top:42px;
}
.hero-date{
  display:flex;align-items:center;gap:16px;
  color:var(--gold);
  font-family:"Edwardian Script ITC",serif;
  font-size:24px;letter-spacing:.18em;
}
.hero-date span{width:68px;height:1px;background:rgba(215,173,114,.75)}
.home-hero h1{
  margin:20px 0 6px;
  font-family:"Boheme Floral",cursive;
  font-weight:400;
  text-transform:none;
  letter-spacing:0;
  line-height:1;
  white-space:nowrap;
  font-size:clamp(58px,6.8vw,108px);
}
.hero-script{
  margin:28px 0 18px 8px;
  font-family:Allura,"Cormorant Garamond",cursive;
  font-size:43px;
  line-height:1;
  color:#e8c995;
}
.hero-script span{color:var(--terracotta);font-family:inherit}
.hero-script.hero-script-after{max-width:none;font-size:clamp(26px,2.7vw,36px);white-space:nowrap}
.hero-details{
  border-top:1px solid rgba(215,173,114,.7);
  padding-top:18px;
  width:310px;
}
.hero-details strong{
  display:block;
  font:400 31px "Edwardian Script ITC",serif;
}
.hero-details strong.hero-time-after{display:none!important}
.hero-details small{
  display:block;
  margin-top:1px;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hero-details-mobile{display:none}
.hero-btn{
  margin-top:24px;
  min-width:190px;
  border-color:var(--terracotta);
  background:var(--terracotta);
  color:#fff;
}
.hero-btn:hover{background:#fff;color:var(--terracotta-dark)}
.hero-btn span{margin-left:25px}
.hero-btn .hero-btn-icon{margin:0 0 0 18px}
.hero-btn-mobile{display:none}
.hero-btn.hero-btn-gallery{background:transparent;border-color:#e8c995;color:#fff}.hero-btn.hero-btn-gallery:hover{background:#fff;color:var(--terracotta)}
.hero-countdown-wrap{
  position:absolute;z-index:3;left:6.8%;bottom:38px;
}
.hero-countdown-wrap>p,
#countdown-content>p{
  margin:0 0 7px;
  font-family:Allura,"Cormorant Garamond",cursive!important;
  font-weight:400;
  line-height:1;
  font-size:27px;color:#e8c995;
}
.celebration-message{max-width:360px;color:#fff}.celebration-message p{margin:0 0 8px;font:400 32px Allura,"Cormorant Garamond",cursive;color:#e8c995;line-height:1.05}.celebration-message span,.celebration-message strong{display:block;font-size:11px;letter-spacing:.08em;line-height:1.6}.celebration-message strong{margin-top:5px;font-weight:400;color:#e8c995}.celebration-message .celebration-day-line{color:#fff}
.hero-countdown{justify-content:flex-start;gap:0;margin:0}
.hero-countdown div{
  min-width:92px;padding:0 20px 0 0;margin-right:20px;
  background:transparent;border-right:1px solid rgba(215,173,114,.5);
}
.hero-countdown div:last-child{border:0}
.hero-countdown strong{
  color:#fff;font-family:"Edwardian Script ITC",cursive;font-size:47px;font-weight:400;line-height:.85;
}
.hero-countdown span{color:#e8c995}
.scroll-hint{
  position:absolute;z-index:4;right:4.5%;bottom:32px;
  width:40px;height:40px;border:1px solid rgba(255,255,255,.55);
  display:grid;place-items:center;border-radius:50%;
  color:#fff;font-size:18px;
}
.scroll-hint:hover{background:rgba(255,255,255,.1)}
.intro.section{padding-top:120px;padding-bottom:120px}
.intro h2{max-width:760px;margin-left:auto;margin-right:auto}
.intro>p:not(.eyebrow){font-size:15px}

@media(max-width:900px){
  .site-header{padding:18px 5%}
  .nav{gap:18px}
  .nav-photo{padding:9px 12px!important}
  .home-hero-content{width:65vw;margin-left:7%}
}
@media(max-width:700px){
  .site-header{padding:18px 6%}
  .brand{width:112px}
  .home-hero{min-height:100svh;height:auto;align-items:flex-start}
  .home-hero-image{
    background-position:58% center;
    min-height:100svh;
  }
  .home-hero-shade{
    background:
      linear-gradient(180deg,rgba(25,20,17,.62) 0%,rgba(25,20,17,.12) 33%,rgba(25,20,17,.40) 64%,rgba(25,20,17,.82) 100%);
  }
  .hero-nav-space{height:80px}
  .home-hero-content{
    width:100%;margin:0;padding:70px 7% 210px;
    text-align:center;
  }
  .hero-date{justify-content:center;font-size:18px;letter-spacing:.14em;gap:10px}
  .hero-date span{width:32px}
  .home-hero h1{font-size:clamp(50px,15.5vw,88px);line-height:1;margin-top:18px}
  .hero-script{font-size:38px;margin:25px 0 18px}
  .hero-script.hero-script-after{max-width:100%;font-size:28px;white-space:normal}
  .hero-details{width:100%;margin:0 auto;border-top:1px solid rgba(215,173,114,.65)}
  .hero-details small{font-size:9px;letter-spacing:.11em}
  .home-hero-content .hero-details{display:block;width:100%;height:1px;min-height:0;margin:0 auto;padding-top:0}
  .home-hero-content .hero-details strong,.home-hero-content .hero-details small{display:none}
  .hero-countdown-wrap .hero-details-mobile{display:block;width:100%;height:auto;margin:0 0 10px;padding-top:0;border-top:0}
  .home-hero-content>.hero-btn{display:none}
  .hero-btn-mobile{display:inline-block;min-width:0;margin:0 0 9px;padding:9px 17px;border-color:#e8c995;background:transparent;color:#fff;font-size:9px}
  .hero-btn-mobile span{margin-left:14px}
  .hero-countdown-wrap{left:4%;right:4%;bottom:26px;display:flex;flex-direction:column;align-items:center;text-align:center}
  .hero-countdown-wrap>p,#countdown-content>p{text-align:center;font-size:24px}
  .celebration-message{text-align:center}.celebration-message p{font-size:28px}.celebration-message span,.celebration-message strong{font-size:9px}
  .hero-countdown{justify-content:center;gap:14px}
  .hero-countdown div{position:relative;min-width:0;flex:1;padding:0 8px;margin:0;border-right:0;display:flex;flex-direction:column;align-items:center;text-align:center}
  .hero-countdown div:not(:last-child)::after{content:"";position:absolute;top:0;right:-7px;width:1px;height:100%;background:rgba(215,173,114,.5)}
  .hero-countdown strong{font-size:31px}
  .hero-countdown span{font-size:8px}
  .scroll-hint{display:none}
  .nav-photo{border:0;padding:0!important}
  .intro.section{padding-top:80px;padding-bottom:80px}
}

/* V3 — shared photographic header */
.page-hero{
  position:relative; overflow:hidden; min-height:52vh;
  display:flex; align-items:flex-end; padding:120px 6% 68px; color:#fff;
  background-image:
    linear-gradient(90deg,rgba(25,20,17,.68) 0%,rgba(25,20,17,.38) 45%,rgba(25,20,17,.18) 100%),
    linear-gradient(0deg,rgba(25,20,17,.55),rgba(25,20,17,.05)),
    url("../images/hero.jpg");
  background-size:cover; background-position:center 46%;
}
.page-hero>div{position:relative;z-index:1}
.page-hero h1{text-shadow:0 2px 18px rgba(0,0,0,.25)}
.page-hero .eyebrow{color:#f0d6bb}

/* V3 — gallery popup */
.photo-lightbox-trigger{
  display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden;
}
.photo-lightbox-trigger img{transition:transform .5s ease,filter .35s ease}
.photo-lightbox-trigger:hover img{transform:scale(1.035);filter:brightness(.88)}
.lightbox{
  position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;
  padding:70px 90px;background:rgba(20,17,15,.94);opacity:0;visibility:hidden;
  pointer-events:none;transition:opacity .25s ease,visibility .25s ease;
}
.lightbox.open{opacity:1;visibility:visible;pointer-events:auto}
.lightbox-stage{width:min(1100px,88vw);height:min(82vh,800px);display:flex;align-items:center;justify-content:center}
.lightbox-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 15px 60px rgba(0,0,0,.35)}
.lightbox-close,.lightbox-prev,.lightbox-next,.lightbox-download{
  position:absolute;z-index:2;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.05);
  color:#fff;cursor:pointer;transition:.2s ease;
}
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover,.lightbox-download:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.8)}
.lightbox-close{top:24px;right:28px;width:46px;height:46px;border-radius:50%;font-size:32px;font-weight:200;line-height:1}
.lightbox-download{top:28px;right:88px;padding:9px 12px;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);width:52px;height:64px;font-family:"Cormorant Garamond",serif;font-size:48px;line-height:1}
.lightbox-prev{left:28px}.lightbox-next{right:28px}
.lightbox-counter{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#e8c995;font-size:10px;letter-spacing:.18em;text-transform:uppercase}
body.lightbox-open{overflow:hidden}
@media(max-width:700px){
  .page-hero{min-height:42vh;padding:105px 7% 48px;background-position:58% center}
  .lightbox{padding:55px 18px 65px}.lightbox-stage{width:96vw;height:78vh}
  .lightbox-close{top:14px;right:14px}.lightbox-download{top:19px;right:70px;padding:7px 9px;font-size:8px}
  .lightbox-prev,.lightbox-next{width:40px;height:50px;font-size:38px}
  .lightbox-prev{left:8px}.lightbox-next{right:8px}
}

/* =========================
   V4 — Unified editorial wedding design
   ========================= */
body{background:var(--cream)}
main{overflow:hidden}
.page-hero{min-height:55vh;padding:150px 7% 72px;background-position:center 48%;}
.page-hero h1{font-size:clamp(58px,7vw,96px);margin:0;line-height:.9;letter-spacing:.01em}
.page-hero-script{font-family:Allura,"Cormorant Garamond",cursive;font-size:32px;color:#e8c995;margin:18px 0 0}
.page-hero>div{max-width:760px}
.section p:not(.eyebrow){color:var(--muted)}
.story-intro,.day-intro,.gallery-intro,.upload-section{max-width:980px;margin:auto}
.story-intro h2,.day-intro h2,.gallery-intro h2,.upload-section h2{font-size:clamp(44px,5.5vw,70px)}
.story-intro>p:not(.eyebrow),.day-intro>p:not(.eyebrow),.gallery-intro>p:not(.eyebrow),.upload-section>p:not(.eyebrow){max-width:700px;margin:0 auto 30px}

/* Home watercolor sections */
.split-section{background:var(--beige);display:grid;grid-template-columns:1fr 1fr;min-height:520px;align-items:stretch}
.split-section.reverse{background:var(--cream)}
.split-image{min-height:520px;background:#f4eee6;display:flex;align-items:center;justify-content:center;overflow:hidden}
.split-image img{width:100%;height:100%;object-fit:contain;padding:28px;display:block;transition:transform .5s ease}
.split-section:hover .split-image img{transform:scale(1.025)}
.ceremony-image,.party-image{background:linear-gradient(135deg,#f3e8da,#fbf8f3)}
.split-content{display:flex;flex-direction:column;justify-content:center;padding:80px 10%;position:relative}
.split-content:before{content:"";position:absolute;left:10%;top:50%;width:42px;height:1px;background:var(--gold)}
.split-content .eyebrow{margin-top:35px}
.split-content h2{font-size:clamp(48px,5vw,76px);margin-bottom:8px}
.split-content>p:not(.eyebrow){font-family:"Cormorant Garamond",serif;font-size:27px;color:var(--text);margin:0 0 18px}
.text-link{color:var(--terracotta-dark);font-size:11px;letter-spacing:.15em;text-transform:uppercase}

/* Story */
.story-timeline{position:relative;max-width:1000px;margin:auto;padding-top:50px;padding-bottom:120px}
.story-line{position:absolute;left:50%;top:60px;bottom:100px;width:1px;background:#d8c8b5;transform:translateX(-50%)}
.story-step{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:230px;align-items:center;margin-bottom:20px}
.story-step-content{width:82%;padding:38px;background:#fff;border:1px solid #ddcbb6;box-shadow:0 12px 35px rgba(80,55,35,.06);position:relative}
.story-step:not(.reverse) .story-step-content{grid-column:1;justify-self:end;text-align:right}
.story-step.reverse .story-step-content{grid-column:2;justify-self:start}
.story-step h3{font:500 39px "Cormorant Garamond",serif;margin:0 0 8px}
.story-step p:not(.eyebrow){margin:0}
.story-number{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:54px;height:54px;border-radius:50%;background:var(--cream);border:1px solid var(--gold);display:grid;place-items:center;font:500 20px "Cormorant Garamond",serif;color:var(--terracotta-dark)}
.quote-section{padding:105px 20px;text-align:center;background:var(--terracotta);color:#fff}
.quote-section p{font:400 clamp(32px,4vw,50px) "Cormorant Garamond",serif;max-width:850px;margin:0 auto 15px;line-height:1.1}
.quote-section span{font:400 24px Allura,cursive;color:#f3d0b7}

/* Wedding day */
.events-section{max-width:1150px;margin:auto;display:grid;gap:65px;padding-top:20px}
.event-card{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid #ddcbb6;box-shadow:0 18px 45px rgba(80,55,35,.08);min-height:500px}
.event-card-reverse .event-art{order:2}.event-card-reverse .event-card-content{order:1}
.event-art{background:linear-gradient(135deg,#f3e8da,#fbf8f3);display:flex;align-items:center;justify-content:center;padding:35px;overflow:hidden}
.event-art img{width:100%;height:100%;max-height:430px;object-fit:contain;transition:transform .5s ease}.event-card:hover .event-art img{transform:scale(1.035)}
.event-card-content{display:flex;flex-direction:column;justify-content:center;padding:65px 9%;position:relative}
.event-card-content:before{content:"";width:50px;height:1px;background:var(--gold);margin-bottom:28px}
.event-card-content h2{font-size:clamp(50px,5vw,72px);margin:0 0 5px}
.event-card-content h3{font:500 29px "Cormorant Garamond",serif;margin:0 0 4px;color:var(--terracotta-dark)}
.event-card-content p:not(.eyebrow){margin:0 0 24px}
.event-card-content .btn{width:max-content}.event-card-content .btn span{margin-left:16px}
.timeline-section{background:var(--beige);max-width:none;padding-left:7%;padding-right:7%;margin-top:20px}
.day-timeline{max-width:1100px;margin:55px auto 0;display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.day-timeline:before{content:"";position:absolute;left:8%;right:8%;top:16px;height:1px;background:#cdb99f}
.day-timeline>div{text-align:center;position:relative;padding:0 10px}.day-timeline span{display:grid;place-items:center;width:33px;height:33px;border:1px solid var(--gold);border-radius:50%;background:var(--beige);margin:0 auto 20px;color:var(--terracotta-dark);font-size:0}.day-timeline span:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--terracotta)}
.day-timeline strong{display:block;font:400 36px "Edwardian Script ITC",cursive;line-height:.9}.day-timeline small{display:block;margin-top:2px;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}

/* Gallery */
.wedding-gallery{padding:0 6% 90px;max-width:1250px;margin:auto;grid-template-columns:repeat(3,1fr);gap:14px}
.gallery-grid-meta{max-width:1250px;margin:0 auto 16px;padding:0 6%;display:flex;justify-content:flex-end;align-items:center;gap:16px;color:var(--muted);font-size:9px;letter-spacing:.14em;text-transform:uppercase}.gallery-download-all{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #cdb99f;color:var(--dark);transition:.2s}.gallery-download-all:hover{background:var(--terracotta);border-color:var(--terracotta);color:#fff}
.wedding-gallery .photo{background:#eee5d9;border:0;box-shadow:0 8px 22px rgba(80,55,35,.07)}
.wedding-gallery .photo img{height:360px}
.photo-card{position:relative;overflow:hidden}.photo-card .photo-lightbox-trigger{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.photo-download{position:absolute;z-index:2;top:10px;right:10px;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(35,28,23,.52);color:#fff;font-size:20px;line-height:1;transition:.2s}.photo-download:hover{background:var(--terracotta);color:#fff}
.gallery-load-more{max-width:1250px;margin:-60px auto 70px;text-align:center;color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.gallery-load-more span{display:inline-flex;align-items:center;gap:10px}.gallery-load-more span:before{content:"";width:14px;height:14px;border:1px solid var(--terracotta);border-top-color:transparent;border-radius:50%;animation:gallery-spin .8s linear infinite}.gallery-load-more:not(.is-loading) span:before{animation-play-state:paused}@keyframes gallery-spin{to{transform:rotate(360deg)}}
.empty-gallery{background:#fff;border:1px solid #ddcbb6;padding:85px 20px;box-shadow:0 15px 40px rgba(80,55,35,.06)}
.empty-gallery span{font:400 48px "Cormorant Garamond",serif;color:var(--terracotta)}.empty-gallery h3{font:500 38px "Cormorant Garamond",serif;margin:8px 0}.empty-gallery p{margin-bottom:25px}

/* Upload */
.upload-section{padding-top:95px;padding-bottom:115px}
.wedding-upload-form{max-width:720px;background:#fff;border:1px solid #ddcbb6;padding:48px;margin:45px auto 20px;box-shadow:0 18px 45px rgba(80,55,35,.07)}
.wedding-upload-form label{color:var(--terracotta-dark)}
.wedding-upload-form input[type=text]{border:0;border-bottom:1px solid #d8c8b5;background:transparent;padding:13px 3px}
.file-drop{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;min-height:180px;border:1px dashed #cdb99f;padding:25px;cursor:pointer;background:#fbf8f3;position:relative}
.file-drop .file-icon{font:400 42px "Cormorant Garamond",serif;color:var(--terracotta)}
.file-drop strong{font:500 22px "Cormorant Garamond",serif;color:var(--text);margin:5px 0}.file-drop small{color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.file-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0;padding:0}
.selected-photos{border-top:1px solid #e5d8c9;padding-top:18px}.selected-photos-heading{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:12px}.selected-photos p{margin:0;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--terracotta);text-align:center}.clear-selected-photos{border:0;background:none;padding:0;color:var(--terracotta);font:500 9px Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.selected-photos .selected-photos-error{margin-bottom:12px;padding:10px 12px;background:#f3dfda;color:#9b4034;letter-spacing:.04em;text-transform:none}.selected-photos-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;max-height:270px;overflow:auto;padding-right:3px}.selected-photo{min-width:0;position:relative;background:var(--beige)}.selected-photo img{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:var(--beige);opacity:0;transition:opacity .2s}.selected-photo.is-ready img{opacity:1}.photo-preview-loading{position:absolute;top:calc(50% - 12px);left:calc(50% - 12px);width:24px;height:24px;border:2px solid #dac8b7;border-top-color:var(--terracotta);border-radius:50%;animation:upload-spin .8s linear infinite;transition:opacity .2s}.selected-photo.is-ready .photo-preview-loading{opacity:0;pointer-events:none}.remove-selected-photo{position:absolute;right:5px;top:5px;width:25px;height:25px;padding:0;border:0;border-radius:50%;background:rgba(52,48,44,.78);color:#fff;font:300 22px/22px Arial,sans-serif;cursor:pointer;transition:.2s}.remove-selected-photo:hover{background:var(--terracotta);transform:scale(1.08)}.selected-photo-name{display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9px;letter-spacing:0;text-transform:none;background:var(--cream)}
.wedding-upload-form .form-btn{margin:auto;color:#fff;background:var(--terracotta);border-color:var(--terracotta);min-width:210px}.wedding-upload-form .form-btn:hover{background:var(--terracotta-dark)}.wedding-upload-form .form-btn span{margin-left:20px}
.upload-loading{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:24px;background:rgba(52,48,44,.45);opacity:0;transition:opacity .18s}.upload-loading[hidden]{display:none!important}.upload-loading.is-visible{opacity:1}.upload-loading-box{width:min(350px,100%);padding:35px 28px;text-align:center;background:var(--cream);box-shadow:0 18px 50px rgba(0,0,0,.18)}.upload-spinner{display:block;width:39px;height:39px;margin:0 auto 18px;border:2px solid #dfcdbc;border-top-color:var(--terracotta);border-radius:50%;animation:upload-spin .8s linear infinite}.upload-loading-box strong{display:block;font:500 27px/1.1 "Cormorant Garamond",serif}.upload-loading-box small{display:block;margin-top:10px;color:var(--muted);font-size:11px}.upload-progress{display:block;height:3px;overflow:hidden;margin:22px auto 0;background:#eadfd3}.upload-progress i{display:block;width:0;height:100%;background:var(--terracotta);transition:width .16s linear}.upload-loading.is-uploading .upload-progress i{width:42%!important;animation:upload-progress 1.1s ease-in-out infinite}@keyframes upload-spin{to{transform:rotate(360deg)}}@keyframes upload-progress{0%{transform:translateX(-110%)}100%{transform:translateX(265%)}}
.upload-note{font-size:11px!important;max-width:650px!important}

/* Footer refinement */
.footer{padding:75px 20px 80px;background:var(--green);position:relative}.footer:before{content:"♡";display:block;color:#d9b27a;font:400 25px "Cormorant Garamond",serif;margin-bottom:12px}.footer-mark{width:190px;margin:0 auto 8px}.footer-mark img{display:block;width:100%;height:auto}.footer p{margin:5px 0;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.footer-love{font-family:Allura,"Cormorant Garamond",cursive!important;font-size:32px!important;line-height:1.2;letter-spacing:0!important;text-transform:none!important;color:#e8c995;margin-top:12px!important}

@media(max-width:800px){
  .page-hero{min-height:45vh;padding:115px 7% 55px}.page-hero h1{font-size:58px}.page-hero-script{font-size:27px}
  .split-section,.event-card{grid-template-columns:1fr}.split-section.reverse .split-image,.event-card-reverse .event-art{order:0}.split-image{min-height:350px}.split-image img{padding:20px}.split-content{padding:60px 10%}.split-content:before{display:none}
  .story-line{left:27px}.story-step{display:block;padding-left:55px;min-height:0;margin-bottom:28px}.story-number{left:27px;top:32px;transform:translate(-50%,0);width:46px;height:46px}.story-step-content,.story-step:not(.reverse) .story-step-content,.story-step.reverse .story-step-content{width:100%;grid-column:auto;justify-self:auto;text-align:left;padding:30px}.story-step h3{font-size:34px}
  .event-card-content{padding:50px 9%}.event-art{min-height:330px}.day-timeline{grid-template-columns:1fr 1fr;gap:40px}.day-timeline:before{display:none}
  .wedding-gallery{grid-template-columns:repeat(2,1fr);padding-left:4%;padding-right:4%}.wedding-gallery .photo img{height:240px}
  .wedding-upload-form{padding:28px 20px}
  .selected-photos-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:520px){.wedding-gallery{grid-template-columns:1fr}.wedding-gallery .photo img{height:300px}.day-timeline{grid-template-columns:1fr}.hero-countdown-wrap{bottom:20px}.page-hero{min-height:42vh}}

/* V5 — approved transparent watercolor composition */
.our-day{position:relative;padding:85px 4.5% 55px;background:var(--cream);overflow:hidden}
.our-day:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,rgba(215,173,114,.07),transparent 48%);pointer-events:none}
.our-day-heading{position:relative;text-align:center;margin-bottom:18px;z-index:2}.botanical-mark{font-size:38px;color:var(--green);line-height:1;margin-bottom:8px}.our-day-heading h2{font-size:clamp(48px,5.5vw,72px);margin:0;text-transform:uppercase;letter-spacing:.04em}.heading-divider{display:flex;justify-content:center;align-items:center;gap:18px;color:var(--terracotta);font-size:20px}.heading-divider span{width:90px;height:1px;background:#cfae8a}
.venue-layout{position:relative;z-index:2;max-width:1250px;margin:auto;display:grid;grid-template-columns:30% 40% 30%;align-items:center;min-height:470px}.venue-art{display:flex;align-items:center;justify-content:center;min-height:430px;background:transparent}.venue-art img{width:100%;max-height:440px;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(70,50,30,.05));transition:transform .4s ease}.venue-art:hover img{transform:scale(1.025)}.basilica-art{padding:5px 10px 0 0}.herdade-art{padding:30px 0 0 5px}.venue-info{display:grid;grid-template-columns:1fr 42px 1fr;align-items:center;gap:18px}.venue-block{text-align:left;padding:12px 8px}.venue-block .eyebrow{margin-bottom:8px}.venue-block h3{font:500 clamp(31px,3vw,42px) "Cormorant Garamond",serif;line-height:1.02;text-transform:uppercase;margin:0;color:var(--text)}.venue-place{font:400 16px "Cormorant Garamond",serif;margin:3px 0 14px;text-transform:uppercase;letter-spacing:.12em}.venue-block p:not(.eyebrow):not(.venue-place):not(.venue-time){font-size:12px;letter-spacing:.04em;margin:8px 0;color:var(--text)}.venue-time{font:400 36px "Edwardian Script ITC",cursive;line-height:.85;color:var(--terracotta);margin:2px 0 18px!important}.venue-line{width:100%;height:1px;background:#d8c4ab;margin:14px 0}.venue-block .btn{display:block;width:max-content;margin-left:auto;margin-right:auto;font-size:9px;padding:10px 14px}.center-heart{height:190px;border-left:1px solid #cdb99f;border-right:1px solid #cdb99f;display:flex;align-items:center;justify-content:center;color:var(--terracotta);font-size:23px}.our-day-closing{display:flex;align-items:center;justify-content:center;gap:28px;margin:5px auto 0;color:var(--terracotta)}.our-day-closing span{width:150px;height:1px;background:#cdb99f}.our-day-closing p{font:400 31px Allura,cursive;margin:0}.our-day-closing b{display:block;position:absolute;margin-top:70px;font-size:18px;font-weight:400}
.venue-parking-note{margin:10px auto 0!important;text-align:center;font-size:9px!important;letter-spacing:.12em!important;text-transform:uppercase;color:var(--muted)!important}
.venue-layout{position:relative;z-index:2;max-width:1250px;margin:auto;display:grid;grid-template-columns:30% 40% 30%;align-items:center;min-height:470px}.venue-art{display:flex;align-items:center;justify-content:center;min-height:430px;background:transparent}.venue-art img{width:100%;max-height:440px;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(70,50,30,.05));transition:transform .4s ease}.venue-art:hover img{transform:scale(1.025)}.basilica-art{padding:5px 10px 0 0}.herdade-art{padding:30px 0 0 5px}.venue-info{display:grid;grid-template-columns:1fr 42px 1fr;align-items:center;gap:18px}.venue-block{text-align:left;padding:12px 8px}.venue-block .eyebrow{margin-bottom:8px}.venue-block h3{font:500 clamp(31px,3vw,42px) "Cormorant Garamond",serif;line-height:1.02;text-transform:uppercase;margin:0;color:var(--text)}.venue-title-two-lines{font-size:clamp(29px,2.25vw,36px)!important;white-space:nowrap}.venue-place{font:400 16px "Cormorant Garamond",serif;margin:3px 0 14px;text-transform:uppercase;letter-spacing:.12em}.venue-block p:not(.eyebrow):not(.venue-place):not(.venue-time){font-size:12px;letter-spacing:.04em;margin:8px 0;color:var(--text)}.venue-time{font:400 36px "Edwardian Script ITC",cursive;line-height:.85;color:var(--terracotta);margin:2px 0 18px!important}.venue-line{width:100%;height:1px;background:#d8c4ab;margin:14px 0}.venue-block .btn{display:block;width:max-content;margin-left:auto;margin-right:auto;font-size:9px;padding:10px 14px}.center-heart{height:190px;border-left:1px solid #cdb99f;border-right:1px solid #cdb99f;display:flex;align-items:center;justify-content:center;color:var(--terracotta);font-size:23px}.our-day-closing{display:flex;align-items:center;justify-content:center;gap:28px;margin:5px auto 0;color:var(--terracotta)}.our-day-closing span{width:150px;height:1px;background:#cdb99f}.our-day-closing p{font:400 31px Allura,cursive;margin:0}.our-day-closing b{display:block;position:absolute;margin-top:70px;font-size:18px;font-weight:400}
.gallery-teaser.section{padding-top:95px}
@media(max-width:900px){.venue-layout{grid-template-columns:1fr 1fr;grid-template-areas:"art1 info" "info2 art2"}.basilica-art{grid-area:art1}.herdade-art{grid-area:art2}.venue-info{grid-column:1/-1;grid-row:1/3;z-index:3;grid-template-columns:1fr 30px 1fr;padding:0 12%;}.venue-art{opacity:.78}.venue-info .venue-block{background:rgba(251,248,243,.82)}}
@media(max-width:700px){.our-day{padding:65px 5% 45px}.venue-layout{display:flex;flex-direction:column;min-height:0}.venue-art{min-height:260px;width:100%;padding:0}.venue-art img{max-height:300px}.venue-info{display:flex;width:100%;flex-direction:column;gap:8px;padding:0}.venue-block{text-align:center;width:100%;padding:15px 5%}.venue-block h3{font-size:36px}.venue-line{width:80%;margin:12px auto}.center-heart{height:auto;border:0;border-top:1px solid #cdb99f;border-bottom:1px solid #cdb99f;width:80%;padding:8px}.herdade-art{order:4}.our-day-closing{gap:10px}.our-day-closing span{width:45px}.our-day-closing p{font-size:25px}.our-day-closing b{margin-top:58px}.gallery-teaser.section{padding-top:70px}}


/* V7 — agenda editorial sem timeline */
.schedule-section{background:var(--cream);padding-top:95px;padding-bottom:105px}
.schedule-heading{max-width:760px;margin:0 auto 48px}
.schedule-heading h2{font-size:clamp(46px,5.5vw,70px);margin:0 0 14px}
.schedule-heading>p:not(.eyebrow){max-width:620px;margin:0 auto;color:var(--muted);font-size:13px}
.schedule-grid{max-width:1080px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.schedule-card{display:grid;grid-template-columns:115px 1fr;align-items:stretch;background:#fff;border:1px solid #ddcbb6;box-shadow:0 12px 32px rgba(80,55,35,.06);min-height:155px;transition:transform .25s ease,box-shadow .25s ease}
.schedule-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(80,55,35,.1)}
.schedule-time{display:flex;align-items:center;justify-content:center;background:var(--beige);color:var(--terracotta);font:400 40px "Edwardian Script ITC",cursive;letter-spacing:0;border-right:1px solid #ddcbb6}
.schedule-card-body{display:flex;flex-direction:column;justify-content:center;padding:25px 30px}
.schedule-label{text-transform:uppercase;letter-spacing:.18em;font-size:9px;color:var(--terracotta);margin-bottom:3px}
.schedule-card h3{font:500 31px "Cormorant Garamond",serif;margin:0 0 3px;line-height:1.05}
.schedule-card p{margin:0;color:var(--muted);font-size:11px;letter-spacing:.04em}
@media(max-width:800px){.schedule-grid{grid-template-columns:1fr}.schedule-card{min-height:140px}}
@media(max-width:520px){.schedule-section{padding-top:70px;padding-bottom:80px}.schedule-card{grid-template-columns:88px 1fr}.schedule-time{font-size:29px}.schedule-card-body{padding:22px 20px}.schedule-card h3{font-size:28px}}

/* V8 — casamento: proximidade entre introdução e locais + timeline simples */
.day-intro.section{padding-bottom:28px}
.day-intro>p:not(.eyebrow){margin-bottom:0}
.wedding-day-detail.our-day{padding-top:22px}
.timeline-section{margin-top:10px;padding-top:70px;padding-bottom:85px}
.timeline-section .schedule-heading{margin-bottom:42px}
.day-timeline{max-width:1100px;margin:35px auto 0;display:grid;grid-template-columns:repeat(6,1fr);position:relative}
.day-timeline:before{content:"";position:absolute;left:7%;right:7%;top:16px;height:1px;background:#cdb99f}
.day-timeline>div{text-align:center;position:relative;padding:0 12px}
.day-timeline span{position:relative;z-index:2;display:grid;place-items:center;width:33px;height:33px;border:1px solid #cfae8a;border-radius:50%;background:var(--cream);margin:0 auto 18px;color:var(--terracotta);font-size:0}
.day-timeline span:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--terracotta)}
.day-timeline strong{display:block;font:400 38px "Edwardian Script ITC",cursive;line-height:.9;color:var(--text)}
.day-timeline small{display:block;margin-top:3px;color:var(--terracotta);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.day-timeline p{margin:3px 0 0;color:var(--muted);font-size:11px}
.gallery-teaser{text-align:center}.gallery-teaser>p:not(.eyebrow){max-width:700px;margin-left:auto;margin-right:auto}.gallery-teaser .gallery-quote{max-width:760px;margin-top:0;margin-bottom:0}.gallery-teaser .gallery-quote strong{font-weight:500}.gallery-teaser .gallery-upload-copy{margin-top:42px;margin-bottom:0}.gallery-teaser .btn,.gallery-intro .btn{display:block;width:max-content;margin:25px auto 0}.gallery-icon{display:inline-block;width:13px;height:13px;margin-right:8px;vertical-align:-2px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:800px){
  .day-intro.section{padding-top:70px;padding-bottom:15px}
  .wedding-day-detail.our-day{padding-top:12px}
  .timeline-section{padding-top:60px;padding-bottom:70px}
  .day-timeline{display:flex;flex-direction:column;gap:0;margin:35px auto 0;max-width:520px;padding-left:42px;padding-right:8px;position:relative}
  .day-timeline:before{left:15px;right:auto;top:16px;bottom:16px;width:1px;height:auto}
  .day-timeline>div{text-align:left;padding:0 0 40px 52px;min-height:108px}
  .day-timeline>div:last-child{padding-bottom:0}
  .day-timeline span{position:absolute;left:0;top:0;width:32px;height:32px;margin:0;background:var(--cream)}
  .day-timeline strong{font-size:29px;line-height:1}
  .day-timeline small{margin-top:5px}
  .day-timeline p{margin-top:2px}
  .gallery-teaser .btn,.gallery-intro .btn{margin-left:auto;margin-right:auto}
}


/* =========================
   V39 — Administração editorial
   ========================= */
.admin-dashboard{background:var(--cream);color:var(--text)}
.admin-shell{max-width:1320px;margin:0 auto;padding:30px 5% 0}
.admin-topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px 0 28px;border-bottom:1px solid #ddcbb6}
.admin-brand,.admin-login-mark{display:block;line-height:1}.admin-brand{width:118px}.admin-login-mark{width:210px;margin:0 auto 28px}.admin-brand img,.admin-login-mark img{display:block;width:100%;height:auto}
.admin-topbar-center{text-align:center}
.admin-topbar-center .eyebrow{margin-bottom:2px;color:var(--terracotta)}
.admin-topbar h1{font:500 48px "Cormorant Garamond",serif;line-height:1;margin:0}
.admin-actions{display:flex;justify-content:flex-end;align-items:center;gap:20px;font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.admin-site-link{color:var(--dark)}
.admin-logout{padding:9px 14px;border:1px solid #d2b99f;color:var(--dark)}
.admin-welcome{text-align:center;padding:48px 20px 38px}
.admin-welcome p:last-child{max-width:560px;margin:5px auto 0;color:var(--muted);font-size:12px}
.admin-script,.admin-login-script{font:400 30px Allura,cursive;color:var(--terracotta);margin:0}
.admin-stats-v2{display:grid;grid-template-columns:repeat(3,minmax(180px,280px));justify-content:center;gap:18px;margin:0 auto 70px}
.admin-stat-card{display:flex;align-items:center;gap:20px;padding:22px 28px;background:var(--beige);border:1px solid #ddcbb6}
.admin-stat-link{color:inherit;transition:transform .2s,box-shadow .2s}.admin-stat-link:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(80,55,35,.08)}
.admin-stat-icon{position:relative;width:45px;height:45px;flex:0 0 45px;border:1px solid #cfae8a;border-radius:50%;color:var(--terracotta);line-height:1}.admin-stat-icon i{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-bottom:1px;font:normal 32px/1 Arial,sans-serif;font-style:normal}
.admin-stat-card>div{min-width:92px;text-align:center}
.admin-stat-card strong{display:block;font:400 42px "Edwardian Script ITC",cursive;line-height:.9}
.admin-stat-card div span{display:block;margin-top:4px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.admin-section{padding:0 0 78px}
.admin-approved-section,.admin-rejected-section{border-top:1px solid #ddcbb6;padding-top:70px}
.admin-section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}
.admin-section-heading .eyebrow{margin-bottom:5px}
.admin-section-heading h2{font-size:clamp(38px,4vw,54px);margin:0;line-height:1}
.admin-count{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap;padding-bottom:5px}
.admin-grid-v2{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:0}
.admin-card-v2{background:#fff;border:1px solid #ddcbb6;box-shadow:0 12px 32px rgba(80,55,35,.055);overflow:hidden}
.admin-photo-wrap{position:relative;background:var(--beige);overflow:hidden}
.admin-card-v2 img{width:100%;height:270px;object-fit:cover;display:block;transition:transform .45s ease}
.admin-photo-preview{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.admin-card-v2:hover img{transform:scale(1.025)}
.admin-status{position:absolute;top:12px;left:48px;padding:6px 9px;background:rgba(251,248,243,.92);font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:var(--dark)}
.admin-status.approved{color:var(--green)}
.admin-status.pending{color:var(--terracotta-dark)}
.admin-status.rejected{color:#9b4034}
.admin-card-body{padding:17px}
.admin-photo-meta span{display:block;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.admin-photo-meta strong{display:block;font:500 22px "Cormorant Garamond",serif;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-photo-reviewer span{margin:0}.admin-photo-reviewer b{color:var(--text);font:inherit;font-weight:500}
.admin-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}
.admin-btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border:1px solid #cdb99f;font-size:8px;letter-spacing:.12em;text-transform:uppercase;transition:.2s;background:transparent}
.admin-bulk-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 38px;padding:13px 15px;border:1px solid #e4d8c8;background:#fffdf9}
.admin-bulk-actions>div{display:flex;gap:7px;flex-wrap:wrap}
.admin-select-all{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--dark);cursor:pointer}
.admin-select-all input,.admin-photo-select input{accent-color:var(--terracotta);cursor:pointer}
.admin-photo-select{position:absolute;z-index:2;top:12px;left:12px;width:23px;height:23px;display:grid;place-items:center;padding:0;border-radius:50%;background:#fff;line-height:1}.admin-photo-select input{width:13px;height:13px;margin:0}
.admin-btn-primary{background:var(--terracotta);border-color:var(--terracotta);color:#fff}.admin-btn-primary:hover{background:var(--terracotta-dark)}
.admin-btn-ghost{color:var(--dark)}.admin-btn-ghost:hover{background:var(--beige)}
.admin-btn-danger{color:#9b4034;border-color:#d9b4aa}.admin-btn-danger:hover{background:#f3dfda}
.admin-card-body-approved{display:flex;align-items:end;justify-content:space-between;gap:12px}
.admin-card-body-approved .admin-btn{flex:0 0 auto}
.admin-empty{text-align:center;padding:55px 20px;background:#fff;border:1px solid #ddcbb6}
.admin-empty span{display:block;color:var(--terracotta);font:400 28px "Cormorant Garamond",serif}
.admin-empty h3{font:500 32px "Cormorant Garamond",serif;margin:4px 0}
.admin-empty p{margin:0;color:var(--muted);font-size:11px}
.admin-footer{text-align:center;border-top:1px solid #ddcbb6;padding:35px 20px 42px;color:var(--muted)}.admin-footer-mark{width:130px;margin:0 auto 10px}.admin-footer-mark img{display:block;width:100%;height:auto}
.admin-footer span{font:500 25px "Cormorant Garamond",serif;letter-spacing:.12em;color:var(--text)}
.admin-footer p{font-size:9px;letter-spacing:.18em;margin:5px 0 0}
.admin-login-body{min-height:100vh;display:grid;place-items:center;background:var(--beige);padding:25px}
.admin-login-card{width:min(460px,100%);padding:50px 48px;background:var(--cream);border:1px solid #ddcbb6;box-shadow:0 18px 50px rgba(80,55,35,.08);text-align:center}
.admin-login-card .eyebrow{margin-bottom:5px}
.admin-login-card h1{font:500 52px "Cormorant Garamond",serif;margin:0;line-height:1}
.admin-login-script{font-size:28px;margin-top:10px}
.admin-login-form{margin:32px auto 20px;gap:18px}
.admin-login-form label{text-align:left}
.admin-login-form .admin-login-input{display:block;width:100%;height:48px;margin-top:8px;padding:12px 14px;box-sizing:border-box;border:1px solid #d8c8b5;border-radius:0;background:#fff;color:var(--text);font-family:Montserrat,sans-serif;font-size:13px;font-weight:300;line-height:1.4;outline:none;appearance:none;-webkit-appearance:none}.admin-login-form .admin-login-input:focus{border-color:var(--terracotta);box-shadow:0 0 0 2px rgba(167,93,75,.08)}.admin-login-form .admin-login-input:-webkit-autofill{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px #fff inset}
.admin-login-btn{width:100%;background:var(--terracotta);border-color:var(--terracotta);color:#fff}
.admin-login-btn:hover{background:var(--terracotta-dark);color:#fff}
.admin-back{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dark)}
.admin-login-card .alert{margin:20px auto 0}
@media(max-width:1000px){.admin-grid-v2{grid-template-columns:repeat(3,1fr)}.admin-card-v2 img{height:245px}}
@media(max-width:800px){.admin-shell{padding:20px 5% 0}.admin-topbar{grid-template-columns:auto 1fr auto;gap:14px}.admin-topbar-center{text-align:left}.admin-topbar h1{font-size:38px}.admin-topbar-center .eyebrow{font-size:8px}.admin-brand{font-size:32px}.admin-actions{gap:8px}.admin-site-link{display:none}.admin-welcome{padding:35px 15px 28px}.admin-stats-v2{grid-template-columns:1fr 1fr;margin-bottom:55px}.admin-grid-v2{grid-template-columns:repeat(2,1fr)}.admin-card-v2 img{height:240px}.admin-section-heading{align-items:end}.admin-section-heading h2{font-size:39px}}
@media(max-width:520px){.admin-topbar{grid-template-columns:1fr auto;gap:10px}.admin-topbar-center{grid-column:1/-1;grid-row:2;text-align:center}.admin-actions{grid-column:2;grid-row:1}.admin-brand{font-size:34px}.admin-topbar{padding-bottom:20px}.admin-welcome{padding-top:30px}.admin-script{font-size:27px}.admin-stats-v2{grid-template-columns:1fr;max-width:300px;margin-bottom:50px}.admin-grid-v2{grid-template-columns:1fr}.admin-card-v2 img{height:auto;aspect-ratio:4/3}.admin-section-heading{display:block}.admin-count{display:block;margin-top:9px}.admin-approved-section{padding-top:55px}.admin-card-body-approved{align-items:center}.admin-login-card{padding:42px 25px}.admin-login-card h1{font-size:45px}}
@media(max-width:800px){.admin-site-link{display:inline-flex;align-items:center;min-height:32px;white-space:nowrap}}
.admin-dashboard .seating-seat[data-confirmation="N"]:not(.search-match){background:#f8e5da;border-color:#d6a28c;color:#874838}.admin-dashboard .seating-seat[data-confirmation="N"]:not(.search-match) small{color:#aa604a}
.seating-drag-tools p .seating-confirmation-legend{display:flex;width:auto;height:auto;align-items:center;justify-content:flex-start;gap:7px;margin:8px 0 0;border:0;border-radius:0;color:#874838;font:400 10px Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase}.seating-drag-tools p .seating-confirmation-legend i{display:block;width:28px;height:28px;flex:0 0 28px;border:1px solid #d6a28c;border-radius:50%;background:#f8e5da}
.seating-drag-tools p .seating-drag-instruction,.seating-drag-tools p .seating-touch-instruction{color:#874838;font:400 10px Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:760px){.seating-drag-tools p{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;column-gap:8px;row-gap:8px}.seating-drag-tools p .seating-touch-icon{grid-column:1;grid-row:1;margin:0;align-self:start}.seating-drag-tools p .seating-touch-instruction{grid-column:2;grid-row:1;line-height:1.65}.seating-drag-tools p .seating-confirmation-legend{grid-column:1/-1;grid-row:2;margin:0}}
.admin-dashboard .seating-seat span{color:var(--text)}.admin-dashboard .seating-seat:hover span{color:#fff}.admin-dashboard .seating-seat.is-touch-selected span{color:var(--text)}
.seating-section .seating-seat{font-size:11px}@media(max-width:760px){.seating-section .seating-seat{font-size:9px}}
.seating-section .seating-seat,.admin-dashboard .seating-seat{scroll-margin-block:18vh}
input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;width:14px;height:14px;cursor:pointer;opacity:.72;background:linear-gradient(45deg,transparent 46%,var(--terracotta) 47%,var(--terracotta) 53%,transparent 54%),linear-gradient(-45deg,transparent 46%,var(--terracotta) 47%,var(--terracotta) 53%,transparent 54%)}input[type="search"]::-webkit-search-cancel-button:hover{opacity:1}
input[type="search"]{-webkit-appearance:none;appearance:none;padding:8px 0 12px!important;border:0!important;border-bottom:1px solid #d8c8b5!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0}input[type="search"]:focus{border-bottom-color:var(--terracotta)!important;box-shadow:none!important}
.admin-dashboard .seating-empty-drop:hover{color:var(--text)}.admin-dashboard .seating-empty-drop:hover span{color:var(--text)!important}.admin-dashboard .seating-empty-drop:hover small{color:var(--terracotta)}
@media(min-width:761px){.admin-dashboard .seating-draggable:hover{cursor:grab}.admin-dashboard .seating-draggable:active{cursor:grabbing}}
@media(min-width:761px){.seating-drag-tools{grid-template-columns:minmax(0,1.25fr) minmax(400px,1fr);column-gap:42px}.seating-drag-tools input{width:100%}}

/* Informações */
.page-hero-info{min-height:48vh}
.info-page{padding-top:78px;padding-bottom:105px;background:var(--cream);text-align:center}
.info-intro{max-width:720px;margin:0 auto 58px}
.info-intro h2{margin:0 0 10px;font-size:clamp(44px,5vw,64px)}
.info-intro>p:last-child{max-width:620px;margin:0 auto;color:var(--muted)}
.info-grid{max-width:1050px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.info-card{background:#fff;border:1px solid #ddcbb6;box-shadow:0 18px 45px rgba(80,55,35,.055);padding:55px 52px;text-align:center;position:relative}
.info-card:before{content:"";position:absolute;inset:10px;border:1px solid rgba(205,185,159,.35);pointer-events:none}
.info-card-mark{font:400 28px "Cormorant Garamond",serif;color:var(--terracotta);margin-bottom:10px;position:relative}
.info-card .eyebrow{margin-bottom:5px;position:relative}
.info-card h3{font:500 clamp(42px,4vw,56px) "Cormorant Garamond",serif;margin:0;line-height:1;color:var(--text);position:relative}
.info-divider{display:flex;align-items:center;justify-content:center;gap:13px;margin:23px auto 22px;position:relative}
.info-divider span{width:65px;height:1px;background:#cdb99f}.info-divider b{font:400 18px "Cormorant Garamond",serif;color:var(--terracotta)}
.info-lead{font:500 18px "Cormorant Garamond",serif;margin:0 0 17px;position:relative}
.info-text{max-width:510px;margin:0 auto;color:var(--muted);font-size:13px;line-height:1.9;position:relative}
.info-text p{margin:0 0 15px}.info-text strong{color:var(--text);font-weight:500}
.info-gift-card{background:#fff}.info-gift-card .info-text{font-size:13px}.info-gift-placeholder{margin-top:25px;padding-top:23px;border-top:1px solid #ddcbb6;font-size:11px!important;font-style:italic}
.info-links-grid{align-items:stretch}.info-link-card{min-height:355px;display:flex;flex-direction:column;align-items:center}.info-link-icon{font-size:28px;line-height:1;margin:0 0 12px;position:relative}.info-link-card>p:not(.eyebrow){max-width:310px;margin:0 auto 27px;color:var(--muted);font-size:14px}.info-link-card .btn{margin-top:auto;font-size:9px;padding:10px 15px;position:relative}.parking-note{max-width:720px;margin:75px auto 0;padding:42px 30px;border-top:1px solid #ddcbb6;border-bottom:1px solid #ddcbb6;text-align:center}.parking-note h2{font-size:clamp(38px,5vw,56px);margin:0 0 12px}.parking-note>p:last-child{margin:0;color:var(--muted)}
.information-locations .our-day-closing p{text-align:center}
.iban-button{margin-top:26px;font-size:9px;padding:10px 17px;position:relative;border-color:var(--terracotta);background:var(--terracotta);color:#fff}.iban-button:hover{background:#fff;color:var(--terracotta)}.iban-modal{position:fixed;z-index:1100;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(38,31,27,.62);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}.iban-modal.open{opacity:1;visibility:visible;pointer-events:auto}.iban-modal-dialog{position:relative;width:min(470px,100%);padding:56px 46px 48px;background:var(--cream);border:1px solid #ddcbb6;box-shadow:0 20px 70px rgba(0,0,0,.22);text-align:center}.iban-modal-dialog h2{display:flex;justify-content:center;width:100%;margin:0 0 18px;text-align:center;font-size:clamp(21px,6.5vw,48px);line-height:1;white-space:nowrap}.iban-modal-dialog>p:not(.eyebrow):not(.iban-number){margin:0 auto;color:var(--muted);font-size:14px;max-width:340px}.iban-number{display:flex;align-items:center;justify-content:center;min-height:50px;margin:28px 0 0!important;padding:8px 6px;border-top:1px solid #ddcbb6;border-bottom:1px solid #ddcbb6;color:var(--terracotta);font:500 clamp(11px,3.8vw,16px)/1 Montserrat,sans-serif;letter-spacing:.05em;word-spacing:0;white-space:nowrap}.iban-modal-close{position:absolute;top:13px;right:16px;border:0;background:transparent;color:var(--muted);font:300 29px/1 Montserrat,sans-serif;cursor:pointer}.iban-modal-close:hover{color:var(--terracotta)}body.iban-modal-open{overflow:hidden}
@media(max-width:800px){
  .info-page{padding-top:60px;padding-bottom:75px}.info-grid{grid-template-columns:1fr;max-width:650px}.info-card{padding:45px 30px}.info-intro{margin-bottom:40px}.info-link-card{min-height:320px}.parking-note{margin-top:55px;padding:35px 20px}.iban-modal-dialog{padding:52px 26px 38px}
}


/* V43 — Informações integradas em O casamento */
.wedding-info-section{padding-top:90px;border-top:1px solid #ddcbb6}
.wedding-info-section .info-intro{margin-bottom:50px}
.wedding-info-section .info-grid{max-width:1120px}
.wedding-info-section .info-card{min-height:420px;box-sizing:border-box}
@media(max-width:800px){.wedding-info-section{padding-top:65px}.wedding-info-section .info-card{min-height:0}}

/* V45 — secção "Para este dia" centrada como a introdução de O casamento */
html, body{overflow-x:hidden}
.wedding-info-section{
  width:100%;
  padding-left:6%;
  padding-right:6%;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.wedding-info-section .info-intro{
  width:100%;
  max-width:980px;
  margin:0 auto 50px;
  text-align:center;
}
.wedding-info-section .info-intro h2{
  margin:0 0 20px;
  font-size:clamp(42px,6vw,68px);
  line-height:1;
}
.wedding-info-section .info-intro>p:last-child{
  max-width:700px;
  margin:0 auto;
}
.wedding-info-section .info-grid{
  width:100%;
  max-width:1120px;
  margin:0 auto;
  align-self:center;
}
.wedding-info-section .info-card,
.wedding-info-section .info-card .eyebrow,
.wedding-info-section .info-card h3,
.wedding-info-section .info-card .info-text{
  text-align:center;
}
@media(max-width:800px){
  .wedding-info-section{padding-left:5%;padding-right:5%;padding-top:65px}
  .wedding-info-section .info-card{min-height:0}
}


/* Área reservada — link discreto no rodapé */
.footer-admin-access{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  margin-top:12px;
  padding-top:0;
  border-top:0;
}
.footer-admin-link{
  display:inline-block;
  margin-top:0;
  padding:0;
  border:0;
  color:inherit;
  opacity:.35;
  font-family:inherit;
  font-size:10px;
  font-weight:400;
  line-height:1.4;
  letter-spacing:1.5px;
  text-transform:uppercase;
  text-decoration:none;
  background:transparent;
  transition:opacity .3s ease;
}
.footer-admin-link:hover{
  opacity:.7;
  color:inherit;
  border:0;
  background:transparent;
}
.back-to-top{position:fixed;z-index:50;right:28px;bottom:28px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(215,173,114,.85);border-radius:50%;background:rgba(167,93,75,.94);color:#fff;font:300 26px/1 "Cormorant Garamond",serif;cursor:pointer;box-shadow:0 8px 22px rgba(55,35,25,.2);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease,background .2s ease,visibility .25s}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--dark)}@media(max-width:700px){.back-to-top{right:18px;bottom:18px;width:40px;height:40px;font-size:24px}}

/* Sitting plan */
.page-hero-seating{background:linear-gradient(125deg,rgba(93,71,58,.9),rgba(101,112,90,.85)),url('../images/hero.jpg') center/cover}.seating-section{max-width:1320px;margin:auto}.seating-search-wrap{max-width:620px;margin:48px auto 70px;padding:28px;border:1px solid #ddcbb6;background:#fff;text-align:center;box-shadow:0 18px 40px rgba(80,55,35,.06)}.seating-search-wrap label{display:block;margin-bottom:9px;color:var(--terracotta);font-size:10px;letter-spacing:.18em;text-transform:uppercase}.seating-search-wrap input{margin:0;border:0;border-bottom:1px solid #d8c8b5;background:transparent;text-align:center;font:400 25px "Cormorant Garamond",serif}.seating-result{min-height:30px;margin-top:17px;color:var(--muted);font-size:12px}.seating-result strong{color:var(--terracotta);font-weight:500}.seating-result button{margin:3px;padding:6px 10px;border:1px solid #d8c8b5;background:#fff;color:var(--dark);font:400 13px Montserrat,sans-serif;cursor:pointer}.seating-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.seating-table{padding:30px;border:1px solid #ddcbb6;background:#fff;text-align:center;box-shadow:0 15px 35px rgba(80,55,35,.05)}.seating-table>.eyebrow{margin-bottom:0}.seating-table h3{margin:0 0 22px;font:500 48px/1 "Cormorant Garamond",serif}.seating-table-layout{display:grid;grid-template-columns:1fr 76px 1fr;gap:10px;align-items:stretch}.seating-side{display:flex;flex-direction:column;gap:5px}.seating-table-centre{display:flex;align-items:center;justify-content:center;min-height:100%;padding:8px;border:1px solid #cdb99f;background:var(--beige);color:var(--terracotta);font:400 18px/1.15 "Cormorant Garamond",serif;writing-mode:vertical-rl}.seating-seat{min-height:35px;display:flex;align-items:center;justify-content:center;padding:6px 8px;border:1px solid #eee5dc;background:#fdfbf8;font-size:10px;line-height:1.25;transition:.2s}.seating-seat.selected{border-color:var(--terracotta);background:var(--terracotta);color:#fff;box-shadow:0 5px 15px rgba(167,93,75,.28)}.seating-admin-tools{display:grid;grid-template-columns:1fr;gap:13px;max-width:1050px;margin:0 auto 60px;padding:24px;border:1px solid #ddcbb6;background:#fff}.seating-admin-tools input,.seating-admin-tools select,.seating-admin-row input,.seating-admin-row select{min-width:0;margin:0;padding:9px;border:1px solid #d8c8b5;background:#fff;font:400 11px Montserrat,sans-serif}.seating-admin-tools>input{width:100%;font-size:13px}.seating-add-form,.seating-swap-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.seating-add-form input:first-of-type{flex:1}.seating-swap-form{padding-top:13px;border-top:1px solid #eadfd3;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.seating-swap-form select{flex:1;min-width:180px}.seating-admin-table{padding-top:45px}.seating-admin-list{display:grid;gap:7px}.seating-admin-row{display:grid;grid-template-columns:minmax(190px,1fr) 100px 90px 70px auto auto;gap:7px;align-items:center;padding:9px;background:#fff;border:1px solid #eee5dc}.seating-admin-row[hidden]{display:none}
@media(max-width:760px){.seating-tables{grid-template-columns:1fr;gap:22px}.seating-section{padding-left:5%;padding-right:5%}.seating-search-wrap{margin-bottom:45px}.seating-table{padding:22px 12px}.seating-table-layout{grid-template-columns:1fr 44px 1fr;gap:5px}.seating-table-centre{font-size:15px}.seating-seat{min-height:33px;padding:5px 3px;font-size:8px}.seating-admin-tools{padding:16px}.seating-add-form,.seating-swap-form{display:grid;grid-template-columns:1fr 1fr}.seating-add-form input:first-of-type,.seating-swap-form select{grid-column:1/-1}.seating-swap-form span{display:none}.seating-admin-row{grid-template-columns:1fr 1fr}.seating-admin-row .seating-guest-name{grid-column:1/-1}.seating-admin-row button{width:100%}}
.seating-seat{min-height:43px;flex-direction:column;padding:5px 8px}.seating-seat small{display:block;color:var(--terracotta);font-size:7px;letter-spacing:.11em;text-transform:uppercase}.seating-seat.selected small{color:#fff}.seating-admin-row{grid-template-columns:minmax(190px,1fr) 100px 90px 70px 70px auto auto}@media(max-width:760px){.seating-seat{min-height:41px;padding:5px 3px}.seating-admin-row{grid-template-columns:1fr 1fr}.seating-admin-row .seating-guest-name{grid-column:1/-1}}
.seating-seat:hover{border-color:var(--terracotta);background:var(--terracotta);color:#fff;box-shadow:0 5px 15px rgba(167,93,75,.28);transform:translateY(-1px);cursor:default}.seating-seat:hover small{color:#fff}

/* Administração: página inicial */
.admin-home-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1080px;margin:0 auto 100px}.admin-home-card{display:flex;min-height:300px;flex-direction:column;align-items:center;justify-content:center;padding:38px 28px;text-align:center;background:#fff;border:1px solid var(--line);box-shadow:0 14px 36px rgba(67,49,39,.08);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.admin-home-card:hover{transform:translateY(-5px);border-color:var(--terracotta);box-shadow:0 20px 42px rgba(67,49,39,.13)}.admin-home-icon{display:flex;align-items:center;justify-content:center;width:66px;height:66px;margin-bottom:22px;border:1px solid var(--terracotta);border-radius:50%;font-family:'Cormorant Garamond',serif;font-size:32px;color:var(--terracotta)}.admin-home-card h2{margin:0 0 10px;font-size:36px}.admin-home-card>p:not(.eyebrow){min-height:48px;margin:0 0 25px;color:var(--muted);line-height:1.6}.admin-home-link{display:inline-flex;align-items:center;justify-content:center;min-width:170px;padding:13px 18px;border:1px solid var(--terracotta);color:var(--terracotta);font-size:11px;letter-spacing:.16em;text-transform:uppercase;transition:background .2s,color .2s}.admin-home-link:hover{background:var(--terracotta);color:#fff}.guest-directory{max-width:900px;margin:0 auto 90px}.guest-directory-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.guest-directory-heading h2{margin:0;font-size:40px}.guest-directory-heading input{width:min(100%,290px);padding:12px 0;border:0;border-bottom:1px solid var(--line);background:transparent;font:inherit;color:var(--ink);outline:0}.guest-directory-list{border:1px solid var(--line);background:#fff}.guest-directory-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 100px;gap:15px;align-items:center;padding:16px 22px;border-bottom:1px solid #eee5da}.guest-directory-row:last-child{border-bottom:0}.guest-directory-row span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.guest-directory-row strong{font-weight:500}.guest-directory-row.is-hidden{display:none}
@media(max-width:800px){.admin-home-cards{grid-template-columns:1fr;margin-bottom:65px}.admin-home-card{min-height:245px}.guest-directory-heading{align-items:stretch;flex-direction:column}.guest-directory-heading h2{font-size:34px}.guest-directory-heading input{width:100%}.guest-directory-row{grid-template-columns:minmax(0,1fr) auto;padding:14px 16px}.guest-directory-row strong{grid-column:1/-1;grid-row:1}.guest-directory-row span{grid-row:2}.guest-directory-row span:last-child{justify-self:end}}

/* Administração: sitting plan por arrastar */
.seating-drag-tools{display:grid;grid-template-columns:minmax(0,380px) 1fr;align-items:center;gap:14px 28px;max-width:1050px;margin:0 auto 42px;padding:20px 24px;border:1px solid #ddcbb6;background:#fff}.seating-drag-tools label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--terracotta)}.seating-drag-tools input{grid-row:2;margin:0;padding:10px 0;border:0;border-bottom:1px solid var(--line);background:transparent;font:400 16px 'Cormorant Garamond',serif;color:var(--ink);outline:0}.seating-drag-tools p{grid-column:2;grid-row:1/3;margin:0;color:var(--muted);font-size:12px;line-height:1.7}.seating-drag-tools p span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:7px;border:1px solid var(--terracotta);border-radius:50%;color:var(--terracotta);font-size:18px}.seating-admin-tables{padding-bottom:70px}.seating-admin-visual-table{position:relative}.seating-draggable{width:100%;font:400 10px Montserrat,sans-serif;cursor:grab}.seating-draggable:active{cursor:grabbing}.seating-draggable.is-dragging{opacity:.34}.seating-draggable.is-drop-target{border-color:var(--terracotta);background:#f1dfd4;box-shadow:0 0 0 2px var(--terracotta);transform:scale(1.025)}.seating-draggable.search-match{border-color:var(--terracotta);background:#f4e3da;box-shadow:0 0 0 2px rgba(174,91,70,.24)}
@media(max-width:760px){.seating-drag-tools{display:block;margin:0 5% 32px;padding:18px}.seating-drag-tools input{display:block;width:100%;margin:8px 0 14px}.seating-drag-tools p{font-size:11px}.seating-admin-tables{padding-bottom:45px}.seating-draggable{font-size:8px}}
.seating-drag-tools p em{color:var(--terracotta);font-style:normal}
.seating-empty-drop{border-style:dashed;background:#fffdf9;color:#b59b7b}.seating-empty-drop span{font-size:8px;letter-spacing:.08em;text-transform:uppercase;opacity:.82}.seating-empty-drop:hover{border-color:#cdb99f;background:#fffdf9;color:#b59b7b;box-shadow:none;transform:none;cursor:default}.seating-empty-drop:hover small{color:var(--terracotta)}

/* Convidados sem mesa e lista da administração */
.unassigned-guests{max-width:1050px;margin:0 auto 38px;padding:25px;border:1px solid #ddcbb6;background:#fff}.unassigned-guests-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.unassigned-guests-heading h2{margin:0;font-size:34px}.unassigned-guests-heading>span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--terracotta)}.unassigned-guests-list{display:flex;flex-wrap:wrap;gap:8px}.seating-unassigned{width:auto;min-height:42px;padding:7px 12px;text-align:left}.seating-unassigned span{display:block}.seating-unassigned small{margin-top:3px}.guest-directory-actions{display:flex;align-items:center;gap:16px}.guest-directory-row{grid-template-columns:minmax(180px,1.3fr) minmax(120px,1fr) 90px 105px minmax(140px,1fr)}.guest-directory-labels{background:#fdfbf8}.guest-directory-labels span{font-size:9px;color:var(--terracotta)}.guest-directory-row strong{font-size:14px}.guest-directory-row span{overflow-wrap:anywhere;text-transform:none;letter-spacing:0;font-size:12px}.guest-directory-assigned{margin-top:70px}
@media(max-width:800px){.unassigned-guests{margin:0 5% 32px;padding:18px}.unassigned-guests-heading{align-items:start;flex-direction:column}.guest-directory-actions{align-items:stretch;flex-direction:column;width:100%}.guest-directory-actions .admin-btn{width:100%}.guest-directory-row{grid-template-columns:1fr 1fr;gap:8px;padding:14px 16px}.guest-directory-row strong{grid-column:1/-1}.guest-directory-labels{display:none}.guest-directory-row span{font-size:11px}.guest-directory-row span:nth-child(2)::before{content:'Grupo: ';color:var(--terracotta)}.guest-directory-row span:nth-child(3)::before{content:'Presença: ';color:var(--terracotta)}.guest-directory-row span:nth-child(4)::before{content:'Confirmação: ';color:var(--terracotta)}.guest-directory-row span:nth-child(5){grid-column:1/-1}.guest-directory-row span:nth-child(5)::before{content:'Menu: ';color:var(--terracotta)}}
.guest-directory-row input,.guest-directory-row select{width:100%;min-width:0;padding:8px 6px;border:0;border-bottom:1px solid #e2d4c4;background:transparent;color:var(--ink);font:400 12px Montserrat,sans-serif;outline:0}.guest-directory-row select{cursor:pointer}.guest-directory-row input:focus,.guest-directory-row select:focus{border-bottom-color:var(--terracotta)}.guest-menu-field{display:flex;align-items:center;gap:7px}.guest-menu-field input{flex:1}.guest-save{flex:0 0 auto;padding:8px 10px;border:1px solid var(--terracotta);background:#fff;color:var(--terracotta);font:500 9px Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.guest-save:hover{background:var(--terracotta);color:#fff}
@media(max-width:800px){.guest-directory-row:not(.guest-directory-labels) input[name="guest_name"]{grid-column:1/-1}.guest-directory-row:not(.guest-directory-labels) .guest-menu-field{grid-column:1/-1}.guest-directory-row:not(.guest-directory-labels) input[name="guest_group"]{grid-column:1/-1}}
.guest-menu-field select{flex:1}
@media(max-width:800px){.guest-directory-row:not(.guest-directory-labels) select[name="guest_group"]{grid-column:1/-1}}
.guest-directory-row.guest-saved{background:#fbf5ef}.guest-save:disabled{opacity:.7;cursor:wait}
.guest-directory-row[hidden]{display:none}
.guest-summary-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:1050px;margin:0 auto 50px}.guest-summary-card{display:flex;min-height:145px;flex-direction:column;align-items:center;justify-content:center;padding:20px;border:1px solid var(--line);background:#fff;text-align:center;box-shadow:0 10px 28px rgba(67,49,39,.06)}.guest-summary-card span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--terracotta)}.guest-summary-card strong{margin-top:8px;font:500 54px/1 'Cormorant Garamond',serif;color:var(--ink)}
.guest-add-panel{display:flex;align-items:end;justify-content:space-between;gap:25px;max-width:1050px;margin:0 auto 50px;padding:24px;border:1px solid #ddcbb6;background:#fff}.guest-add-panel h2{margin:0;font-size:34px}.guest-add-panel form{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(4,minmax(110px,1fr)) auto;gap:8px;flex:1}.guest-add-panel input,.guest-add-panel select{min-width:0;padding:10px;border:1px solid #d8c8b5;background:#fff;color:var(--ink);font:400 11px Montserrat,sans-serif}
@media(max-width:1050px){.guest-add-panel{align-items:stretch;flex-direction:column}.guest-add-panel form{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.guest-add-panel{margin:0 5% 35px;padding:18px}.guest-add-panel form{grid-template-columns:1fr}.guest-add-panel .admin-btn{width:100%}}
@media(max-width:800px){.guest-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 5% 35px}.guest-summary-card{min-height:115px;padding:15px}.guest-summary-card strong{font-size:44px}}
.guest-summary-card strong{font-family:"Edwardian Script ITC",cursive;font-weight:400}
.guest-present-card small{max-width:190px;margin-top:8px;color:var(--muted);font-size:9px;letter-spacing:.04em;line-height:1.5}
.guest-present-card small i{display:block;font-style:normal}
.unassigned-filter{display:flex;align-items:center;gap:12px}.unassigned-filter select{min-width:165px;padding:9px;border:1px solid #d8c8b5;background:#fff;color:var(--ink);font:400 11px Montserrat,sans-serif}.unassigned-filter span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--terracotta)}.seating-unassigned[hidden]{display:none}
@media(max-width:760px){.unassigned-filter{align-items:stretch;flex-direction:column;width:100%}.unassigned-filter select{width:100%}}
.table-collapse-control{grid-column:2;justify-self:start;padding:9px 13px;border:1px solid var(--terracotta);background:#fff;color:var(--terracotta);font:500 10px Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.table-collapse-control:hover{background:var(--terracotta);color:#fff}.table-collapse-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;margin:0 0 18px;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer}.table-collapse-toggle span{display:flex;align-items:baseline;gap:10px;font:500 48px/1 "Cormorant Garamond",serif}.table-collapse-toggle small{font:400 10px Montserrat,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--terracotta)}.table-collapse-toggle b{font:500 10px Montserrat,sans-serif;letter-spacing:.11em;text-transform:uppercase;color:var(--terracotta)}.seating-admin-visual-table.is-collapsed{padding-bottom:20px}.seating-admin-visual-table.is-collapsed .seating-table-layout{display:none}.seating-admin-visual-table.is-collapsed .table-collapse-toggle{margin:0}
.seating-admin-tables{align-items:start}.seating-admin-visual-table{align-self:start}
@media(max-width:760px){.table-collapse-control{grid-column:auto;justify-self:stretch;margin-top:7px}.table-collapse-toggle span{font-size:40px}.table-collapse-toggle b{font-size:9px}}
.guest-menu-display{display:flex;align-items:center;gap:8px;min-width:0}.guest-menu-display>span{flex:1}.guest-edit{padding:7px 9px;border:1px solid var(--terracotta);background:#fff;color:var(--terracotta);font:500 9px Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.guest-edit:hover{background:var(--terracotta);color:#fff}.guest-modal{position:fixed;z-index:1000;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(48,37,30,.48)}.guest-modal[hidden]{display:none}.guest-modal-card{position:relative;width:min(100%,530px);padding:36px;background:#fff;box-shadow:0 20px 60px rgba(25,16,10,.28)}.guest-modal-card h2{margin:0 0 24px;font-size:40px}.guest-modal-close{position:absolute;top:13px;right:16px;border:0;background:transparent;color:var(--terracotta);font:300 30px/1 Cormorant Garamond,serif;cursor:pointer}.guest-modal-card form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.guest-modal-card label{display:grid;gap:6px;color:var(--terracotta);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.guest-modal-card label:first-of-type,.guest-modal-card .admin-btn{grid-column:1/-1}.guest-modal-card input,.guest-modal-card select{width:100%;padding:11px;border:1px solid #d8c8b5;background:#fff;color:var(--ink);font:400 13px Montserrat,sans-serif}.guest-modal-card .admin-btn{margin-top:5px}
.guest-directory-row{grid-template-columns:minmax(180px,1.35fr) minmax(150px,1fr) minmax(200px,1fr)}
@media(max-width:800px){.guest-menu-display{grid-column:1/-1}.guest-menu-display::before{content:'Menu: ';color:var(--terracotta);font-size:11px}.guest-modal-card{padding:28px 20px}.guest-modal-card h2{font-size:34px}.guest-modal-card form{grid-template-columns:1fr}}
@media(max-width:800px){.guest-menu-display{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.guest-menu-display::before{display:none}.guest-menu-display>span::before{content:'Menu: ';color:var(--terracotta)}.guest-edit{display:inline-flex!important;align-items:center;justify-content:center;min-height:32px;white-space:nowrap;justify-self:end}}
@media(max-width:800px){.guest-directory-row[data-guest]{position:relative;padding-top:14px}.guest-directory-row[data-guest] strong{padding-right:82px}.guest-directory-row[data-guest] .guest-edit{position:absolute!important;top:9px;right:16px;z-index:2;display:flex!important;min-width:66px;background:#fff}}
.guest-directory-tools{display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:900px;margin:0 auto 54px;padding:20px 24px;border:1px solid #ddcbb6;background:#fff}.guest-directory-search-field{display:grid;gap:9px;min-width:min(100%,340px);color:var(--terracotta);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.guest-directory-tools input{width:100%;margin:0;padding:10px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:400 16px 'Cormorant Garamond',serif;outline:0}.guest-directory-actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:800px){.guest-directory-tools{align-items:stretch;flex-direction:column;margin:0 5% 36px;padding:18px}.guest-directory-search-field{min-width:0}.guest-directory-tools input{width:100%}}
/* Evita que o Safari móvel recalcule a largura e a altura das mesas durante o scroll. */
@media(max-width:760px){html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.seating-tables,.seating-table,.seating-table-layout,.seating-side,.seating-seat{min-width:0}.seating-table{width:100%;contain:layout}.seating-table-layout{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr)}.seating-seat{overflow:hidden}}
@media(max-width:760px) and (hover:none){.seating-seat:hover{transform:none;box-shadow:none}}
@media(max-width:760px){.seating-seat{touch-action:manipulation}.seating-seat.is-touch-selected{border-color:var(--terracotta);background:#f1dfd4;color:var(--ink);box-shadow:0 0 0 2px var(--terracotta);transform:scale(1.025)}.seating-seat.is-touch-selected small{color:var(--terracotta)}}
.seating-drag-tools p .seating-drag-instruction,.seating-drag-tools p .seating-touch-instruction{display:inline;width:auto;height:auto;margin:0;border:0;border-radius:0;color:inherit;font:inherit}.seating-touch-icon,.seating-touch-instruction{display:none!important}
@media(max-width:760px){.seating-drag-icon,.seating-drag-instruction{display:none!important}.seating-drag-tools p .seating-touch-icon{display:inline-flex!important}.seating-drag-tools p .seating-touch-instruction{display:inline!important}}
.seating-drag-tools p svg.seating-touch-icon{width:28px;height:28px;margin-right:7px;vertical-align:-9px;border:1px solid var(--terracotta);border-radius:50%;padding:6px;fill:none;stroke:var(--terracotta);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.seating-drag-tools .seat-unassign,#seat-unassign{margin:10px 0 0;padding:8px 11px;border:1px solid var(--terracotta);background:#fff;color:var(--terracotta);font:500 9px Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.seating-drag-tools .seat-unassign:hover,#seat-unassign:hover{background:var(--terracotta);color:#fff}
#seat-unassign{display:none!important}.unassigned-guests.is-drop-target{border-color:var(--terracotta);background:#f4e3da;box-shadow:0 0 0 2px rgba(174,91,70,.2)}
.seating-table-couples .seating-table-layout{grid-template-columns:repeat(2,minmax(0,1fr));max-width:430px;margin:0 auto}.seating-table-couples .seating-table-centre{display:none}.seating-table-couples .seating-side{justify-content:center}
.seating-tables>.seating-table-couples{grid-column:1/-1;justify-self:center;width:min(100%,560px)}
.seating-table-couples{position:relative;padding-bottom:142px;overflow:visible}.seating-table-couples::after{content:'Mesa 1';position:absolute;z-index:2;bottom:30px;left:50%;display:flex;align-items:center;justify-content:center;width:82%;height:92px;transform:translateX(-50%);border:1px solid #cdb99f;background:var(--beige);color:var(--terracotta);font:400 22px/1.15 "Cormorant Garamond",serif}.seating-admin-visual-table.seating-table-couples.is-collapsed::after{display:none}
@media(max-width:760px){.seating-table-couples{padding-bottom:108px}.seating-table-couples::after{bottom:22px;width:88%;height:70px;font-size:19px}}
.seating-table-centre{font-size:0}.seating-table-couples::after{content:''}
.seating-admin-visual-table .table-collapse-toggle>span{font-family:"Edwardian Script ITC",cursive}
/* Esta regra fica depois do estilo do cabeçalho para não ser substituída pelo atalho font. */
.seating-admin-visual-table .table-collapse-toggle>span{font-family:"Edwardian Script ITC",cursive!important;font-weight:400}
.seating-admin-visual-table .table-collapse-toggle>span{transform:translateX(-12px)}.seating-admin-visual-table .table-collapse-toggle>span small{transform:translateX(12px)}
.seating-table:not(.seating-admin-visual-table)>h3{font:400 56px/1 "Edwardian Script ITC",cursive;transform:translateX(-12px)}
@media(max-width:760px){.seating-table:not(.seating-admin-visual-table)>h3{font-size:48px}}
.seating-admin-result{grid-column:1;grid-row:3;min-height:24px;color:var(--muted);font-size:11px}.seating-drag-tools p{grid-row:1/4}.seating-admin-result button{margin:2px 4px 2px 0;padding:5px 9px;border:1px solid #d8c8b5;background:#fff;color:var(--text);font:400 11px Montserrat,sans-serif;cursor:pointer}.seating-admin-result button:hover{border-color:var(--terracotta);color:var(--terracotta)}
@media(max-width:760px){.seating-admin-result{margin:0 0 14px;font-size:10px}.seating-drag-tools p{margin-top:0}}
/* Versão editorial do Sitting Plan público. */
.seating-section{position:relative;max-width:none;padding-top:112px;padding-bottom:128px;background:linear-gradient(180deg,#fbf8f3 0%,#f8f3ec 52%,#fbf8f3 100%)}.seating-section .intro{position:relative;z-index:1}.seating-section .intro h2{margin-bottom:16px}.seating-section .intro>p:not(.eyebrow){max-width:520px}.seating-section .seating-search-wrap{position:relative;z-index:1;max-width:660px;margin:54px auto 84px;padding:34px 46px 29px;border:1px solid #d8c8b5;background:rgba(255,255,255,.76);box-shadow:0 18px 42px rgba(80,55,35,.055)}.seating-section .seating-search-wrap::before,.seating-section .seating-search-wrap::after{content:'';position:absolute;top:17px;bottom:17px;width:1px;background:#eadfd3}.seating-section .seating-search-wrap::before{left:17px}.seating-section .seating-search-wrap::after{right:17px}.seating-section .seating-search-wrap label{margin-bottom:12px}.seating-section .seating-search-wrap input{width:100%;padding:5px 0 12px}.seating-section #seating-tables{position:relative;max-width:1320px;margin:0 auto;padding:42px 4% 0;gap:42px}.seating-section #seating-tables::before{content:'♡';position:absolute;top:-7px;left:50%;z-index:1;display:grid;place-items:center;width:42px;height:30px;transform:translateX(-50%);background:#f8f3ec;color:var(--terracotta);font:400 25px/1 "Cormorant Garamond",serif}.seating-section #seating-tables::after{content:'';position:absolute;top:8px;left:50%;width:min(610px,68%);height:1px;transform:translateX(-50%);background:#d8c4ab}.seating-section .seating-table{position:relative;padding:36px 30px 32px;border-color:#ddcbb6;background:rgba(255,255,255,.82);box-shadow:0 15px 34px rgba(80,55,35,.045)}.seating-section .seating-table>.eyebrow{margin-bottom:4px}.seating-section .seating-table h3{margin-bottom:28px}.seating-section .seating-table-couples{background:#fffdf9;border-color:#cdb99f;box-shadow:0 18px 38px rgba(80,55,35,.075)}.seating-section .seating-seat{background:rgba(253,251,248,.9)}
@media(max-width:760px){.seating-section{padding-top:76px;padding-bottom:86px}.seating-section .seating-search-wrap{margin:38px auto 62px;padding:28px 30px 24px}.seating-section #seating-tables{padding:34px 0 0;gap:28px}.seating-section #seating-tables::after{width:76%}.seating-section .seating-table{padding:28px 14px 25px}.seating-section .seating-table-couples{padding-bottom:108px}}
.seating-section .seating-table-couples{padding-bottom:142px}
@media(max-width:760px){.seating-section .seating-table-couples{padding-bottom:108px}}
.seating-section .seating-search-wrap::before,.seating-section .seating-search-wrap::after{display:none}
.seating-section .seating-seat:hover{border-color:var(--terracotta);background:var(--terracotta);color:#fff;box-shadow:0 5px 15px rgba(167,93,75,.28);transform:translateY(-1px)}
.seating-section .seating-seat.selected{border-color:var(--terracotta);background:#f4e3da;color:var(--text);box-shadow:0 0 0 2px rgba(174,91,70,.24);transform:none}
.seat-card-modal{position:fixed;z-index:1200;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(48,37,30,.54)}.seat-card-modal[hidden]{display:none}.seat-card-dialog{position:relative;width:min(440px,100%);padding:52px 44px 46px;border:1px solid #d8c8b5;background:var(--cream);box-shadow:0 22px 68px rgba(30,20,15,.28);text-align:center}.seat-card-dialog::before{content:'';position:absolute;inset:14px;border:1px solid #eadfd3;pointer-events:none}.seat-card-dialog>*{position:relative}.seat-card-monogram{display:block;width:102px;height:auto;margin:0 auto 14px;opacity:.17}.seat-card-dialog h2{margin:0;font-size:clamp(42px,9vw,60px);line-height:1}.seat-card-line{display:flex;align-items:center;justify-content:center;gap:13px;margin:19px auto 15px;color:var(--terracotta);font:400 20px/1 "Cormorant Garamond",serif}.seat-card-line::before,.seat-card-line::after{content:'';width:72px;height:1px;background:#d8c4ab}.seat-card-table{display:flex;align-items:baseline;justify-content:center;gap:8px;margin:0;color:var(--terracotta)}.seat-card-table span{font:400 11px Montserrat,sans-serif;letter-spacing:.28em;text-transform:uppercase}.seat-card-table b{font:400 38px/1 "Edwardian Script ITC",cursive}.seat-card-date{margin:10px 0 0;color:var(--muted);font-size:10px;letter-spacing:.18em}.seat-card-copy{max-width:250px;margin:23px auto 0;color:var(--muted);font-size:12px;line-height:1.65}.seat-card-close{position:absolute;z-index:2;top:15px;right:20px;border:0;background:transparent;color:var(--terracotta);font:300 29px/1 Montserrat,sans-serif;cursor:pointer}.seat-card-close:hover{color:var(--dark)}
@media(max-width:760px){.seat-card-dialog{padding:47px 27px 38px}.seat-card-dialog h2{font-size:46px}.seat-card-table{font-size:35px}}
.seat-card-table{flex-direction:column;align-items:center;gap:5px}.seat-card-table b{font-size:52px;transform:translateX(-8px)}
.admin-shell .seating-drag-tools,.admin-shell .unassigned-guests{width:100%;max-width:none}
@media(max-width:800px){.admin-shell .seating-drag-tools,.admin-shell .unassigned-guests{margin-left:0;margin-right:0}}
.seating-admin-visual-table .table-collapse-toggle{position:relative;display:block;min-height:102px;margin:0 0 22px;text-align:center}.seating-admin-visual-table .table-collapse-toggle span{display:flex;flex-direction:column;align-items:center;gap:4px;font:500 48px/1 "Cormorant Garamond",serif}.seating-admin-visual-table .table-collapse-toggle span small{font:400 10px Montserrat,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--terracotta)}.seating-admin-visual-table .table-collapse-toggle b{position:absolute;top:12px;right:0;font:500 10px Montserrat,sans-serif;letter-spacing:.11em;text-transform:uppercase;color:var(--terracotta)}.seating-admin-visual-table.is-collapsed .table-collapse-toggle{margin:0;min-height:auto}
@media(max-width:760px){.seating-admin-visual-table .table-collapse-toggle{min-height:88px;margin-bottom:18px}.seating-admin-visual-table .table-collapse-toggle span{font-size:40px}.seating-admin-visual-table .table-collapse-toggle b{top:8px;font-size:9px}}
@media(min-width:761px){.admin-shell .seating-drag-tools{grid-template-columns:minmax(0,1.25fr) minmax(400px,1fr);column-gap:42px}.admin-shell .seating-drag-tools input{width:100%}}
input[type="search"]{font:400 16px "Cormorant Garamond",serif!important}
@media(max-width:760px){.admin-dashboard .seating-draggable,.admin-dashboard .seating-empty-drop{touch-action:none}}
.seating-drag-tools #seat-swap-status{display:block;min-height:18px;margin:4px 0 0}@media(max-width:760px){.seating-drag-tools p #seat-swap-status{grid-column:1/-1;grid-row:3;margin:0}}
@media(max-width:760px){.seating-section .seating-table{scroll-margin-top:18px}}
