/* V32 - Package image library + client package gallery */
.package-admin-wrap{max-width:1500px;margin:22px auto 46px;padding:0 18px;}
.package-editor-panel,.package-grid-panel{border:1px solid #dfe8ee!important;box-shadow:0 18px 45px rgba(18,56,80,.08)!important;}
.package-editor-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e7eef2;}
.package-editor-title h2{margin:0 0 7px;color:#153c55;font-size:24px;}
.package-editor-title p{margin:0;color:#688091;line-height:1.75;}
.package-folder-chip{direction:ltr;white-space:nowrap;border:1px solid #cce1e5;background:#eef8f8;color:#28717a;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700;}
.package-image-manager{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:stretch;margin:20px 0;padding:20px;border:1px solid #dce8ed;border-radius:20px;background:linear-gradient(135deg,#fbfdfd,#f5f9fa);}
.package-image-controls{display:flex;flex-direction:column;justify-content:center;gap:14px;min-width:0;}
.package-help{display:block;margin-top:7px;color:#718797;line-height:1.7;}
.package-upload-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:center;}
.package-file-upload{min-height:44px;}
.package-image-preview-box{position:relative;min-height:210px;border-radius:17px;overflow:hidden;border:1px dashed #bed0d8;background:#fff;display:flex;align-items:center;justify-content:center;}
.package-image-preview{display:none;width:100%;height:100%;min-height:210px;max-height:280px;object-fit:cover;}
.package-preview-empty{position:absolute;inset:0;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;color:#8aa0ae;text-align:center;}
.package-preview-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#edf5f6;color:#3b7f86;font-size:30px;}
.package-main-toolbar{margin-top:15px;}
.package-message{display:block;margin-top:12px;font-weight:700;}
.package-list-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px;}
.package-list-head h3{margin:0;color:#173f58;font-size:20px;}
.package-list-head>span{color:#738896;font-size:13px;}
.package-admin-grid td,.package-admin-grid th{vertical-align:middle!important;}
.package-grid-thumb{width:92px;height:66px;object-fit:cover;border-radius:10px;border:1px solid #dbe7ec;box-shadow:0 5px 15px rgba(26,61,84,.12);}
.package-grid-no-image{display:inline-grid;place-items:center;width:92px;height:66px;border-radius:10px;border:1px dashed #d4e0e5;background:#f8fafb;color:#a3b0b8;}

/* Client package gallery */
.specialized-programs-page .programs-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;align-items:stretch;}
.specialized-programs-page .program-card{padding:0!important;overflow:hidden;border-radius:24px!important;display:flex!important;flex-direction:column!important;text-align:inherit!important;background:#fff;transition:transform .25s ease,box-shadow .25s ease;}
.specialized-programs-page .program-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(20,55,90,.15)!important;}
.specialized-programs-page .program-media{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#eaf6f5,#f6fafb);border-bottom:1px solid #e3ecef;}
.specialized-programs-page .program-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.specialized-programs-page .program-card:hover .program-media img{transform:scale(1.025);}
.specialized-programs-page .program-media-empty{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 25% 20%,rgba(78,160,165,.18),transparent 30%),linear-gradient(135deg,#eaf4f5,#f9fbfc);}
.specialized-programs-page .program-media-empty .dna-mark{display:grid;place-items:center;width:94px;height:94px;border-radius:50%;border:1px solid rgba(54,126,133,.22);background:rgba(255,255,255,.7);color:#347b82;font-size:26px;font-weight:800;letter-spacing:2px;box-shadow:0 14px 35px rgba(31,88,97,.08);}
.specialized-programs-page .program-card .public-info-content{display:flex!important;flex:1;flex-direction:column;align-items:stretch!important;text-align:start!important;padding:22px 22px 20px;}
.specialized-programs-page .program-card h3{margin:0 0 9px;color:#173e58;font-size:21px;line-height:1.45;}
.specialized-programs-page .program-card p{margin:0 0 18px;color:#6b8090;line-height:1.75;min-height:50px;}
.specialized-programs-page .program-price-line{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px 11px;padding:14px 0;border-top:1px solid #edf1f3;}
.specialized-programs-page .program-price-line strong{font-size:20px;color:#183f57;}
.specialized-programs-page .old-price{text-decoration:line-through;color:#97a6af;}
.specialized-programs-page .discount-badge{font-size:12px;font-weight:800;background:#eef7f5;color:#2d756d;border-radius:999px;padding:5px 9px;}
.specialized-programs-page .public-contact-btn{width:100%;box-sizing:border-box;text-align:center;margin-top:2px;}

@media(max-width:900px){
 .package-image-manager{grid-template-columns:1fr;}
 .package-image-preview-box{min-height:240px;}
 .package-upload-row{grid-template-columns:1fr;}
 .package-list-head,.package-editor-title{flex-direction:column;align-items:stretch;}
}
@media(max-width:600px){
 .package-admin-wrap{padding:0 10px;}
 .package-image-manager{padding:14px;}
 .specialized-programs-page .programs-grid{grid-template-columns:1fr;}
}
