.news-hero{background:linear-gradient(135deg,var(--woodley-blue)0%,var(--woodley-green)100%);padding:140px 0 80px;position:relative;overflow:hidden}.news-hero:before{content:"";opacity:.5;background:url("data:image/svg+xml,<svg width='60' height='60' xmlns='http://www.w3.org/2000/svg'><circle cx='30' cy='30' r='1.5' fill='rgba(255,255,255,0.1)'/></svg>");position:absolute;inset:0}.news-hero .athletic-title{color:var(--white);letter-spacing:-1px;font-weight:700}.news-hero .lead{font-size:1.25rem;color:#ffffffe6!important}.news-card-athletic{background:var(--white);clip-path:polygon(0 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%);border:none;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 5px 15px #00000014}.news-card-athletic:after{content:"";background:var(--gradient-primary);transform-origin:0;height:3px;transition:transform .3s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.news-card-athletic:hover:after{transform:scaleX(1)}.news-card-athletic:hover{transform:translateY(-5px);box-shadow:0 15px 35px #00000026}.news-image-button{cursor:zoom-in;border-radius:inherit;background:0 0;border:none;width:100%;height:auto;padding:0;display:block;position:relative}.news-image-button:focus-visible{outline-offset:2px;outline:3px solid #06c6}.news-image-button .news-gallery-thumbnail{border-radius:inherit;transition:transform .3s}.news-image-button:hover .news-gallery-thumbnail,.news-image-button:focus-visible .news-gallery-thumbnail{transform:scale(1.05)}.news-image-zoom-hint{color:var(--white);opacity:0;background:#0f172aa6;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.75rem;font-weight:500;transition:opacity .2s;display:inline-flex;position:absolute;bottom:.75rem;right:.75rem}.news-image-button:hover .news-image-zoom-hint,.news-image-button:focus-visible .news-image-zoom-hint{opacity:1}.news-gallery-thumbnail{object-fit:cover;object-fit:cover;width:390px}.news-gallery{flex-direction:row;gap:1rem;display:flex}.news-gallery-item{border-radius:12px;overflow:hidden}.news-gallery-button{border-radius:inherit;width:100%}.news-content{flex-direction:column;gap:1.5rem;height:100%;display:flex}.news-title{color:var(--charcoal);margin:0;font-size:1.4rem;font-weight:600;line-height:1.3}.news-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.news-meta i{color:var(--woodley-blue)}.news-summary{flex:none}.news-summary p{color:#666;margin:0;line-height:1.6}.news-expand-wrapper{justify-content:flex-start;display:flex}.news-expand-button{color:var(--woodley-blue);background:#0f172a0d;border:1px solid #0f172a33;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.news-expand-button:hover,.news-expand-button:focus-visible{background:var(--woodley-blue);color:var(--white);border-color:var(--woodley-blue);text-decoration:none}.news-expand-button.expanded{background:var(--woodley-blue);color:var(--white);border-color:var(--woodley-blue)}.news-expand-button .bi{font-size:1rem}.news-body{color:#444;line-height:1.7}.news-body p:last-child{margin-bottom:0}.news-gallery{margin:0}.news-footer{border-top:1px solid #0f172a14;padding-top:1.5rem}.news-tags{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.news-tags .badge{border-radius:20px;padding:.4rem .8rem;font-size:.75rem;font-weight:500;background:var(--woodley-blue)!important}.news-related-training{border-left:4px solid var(--woodley-blue);color:var(--charcoal);background:#0066cc14;border-radius:8px;padding:.75rem 1rem;font-size:.95rem}.news-related-training i{color:var(--basketball-orange)}.news-related-training strong{color:var(--woodley-blue)}.news-actions{flex-wrap:wrap;gap:.5rem;display:flex}.news-expand-btn,.news-collapse-btn{border:1px solid var(--woodley-blue);color:var(--woodley-blue);text-transform:none;letter-spacing:.3px;border-radius:20px;padding:.4rem 1rem;font-size:.9rem;font-weight:500;transition:all .3s;position:relative;overflow:hidden}.news-expand-btn:before,.news-collapse-btn:before{content:"";background:var(--woodley-blue);z-index:-1;width:100%;height:100%;transition:left .3s;position:absolute;top:0;left:-100%}.news-expand-btn:hover:before,.news-collapse-btn:hover:before{left:0}.news-expand-btn:hover,.news-collapse-btn:hover{color:var(--white);border-color:var(--woodley-blue);transform:translateY(-2px);box-shadow:0 8px 20px #0066cc4d}.news-share-btn{border:1px solid var(--basketball-orange);color:var(--basketball-orange);text-transform:none;letter-spacing:.3px;border-radius:20px;padding:.4rem 1rem;font-size:.9rem;font-weight:500;transition:all .3s;position:relative;overflow:hidden}.news-share-btn:before{content:"";background:var(--basketball-orange);z-index:-1;width:100%;height:100%;transition:left .3s;position:absolute;top:0;left:-100%}.news-share-btn:hover:before{left:0}.news-share-btn:hover{color:var(--white);border-color:var(--basketball-orange);transform:translateY(-2px);box-shadow:0 8px 20px #ff6b354d}.news-share-feedback{color:var(--basketball-orange);font-size:.85rem}.news-full-content{background:linear-gradient(145deg,#f8f9fa,#fff);border:1px solid #0066cc1a;border-radius:12px;padding:2rem}.news-article-meta{background:var(--white);border-left:4px solid var(--woodley-blue);border-radius:8px;padding:1.5rem;box-shadow:0 2px 10px #0000000d}.news-article-meta small{font-size:.9rem}.news-article-meta strong{color:var(--charcoal);font-weight:600}.news-article-meta i{color:var(--basketball-orange);font-size:1rem}.news-content-body{color:var(--charcoal);font-size:1.05rem;line-height:1.8}.news-content-body h2{color:var(--woodley-blue);border-bottom:2px solid var(--basketball-orange);margin-top:2rem;margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.8rem}.news-content-body h3{color:var(--charcoal);margin-top:1.5rem;margin-bottom:1rem;font-size:1.5rem}.news-content-body h4{color:var(--charcoal);margin-top:1rem;margin-bottom:.8rem;font-size:1.3rem}.news-content-body p{margin-bottom:1.2rem}.news-content-body blockquote{background:linear-gradient(135deg,var(--woodley-blue),var(--woodley-green));color:var(--white);border-radius:12px;margin:2rem 0;padding:2rem;position:relative}.news-content-body blockquote:before{content:"\"";color:#ffffff4d;font-family:serif;font-size:4rem;position:absolute;top:-10px;left:20px}.news-content-body strong{color:var(--woodley-blue);font-weight:700}.news-content-body em{color:var(--basketball-orange);font-style:italic}.news-article-meta-bottom{color:#6c757d;border-top:1px solid #e9ecef;font-size:.8rem}.news-article-meta-bottom i{color:#adb5bd;font-size:.8rem}.news-article-meta-bottom small{opacity:.8;align-items:center;display:flex}.news-images-gallery{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.news-gallery-image{cursor:pointer;object-fit:cover;border-radius:8px;width:100%;height:100%;transition:all .3s;box-shadow:0 4px 15px #0000001a}.news-gallery-image:hover{transform:scale(1.02);box-shadow:0 8px 25px #00000026}#news-pagination{margin-top:3rem;margin-bottom:2rem}.pagination{--bs-pagination-border-radius:25px;gap:.5rem}.page-link{border:2px solid var(--woodley-blue);color:var(--woodley-blue);background:var(--white);margin:0;padding:.6rem 1rem;font-weight:600;text-decoration:none;transition:all .3s;position:relative;overflow:hidden;border-radius:25px!important}.page-link:before{content:"";background:var(--woodley-blue);z-index:-1;width:100%;height:100%;transition:left .3s;position:absolute;top:0;left:-100%}.page-link:hover:before{left:0}.page-link:hover{color:var(--white);border-color:var(--woodley-blue);transform:translateY(-2px);box-shadow:0 6px 15px #0066cc4d}.page-item.active .page-link{background:var(--gradient-primary);border-color:var(--woodley-blue);color:var(--white);box-shadow:0 4px 12px #06c6}.page-item.disabled .page-link{color:#ccc;cursor:not-allowed;background:#f8f9fa;border-color:#e9ecef}.page-item.disabled .page-link:hover{box-shadow:none;transform:none}.news-lightbox{z-index:1080;background:#0f172acc;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.news-lightbox-dialog{width:100%;max-width:min(900px,95vw);position:relative}.news-lightbox-image{object-fit:contain;background:var(--charcoal);border-radius:12px;width:100%;max-height:80vh;box-shadow:0 25px 60px #00000059}.news-lightbox-caption{color:var(--white);text-align:center;margin-top:.75rem;font-size:.95rem}.news-lightbox-close{color:var(--white);cursor:pointer;background:#0f172a99;border:none;border-radius:999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;transition:background .2s;display:inline-flex;position:absolute;top:.75rem;right:.75rem}.news-lightbox-close:hover,.news-lightbox-close:focus-visible{background:#0066ccb3}.news-loading,.news-error,.news-no-data{text-align:center;padding:4rem 2rem}.news-loading .spinner-border{border-width:.3rem;width:3rem;height:3rem}.news-error{color:var(--danger,#dc3545)}.news-no-data{color:var(--info,#0dcaf0)}@media (max-width:768px){.news-hero{padding:120px 0 60px}.news-hero .athletic-title{font-size:2.5rem}.news-hero .lead{font-size:1.1rem}.news-card-athletic{clip-path:none;border-radius:12px;margin-bottom:1.5rem}.news-title{font-size:1.2rem}.news-meta{font-size:.85rem}.news-full-content{margin-top:1rem;padding:1.5rem}.news-article-meta{padding:1rem}.news-content-body{font-size:1rem}.news-content-body h2{font-size:1.5rem}.news-content-body h3{font-size:1.3rem}.news-content-body blockquote{margin:1.5rem 0;padding:1.5rem}.news-images-gallery{grid-template-columns:1fr}.pagination{flex-wrap:wrap;justify-content:center;gap:.25rem}.page-link{padding:.5rem .8rem;font-size:.9rem}}@media (max-width:576px){.news-hero{padding:100px 0 50px}.news-hero .athletic-title{font-size:2rem}.news-hero .lead{font-size:1rem}.news-title{font-size:1.1rem}.news-expand-btn,.news-collapse-btn,.news-share-btn{padding:.5rem 1rem;font-size:.85rem}.news-full-content{padding:1rem}.news-content-body blockquote{padding:1rem;font-size:.95rem}.news-gallery-button{height:100px}.news-lightbox{padding:1.5rem}#news-pagination{margin-top:2rem}.page-link{padding:.4rem .6rem;font-size:.8rem}}.collapsing{transition:height .35s}.collapse.show{animation:.5s ease-in-out fadeInContent}@keyframes fadeInContent{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.news-expand-btn:focus,.news-collapse-btn:focus,.news-share-btn:focus,.page-link:focus{outline:3px solid var(--basketball-orange);outline-offset:2px;box-shadow:0 0 0 .2rem #ff6b3540}@media (prefers-contrast:high){.news-card-athletic{border:2px solid var(--charcoal)}.news-expand-btn,.news-collapse-btn,.news-share-btn,.page-link{border-width:3px}}@media (prefers-reduced-motion:reduce){.news-card-athletic,.news-thumbnail,.news-gallery-thumbnail,.news-expand-btn,.news-collapse-btn,.news-share-btn,.page-link,.news-image-zoom-hint,.news-lightbox,.news-lightbox-image,.news-lightbox-close{transition:none}.news-card-athletic:hover,.news-image-button:hover .news-thumbnail,.news-image-button:hover .news-gallery-thumbnail,.news-image-button:focus-visible .news-thumbnail,.news-image-button:focus-visible .news-gallery-thumbnail{transform:none}}.news-admin-toolbar{background:#0000000a;border:1px solid #00000014;border-radius:12px;padding:1.25rem}.news-admin-actions .btn{min-width:90px}.news-admin-form{background:#00000005;border:1px solid #0000000d;border-radius:12px;padding:1.5rem}.news-admin-images{flex-direction:column;gap:1.5rem;display:flex}.news-admin-image-card{background:var(--white);border:1px dashed #0000001a;border-radius:12px;padding:1rem}.news-status-chip{text-transform:uppercase;letter-spacing:.5px;border-radius:999px;padding:.35rem .75rem;font-size:.75rem}.news-admin-empty{text-align:center}.news-admin-modal-backdrop{z-index:1050;background:#0009;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.news-admin-modal{background:var(--white);border-radius:16px;flex-direction:column;width:min(900px,100%);max-height:90vh;display:flex;overflow:hidden}.news-admin-modal__header,.news-admin-modal__footer{background:#00000008;border-bottom:1px solid #0000000f;padding:1rem 1.5rem}.news-admin-modal__footer{border-top:1px solid #0000000f;border-bottom:none}.news-admin-modal__body{padding:1.5rem;overflow-y:auto}.news-admin-status .btn{min-width:110px}.news-admin-status .btn.btn-primary{box-shadow:0 4px 12px #06c3}.news-admin-status small{font-size:.8rem}
