/* =========================================================
   layout-classic.css —— 法式金典布局（请柬信笺 + 双栏行程）
   ========================================================= */

html[data-theme="classic"] body{
  background-image:
    radial-gradient(ellipse 55% 40% at 85% 10%, rgba(201,162,39,.06), transparent 60%),
    radial-gradient(ellipse 50% 35% at 10% 90%, rgba(90,110,82,.06), transparent 60%);
}

/* 封面：请柬头 */
.cl-hero{
  min-height:94vh;
  min-height:94dvh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:calc(3rem + env(safe-area-inset-top)) 1.2rem 2rem;
  text-align:center;
  position:relative;
}
.cl-hero::before{
  content:'';
  position:absolute;
  top:calc(2rem + env(safe-area-inset-top));
  left:50%;
  transform:translateX(-50%);
  width:min(460px,88vw);
  height:calc(100% - 4.5rem);
  border:1px solid rgba(176,141,87,.35);
  border-radius:2px;
  box-shadow:inset 0 0 0 4px var(--bg), inset 0 0 0 5px rgba(176,141,87,.2);
  pointer-events:none;
}
.cl-kicker{
  font-size:.75rem;
  letter-spacing:.55em;
  text-indent:.55em;
  color:var(--gold);
  text-transform:uppercase;
  margin-bottom:1.4rem;
}
.cl-names{
  font-family:var(--font-display);
  font-size:clamp(2.2rem,9vw,4rem);
  font-weight:bold;
  letter-spacing:.12em;
  color:var(--ink);
}
.cl-date{
  margin-top:1.2rem;
  font-size:.88rem;
  letter-spacing:.35em;
  text-indent:.35em;
  color:var(--ink-soft);
}
.cl-countdown{display:flex;gap:.7rem;margin-top:2.2rem;}
.cl-countdown .cd-item{
  background:rgba(201,162,39,.12);
  border-radius:2px;
  padding:.55rem .8rem;
  min-width:3.2rem;
  display:flex;flex-direction:column;align-items:center;
}
.cl-countdown .cd-num{
  font-family:var(--font-display);
  font-size:1.45rem;
  font-weight:bold;
  color:var(--pink-deep);
  line-height:1.1;
}
.cl-countdown .cd-lab{font-size:.66rem;color:var(--ink-soft);letter-spacing:.1em;}

/* 双栏行程 */
.cl-main{max-width:660px;margin:0 auto;padding:3rem 1.2rem calc(6rem + env(safe-area-inset-bottom));}
.cl-title{
  font-family:var(--font-display);
  font-size:1.5rem;
  font-weight:bold;
  letter-spacing:.4em;
  text-indent:.4em;
  text-align:center;
  color:var(--ink);
  margin:2.6rem 0 1.8rem;
}
.cl-title::before,.cl-title::after{
  content:'❧';
  font-size:.8em;
  color:var(--gold);
  margin:0 .6em;
}
.cl-rows{border-top:1px solid rgba(176,141,87,.4);}
.cl-row{
  display:grid;
  grid-template-columns:7rem 1fr;
  gap:1.2rem;
  padding:1.2rem 0;
  border-bottom:1px solid rgba(176,141,87,.25);
}
.cl-day{text-align:center;padding-top:.2rem;}
.cl-day b{
  display:block;
  font-family:var(--font-display);
  font-size:1.5rem;
  color:var(--gold);
  line-height:1.1;
}
.cl-day i{
  display:block;
  font-style:normal;
  font-size:.7rem;
  letter-spacing:.2em;
  color:var(--ink-soft);
  margin-top:.15rem;
}
.cl-info h3{
  font-family:var(--font-display);
  font-size:1.2rem;
  font-weight:bold;
  letter-spacing:.08em;
  color:var(--ink);
  margin-bottom:.3rem;
}
.cl-who{
  font-size:.68rem;
  letter-spacing:.15em;
  color:var(--green-deep);
  border:1px solid rgba(90,110,82,.4);
  border-radius:2px;
  padding:.05rem .5rem;
  vertical-align:middle;
  margin-left:.4rem;
}
.cl-info p{font-size:.82rem;color:var(--ink-soft);line-height:1.6;margin-bottom:.6rem;}
.cl-info .sub-nav{
  background:var(--green);
  color:var(--gold);
  border:none;
  border-radius:2px;
  font-family:inherit;
  font-size:.72rem;
  letter-spacing:.2em;
  padding:.38rem 1rem;
  cursor:pointer;
}
.cl-info .sub-nav:active{opacity:.8;}
.cl-note{text-align:center;color:var(--ink-soft);font-size:.76rem;margin-top:1.6rem;}

