#bridalTrainContent{max-width:1040px;margin:auto;color:#47321c;}
#bridalTrainContent{background:linear-gradient(155deg,#fffaf2,#f8eddd);border-radius:20px;padding:1px 12px 16px;box-sizing:border-box;}
.bt-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden;border:1px solid #dec499;border-radius:24px;background:linear-gradient(125deg,#f8ead2,#fffaf2);margin:12px 0 26px;box-shadow:0 8px 24px #674b1912;}
.bt-hero-photo{width:100%;height:100%;min-height:250px;object-fit:contain;background:#f3e7d3;}
.bt-hero>div{padding:24px 15px;text-align:center;align-self:center;min-width:0;}
.bt-hero h1{font:400 clamp(34px,7vw,68px)/1.12 Parisienne,cursive;color:#94601e;margin:10px 0;overflow-wrap:anywhere;}
.bt-hero p{font:16px/1.6 Georgia,serif;overflow-wrap:anywhere;}
.bt-hero .bt-eyebrow{font-size:10px;letter-spacing:2px;}
.bt-heart{color:#a97528;font-size:24px;}
.bt-heading{text-align:center;font:500 clamp(20px,4vw,28px)/1.4 Georgia,serif;color:#fff9ec;background:linear-gradient(110deg,#bc8b41,#885719,#bd8e45);border:1px solid #d5b877;border-radius:24px;padding:10px 18px;margin:20px auto;max-width:440px;box-shadow:0 4px 12px #76531b20;overflow-wrap:anywhere;position:relative;}
.bt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.bt-card{min-width:0;background:#fffaf1;border:1px solid #e5d2b5;border-radius:12px;overflow:hidden;box-shadow:0 4px 14px #674b1909;}
.bt-portrait{display:block;position:relative;width:100%;aspect-ratio:3/4;padding:0;border:0;border-radius:0;background:linear-gradient(135deg,#f0dfc2,#e0c498);overflow:hidden;}
button.bt-portrait{cursor:zoom-in;}
.bt-portrait img{position:relative;width:100%;height:100%;object-fit:cover;display:block;}
.bt-portrait img[hidden]{display:none;}
.bt-initials{position:absolute;inset:0;display:grid;place-items:center;font:italic 48px Georgia,serif;color:#8b652e;}
.bt-photo-note{position:absolute;bottom:16px;left:5px;right:5px;text-align:center;color:#76572e;font:12px/1.4 Georgia,serif;}
.bt-caption{text-align:center;padding:12px 7px;background:linear-gradient(#fffcf6,#f7ead7);border-top:1px solid #e5d2b5;}
.bt-caption h3{margin:0;font:600 17px/1.4 Georgia,serif;overflow-wrap:anywhere;}
.bt-caption p{margin:3px 0;font:14px/1.4 Georgia,serif;overflow-wrap:anywhere;}
.bt-caption>span{color:#a87830;font-size:14px;}
.bt-footer{white-space:pre-line;text-align:center;font:italic 24px/1.8 Georgia,serif;color:#98662c;margin:28px 0 0;padding:24px 14px;overflow-wrap:anywhere;background:url('assets/gift-floral.svg') left bottom/60px auto no-repeat,url('assets/gift-floral.svg') right bottom/60px auto no-repeat;}
.bt-edit-person{min-width:0;margin:14px 0;padding:14px;border:1px solid #ddc7a1;border-radius:12px;}
.bt-edit-person legend{font-weight:600;padding:0 5px;}
.bt-edit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
#bridalTrainEditor input,#bridalTrainEditor textarea{width:100%;min-width:0;box-sizing:border-box;}
#bridalTrainEditor .aq-actions{flex-wrap:wrap;gap:8px;margin:10px 0;}
.bt-edit-photo img{width:72px;height:90px;object-fit:cover;border-radius:8px;}
@media(min-width:600px){.bt-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}}
@media(min-width:900px){.bt-grid{grid-template-columns:repeat(5,minmax(0,1fr));}.bt-hero-photo{max-height:420px;}}
@media(max-width:350px){.bt-hero{grid-template-columns:1fr;}.bt-hero-photo{height:210px;min-height:0;}.bt-edit-fields{grid-template-columns:1fr;}.bt-caption h3{font-size:15px;}}
.bt-hero-view{display:block;position:relative;width:100%;padding:0;border:0;border-radius:0;background:#f3e7d3;cursor:zoom-in;overflow:hidden;min-width:0;}
.bt-hero-view>span{position:absolute;left:10px;bottom:10px;color:#fffaf0;background:#49321ddb;border:1px solid #dec49988;border-radius:20px;font:11px/1.5 system-ui,sans-serif;padding:5px 10px;}
.bt-hero .bt-our{display:block;font:400 14px/2 Georgia,serif;letter-spacing:4px;text-transform:uppercase;}
.bt-hero>div{background:url('assets/gift-floral.svg') right bottom/65px auto no-repeat;}
.bt-group-nav{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 auto 12px;}
.bt-group-nav button{border:1px solid #dbc19b;background:#fff9ef;color:#7b5528;border-radius:28px;padding:10px 16px;min-height:44px;max-width:100%;min-width:0;overflow-wrap:anywhere;font:14px/1.4 Georgia,serif;cursor:pointer;}
.bt-group-nav button>span{display:inline-grid;place-items:center;min-width:22px;height:22px;background:#f0dfc2;border-radius:50%;margin-left:6px;font:12px system-ui,sans-serif;}
.bt-view-hint{text-align:center;font:13px/1.7 Georgia,serif;color:#80694b;max-width:500px;margin:8px auto 18px;}
.bt-heading{scroll-margin-top:90px;}.bt-card{transition:box-shadow .2s ease,transform .2s ease;}
.bt-portrait:after{content:'View photo ⤢';position:absolute;bottom:10px;left:50%;transform:translateX(-50%);background:#49321ddb;color:#fffaf0;border-radius:18px;padding:5px 10px;font:11px/1.5 system-ui,sans-serif;white-space:nowrap;pointer-events:none;}
.bt-portrait--empty:after{display:none;}
.bt-header-preview img{width:120px;height:90px;object-fit:contain;border:1px solid #dbc19b;border-radius:10px;}
.bt-lightbox-retry{background:#fff4df;border:1px solid #b88b4b;color:#66451f;border-radius:24px;padding:12px 24px;margin:12px;cursor:pointer;}
#bridalTrainContent :focus-visible{outline:3px solid #986727;outline-offset:3px;}
@media(hover:hover){.bt-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #77532322;}.bt-group-nav button:hover{background:#f5e5cb;}}
@media(prefers-reduced-motion:reduce){.bt-card{transition:none;}.bt-card:hover{transform:none;}}
