:root{--ink:#142c37;--muted:#607078;--accent:#136a5b;--paper:#f6f8f5;--line:#dfe7e1;--gold:#f4c96b}
body{color:var(--ink);background:#fff}h1,h2,h3,h4,h5,h6{letter-spacing:-.025em}a,button,input,textarea,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #d6a642;outline-offset:4px}input,textarea,select{accent-color:var(--accent)}.gray-bg{background:var(--paper)}.main-btn{border-radius:8px}.singel-course,.singel-blog,.singel-publication{border-radius:16px;overflow:hidden;box-shadow:0 8px 28px #142c370b}.singel-course{height:calc(100% - 30px);border:1px solid var(--line);transition:transform .2s,box-shadow .2s}.singel-course:hover{transform:translateY(-5px);box-shadow:0 14px 35px #142c3718}.singel-course .thum .image img{aspect-ratio:16/10;object-fit:cover}.singel-course .cont{padding:26px}.singel-course .cont h4{font-size:22px;line-height:1.4}.singel-course .course-teacher{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.singel-course .course-teacher .admin{float:none;margin-left:auto}.page-header{padding:65px 0;background:var(--ink)}.page-header h1{color:white}.catalog-search{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:24px}.eyebrow{display:block;font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--accent);margin-bottom:12px}.search-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search-controls input{min-height:50px;border:1px solid var(--line);border-radius:8px;padding:0 16px;width:260px;max-width:100%}.search-controls a{color:var(--accent);font-weight:600}.contact-from,.contact-address{padding:32px;background:var(--paper);border-radius:16px}.contact-from input,.contact-from textarea{border-radius:8px;border:1px solid var(--line)}.pagination .page-link{color:var(--accent);border-color:var(--line)}.pagination .active .page-link{background:var(--accent);border-color:var(--accent)}
.admin-app{background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}.admin-app .navbar{background:var(--ink)!important;padding:20px 0}.admin-app .navbar-brand{font-size:24px;font-weight:750;letter-spacing:-1px}.admin-label{font-size:10px;letter-spacing:2px;margin-left:12px;color:#b8d4c9}.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:26px 0 30px}.workspace-heading h1{font-size:36px;font-weight:700;line-height:1.2;margin:0 0 12px}.workspace-heading p{color:var(--muted);margin:0}.overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}.overview-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 26px}.overview-stat span{display:block;color:var(--muted);font-size:13px}.overview-stat strong{display:block;font-size:34px;margin-top:7px;font-weight:650}.workspace-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px;padding:10px;background:#e8eee8;border-radius:12px}.workspace-tabs a{padding:8px 20px;color:var(--ink);border-radius:7px;font-weight:600;font-size:14px}.workspace-tabs a:hover,.workspace-tabs a:focus{background:#fff;text-decoration:none}.admin-app .card{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:28px;scroll-margin-top:20px}.admin-app .card-header{background:white;border-bottom:1px solid var(--line);padding:22px 28px;font-size:19px;font-weight:650}.admin-app .card-header small{float:right;color:var(--muted);font-size:12px;padding-top:6px}.admin-app .card-body{padding:28px}.admin-app label{font-size:13px;font-weight:600;color:#40535b}.admin-app .form-control{border:1px solid #ccd8cf;border-radius:7px;min-height:43px;background:#fff;color:var(--ink)}.admin-app textarea.form-control{line-height:1.6}.admin-app .btn{border-radius:7px;font-weight:600;padding:10px 17px;font-size:13px}.admin-app .btn-primary,.admin-app .btn-success{background:var(--accent);border-color:var(--accent)}.admin-app .btn-outline-primary{color:var(--accent);border-color:var(--accent)}.admin-app .btn-sm{padding:6px 10px;font-size:12px}.admin-app .btn-warning{background:#fff4d8;border-color:#f5dfac;color:#735418}.admin-app .btn-danger{background:#fff0ec;border-color:#f0d3cb;color:#ab3d2d}.admin-app .btn-info{background:#edf3f7;border-color:#d6e0e7;color:#345c75}.admin-app .table{font-size:13px;min-width:640px}.admin-app .table th{border-top:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--paper)}.admin-app .table td{vertical-align:middle;border-color:var(--line);padding:15px 12px}.action-form{display:inline-block;margin:3px 0}.inbox-message{border-bottom:1px solid var(--line);padding:20px 0}.inbox-message:first-child{padding-top:0}.inbox-message:last-child{border:0}.inbox-message>div{display:flex;justify-content:space-between;gap:15px}.inbox-message time{font-size:12px;color:var(--muted)}.inbox-message p{white-space:normal;overflow-wrap:anywhere;margin:10px 0}.inbox-message a{font-size:13px;color:var(--accent)}.empty-state{padding:30px;text-align:center;color:var(--muted)}.login-page{background:linear-gradient(120deg,#e7efe7,#f7f4e9);min-height:100vh;padding:1px 0}.login-page .login-box{max-width:460px;margin:10vh auto;padding:44px;border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 60px #142c3712}.login-page h1{font-size:34px;font-weight:700}.login-page p{color:var(--muted)}.back-link{display:block;text-align:center;margin-top:24px;color:var(--accent);font-size:13px}
@media(max-width:767px){.workspace-heading{align-items:flex-start;flex-direction:column}.workspace-heading h1{font-size:29px}.overview-grid{grid-template-columns:repeat(2,1fr);gap:10px}.overview-stat{padding:18px}.admin-app .card-body,.admin-app .card-header{padding:20px}.workspace-tabs a{padding:8px 11px}.catalog-search .search-controls{width:100%}.search-controls input{flex:1;min-width:160px;width:100%}.contact-from,.contact-address{padding:22px}.contact-address{margin-top:24px}.login-page .login-box{padding:28px;margin:8vh auto}.inbox-message>div{flex-direction:column;gap:5px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.preloader{display:none!important}}

/* Shared public layouts: desktop, tablet, and phone. */
.public-site .navigation.sticky { animation: none; }
.public-site .navigation-slot { width: 100%; }
.public-site h1, .public-site h2, .public-site h3,
.public-site h4, .public-site h5, .public-site h6,
.public-site p, .public-site .cont { overflow-wrap: anywhere; }
.public-site .row > [class*="col-"] { min-width: 0; }
.public-site .main-btn { max-width: 100%; white-space: normal; }
.public-site #page-banner, .public-site .page-header {
    padding-top: clamp(44px, 5vw, 80px);
    padding-bottom: clamp(44px, 5vw, 80px);
}
.public-site .page-banner-cont h2, .public-site .page-header h1 {
    font-size: clamp(28px, 3.5vw, 44px);
    line-height: 1.2;
}
.public-site #courses-part, .public-site #shop-part, .public-site #events-part,
.public-site #blog-part, .public-site .teachers-2 {
    padding-top: clamp(32px, 4vw, 64px);
    padding-bottom: clamp(40px, 5vw, 80px);
}

/* Dedicated badge avoids the legacy .price rules, including cached list styles. */
.public-site .singel-course > .thum > .course-price-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    bottom: auto;
    left: auto;
    z-index: 2;
    display: block;
    box-sizing: border-box;
    width: max-content;
    max-width: calc(100% - 32px);
    height: auto;
    padding: 10px 14px;
    border-radius: 8px;
    background: #ffc600;
    color: #07294d;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
    transform: none;
    box-shadow: 0 3px 12px #142c3720;
}
.public-site .singel-course {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.public-site .singel-course > .thum { flex: none; }
.public-site .singel-course > .thum .image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}
.public-site .singel-course > .cont {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 24px;
}
.public-site .course-rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 12px;
}
.public-site .course-rating ul { margin: 0; flex-shrink: 0; }
.public-site .singel-course .cont h4 {
    padding: 0;
    margin: 18px 0 24px;
    min-height: 2.8em;
    font-size: 21px;
    line-height: 1.4;
}
.public-site .singel-course .course-teacher {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: center;
    gap: 8px 12px;
    margin-top: auto;
    padding-top: 18px;
    overflow: visible;
}
.public-site .singel-course .course-teacher > .thum { grid-row: 1 / 3; }
.public-site .singel-course .course-teacher .name {
    position: static;
    margin: 0;
}
.public-site .singel-course .course-teacher .name h6 { margin: 0; font-size: 15px; }
.public-site .singel-course .course-teacher .admin {
    grid-column: 2;
    float: none;
    margin: 0;
    overflow: visible;
}
.public-site .singel-course .course-teacher .admin ul { margin: 0; }
.public-site .singel-course .course-teacher .admin ul li a { font-size: 13px; }