/* 留言 */
.cl-form{
  background:var(--paper);
  border:1px solid rgba(176,141,87,.4);
  border-radius:2px;
  padding:1.2rem;
  margin-bottom:1.5rem;
  display:flex;
  flex-direction:column;
  gap:.8rem;
}
.cl-form .gb-input{
  border:1px solid rgba(176,141,87,.5);
  border-radius:2px;
  background:rgba(255,255,255,.7);
  padding:.7rem .9rem;
  font-family:inherit;
  font-size:1rem;
  color:var(--ink);
  outline:none;
}
.cl-form .gb-input:focus{border-color:var(--gold);}
.cl-form .gb-submit{
  align-self:center;
  background:var(--green);
  color:var(--gold);
  border:none;
  border-radius:2px;
  padding:.6rem 2.4rem;
  font-family:inherit;
  font-size:.95rem;
  letter-spacing:.3em;
  text-indent:.3em;
  cursor:pointer;
}
.cl-list{display:flex;flex-direction:column;gap:.8rem;}
.cl-list .gb-item{
  background:var(--paper);
  border:1px solid rgba(176,141,87,.3);
  border-left:3px solid var(--gold);
  border-radius:2px;
  padding:1rem 1.1rem;
}
.cl-list .gb-item:nth-child(even){border-left-color:var(--green);}
.cl-list .gb-item-name{color:var(--pink-deep);font-weight:bold;}
.cl-list .gb-item:nth-child(even) .gb-item-name{color:var(--green-deep);}
.cl-list .gb-item-time{font-size:.7rem;color:var(--ink-soft);}
.cl-list .gb-item-msg{font-size:.92rem;line-height:1.7;word-break:break-word;}
.cl-list .like-btn{
  background:none;border:1px solid rgba(176,141,87,.4);
  border-radius:2px;
  font-family:inherit;font-size:.72rem;
  color:var(--ink-soft);
  padding:.25rem .6rem;margin-top:.5rem;
  cursor:pointer;
}
.cl-list .like-btn.liked{background:rgba(201,162,39,.15);border-color:var(--gold);color:var(--pink-deep);}

/* 移动端 */
@media (max-width:520px){
  .cl-row{grid-template-columns:5.4rem 1fr;gap:.9rem;}
  .cl-day b{font-size:1.2rem;}
}

/* ===== 主宴突出 + 女方/男方地址（女方 --side-f，男方 --side-m） ===== */
.cl-row.main-feast{background:rgba(176,141,87,.07);padding:1.4rem .9rem;}
.cl-row.main-feast .cl-day b{font-size:1.9rem;color:var(--side-m);}
.cl-row.main-feast .cl-info h3{font-size:1.45rem;}
.cl-row.main-feast .cl-info p{font-size:.92rem;}
.cl-row.main-feast .sub-nav{font-size:.92rem;padding:.55rem 1.5rem;}
.cl-who.who-f{color:var(--side-f);border-color:var(--side-f);}
.cl-who.who-m{color:var(--side-m);border-color:var(--side-m);}
.cl-info .side-tag{display:inline-block;font-size:.62rem;letter-spacing:.15em;color:#fdfaf2;border-radius:2px;padding:.05rem .5rem;margin-right:.35rem;vertical-align:1px;}
.cl-info .side-tag.side-f{background:var(--side-f);}
.cl-info .side-tag.side-m{background:var(--side-m);}
.cl-info .addr-copy{background:none;border:none;padding:0;font-family:inherit;font-size:inherit;color:var(--side-f);border-bottom:1px dashed currentColor;cursor:pointer;}
.cl-info .addr-copy.side-m{color:var(--side-m);}
.cl-info .addr-copy.copied{border-bottom-style:solid;}
.cl-info .addr-copy.copied::after{content:' ✓已复制';font-size:.9em;}
.cl-info .addr-copy.copy-fail::after{content:' 未复制，长按文字';font-size:.9em;}
.cl-info .evt-note{font-size:.7rem;color:var(--ink-soft);letter-spacing:.08em;margin:.3rem 0 .55rem;}
.cl-info .sub-nav{font-size:.82rem;padding:.45rem 1.15rem;}
.cl-rows .feast-divider{text-align:center;color:var(--ink-soft);font-size:.72rem;letter-spacing:.5em;text-indent:.5em;padding:1rem 0 .3rem;}
.cl-rows .feast-divider::before,.cl-rows .feast-divider::after{content:'';display:inline-block;width:30px;height:1px;background:rgba(176,141,87,.45);vertical-align:middle;margin:0 .6em;}
.cl-row:not(.main-feast) .cl-day b{font-size:1.1rem;}
.cl-row:not(.main-feast) .cl-day i{font-size:.62rem;}
.cl-row:not(.main-feast) .cl-info h3{font-size:.98rem;}
.cl-row:not(.main-feast) .cl-who{font-size:.6rem;}
.cl-row:not(.main-feast) .cl-info p{font-size:.72rem;}
.cl-row:not(.main-feast) .cl-info .sub-nav{font-size:.7rem;padding:.34rem .85rem;}
.cl-row.side-f{background:linear-gradient(rgba(214,51,108,.035),rgba(214,51,108,.035)) var(--paper);border-left:3px solid rgba(214,51,108,.65);}
.cl-row.side-m{background:var(--paper);border-left:3px solid rgba(30,120,200,.65);}
.cl-row.main-feast{background:var(--paper);border-left:3px solid rgba(30,120,200,.8);}
.cl-row.side-f .cl-info .sub-nav{background:#d6336c;color:#fff;}
.cl-row.side-m .cl-info .sub-nav{background:#1e78c8;color:#fff;}
