.ypmd-panel{background:#fff;border:1px solid #e3eaf0;border-radius:14px;box-shadow:0 8px 30px rgba(23,54,93,.07);padding:clamp(20px,4vw,36px);margin:28px 0;color:#17365d}.ypmd-panel h2{font-size:clamp(1.35rem,2.5vw,1.8rem);margin:0 0 16px;color:#17365d}.ypmd-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ypmd-facts>div{background:#f5f9fc;padding:14px;border-radius:9px;min-width:0}.ypmd-facts span{display:block;font-size:.85rem;color:#556b80;margin-bottom:5px}.ypmd-facts strong{display:block;overflow-wrap:anywhere;color:#17365d}.ypmd-enroll>p{line-height:1.65;color:#34495e}.ypmd-form{margin-top:22px}.ypmd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ypmd-form label{display:block;font-weight:600;color:#17365d;font-size:.96rem}.ypmd-form input:not([type=checkbox]){display:block;box-sizing:border-box;width:100%;margin-top:7px;border:1px solid #bccbd9;border-radius:8px;padding:12px 13px;min-height:46px;background:#fff;color:#172c43;font:inherit}.ypmd-form input:focus{outline:2px solid #62c8df;outline-offset:1px}.ypmd-consent{display:flex!important;align-items:flex-start;gap:10px;margin:20px 0;font-weight:400!important;line-height:1.5}.ypmd-consent input{margin:4px 0 0;flex:none;accent-color:#2457a7}.ypmd-form button{border:0;border-radius:8px;background:#17365d;color:#fff;font:inherit;font-weight:700;padding:13px 25px;cursor:pointer;transition:background .2s}.ypmd-form button:hover,.ypmd-form button:focus{background:#2457a7}.ypmd-notice{background:#edf8f8;border-left:4px solid #62c8df;padding:13px 16px;margin:18px 0;color:#17365d}@media(max-width:650px){.ypmd-grid,.ypmd-facts{grid-template-columns:1fr}.ypmd-panel{padding:20px}.ypmd-form button{width:100%}}

/* V3 program gallery */
.ypmd-gallery{display:grid;grid-template-columns:repeat(var(--ypmd-gallery-columns,3),minmax(0,1fr));gap:24px;margin:26px 0 38px;align-items:stretch}
.ypmd-gallery-card{background:#fff;border:1px solid #e2eaf0;border-radius:15px;overflow:hidden;box-shadow:0 8px 26px rgba(23,54,93,.07);display:flex;flex-direction:column;min-width:0;transition:transform .2s,box-shadow .2s}
.ypmd-gallery-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(23,54,93,.12)}
.ypmd-gallery-image{display:block;aspect-ratio:16/10;background:#edf4f9;overflow:hidden}
.ypmd-gallery-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.ypmd-gallery-card:hover .ypmd-gallery-image img{transform:scale(1.035)}
.ypmd-gallery-placeholder{display:flex;align-items:center;justify-content:center;height:100%;padding:20px;text-align:center;color:#17365d;font-weight:700}
.ypmd-gallery-body{padding:22px;display:flex;flex-direction:column;flex:1;gap:13px;color:#17365d}
.ypmd-gallery-status{align-self:flex-start;border-radius:100px;padding:5px 11px;background:#eaf7f3;color:#176b53;font-size:.76rem;font-weight:700}
.ypmd-gallery-status--full{background:#fff4e5;color:#8b5600}.ypmd-gallery-status--closed{background:#eef1f5;color:#586575}
.ypmd-gallery-body h3{font-size:1.2rem;line-height:1.35;margin:0;color:#17365d}.ypmd-gallery-body h3 a{text-decoration:none;color:inherit}.ypmd-gallery-body h3 a:hover{text-decoration:underline}
.ypmd-gallery-description{margin:0;color:#526579;line-height:1.6;font-size:.94rem}
.ypmd-gallery-meta{display:flex;flex-wrap:wrap;gap:7px 13px;align-items:center;font-size:.9rem;color:#526579;margin-top:auto}.ypmd-gallery-meta strong{color:#17365d;font-size:1.08rem;width:100%}.ypmd-gallery-location{width:100%;overflow-wrap:anywhere}
.ypmd-gallery-button{display:block;text-align:center;background:#17365d;color:#fff!important;border-radius:8px;padding:12px 16px;text-decoration:none!important;font-weight:700;margin-top:5px}.ypmd-gallery-button:hover,.ypmd-gallery-button:focus{background:#2457a7;color:#fff!important}
.ypmd-gallery-empty{grid-column:1/-1;padding:25px;background:#f5f9fc;border-radius:10px;color:#17365d}
@media(max-width:950px){.ypmd-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ypmd-gallery{grid-template-columns:1fr;gap:18px}.ypmd-gallery-body{padding:18px}}

.ypmd-group{border:1px solid #d7e2ed;border-radius:10px;padding:16px;margin:18px 0;display:grid;gap:12px}.ypmd-group legend{font-weight:700;color:#17365d;padding:0 6px}.ypmd-group label{display:block}.ypmd-group input[type=radio]{margin-right:8px}.ypmd-group input[type=file]{display:block;margin-top:6px;max-width:100%}.ypmd-group p{margin:0;color:#445d79;font-size:.92rem}