/* Other catalog cards use the same flexible layout principles. */
.public-site #shop-list .singel-publication,
.public-site #events-part .singel-event-list,
.public-site .teachers-2 .teachers-2-singel {
    display: flex;
    flex-direction: column;
    height: calc(100% - 30px);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
}
.public-site #shop-list .singel-publication { height: 100%; }
.public-site .teachers-2 .teachers-2-singel { height: 100%; }
.public-site #events-part .singel-event-list .event-thum { float: none; width: 100%; }
.public-site #events-part .singel-event-list .event-cont,
.public-site #shop-list .singel-publication > .cont {
    display: flex;
    flex-direction: column;
    flex: 1;
    width: 100%;
    padding: 24px;
}
.public-site #events-part .event-cont > .main-btn,
.public-site #shop-list .cont > .button { margin-top: auto; align-self: flex-start; }
.public-site #shop-list .cont > p { margin: 12px 0 24px; }
.public-site #shop-list .singel-publication .thum img,
.public-site #events-part .event-thum img,
.public-site .singel-blog .blog-thum img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}
.public-site .teachers-2 .teachers-2-singel .thum img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.public-site .event-details-area img, .public-site .about-image img,
.public-site .product-image img, .public-site .teacher-details img {
    max-width: 100%;
    height: auto;
}
.public-site .catalog-search > div, .public-site .search-controls { min-width: 0; }
.public-site .catalog-search .search-controls input { min-width: 0; }
.public-site .contact-address span { overflow-wrap: anywhere; }

