*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Arial,Helvetica,sans-serif;background:#f5f7fa;color:#1f2937}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.wrap{width:min(1120px,92%);margin:0 auto}
:root{--primary:#0b4a8b;--header-bg:#ffffff}
.site-header{background:var(--header-bg);border-bottom:1px solid #d9e1ea;position:sticky;top:0;z-index:100}.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:76px;padding:10px 0}.brand{display:flex;align-items:center;gap:12px;color:var(--primary);font-weight:700}.brand-logo{max-height:var(--logo-max-height);width:auto}.brand-text{font-size:28px;letter-spacing:.4px}.site-header nav,.nav-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.site-header nav a,.nav-right a{padding:8px 10px;border-radius:8px;color:var(--menu-text-color);font-size:15px;font-family:var(--menu-font-family);font-weight:var(--menu-font-weight)}.site-header nav a:hover,.nav-right a:hover{background:#edf4fb;color:var(--primary)}header nav a.active{color:#fff !important}.programs-table td.programs-date-danger{background:#ffc9c9}.programs-table td.programs-date-warning-pink{background:#ffd6ea}.programs-table td.programs-date-warning-yellow{background:#fff1a8}.programs-table td.programs-date-expired{background:#ff8f8f;color:#7f1d1d;font-weight:700}.main-content{padding:28px 0 42px;min-height:calc(100vh - 160px)}.site-footer{background:#fff;border-top:1px solid #d9e1ea;color:#4b5563;padding:18px 0;margin-top:34px;font-size:14px}
.hero,.card,.content-block,.programs-add-card,.settings-grid,.auth-box,.login-box{background:#fff;border:1px solid #dde6ef;border-radius:18px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.hero{padding:42px 34px;background:linear-gradient(135deg,#fff 0%,#eef4fb 100%)}.hero h1{margin:0 0 14px;font-size:38px;color:#0b2f57}.hero > div > p{margin:0;max-width:860px;font-size:18px;line-height:1.7;color:#374151}.card{padding:24px;margin-bottom:20px}
.narrow{max-width:420px;margin:40px auto 20px}
.btn{display:inline-block;background:var(--button-color);color:#fff;border:none;padding:10px 16px;border-radius:10px;cursor:pointer}.btn:hover{filter:brightness(.93)}.btn-secondary{background:#e9eef5;color:#1f2937}.btn.danger{background:#991b1b}.grid{display:grid;gap:18px}.two-col{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px;border-bottom:1px solid #e5e8ee;text-align:left;vertical-align:top}.stack{display:grid;gap:12px}.compact{margin-top:12px}.row-between{display:flex;justify-content:space-between;align-items:center;gap:12px}.badge{background:#ebf3ff;color:var(--primary);padding:6px 10px;border-radius:999px;font-size:12px}.flash{padding:12px 14px;border-radius:12px;margin-bottom:16px}.flash.success{background:#e8f7ea;color:#14532d}.flash.error{background:#feecec;color:#991b1b}label{display:grid;gap:6px}input,textarea,select{width:100%;padding:11px 12px;border:1px solid #cfd8e3;border-radius:10px;background:#fff}input[type=color]{height:44px;padding:4px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.muted{color:#64748b}.richtext,.content-block{font-size:var(--block-font-size,16px);line-height:var(--block-line-height,1.7)}.richtext p{line-height:inherit}.richtext ul{padding-left:22px;line-height:inherit}.certificates{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.cert-card{background:#fff;border:1px solid #e5e8ee;border-radius:16px;padding:12px}.cert-card img{width:100%;aspect-ratio:4/3;object-fit:contain;border-radius:12px;background:#eef2f6}.wysiwyg{min-height:180px}.toolbar{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.block-editor{border:1px solid #dbe2ea;border-radius:16px;padding:18px;background:#fbfdff}.block-preview img{max-width:280px;border-radius:12px;border:1px solid #dbe2ea}.wrap-actions{margin-top:12px}.blocks-grid{display:flex;flex-wrap:wrap;gap:18px}.block-col{width:100%}.block-width-12{width:calc(100% - 0px)}.block-width-8{width:calc(66.666% - 12px)}.block-width-6{width:calc(50% - 9px)}.block-width-4{width:calc(33.333% - 12px)}.block-width-3{width:calc(25% - 14px)}.content-block{padding:22px;margin:0}.block-text-image,.block-text-slideshow{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center}.block-text-image.image-left .text-col,.block-text-slideshow.image-left .text-col{order:2}.block-text-image.image-left .image-col,.block-text-slideshow.image-left .media-col{order:1}.block-text-image.image-top,.block-text-slideshow.image-top{grid-template-columns:1fr}.block-text-image img,.block-image img{width:100%;border-radius:16px;object-fit:cover;background:#eef2f7}.gallery-grid{display:flex;flex-wrap:wrap;gap:18px;margin-top:14px}.gallery-grid.gallery-align-center{justify-content:center}.gallery-grid.gallery-align-left{justify-content:flex-start}.gallery-card{margin:0;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:10px;box-sizing:border-box;flex:0 1 var(--gallery-item-width,31%);max-width:var(--gallery-item-width,31%);width:100%}.gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:#eef2f7}.gallery-card figcaption{padding:10px 4px 4px;color:#475569;font-size:14px}.gallery-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:14px 0}.gallery-admin-item{border:1px solid #dbe2ea;border-radius:14px;padding:10px;background:#fff}.gallery-admin-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;margin-bottom:8px}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:24px}.settings-logo-preview{max-width:260px;max-height:120px;object-fit:contain;background:#f8fbfe;padding:12px;border:1px solid #d9e1ea;border-radius:14px}.theme-colors-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.programs-sheet{padding:10px 0 20px}.programs-sheet-head{text-align:center;margin:10px 0 24px}.programs-sheet-head h1{margin:0;font-size:40px;line-height:1.15;color:#0b2f57;font-weight:800}.programs-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.programs-table{width:100%;max-width:900px;min-width:560px;margin:0 auto;border-collapse:collapse;background:#fff;table-layout:fixed}.programs-table th,.programs-table td{border:1px solid #222;padding:8px 6px;text-align:center;vertical-align:middle;font-size:13px;line-height:1.15;word-wrap:break-word;overflow-wrap:break-word}.programs-table th{font-size:14px;font-weight:700;background:#fff}.programs-table .node-col strong,.programs-table td strong{font-weight:800;color:#000}.programs-table th:nth-child(1),.programs-table td:nth-child(1){width:18%}.programs-table th:nth-child(2),.programs-table td:nth-child(2),.programs-table th:nth-child(3),.programs-table td:nth-child(3),.programs-table th:nth-child(4),.programs-table td:nth-child(4),.programs-table th:nth-child(5),.programs-table td:nth-child(5){width:16.4%}.programs-table .actions-col,.programs-actions{min-width:220px;text-align:left}.programs-inline-form{display:grid;gap:6px}.programs-inline-form input{width:100%;padding:7px 8px;font-size:12px}.programs-add-card{max-width:900px;margin:28px auto 0;padding:18px}.programs-add-card h2{margin-top:0;font-size:22px}.programs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.programs-grid label{display:block;margin-bottom:4px;font-size:13px}.programs-grid input{padding:8px 10px;font-size:13px}
.block-slideshow .richtext{margin-bottom:18px}.slideshow{position:relative;background:#fff;border:1px solid #dbe3ec;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(15,23,42,.06)}.slideshow-track{position:relative;display:grid;min-height:280px}.slide{grid-area:1/1;margin:0;opacity:0;pointer-events:none;transition:opacity var(--slide-fade-duration,2s) ease-in-out;z-index:1}.slide.is-active{opacity:1;pointer-events:auto;z-index:2}.slide img{width:100%;height:420px;object-fit:cover;display:block}.slide figcaption{padding:14px 18px;font-size:14px;color:#475569;background:#fff}.slide-nav{position:absolute;top:50%;transform:translateY(-50%);width:auto;height:auto;border:none;background:transparent;color:#fff;font-size:38px;line-height:1;cursor:pointer;z-index:3;padding:0 6px;text-shadow:0 2px 8px rgba(15,23,42,.55)}.slide-nav.prev{left:14px}.slide-nav.next{right:14px}.slide-nav:hover,.slide-nav:focus-visible{opacity:.9;outline:none}.slide-dots{display:none !important}.slide-dot{display:none !important}.slide-dot.is-active{display:none !important}
.wysiwyg-editor{display:grid;gap:8px}.wysiwyg-toolbar{display:flex;gap:8px;flex-wrap:wrap;padding:8px;border:1px solid #d7e0ea;border-radius:12px;background:#f8fbfe}.wysiwyg-btn{border:1px solid #cfd8e3;background:#fff;color:#1f2937;padding:7px 10px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600}.wysiwyg-btn:hover{background:#eef4fb;color:var(--primary)}.wysiwyg-surface{min-height:200px;padding:14px;border:1px solid #cfd8e3;border-radius:12px;background:#fff;line-height:1.7}.wysiwyg-surface:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(11,74,139,.12)}.wysiwyg-surface h2,.wysiwyg-surface h3{margin:0 0 12px}.wysiwyg-surface p{margin:0 0 12px}.wysiwyg-surface ul,.wysiwyg-surface ol{margin:0 0 12px;padding-left:22px}.wysiwyg-hint{font-size:12px;color:#64748b}
@media (max-width:1024px){.slide img{height:340px}}@media (max-width:980px){.two-col,.settings-grid,.theme-colors-grid{grid-template-columns:1fr 1fr}.hero{padding:32px}.hero h1{font-size:32px}.block-width-3,.block-width-4{width:calc(50% - 9px)}}@media (max-width:820px){.block-text-image,.block-text-slideshow{grid-template-columns:1fr}.gallery-card{flex-basis:min(100%,48%);max-width:min(100%,48%)}.block-width-8,.block-width-6,.block-width-4,.block-width-3{width:100%}}@media (max-width:768px){.nav{flex-direction:column;align-items:flex-start}.site-header nav,.nav-right{width:100%}.two-col,.settings-grid,.theme-colors-grid,.programs-grid{grid-template-columns:1fr}.hero{padding:24px}.hero h1{font-size:28px}.programs-sheet-head h1{font-size:28px}.programs-table th,.programs-table td{padding:6px 4px;font-size:11px}.programs-table th{font-size:12px}.slide img{height:240px}.slide-nav{width:36px;height:36px;font-size:20px}.gallery-card{flex-basis:100%;max-width:100%}.wysiwyg-toolbar{gap:6px}.wysiwyg-btn{padding:6px 8px;font-size:12px}.wysiwyg-surface{min-height:160px;padding:12px}}

.users-admin-card h1{margin-top:0}.users-table-wrap{width:100%;overflow-x:auto}.users-table{width:100%;table-layout:fixed}.users-table th:nth-child(1),.users-table td:nth-child(1){width:18%}.users-table th:nth-child(2),.users-table td:nth-child(2){width:24%}.users-table th:nth-child(3),.users-table td:nth-child(3){width:10%}.users-table th:nth-child(4),.users-table td:nth-child(4){width:9%}.users-table th:nth-child(5),.users-table td:nth-child(5){width:9%}.users-table th:nth-child(6),.users-table td:nth-child(6){width:9%}.users-table th:nth-child(7),.users-table td:nth-child(7){width:21%}.users-table td,.users-table th{word-break:break-word;overflow-wrap:anywhere}.users-table td:nth-child(4),.users-table td:nth-child(5),.users-table td:nth-child(6),.users-table th:nth-child(4),.users-table th:nth-child(5),.users-table th:nth-child(6){text-align:center}.users-email-cell{font-size:14px}.users-actions-cell details{display:grid;gap:10px}.users-actions-cell summary{cursor:pointer;font-weight:600;display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border:1px solid #cfd8e3;border-radius:8px;background:#f8fbff}.users-inline-form label{display:grid;gap:6px}.users-inline-form .btn,.users-delete-form .btn{width:100%;text-align:center}.users-delete-form{margin-top:12px}@media (max-width:768px){.users-admin-card{padding:18px}.users-create-form{gap:14px}.users-table thead{display:none}.users-table,.users-table tbody,.users-table tr,.users-table td{display:block;width:100%}.users-table tr{border:1px solid #e5e8ee;border-radius:14px;padding:12px;margin-bottom:14px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.04)}.users-table td{border:none;border-bottom:1px solid #eef2f7;padding:8px 0 8px 110px;min-height:36px;position:relative}.users-table td:last-child{border-bottom:none;padding-bottom:0}.users-table td::before{content:attr(data-label);position:absolute;left:0;top:8px;width:96px;font-weight:700;color:#475569}.users-actions-cell{padding-left:0 !important}.users-actions-cell::before{position:static;display:block;width:auto;margin-bottom:8px}.users-actions-cell details{background:#f8fbff;border:1px solid #dde6ef;border-radius:12px;padding:10px}.users-actions-cell .btn{width:100%;text-align:center}.users-email-cell{font-size:13px}}


/* Users table desktop fit fix */
@media (max-width:1200px){
  .users-table th:nth-child(1),.users-table td:nth-child(1){width:16%}
  .users-table th:nth-child(2),.users-table td:nth-child(2){width:22%}
  .users-table th:nth-child(3),.users-table td:nth-child(3){width:10%}
  .users-table th:nth-child(4),.users-table td:nth-child(4),.users-table th:nth-child(5),.users-table td:nth-child(5),.users-table th:nth-child(6),.users-table td:nth-child(6){width:8%}
  .users-table th:nth-child(7),.users-table td:nth-child(7){width:28%}
}

/* Users mobile fix v3 */
.users-table td,.users-table th{word-break:normal;overflow-wrap:normal}
.users-email-cell{overflow-wrap:anywhere}

@media (max-width: 900px){
  .users-table-wrap{overflow-x:visible}
  .users-table{table-layout:auto}
  .users-table,.users-table thead,.users-table tbody,.users-table tr,.users-table th,.users-table td{display:block;width:100%}
  .users-table thead{display:none}
  .users-table tr{border:1px solid #e5e8ee;border-radius:16px;padding:14px 16px;margin:0 0 16px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.04)}
  .users-table td{border:none !important;padding:0 !important;min-height:0;position:static !important;width:100% !important;max-width:100%}
  .users-table td + td{margin-top:14px;padding-top:14px !important;border-top:1px solid #eef2f7 !important}
  .users-table td::before{content:attr(data-label);display:block;position:static !important;width:auto !important;margin:0 0 6px;font-weight:700;color:#475569}
  .users-table td,.users-table td span,.users-table td div,.users-table td a{white-space:normal !important;word-break:normal !important;overflow-wrap:break-word !important}
  .users-table .users-email-cell,.users-table .users-email-cell a{overflow-wrap:anywhere !important}
  .users-actions-cell details{background:#f8fbff;border:1px solid #dde6ef;border-radius:12px;padding:10px}
  .users-actions-cell .btn,.users-actions-cell button,.users-actions-cell a{width:100%;text-align:center}
}


/* Programs compact mobile merged fix */
.programs-table-wrap.public-view{overflow-x:hidden}
.programs-table{max-width:760px;min-width:0}
.programs-table th,.programs-table td{padding:5px 4px;font-size:12px;line-height:1.1;overflow-wrap:anywhere}
.programs-table th{font-size:13px}
.programs-table-public th:nth-child(1),.programs-table-public td:nth-child(1){width:20%}
.programs-table-public th:nth-child(2),.programs-table-public td:nth-child(2),.programs-table-public th:nth-child(3),.programs-table-public td:nth-child(3),.programs-table-public th:nth-child(4),.programs-table-public td:nth-child(4),.programs-table-public th:nth-child(5),.programs-table-public td:nth-child(5){width:20%}
.programs-table-owner th:nth-child(1),.programs-table-owner td:nth-child(1){width:16%}
.programs-table-owner th:nth-child(2),.programs-table-owner td:nth-child(2),.programs-table-owner th:nth-child(3),.programs-table-owner td:nth-child(3),.programs-table-owner th:nth-child(4),.programs-table-owner td:nth-child(4),.programs-table-owner th:nth-child(5),.programs-table-owner td:nth-child(5){width:14%}
.programs-table-owner th:nth-child(6),.programs-table-owner td:nth-child(6){width:28%}
@media (max-width:768px){
  .programs-table{max-width:100%}
  .programs-table-public{width:100%}
  .programs-table-public th,.programs-table-public td{padding:3px 2px;font-size:10px;line-height:1.05}
  .programs-table-public th{font-size:10px}
  .programs-table-owner{min-width:620px}
  .programs-table-owner th,.programs-table-owner td{padding:5px 4px;font-size:11px}
  .programs-table-owner th{font-size:11px}
}


/* Programs admin table same as public; edit via node link */
.programs-table-owner th:nth-child(1),.programs-table-owner td:nth-child(1){width:20%}
.programs-table-owner th:nth-child(2),.programs-table-owner td:nth-child(2),.programs-table-owner th:nth-child(3),.programs-table-owner td:nth-child(3),.programs-table-owner th:nth-child(4),.programs-table-owner td:nth-child(4),.programs-table-owner th:nth-child(5),.programs-table-owner td:nth-child(5){width:20%}
.programs-edit-link{display:flex;flex-direction:column;align-items:flex-start;gap:4px;color:inherit;text-decoration:none}
.programs-edit-link span{font-size:11px;line-height:1.2;color:var(--primary);text-decoration:underline}
.programs-edit-list{max-width:900px;margin:24px auto 0;display:grid;gap:16px}
.programs-edit-card{scroll-margin-top:100px}
.programs-edit-card h2{margin:0;font-size:22px}
.programs-edit-card-head{margin-bottom:14px}
.programs-edit-actions{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:768px){
  .programs-table-owner{min-width:0;width:100%}
  .programs-table-owner th,.programs-table-owner td{padding:3px 2px;font-size:10px;line-height:1.05}
  .programs-table-owner th{font-size:10px}
  .programs-edit-card-head{align-items:flex-start;flex-direction:column}
  .programs-edit-actions .btn{width:100%;text-align:center}
}


/* Certificates gallery */
.certificates-page{background:var(--certificates-section-bg, #fff)}
.certificates-page-title{text-align:center;margin:0 0 18px}
.cert-gallery{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;column-gap:12px;row-gap:16px;margin-top:18px}
.cert-gallery-card{appearance:none;border:none;background:transparent;border-radius:0;padding:0;display:grid;gap:8px;justify-items:center;align-content:start;flex:0 1 calc((100% - 24px)/3);max-width:calc((100% - 24px)/3);width:max-content;text-align:center;cursor:pointer;box-shadow:none;transition:transform .18s ease, opacity .18s ease;overflow:visible}
.cert-gallery-card:hover,.cert-gallery-card:focus-visible{transform:translateY(-2px);opacity:.96;outline:none;box-shadow:none;border-color:transparent}
.cert-gallery-thumb-wrap{display:flex;align-items:center;justify-content:center;background:transparent;border-radius:0;padding:0;min-height:0;overflow:visible}
.cert-gallery-thumb{display:block;max-width:100%;max-height:240px;width:auto;height:auto;object-fit:contain}
.cert-gallery-title{display:block;font-size:15px;line-height:1.35;font-weight:700;color:#243447;word-break:break-word;text-align:center;max-width:100%}

@media (max-width: 900px){
  .cert-gallery-card{flex-basis:calc((100% - 12px)/2);max-width:calc((100% - 12px)/2)}
}

@media (max-width: 640px){
  .certificates-page__inner{padding:16px 10px 20px;}
  .certificates-page .richtext{text-align:left;}
  .cert-gallery{column-gap:10px;row-gap:14px;}
  .cert-gallery-card{flex-basis:100%;max-width:min(92vw, 240px);}
  .cert-gallery-thumb{max-width:min(84vw, 210px);max-height:150px;}
  .cert-gallery-title{max-width:min(84vw, 210px);}
}

























/* Certificates lightbox: single clean ruleset */
.cert-lightbox[hidden]{
  display:none !important;
}
.cert-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
}
.cert-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.78);
}
.cert-lightbox-dialog{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  box-sizing:border-box;
  background:transparent;
  overflow:visible;
}
.cert-lightbox-stage{
  position:relative;
  display:inline-block;
  margin:0 auto;
}
.cert-lightbox-body{
  display:flex;
  flex-direction:column;
  align-items:center;
  width:auto;
  margin:0 auto;
  padding:0;
  background:transparent;
}
.cert-lightbox-image{
  display:block;
  width:auto;
  height:auto;
  max-width:calc(100vw - 140px);
  max-height:calc(100vh - 140px);
  margin:0 auto;
  object-fit:contain;
}
.cert-lightbox-caption{
  margin:8px auto 0;
  padding:0;
  text-align:center;
  color:#fff;
  background:transparent;
  line-height:1.3;
  max-width:100%;
}
.cert-lightbox-close{
  position:fixed;
  top:18px;
  right:18px;
  z-index:10002;
  width:46px;
  height:46px;
  border:none;
  border-radius:50%;
  background:#fff;
  color:#111827;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
.cert-lightbox-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:10002;
  width:46px;
  height:46px;
  border:none;
  border-radius:50%;
  background:#fff;
  color:#111827;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
.cert-lightbox-nav.prev{
  left:-58px;
}
.cert-lightbox-nav.next{
  right:-58px;
}
@media (max-width: 900px){
  .cert-lightbox-image{
    max-width:calc(100vw - 110px);
    max-height:calc(100vh - 130px);
  }
  .cert-lightbox-nav.prev{
    left:-48px;
  }
  .cert-lightbox-nav.next{
    right:-48px;
  }
}
@media (max-width: 640px){
  .cert-lightbox-dialog{
    padding:10px;
  }
  .cert-lightbox-image{
    max-width:calc(100vw - 84px);
    max-height:calc(100vh - 118px);
  }
  .cert-lightbox-close{
    top:10px;
    right:10px;
    width:40px;
    height:40px;
    font-size:24px;
  }
  .cert-lightbox-nav{
    width:40px;
    height:40px;
    font-size:24px;
  }
  .cert-lightbox-nav.prev{
    left:-36px;
  }
  .cert-lightbox-nav.next{
    right:-36px;
  }
}


/* Slideshow: hide empty caption area so no white strip appears */
.slide figcaption:empty{
  display:none !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
}

/* Theme buttons: force theme variables to win over local button styles */
.btn,
a.btn,
button.btn,
input.btn,
.btn-secondary{
  background: var(--button-color) !important;
  color: var(--button-text-color) !important;
  border: 1px solid var(--button-border-color) !important;
  font-size: var(--button-font-size) !important;
  border-radius: var(--button-radius) !important;
  padding: var(--button-padding-y) var(--button-padding-x) !important;
}

.btn:hover,
.btn:focus-visible,
a.btn:hover,
a.btn:focus-visible,
button.btn:hover,
button.btn:focus-visible,
input.btn:hover,
input.btn:focus-visible,
.btn-secondary:hover,
.btn-secondary:focus-visible{
  background: var(--button-hover-color) !important;
  color: var(--button-hover-text-color) !important;
  border-color: var(--button-hover-color) !important;
}

.btn-secondary{
  background: transparent !important;
  color: var(--button-color) !important;
  border-color: var(--button-color) !important;
}

@media (max-width: 768px){
  .slideshow-track{
    min-height: 0 !important;
    height: auto !important;
  }

  .slide,
  .slideshow--fade .slide,
  .slideshow--slide .slide,
  .slideshow--slide .slide.is-active,
  .slideshow--fade .slide.is-active{
    position: relative !important;
    inset: auto !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .slide img{
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }

  .slide figcaption{
    display: none !important;
  }
}

.hero .btn,
.card .btn,
.content-block .btn,
.richtext .btn,
.wrap-actions .btn{
  margin-top: 12px;
}

.btn + .btn,
a.btn + a.btn,
.btn + .btn-secondary,
.btn-secondary + .btn{
  margin-left: 10px;
}

.page-title{margin:0 0 18px;color:#0b2f57}.page-title--left{text-align:left}.page-title--center{text-align:center}.hero .page-title--center{width:100%;text-align:center}


.messages-admin-card h1{margin:0 0 6px}
.messages-filters{display:grid;grid-template-columns:minmax(240px,2.2fr) minmax(140px,170px) minmax(120px,140px) auto;gap:12px;align-items:end;margin:18px 0}
.messages-filter-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end}
.messages-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.messages-table{width:100%;min-width:1080px;table-layout:fixed}
.messages-table th a{display:inline-flex;align-items:center;gap:4px;color:inherit}
.messages-table th,.messages-table td{word-break:normal;overflow-wrap:anywhere;vertical-align:top;padding:10px 8px}
.messages-table th:nth-child(1),.messages-table td:nth-child(1){width:44px;text-align:center}
.messages-table th:nth-child(2),.messages-table td:nth-child(2){width:132px}
.messages-table th:nth-child(3),.messages-table td:nth-child(3){width:70px;text-align:center}
.messages-table th:nth-child(4),.messages-table td:nth-child(4){width:150px}
.messages-table th:nth-child(5),.messages-table td:nth-child(5){width:200px}
.messages-table th:nth-child(6),.messages-table td:nth-child(6){width:132px}
.messages-table th:nth-child(7),.messages-table td:nth-child(7){width:150px}
.messages-table th:nth-child(9),.messages-table td:nth-child(9){width:110px;text-align:right}
.messages-date-cell{font-size:13px;line-height:1.35;color:#334155}
.messages-name-cell,.messages-subject-cell{font-weight:600}
.messages-email-cell a{color:var(--primary);text-decoration:none;overflow-wrap:anywhere}
.messages-email-cell a:hover{text-decoration:underline}
.messages-phone-cell:empty::before,.messages-subject-cell:empty::before{content:"—";color:#94a3b8}
.messages-message-cell{min-width:0}
.messages-message-content{white-space:normal;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
.messages-actions-head{text-align:right}
.messages-actions-cell form{margin:0;display:flex;justify-content:flex-end}
.messages-delete-btn{padding:8px 12px;font-size:12px;line-height:1.1}
.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}
.pagination-pages{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pagination-link{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border:1px solid #d9e1ea;border-radius:10px;background:#fff;color:#1f2937}
.pagination-link.is-active{background:var(--primary);border-color:var(--primary);color:#fff}
.pagination-ellipsis{color:#64748b}
.btn.is-disabled{pointer-events:none;opacity:.5}
@media (max-width:900px){.messages-filters{grid-template-columns:1fr 1fr}.messages-filter-actions{grid-column:1/-1;justify-content:flex-start}.messages-table{min-width:980px}}
@media (max-width:760px){.messages-admin-card{padding:18px}.messages-filters{grid-template-columns:1fr}.messages-filter-actions{justify-content:stretch}.messages-filter-actions .btn{flex:1 1 0;text-align:center;justify-content:center}.messages-bulk-actions{flex-direction:column;align-items:stretch}.messages-bulk-actions .btn{width:100%;text-align:center;justify-content:center}.messages-table-wrap{overflow-x:visible}.messages-table{min-width:0}.messages-table,.messages-table tbody,.messages-table tr,.messages-table td{display:block;width:100%}.messages-table thead{display:none}.messages-table tr{border:1px solid #e5e8ee;border-radius:16px;padding:14px 14px 12px;margin-bottom:14px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.04)}.messages-table td{border:none;border-bottom:1px solid #eef2f7;padding:0 0 10px 0;min-height:0;position:static}.messages-table td + td{padding-top:10px}.messages-table td:last-child{border-bottom:none;padding-bottom:0}.messages-table td::before{content:attr(data-label);display:block;margin:0 0 6px;font-weight:700;color:#475569}.messages-check-col{width:100%;text-align:left !important}.messages-check-col input{width:18px;height:18px}.messages-check-col::before{margin-bottom:8px}.messages-date-cell{font-size:12px}.messages-message-content{display:block;-webkit-line-clamp:initial;overflow:visible}.messages-actions-cell form{justify-content:stretch}.messages-actions-cell .btn{width:100%;text-align:center;justify-content:center}.pagination{align-items:stretch}.pagination .btn{width:100%;text-align:center;justify-content:center}.pagination-pages{justify-content:center}}
@media (max-width:480px){.messages-admin-card{padding:14px}.messages-table tr{padding:12px 12px 10px}.messages-table td{font-size:13px}.messages-filter-actions{flex-direction:column}.messages-filter-actions .btn{width:100%}}
.messages-bulk-form{display:flex;flex-direction:column;gap:14px}
.messages-bulk-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.messages-select-all{display:flex;align-items:center;gap:8px;font-weight:600}
.messages-check-col{width:44px;text-align:center}
.messages-check-col input{width:16px;height:16px}


.news-feed-list{display:grid;gap:20px}.news-card{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:18px;align-items:start;padding:18px;border:1px solid #d9e3ef;border-radius:18px;background:#fff}.news-card-image img{display:block;width:100%;height:auto;border-radius:14px}.news-card-date{font-size:.92rem;color:#64748b;margin-bottom:8px}.news-card h3{margin:0 0 10px;color:#0b2f57}.news-card-content .richtext>:first-child{margin-top:0}.news-card-content .richtext>:last-child{margin-bottom:0}.news-admin-list{display:grid;gap:18px}.admin-grid .card h2{margin-top:0}@media (max-width: 800px){.news-card{grid-template-columns:1fr}}

.content-block .richtext p,
.content-block .richtext li,
.content-block .richtext a,
.content-block .richtext span,
.content-block .richtext strong,
.content-block .richtext em{
  font-size:inherit;
  line-height:inherit;
}

.programs-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
}
.programs-table th,
.programs-table td{
  vertical-align:middle;
  word-break:break-word;
}
.programs-actions-cell{
  width:180px;
}
.programs-inline-form{
  display:grid;
  gap:8px;
}
.programs-inline-form input,
.programs-inline-form button{
  width:100%;
  box-sizing:border-box;
}
.programs-editor-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
}
@media (max-width: 900px){
  .programs-editor-grid{
    grid-template-columns:1fr;
  }
}



.site-header .header-inner{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.site-header .menu{
  flex:1 1 auto;
  min-width:0;
}
.site-header .menu a{
  white-space:nowrap;
}
.programs-table th{
  text-transform:none;
}


.site-header .nav{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.site-header .main-menu{
  display:flex;
  align-items:center;
  gap:14px;
  flex:1 1 auto;
  min-width:0;
  flex-wrap:wrap;
}
.site-header .main-menu a,
.site-header .nav-right a{
  padding:8px 10px;
  border-radius:8px;
  color:var(--menu-text-color);
  font-size:15px;
  font-family:var(--menu-font-family);
  font-weight:var(--menu-font-weight);
}
.site-header .main-menu a:hover,
.site-header .nav-right a:hover{
  background:#edf4fb;
  color:var(--primary);
}
.site-header .nav-right{
  display:flex;
  align-items:flex-start;
  gap:18px;
  flex:0 0 auto;
}
.site-header .lang-links{
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:flex-end;
}
.site-header .auth-links{
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:flex-end;
}
@media (max-width: 980px){
  .site-header .nav{
    align-items:stretch;
  }
  .site-header .nav-right{
    flex-direction:row;
    align-items:center;
    gap:12px;
  }
  .site-header .lang-links,
  .site-header .auth-links{
    flex-direction:row;
    align-items:center;
    gap:10px;
  }
}


/* Compact desktop header */
.site-header .header-inner{
  align-items:center;
  gap:12px;
}
.site-header .menu{
  display:flex;
  align-items:center;
  gap:10px;
}
.site-header .menu a{
  padding:6px 8px;
  line-height:1.1;
}
.lang-links{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  line-height:1.0;
}
.lang-links a{
  padding:2px 4px;
  line-height:1.0;
}

/* Compact programs table */
.programs-table--compact{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:15px;
}
.programs-table--compact th,
.programs-table--compact td{
  padding:8px 10px;
  vertical-align:middle;
  word-break:break-word;
}
.programs-table--compact th{
  font-size:14px;
  line-height:1.15;
}
.programs-node-cell{
  font-weight:600;
}
.programs-row-editor{
  display:block;
}
.programs-row-editor > summary{
  list-style:none;
  cursor:pointer;
}
.programs-row-editor > summary::-webkit-details-marker{
  display:none;
}
.programs-node-summary{
  color:inherit;
  text-decoration:none;
}
.programs-row-editor-panel{
  margin-top:8px;
}
.programs-inline-form{
  display:grid;
  gap:6px;
}
.programs-inline-form input,
.programs-inline-form button{
  width:100%;
  box-sizing:border-box;
}
.programs-editor-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
}

/* Mobile compactness */
@media (max-width: 980px){
  .site-header .menu{
    gap:8px;
  }
  .site-header .menu a{
    padding:5px 6px;
  }
  .lang-links{
    flex-direction:row;
    gap:10px;
  }
}
@media (max-width: 900px){
  .programs-editor-grid{
    grid-template-columns:1fr;
  }
  .programs-table--compact{
    font-size:14px;
  }
  .programs-table--compact th,
  .programs-table--compact td{
    padding:6px 8px;
  }
}


/* Header vertical centering and tighter spacing */
.site-header .header-inner{
  display:flex;
  align-items:center !important;
  justify-content:space-between;
  gap:12px;
}
.site-header .brand{
  display:flex;
  align-items:center;
}
.site-header .menu{
  display:flex;
  align-items:center !important;
  gap:10px;
  flex-wrap:nowrap;
}
.site-header .menu a{
  padding:6px 8px;
  line-height:1.1;
}
.site-header .header-right{
  display:flex;
  align-items:center !important;
  gap:16px;
}
.lang-links{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  line-height:1;
}
.lang-links a{
  padding:2px 4px;
  line-height:1;
}
.auth-links{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:6px;
}

/* Programs table compact mobile and desktop */
.programs-table{
  font-size:15px;
}
.programs-table th,
.programs-table td{
  padding:8px 10px;
  line-height:1.15;
}
.programs-table th{
  font-size:14px;
}
.programs-table td:not(:first-child){
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
}

@media (max-width: 900px){
  .programs-sheet h1{
    font-size:42px;
  }
  .programs-table{
    font-size:13px;
  }
  .programs-table th,
  .programs-table td{
    padding:4px 6px;
    line-height:1.1;
  }
  .programs-table th{
    font-size:12px;
  }
  .programs-node-summary{
    font-size:13px;
  }
  .programs-inline-form input,
  .programs-inline-form button,
  .programs-editor-grid input,
  .programs-editor-grid button{
    font-size:13px;
    padding:6px 8px;
  }
}

@media (max-width: 980px){
  .site-header .header-inner{
    align-items:center !important;
  }
  .site-header .menu{
    gap:8px;
  }
  .site-header .menu a{
    padding:5px 6px;
  }
  .lang-links{
    flex-direction:row;
    gap:8px;
  }
}


/* Header alignment fix for actual layout.php structure */
.site-header .wrap.nav{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center !important;
  gap:18px;
  min-height:96px;
}

.site-header .brand{
  display:flex;
  align-items:center;
}

.site-header .main-menu{
  display:flex;
  align-items:center !important;
  justify-content:center;
  gap:12px;
  min-height:96px;
}

.site-header .main-menu a{
  padding:6px 8px;
  line-height:1.1;
  white-space:nowrap;
}

.site-header .nav-right{
  display:flex;
  align-items:center !important;
  gap:16px;
  min-height:96px;
}

.site-header .lang-links{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  line-height:1;
}

.site-header .lang-links a{
  padding:2px 4px;
  line-height:1;
}

.site-header .auth-links{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:6px;
}

/* Compact Programs table */
.programs-table{
  font-size:15px;
}

.programs-table th,
.programs-table td{
  padding:8px 10px;
  line-height:1.15;
}

.programs-table th{
  font-size:14px;
}

.programs-table td:not(:first-child){
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
}

/* Mobile */
@media (max-width: 980px){
  .site-header .wrap.nav{
    grid-template-columns:1fr;
    gap:10px;
    min-height:auto;
  }

  .site-header .main-menu{
    flex-wrap:wrap;
    justify-content:center;
    min-height:auto;
    gap:8px;
  }

  .site-header .main-menu a{
    padding:5px 6px;
    font-size:14px;
  }

  .site-header .nav-right{
    justify-content:center;
    min-height:auto;
    gap:12px;
  }

  .site-header .lang-links{
    flex-direction:row;
    gap:8px;
  }

  .site-header .auth-links{
    gap:4px;
  }
}

@media (max-width: 900px){
  .programs-sheet h1{
    font-size:42px;
  }

  .programs-table{
    font-size:13px;
  }

  .programs-table th,
  .programs-table td{
    padding:4px 6px;
    line-height:1.1;
  }

  .programs-table th{
    font-size:12px;
  }

  .programs-node-summary{
    font-size:13px;
  }

  .programs-inline-form input,
  .programs-inline-form button,
  .programs-editor-grid input,
  .programs-editor-grid button{
    font-size:13px;
    padding:6px 8px;
  }
}



/* Exact header alignment for current layout.php */
.site-header .wrap.nav{
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;
  gap:18px !important;
  min-height:96px !important;
}
.site-header .brand{
  display:flex !important;
  align-items:center !important;
}
.site-header .main-menu{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:center !important;
  gap:12px !important;
  min-height:96px !important;
  flex-wrap:nowrap !important;
}
.site-header .main-menu a{
  padding:6px 8px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
}
.site-header .nav-right{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:center !important;
  gap:16px !important;
  min-height:96px !important;
}
.site-header .lang-links{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
  line-height:1 !important;
}
.site-header .lang-links a{
  padding:2px 4px !important;
  line-height:1 !important;
}
.site-header .auth-links{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:6px !important;
}
.site-header .auth-links a{
  line-height:1.1 !important;
}

/* Admin page edit cleanup */
.stack > label,
.stack > .grid,
.stack > .row-between,
.stack > .muted,
.stack > p{
  display:block;
}
.stack > label{
  width:100%;
}
.stack label input[type="text"],
.stack label input[type="number"],
.stack label input[type="color"],
.stack label input[type="url"],
.stack label input[type="email"],
.stack label input[type="file"],
.stack label select,
.stack label textarea{
  display:block;
  width:100%;
  box-sizing:border-box;
  margin-top:6px;
}
.stack .grid.two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.stack .grid.two-col > label,
.stack .grid.two-col > div{
  min-width:0;
}
.check{
  display:flex !important;
  align-items:center;
  gap:8px;
}

/* Programs table centering and compactness */
.programs-table th,
.programs-table td{
  text-align:center !important;
  vertical-align:middle !important;
}
.programs-node-cell{
  text-align:center !important;
}
.programs-node-summary{
  display:inline-block;
  text-align:center;
  width:100%;
}
.programs-table td:not(:first-child){
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

@media (max-width: 980px){
  .site-header .wrap.nav{
    grid-template-columns:1fr !important;
    min-height:auto !important;
    gap:10px !important;
  }
  .site-header .main-menu{
    min-height:auto !important;
    flex-wrap:wrap !important;
    gap:8px !important;
  }
  .site-header .main-menu a{
    padding:4px 5px !important;
    font-size:14px !important;
  }
  .site-header .nav-right{
    min-height:auto !important;
    gap:10px !important;
  }
  .site-header .lang-links{
    flex-direction:row !important;
    gap:6px !important;
  }
  .site-header .auth-links{
    gap:4px !important;
  }
}
@media (max-width: 900px){
  .stack .grid.two-col{
    grid-template-columns:1fr !important;
  }
  .programs-sheet h1{
    font-size:36px !important;
  }
  .programs-table{
    font-size:12px !important;
  }
  .programs-table th,
  .programs-table td{
    padding:3px 4px !important;
    line-height:1.05 !important;
  }
  .programs-table th{
    font-size:11px !important;
  }
  .programs-inline-form input,
  .programs-inline-form button,
  .programs-editor-grid input,
  .programs-editor-grid button{
    font-size:12px !important;
    padding:5px 6px !important;
  }
}


/* Smaller language switch font without changing spacing */
.site-header .lang-links a{
  font-size:12px !important;
}


/* Admin page edit cleanup */
.form-field{
  display:grid;
  gap:6px;
}
.card h1,
.card h2{
  margin-top:0;
}
.admin-page-edit .grid.two-col{
  align-items:end;
}

/* Programs table centered cells */
.programs-table th,
.programs-table td{
  text-align:center !important;
  vertical-align:middle !important;
}


/* Files page compact table like Programs */
.files-page .users-admin-head{margin-bottom:6px}
.files-page .users-admin-head .page-title{margin-bottom:0}
.files-upload-form{display:flex;align-items:end;gap:8px;flex-wrap:nowrap;margin-bottom:8px}
.files-upload-input{flex:1 1 auto;min-width:0;font-size:13px}
.files-upload-input input[type=file]{padding:6px 8px;border-radius:10px;font-size:12px}
.files-mini-btn,
.files-page .files-actions-inline .files-mini-btn,
.files-page .files-upload-form .files-mini-btn{
  padding:5px 8px !important;
  border-radius:8px !important;
  font-size:12px !important;
  line-height:1 !important;
  min-height:auto !important;
  min-width:0 !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}
.files-page .users-table td form{margin:0}
.files-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.files-table{
  width:100%;
  max-width:900px;
  min-width:640px;
  margin:0 auto;
  border-collapse:collapse;
  background:#fff;
  table-layout:fixed;
}
.files-table th,.files-table td{
  padding:5px 4px !important;
  vertical-align:middle !important;
  text-align:center !important;
  font-size:12px !important;
  line-height:1.1 !important;
  overflow-wrap:anywhere;
}
.files-table th{font-size:13px !important}
.files-table th:nth-child(1),.files-table td:nth-child(1){width:7%}
.files-table th:nth-child(2),.files-table td:nth-child(2){width:33%;text-align:left !important}
.files-table th:nth-child(3),.files-table td:nth-child(3){width:11%}
.files-table th:nth-child(4),.files-table td:nth-child(4){width:20%}
.files-table th:nth-child(5),.files-table td:nth-child(5){width:13%}
.files-table th:nth-child(6),.files-table td:nth-child(6){width:16%}
.files-name-cell{overflow-wrap:anywhere}
.files-actions-cell{text-align:center !important}
.files-actions-inline{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex-wrap:nowrap}
.files-actions-inline form{display:inline-flex}
@media (max-width:900px){
  .files-page{padding:14px}
  .files-table{max-width:100%;min-width:620px}
  .files-table th,.files-table td{padding:4px 3px !important;font-size:11px !important;line-height:1.05 !important}
  .files-table th{font-size:11px !important}
  .files-mini-btn,
  .files-page .files-actions-inline .files-mini-btn,
  .files-page .files-upload-form .files-mini-btn{padding:4px 7px !important;font-size:11px !important;border-radius:8px !important}
}
@media (max-width:768px){
  .files-upload-form{gap:6px;margin-bottom:6px}
  .files-upload-input input[type=file]{padding:5px 7px;font-size:11px}
  .files-table{min-width:560px}
  .files-table th,.files-table td{padding:3px 2px !important;font-size:10px !important;line-height:1.05 !important}
  .files-table th{font-size:10px !important}
  .files-mini-btn,
  .files-page .files-actions-inline .files-mini-btn,
  .files-page .files-upload-form .files-mini-btn{padding:3px 6px !important;font-size:10px !important;border-radius:7px !important}
}
@media (max-width:520px){
  .files-page{padding:12px}
  .files-upload-form{gap:5px}
  .files-upload-input{font-size:12px}
  .files-table{min-width:520px}
}

/* Unified inner page headings */
.unified-page-head{max-width:1200px;margin:0 auto 20px;padding:34px 30px;text-align:center}
.unified-page-head--compact{padding:18px 22px 8px;margin-bottom:8px}
.unified-page-head .page-title{margin:0 0 14px;font-size:36px;line-height:1.15;color:#0b2f57}
.unified-page-head .richtext{max-width:980px;margin:0 auto}
.unified-page-head .richtext > :first-child{margin-top:0}
.unified-page-head .richtext > :last-child{margin-bottom:0}
.unified-page-section{max-width:1200px;margin:0 auto}
.unified-page-grid{margin-top:0}
.unified-page-info .richtext > :first-child{margin-top:0}
.programs-sheet-head{max-width:1200px;margin:10px auto 18px}
.programs-sheet-head h1{margin:0}
.files-page .users-admin-head{margin-bottom:10px}
.files-page .users-admin-head .page-title{margin-bottom:0}
@media (max-width:768px){
  .unified-page-head{padding:24px 18px;margin-bottom:16px}
  .unified-page-head--compact{padding:14px 16px 6px}
  .unified-page-head .page-title{font-size:28px}
}

.unified-contact-form-card{max-width:860px;margin:0 auto}

/* Tighter page gutters and more compact section spacing */
.wrap{width:min(1240px,97.2%)}
.main-content{padding:12px 0 24px}
.site-footer{margin-top:18px}
.hero,.card,.content-block,.programs-add-card,.settings-grid,.auth-box,.login-box{border-radius:16px}
.card{padding:20px;margin-bottom:12px}
.unified-page-head{max-width:100%;margin:0 auto 10px;padding:24px 20px}
.unified-page-head--compact{padding:14px 18px 6px;margin-bottom:6px}
.unified-page-section{max-width:100%}
.unified-page-grid{gap:12px}
.programs-sheet{padding:4px 0 12px}
.programs-sheet-head{max-width:100%;margin:4px auto 10px}
.files-page{padding-top:4px}
.files-page .users-admin-head{margin-bottom:6px}
.unified-contact-form-card{max-width:720px}

@media (max-width:1024px){
  .wrap{width:min(100%,96.5%)}
  .unified-contact-form-card{max-width:680px}
}

@media (max-width:768px){
  .wrap{width:min(100%,98.2%)}
  .main-content{padding:8px 0 16px}
  .card{padding:14px;margin-bottom:10px}
  .hero{padding:18px}
  .unified-page-head{padding:14px 12px;margin-bottom:8px}
  .unified-page-head--compact{padding:10px 12px 4px;margin-bottom:4px}
  .programs-sheet-head{margin:2px auto 8px}
}

/* Files page mobile hotfix: keep real compact table instead of users-card layout */
.files-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width: 900px){
  .files-page .users-table-wrap{overflow-x:auto !important}
  .files-page .users-table,
  .files-page .users-table thead,
  .files-page .users-table tbody,
  .files-page .users-table tr,
  .files-page .users-table th,
  .files-page .users-table td{
    display:table-cell !important;
    width:auto !important;
    max-width:none !important;
    position:static !important;
  }
  .files-page .users-table{display:table !important;border-collapse:collapse;min-width:560px;width:100%}
  .files-page .users-table thead{display:table-header-group !important}
  .files-page .users-table tbody{display:table-row-group !important}
  .files-page .users-table tr{display:table-row !important;border:none !important;box-shadow:none !important;background:transparent !important;padding:0 !important;margin:0 !important}
  .files-page .users-table td,
  .files-page .users-table th{border-bottom:1px solid #e5e8ee !important;padding:4px 3px !important;min-height:0 !important;white-space:normal !important;word-break:break-word !important;overflow-wrap:anywhere !important}
  .files-page .users-table td::before,
  .files-page .users-table th::before{display:none !important;content:none !important}
  .files-page .files-actions-cell{padding-left:0 !important;text-align:center !important}
  .files-page .files-actions-inline{display:inline-flex !important;gap:4px;flex-wrap:nowrap;justify-content:center}
  .files-page .files-actions-inline .btn,
  .files-page .files-actions-inline button,
  .files-page .files-actions-inline a{width:auto !important}
}
@media (max-width: 640px){
  .files-page{padding:10px !important}
  .files-page .users-admin-head{margin-bottom:4px !important}
  .files-page .users-table{min-width:520px !important}
  .files-page .users-table td,
  .files-page .users-table th{padding:3px 2px !important;font-size:10px !important;line-height:1.05 !important}
  .files-page .users-table th{font-size:10px !important}
  .files-page .files-mini-btn,
  .files-page .files-actions-inline .files-mini-btn,
  .files-page .files-upload-form .files-mini-btn{padding:3px 6px !important;font-size:10px !important;border-radius:7px !important}
  .files-page .files-upload-form{gap:5px !important;align-items:center !important}
  .files-page .files-upload-input{font-size:11px !important}
  .files-page .files-upload-input input[type=file]{padding:4px 6px !important;font-size:10px !important}
}


.files-mobile-list{display:none}
.files-mobile-empty{padding:8px 0;font-size:13px;color:#475569}
.files-mobile-item{border-top:1px solid #e5e8ee;padding:4px 0}
.files-mobile-item:last-child{border-bottom:1px solid #e5e8ee}
.files-mobile-summary{display:flex;align-items:center;justify-content:space-between;gap:6px;cursor:pointer;list-style:none;font-weight:700;padding:0;margin:0}
.files-mobile-summary::-webkit-details-marker{display:none}
.files-mobile-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.15;flex:1 1 auto}
.files-mobile-id{flex:0 0 auto;font-size:10px;color:#64748b;font-weight:600}
.files-mobile-meta{display:flex;align-items:center;gap:2px;flex-wrap:nowrap;min-width:0;overflow:hidden;white-space:nowrap;font-size:8.5px;line-height:1.1;color:#475569;padding-top:1px}
.files-mobile-meta-item{min-width:0;overflow:hidden;text-overflow:ellipsis;max-width:34%}
.files-mobile-meta-sep{flex:0 0 auto;color:#94a3b8;font-size:8px}
.files-mobile-actions{display:none;align-items:center;gap:3px;padding-top:3px}
.files-mobile-actions form{margin:0;display:inline-flex}
.files-mobile-item[open] .files-mobile-actions{display:flex}
@media (max-width:760px){
  .files-page .files-table-wrap{display:none !important}
  .files-page .files-mobile-list{display:block !important}
  .files-page{padding:8px !important}
  .files-page .users-admin-head{margin-bottom:4px !important}
  .files-page .files-upload-form{gap:4px !important;align-items:center !important;margin-bottom:4px !important}
  .files-page .files-upload-input{font-size:11px !important}
  .files-page .files-upload-input input[type=file]{padding:3px 5px !important;font-size:10px !important}
  .files-page .files-mini-btn,
  .files-page .files-actions-inline .files-mini-btn,
  .files-page .files-upload-form .files-mini-btn{padding:3px 6px !important;font-size:10px !important;border-radius:7px !important;line-height:1.1 !important}
}
@media (max-width:480px){
  .files-page{padding:6px !important}
  .files-mobile-item{padding:4px 0}
  .files-mobile-name{font-size:10px}
  .files-mobile-id{font-size:9px}
  .files-mobile-meta{gap:2px;font-size:8px;padding-top:1px}
  .files-mobile-actions{gap:2px;padding-top:3px}
}

/* Global edge-to-edge spacing refinement v14 */
.wrap{width:min(100%,99.15%)}
.nav{gap:12px;min-height:68px;padding:6px 0}
.main-content{padding:6px 0 12px;min-height:calc(100vh - 136px)}
.site-footer{padding:12px 0;margin-top:10px}
.hero,.card,.content-block,.programs-add-card,.settings-grid,.auth-box,.login-box{border-radius:14px}
.card{padding:16px;margin-bottom:8px}
.grid,.stack,.blocks-grid,.gallery-grid,.news-feed-list,.news-admin-list,.admin-grid,.two-col,.settings-grid,.theme-colors-grid,.programs-grid{gap:12px}
.flash{margin-bottom:10px}
.unified-page-head{padding:16px 14px;margin-bottom:6px}
.unified-page-head--compact{padding:10px 12px 4px;margin-bottom:3px}
.unified-page-section{margin:0}
.programs-sheet{padding:2px 0 8px}
.programs-sheet-head{margin:2px auto 6px}
.files-page,.messages-admin-card,.users-admin-card{margin-top:0}

@media (max-width:1024px){
  .wrap{width:min(100%,99.35%)}
}

@media (max-width:768px){
  .wrap{width:min(100%,99.6%)}
  .nav{gap:8px;min-height:0;padding:4px 0}
  .main-content{padding:4px 0 10px}
  .site-footer{padding:10px 0;margin-top:8px}
  .hero,.card,.content-block,.programs-add-card,.settings-grid,.auth-box,.login-box{border-radius:12px}
  .card{padding:12px;margin-bottom:7px}
  .grid,.stack,.blocks-grid,.gallery-grid,.news-feed-list,.news-admin-list,.admin-grid,.two-col,.settings-grid,.theme-colors-grid,.programs-grid{gap:10px}
  .flash{margin-bottom:8px}
  .unified-page-head{padding:12px 10px;margin-bottom:5px}
  .unified-page-head--compact{padding:8px 10px 3px;margin-bottom:2px}
  .programs-sheet-head{margin:1px auto 5px}
}
