/* Layout: Tiket Pesawat — Flight to Forever */
.layout-boarding .inv-main{background:none}
.layout-boarding .sec{padding:34px 16px;background:none!important}
.layout-boarding .sec:not(.sec-hero) .sec-inner{position:relative;background:var(--solid);border-radius:20px;padding:0 0 26px;box-shadow:0 20px 40px -26px rgba(0,0,0,.35);overflow:hidden}
.layout-boarding .sec:not(.sec-hero) .sec-head{margin:0 0 22px;padding:14px 20px;background:var(--primary);color:#fff;display:flex;flex-direction:column;align-items:flex-start;text-align:left;position:relative}
.layout-boarding .sec:not(.sec-hero) .sec-head::after{content:"✈";position:absolute;right:18px;top:50%;transform:translateY(-50%) rotate(-30deg);font-size:1.4rem;opacity:.6}
.layout-boarding .sec:not(.sec-hero) .sec-title{color:#fff;font-size:1.05rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.layout-boarding .sec:not(.sec-hero) .sec-lead{color:rgba(255,255,255,.85);font-size:.8rem;margin-top:2px}
.layout-boarding .sec:not(.sec-hero) .sec-inner>*:not(.sec-head){margin-left:18px;margin-right:18px}
.layout-boarding .sec:not(.sec-hero) .sec-inner::before,.layout-boarding .sec:not(.sec-hero) .sec-inner::after{content:"";position:absolute;top:52px;width:22px;height:22px;border-radius:50%;background:var(--bg);z-index:2}
.layout-boarding .sec:not(.sec-hero) .sec-inner::before{left:-11px}
.layout-boarding .sec:not(.sec-hero) .sec-inner::after{right:-11px}
.layout-boarding .orn-div,.layout-boarding .orn-c{display:none}
.layout-boarding .sec-hero .hero-names{font-family:var(--f-display);font-size:clamp(2.2rem,10vw,3rem);flex-direction:row;gap:.3em;flex-wrap:wrap;justify-content:center}
.layout-boarding .sec-hero .hero-names .amp{font-family:var(--f-script)}
.layout-boarding .events{gap:0}
.layout-boarding .event{border-radius:0;box-shadow:none;border:0;border-bottom:2px dashed var(--line);background:none;display:grid;grid-template-columns:1fr auto;text-align:left;padding:16px 0;gap:4px 12px}
.layout-boarding .event:last-child{border-bottom:0}
.layout-boarding .event::before{display:none}
.layout-boarding .event-num{position:static;grid-column:2;grid-row:1/3;font-size:.7rem;letter-spacing:.14em;color:var(--muted);align-self:start;text-align:right}
.layout-boarding .event-num::before{content:"GATE ";}
.layout-boarding .event-name{font-family:var(--f-display);font-size:1.3rem;text-transform:uppercase;letter-spacing:.06em}
.layout-boarding .event-date{justify-content:flex-start;margin:4px 0;grid-column:1/-1}
.layout-boarding .event-date span{font-family:var(--f-display)}
.layout-boarding .event-time,.layout-boarding .event-place,.layout-boarding .event .btn-row{justify-content:flex-start;grid-column:1/-1}
.layout-boarding .event-map{grid-column:1/-1}
.layout-boarding .btn{border-radius:10px}
.layout-boarding .cd-box{border-radius:10px;background:var(--text);color:#fff;box-shadow:none;border:0}
.layout-boarding .cd-box b{color:var(--accent);font-family:var(--f-display)}
.layout-boarding .cd-box span{color:rgba(255,255,255,.7)}
.layout-boarding .couple-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:10px}
.layout-boarding .couple-amp{font-size:1.6rem;margin-top:40px}
.layout-boarding .couple-amp::before{content:"✈";font-family:system-ui}
.layout-boarding .couple-amp{font-size:0}
.layout-boarding .couple-amp::before{font-size:1.6rem;color:var(--accent)}
.layout-boarding .person-photo{width:100%}
.layout-boarding .person-nick{font-family:var(--f-display);font-size:1.3rem;text-transform:uppercase}
.layout-boarding .person-name{font-size:.8rem}
.layout-boarding .person-parents{font-size:.72rem}
.layout-boarding .timeline::before{background:repeating-linear-gradient(var(--primary) 0 6px,transparent 6px 12px)}
.layout-boarding .tl-dot{border-radius:3px;transform:rotate(45deg)}
.layout-boarding .card{box-shadow:none;border-style:dashed}
.layout-boarding .bank-card{border-radius:14px}