@media (min-width: 992px) and (max-width: 1199.98px) {
    .public-site .navigation .navbar .navbar-nav li { margin-right: 22px; }
    .public-site .navigation .navbar .navbar-nav li a { font-size: 13px; }
}
@media (max-width: 991.98px) {
    .public-site .navigation.sticky .navbar-collapse {
        max-height: 65vh;
        overflow-y: auto;
    }
    .public-site .sidebar-right, .public-site .saidbar,
    .public-site .shop-right, .public-site .shop-details { margin-top: 32px; }
    .public-site .catalog-search { align-items: stretch; gap: 18px; }
    .public-site .catalog-search .search-controls { width: 100%; }
    .public-site .catalog-search .search-controls input { flex: 1; }
}
@media (max-width: 575.98px) {
    .public-site .singel-course .cont h4 { min-height: 0; }
    .public-site .singel-course > .cont { padding: 20px; }
    .public-site .search-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
    .public-site .search-controls input { grid-column: 1 / -1; width: 100%; }
    .public-site .search-controls .main-btn { padding: 0 22px; }
    .public-site .blog-cont, .public-site .blog-details .cont { padding: 22px; }
    .public-site .course-features { padding: 24px; }
    .public-site .contact-from, .public-site .contact-address { padding: 20px; }
}
.permission-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:10px; margin-top:10px; }
.permission-option { display:flex!important; align-items:center; gap:9px; padding:12px 14px; margin:0!important; border:1px solid #dfe6ee; border-radius:10px; background:#f8fafc; cursor:pointer; }
.permission-option input { width:17px; height:17px; }

/* Separate operation pages and compact dashboard overview. */
.admin-page-nav { margin-top: 8px; }
.admin-page-nav a.active { background: var(--accent); color: #fff; }
.admin-tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: 32px; }
.admin-tool { display: flex; flex-direction: column; padding: 26px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: var(--ink); }
.admin-tool:hover { text-decoration: none; color: var(--ink); border-color: var(--accent); }
.admin-tool h2 { font-size: 20px; font-weight: 650; margin-bottom: 14px; }
.admin-tool h2 span { float: right; color: var(--accent); }
.admin-tool p { font-size: 14px; line-height: 1.6; color: var(--muted); margin-bottom: 22px; }
.admin-tool-link { margin-top: auto; font-size: 13px; font-weight: 600; color: var(--accent); }
@media (max-width: 991px) { .admin-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575px) { .admin-tools { grid-template-columns: 1fr; gap: 12px; } .admin-page-nav a { padding: 8px 10px; } }

/* A deliberately empty slider must not leave the overlapping category layout. */
.public-site #category-part.without-slides { padding-top: 48px; }
.public-site #category-part.without-slides .learning-hub { margin-top: 0; }
.public-site #slider-part .slider-cont h1 { overflow-wrap: anywhere; }
.public-site #slider-part .single-slider { height: auto; min-height: 640px; padding-bottom: 160px; }
@media (max-width: 767px) {
    .public-site #slider-part .single-slider { min-height: 0; padding-top: 64px; padding-bottom: 120px; }
}

/* Admin page builder: content-specific forms, without HTML entry. */
.builder-step { margin: 24px 0; padding: 24px; background: #f6f8f5; border: 1px solid var(--line); border-radius: 12px; }
.builder-step h3 { font-size: 22px; margin-bottom: 20px; }
.builder-layout-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.admin-app .builder-layout-option { display: flex; align-items: flex-start; gap: 12px; padding: 18px; margin: 0; background: white; border: 2px solid var(--line); border-radius: 10px; cursor: pointer; }
.builder-layout-option input { margin-top: 5px; accent-color: var(--accent); }
.builder-layout-option strong, .builder-layout-option small { display: block; }
.builder-layout-option strong { font-size: 16px; color: var(--ink); }
.builder-layout-option small { margin-top: 6px; color: var(--muted); font-size: 13px; font-weight: 400; line-height: 1.5; }
.admin-app .builder-layout-option.selected { border-color: var(--accent); background: #eef7f1; }
.builder-item { min-width: 0; margin-bottom: 22px; padding: 22px; background: white; border: 1px solid var(--line); border-radius: 10px; }
.builder-item legend { width: auto; padding: 0 8px; font-size: 17px; font-weight: 650; }
.builder-item-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.builder-item label { width: 100%; }
.builder-item input, .builder-item textarea { margin-top: 7px; }
.builder-image-preview { display: block; width: 160px; max-height: 120px; object-fit: cover; margin-top: 12px; border-radius: 8px; }
.builder-remove-image { margin-top: 10px; }
.builder-step [hidden] { display: none !important; }

/* Shared public and preview rendering. */
.page-layout { color: var(--ink); }
.page-layout-heading { max-width: 760px; margin-bottom: 32px; }
.page-layout-heading h2 { font-size: clamp(26px,3vw,36px); line-height: 1.25; margin: 0 0 14px; overflow-wrap: anywhere; }
.page-layout-heading p { font-size: 17px; line-height: 1.7; color: var(--muted); }
.page-layout-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.page-layout-item { min-width: 0; display: flex; flex-direction: column; background: white; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.page-layout-image { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.page-layout-body { display: flex; flex-direction: column; flex: 1; padding: 26px; }
.page-layout-body h3 { font-size: 23px; line-height: 1.35; margin: 0 0 14px; overflow-wrap: anywhere; }
.page-layout-copy { font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; color: #465b65; margin: 0 0 24px; }
.page-layout-button { display: inline-flex; gap: 16px; align-items: center; align-self: flex-start; margin-top: auto; padding: 11px 18px; background: var(--accent); color: white; border-radius: 8px; font-weight: 600; overflow-wrap: anywhere; }
.page-layout-button:hover { color: white; background: #0b5145; text-decoration: none; }
.page-layout--profiles .page-layout-image { aspect-ratio: 1; }
.page-profile-role { color: var(--accent); font-weight: 600; margin: -4px 0 16px; }
.page-profile-placeholder { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; background: #e8f0e9; color: var(--accent); font-size: 80px; }
.page-layout--information .page-layout-grid { grid-template-columns: 1fr; }
.page-layout--information .page-layout-item { display: block; border: none; background: transparent; }
.page-layout--information .page-layout-image { max-height: 440px; border-radius: 14px; margin-bottom: 28px; }
.page-layout--information .page-layout-body { padding: 0; max-width: 850px; }
@media(max-width:991px) { .page-layout-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:575px) {
    .builder-layout-options, .page-layout-grid { grid-template-columns: 1fr; }
    .builder-step, .builder-item { padding: 16px; }
    .page-layout-body { padding: 22px; }
}

/* Content management pages: products, blog posts and teacher profiles. */
.content-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 24px;
}
.content-summary--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.content-summary > div {
    position: relative;
    overflow: hidden;
    min-height: 105px;
    padding: 20px 22px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
}
.content-summary > div::after {
    content: '';
    position: absolute;
    right: -18px;
    bottom: -28px;
    width: 75px;
    height: 75px;
    border-radius: 50%;
    background: #e6f1eb;
}
.content-summary span { display: block; color: var(--muted); font-size: 12px; font-weight: 650; text-transform: uppercase; letter-spacing: .06em; }
.content-summary strong { display: block; margin-top: 8px; font-size: 30px; line-height: 1; color: var(--ink); }
.content-editor-card { border-top: 4px solid var(--accent) !important; }
.admin-app .content-editor-card .card-header,
.admin-app .content-list-card .card-header { padding: 24px 28px; }
.content-editor-card .card-header > div,
.content-list-card .card-header > div { display: flex; flex-direction: column; }
.content-editor-card .card-header small,
.content-list-card .card-header small { float: none; margin-top: 6px; padding: 0; font-weight: 400; line-height: 1.5; }
.content-card-kicker { margin-bottom: 7px; color: var(--accent); font-size: 10px; font-weight: 750; letter-spacing: .14em; }
.content-editor-card .card-body { background: linear-gradient(180deg, #fbfcfa 0, #fff 180px); }
.content-editor-card .form-group { margin-bottom: 22px; }
.content-editor-card .form-group > label { display: block; width: 100%; }
.content-editor-card .form-group small,
.content-editor-card .form-text { display: block; margin-top: 7px; color: var(--muted); line-height: 1.45; }
.content-editor-card input.form-control,
.content-editor-card select.form-control { min-height: 47px; }
.content-editor-card textarea.form-control { padding-top: 13px; resize: vertical; }
.content-editor-card input[type=file].form-control { min-height: 48px; padding: 8px; background: #f5f8f5; border-style: dashed; }
.content-editor-card .builder-image-preview { width: 220px; max-height: 145px; padding: 5px; border: 1px solid var(--line); background: white; }
.content-list-card .card-body { padding-top: 10px; }
.content-record { display: flex; align-items: center; gap: 14px; min-width: 250px; }
.content-record img { flex: 0 0 68px; width: 68px; height: 48px; border-radius: 8px; object-fit: cover; background: #edf1ee; }
.content-record img.content-record-avatar { width: 52px; height: 52px; flex-basis: 52px; border-radius: 50%; }
.content-record strong { display: block; max-width: 330px; font-size: 14px; line-height: 1.4; color: var(--ink); }
.content-record small { display: block; margin-top: 4px; color: var(--muted); }
.content-status { display: inline-flex; align-items: center; gap: 6px; margin: 2px 5px 2px 0; padding: 6px 10px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.content-status::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.content-status--live { color: #176b4b; background: #e5f5eb; }
.content-status--muted { color: #68747a; background: #edf0f1; }
.content-status--draft { color: #8a6114; background: #fff3d5; }
.content-status--featured { color: #765600; background: #fff0b4; }
.content-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; min-width: 150px; }
.content-actions .action-form { margin: 0; }
.content-list-card tbody tr { transition: background-color .15s ease; }
.content-list-card tbody tr:hover { background: #f8faf8; }
@media (max-width: 991px) {
    .content-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
    .content-summary, .content-summary--three { grid-template-columns: 1fr 1fr; gap: 9px; }
    .content-summary > div { min-height: 88px; padding: 16px; }
    .content-summary strong { font-size: 25px; }
    .admin-app .content-editor-card .card-header,
    .admin-app .content-list-card .card-header { padding: 19px 20px; }
    .content-record { min-width: 215px; }
}

/* Navigation hierarchy and public dropdown polish. */
.navigation-tree-key { display:flex; gap:18px; flex-wrap:wrap; margin:28px 0 0; padding:12px 16px; border-radius:10px; background:#f4f7f5; color:var(--muted); font-size:12px; font-weight:700; }
.navigation-tree-key span { display:flex; align-items:center; gap:7px; }
.navigation-node { width:9px; height:9px; border-radius:50%; background:var(--accent); }
.navigation-node--child { background:#f0b400; }
.navigation-item-label { display:flex; align-items:center; gap:11px; min-width:190px; }
.navigation-item-label strong,.navigation-item-label small { display:block; }
.navigation-item-label small { margin-top:3px; color:var(--muted); font-size:11px; }
.navigation-branch { display:grid; place-items:center; flex:0 0 28px; width:28px; height:28px; border-radius:8px; background:#e5f5eb; color:var(--accent); font-weight:800; }
.navigation-child-row td:first-child { padding-left:34px; }
.navigation-child-row .navigation-branch { background:#fff0b4; color:#765600; }
.navigation-child-row { background:#fcfdfb; }
.navigation-tree code { display:inline-block; max-width:230px; padding:5px 8px; border-radius:6px; background:#eef2ef; color:#3c514a; overflow-wrap:anywhere; }
@media (min-width:992px) {
    .public-site .navigation .navbar .navbar-nav > li.menu-item-has-children > a { display:flex; align-items:center; gap:7px; }
    .public-site .navigation .navbar .navbar-nav > li.menu-item-has-children > a::after { content:'\f107'; font-family:FontAwesome; font-size:12px; transition:transform .2s ease; }
    .public-site .navigation .navbar .navbar-nav > li.menu-item-has-children:hover > a::after { transform:rotate(180deg); }
    .public-site .navigation .navbar .navbar-nav li .sub-menu { width:245px; padding:10px; border:1px solid rgba(7,55,47,.1); border-radius:12px; background:#fff; box-shadow:0 18px 45px rgba(5,35,30,.16); }
    .public-site .navigation .navbar .navbar-nav li .sub-menu::before { content:''; position:absolute; top:-6px; left:26px; width:12px; height:12px; transform:rotate(45deg); background:#fff; border-left:1px solid rgba(7,55,47,.1); border-top:1px solid rgba(7,55,47,.1); }
    .public-site .navigation .navbar .navbar-nav li .sub-menu li { margin:0; }
    .public-site .navigation .navbar .navbar-nav li .sub-menu li a { position:relative; padding:11px 13px 11px 30px; border:0; border-radius:8px; color:#173a34; font-size:14px; line-height:1.35; }
    .public-site .navigation .navbar .navbar-nav li .sub-menu li a::before { content:'→'; position:absolute; left:11px; color:#0d7a64; opacity:.65; transition:transform .18s ease; }
    .public-site .navigation .navbar .navbar-nav li .sub-menu li a:hover { padding-left:34px; background:#edf7f2; color:#075f50; }
    .public-site .navigation .navbar .navbar-nav li .sub-menu li a:hover::before { transform:translateX(3px); }
}
@media (max-width:991px) {
    .public-site .navigation .navbar .navbar-nav li .sub-menu { margin:4px 12px 10px; padding:6px; border-left:3px solid #0d7a64; border-radius:0 9px 9px 0; background:#f3f8f5; }
    .public-site .navigation .navbar .navbar-nav li .sub-menu li a { padding:10px 14px; border-bottom:1px solid #dde9e2; font-size:13px; }
    .public-site .navigation .navbar .navbar-nav li .sub-menu li:last-child a { border-bottom:0; }
    .navigation-child-row td:first-child { padding-left:20px; }
}

/* Homepage sponsor strip. */
.home-sponsors { padding:92px 0; background:linear-gradient(135deg,#073a33 0%,#0b5c50 100%); color:#fff; }
.home-sponsors__heading { max-width:650px; margin:0 auto 42px; text-align:center; }
.home-sponsors__heading > span { display:block; margin-bottom:10px; color:#ffcc19; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.home-sponsors__heading h2 { margin:0 0 12px; color:#fff; font-size:clamp(27px,3vw,38px); line-height:1.2; }
.home-sponsors__heading p { margin:0; color:rgba(255,255,255,.76); font-size:16px; line-height:1.65; }
.home-sponsors__logos { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; align-items:center; }
.home-sponsors__logo { display:flex; align-items:center; justify-content:center; min-height:122px; padding:26px; border:1px solid rgba(255,255,255,.16); border-radius:14px; background:rgba(255,255,255,.96); box-shadow:0 12px 25px rgba(0,0,0,.1); transition:transform .2s ease,box-shadow .2s ease; }
.home-sponsors__logo:hover { transform:translateY(-5px); box-shadow:0 18px 32px rgba(0,0,0,.2); }
.home-sponsors__logo img { display:block; max-width:100%; max-height:54px; object-fit:contain; }
@media (max-width:767px) { .home-sponsors { padding:66px 0; } .home-sponsors__logos { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .home-sponsors__logo { min-height:100px; padding:19px; } }

/* Blog index refresh. */
.blog-intro { display:flex; align-items:end; justify-content:space-between; gap:24px; margin:0 0 34px; padding:30px 34px; border:1px solid #dfe9e3; border-radius:18px; background:linear-gradient(120deg,#fff 0%,#eff8f3 100%); }
.blog-intro__eyebrow,.blog-sidebar__label { display:block; margin-bottom:8px; color:#08735f; font-size:11px; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.blog-intro h1 { margin:0 0 9px; color:#102e29; font-size:clamp(28px,3vw,40px); line-height:1.17; }
.blog-intro p { margin:0; color:#5f716c; font-size:16px; }
.blog-intro__count { flex:0 0 auto; padding:9px 13px; border-radius:999px; background:#0d705d; color:#fff; font-size:12px; font-weight:700; }
.public-site .blog-card { border:1px solid #e0e8e3; border-radius:16px; background:#fff; box-shadow:0 10px 28px rgba(18,50,43,.06); transition:transform .2s ease,box-shadow .2s ease; }
.public-site .blog-card:hover { transform:translateY(-5px); box-shadow:0 18px 38px rgba(18,50,43,.13); }
.blog-card .blog-thum { position:relative; display:block; overflow:hidden; }
.blog-card .blog-thum img { transition:transform .35s ease; }
.blog-card:hover .blog-thum img { transform:scale(1.04); }
.blog-card__category { position:absolute; top:16px; left:16px; padding:7px 11px; border-radius:999px; background:#ffc600; color:#12332c; font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.06em; }
.public-site .blog-card .blog-cont { padding:26px 30px 28px; }
.public-site .blog-card .blog-cont h3 { margin:0; font-size:clamp(23px,2.4vw,31px); line-height:1.28; }
.blog-card__meta { display:flex; gap:16px; flex-wrap:wrap; margin:17px 0 14px; color:#69807a; font-size:13px; }
.blog-card__meta i { margin-right:5px; color:#0d7a64; }
.public-site .blog-card .blog-cont p { margin:0 0 20px; color:#51645f; line-height:1.72; }
.blog-card__link { display:inline-flex!important; align-items:center; gap:9px; color:#08735f; font-size:14px; font-weight:750; }
.blog-card__link:hover { color:#064f42; text-decoration:none; }
.blog-sidebar .saidbar-search,.blog-sidebar .categories { border:1px solid #e0e8e3; border-radius:14px; box-shadow:0 8px 22px rgba(18,50,43,.05); }
.blog-sidebar .categories h4 { color:#102e29; }
@media(max-width:991px) { .blog-intro { margin-bottom:26px; } .blog-sidebar { margin-top:30px; } }
@media(max-width:575px) { .blog-intro { align-items:flex-start; flex-direction:column; padding:24px; } .public-site .blog-card .blog-cont { padding:22px; } }
