
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');

/* =========================================================
   KULIN — GLOBAL DESIGN SYSTEM
========================================================= */

:root {
    --navy: #112b3a;
    --navy-dark: #0b2431;
    --ink: #162b37;
    --teal: #007f86;
    --teal-dark: #00666c;
    --paper: #f6f5f0;
    --line: #d5d9d8;
    --muted: #60727a;
    --white: #ffffff;
    --success: #15803d;
    --danger: #b42318;
    --warning: #b45309;
    --container: 1260px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 105px;
}

body {
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: 'DM Sans', sans-serif;
    color: var(--ink);
    background: var(--white);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

main {
    flex: 1;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong,
b {
    font-family: 'Manrope', sans-serif;
}

h1 {
    font-size: clamp(2.5rem, 5.3vw, 5.5rem);
    letter-spacing: -0.06em;
    line-height: 1.08;
    margin: 12px 0 24px;
}

h2 {
    font-size: clamp(1.7rem, 3vw, 2.8rem);
    letter-spacing: -0.04em;
    line-height: 1.17;
}

h3 {
    line-height: 1.25;
}

p {
    margin-top: 0;
}

a {
    color: inherit;
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    cursor: pointer;
}

img {
    display: block;
    max-width: 100%;
}

[hidden] {
    display: none !important;
}

:focus-visible {
    outline: 3px solid var(--teal);
    outline-offset: 3px;
}

.container {
    width: 100%;
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: 30px;
}

.narrow {
    max-width: 820px;
}

.preline {
    white-space: pre-line;
}

.skip-link {
    position: fixed;
    top: -100px;
    left: 16px;
    z-index: 9999;
    padding: 12px 18px;
    background: white;
    color: var(--navy);
    border: 1px solid var(--navy);
    text-decoration: none;
    font-weight: 700;
}

.skip-link:focus {
    top: 12px;
}

/* =========================================================
   HEADER & NAVIGATION
========================================================= */

.site-header {
    background: white;
    border-bottom: 1px solid var(--line);
    position: sticky;
    top: 0;
    z-index: 50;
}

.nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 88px;
    gap: 24px;
}

.logo {
    display: inline-block;
    flex-shrink: 0;
    font-family: 'Manrope', sans-serif;
    font-size: 30px;
    font-weight: 800;
    text-decoration: none;
    letter-spacing: -0.07em;
    line-height: 1;
}

.logo span,
.art-big span {
    color: var(--teal);
}

.logo small {
    display: block;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.24em;
    margin-top: 6px;
}

.nav-links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 22px;
    font-size: 13px;
    font-weight: 700;
}

.nav-links a {
    text-decoration: none;
    transition: color 0.2s ease;
}

.nav-links a:hover,
.nav-links a.active {
    color: var(--teal);
}

.nav-links a.active {
    font-weight: 800;
}

.nav-links form,
.nav-logout-form {
    margin: 0;
}

.nav-logout-form {
    display: inline-flex;
    align-items: center;
}

.link-button {
    border: 0;
    background: none;
    color: inherit;
    font-size: inherit;
    font-weight: 700;
    padding: 0;
    text-decoration: none;
    cursor: pointer;
}

.link-button:hover {
    color: var(--teal);
}

.lang {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 38px;
    padding: 8px 10px;
    background: var(--navy);
    color: white !important;
    font-weight: 800;
}

.lang:hover {
    background: var(--teal);
}

.kulin-mobile-controls {
    display: none;
}

.kulin-mobile-menu {
    display: none;
}

/* =========================================================
   HERO
========================================================= */

.hero {
    background: var(--paper);
}

.hero-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    min-height: 540px;
    align-items: stretch;
    gap: 5vw;
}

.hero-grid > div:first-child {
    padding: 100px 0;
}

.eyebrow {
    color: var(--teal);
    font-size: 12px;
    letter-spacing: 0.16em;
    font-weight: 800;
    text-transform: uppercase;
}

.lead {
    font-size: 19px;
    max-width: 670px;
    color: #53646d;
    line-height: 1.75;
}

.hero-art {
    background: #103e4a;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 34px;
    overflow: hidden;
}

.art-top,
.art-bottom {
    font-size: 11px;
    letter-spacing: 0.3em;
}

.art-big {
    font-family: 'Manrope', sans-serif;
    font-size: clamp(3.5rem, 7vw, 8rem);
    line-height: 1;
    letter-spacing: -0.08em;
    font-weight: 800;
}

/* =========================================================
   BUTTONS
========================================================= */

.button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--navy);
    background: var(--navy);
    color: white;
    text-decoration: none;
    padding: 15px 25px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.015em;
    margin-top: 14px;
    line-height: 1.4;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.button:hover {
    background: var(--teal);
    border-color: var(--teal);
    color: white;
}

.button.secondary {
    background: white;
    color: var(--navy);
}

.button.secondary:hover {
    background: var(--paper);
}

.button.small {
    padding: 7px 10px;
    margin: 3px;
    font-size: 11px;
}

.button:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

/* =========================================================
   SECTIONS
========================================================= */

.section {
    padding-top: 85px;
    padding-bottom: 95px;
}

.section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 32px;
}

.section-heading h2 {
    margin: 8px 0;
}

.section-heading p {
    color: var(--muted);
}

/* =========================================================
   COURSE CARDS
========================================================= */

.cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.course-card {
    border: 1px solid var(--line);
    min-width: 0;
    background: white;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.course-card:hover {
    border-color: var(--teal);
    transform: translateY(-3px);
}

.course-card > a {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    height: 100%;
}

.course-image {
    height: 195px;
    background: #d7e9e8;
    overflow: hidden;
}

.course-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.course-card:hover .course-image img {
    transform: scale(1.04);
}

.image-placeholder {
    height: 100%;
    background: linear-gradient(140deg, #d2e3e0, #b7d1d1);
    font-size: 90px;
    letter-spacing: -0.1em;
    font-weight: 800;
    color: #27565c;
    padding: 20px;
    overflow: hidden;
}

.image-placeholder span {
    font-size: 11px;
    letter-spacing: 0.1em;
}

.card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 26px;
}

.card-meta {
    font-size: 11px;
    letter-spacing: 0.08em;
    color: var(--teal);
    text-transform: uppercase;
    font-weight: 800;
}

.card-body h3 {
    font-size: 21px;
    margin: 12px 0;
}

.card-body p {
    font-size: 14px;
    color: var(--muted);
    min-height: 55px;
}

.card-bottom {
    border-top: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding-top: 18px;
    margin-top: auto;
    font-weight: 800;
}

.card-bottom span:last-child {
    font-size: 23px;
}

/* =========================================================
   CAROUSEL
========================================================= */

.carousel {
    display: flex;
    overflow-x: auto;
    gap: 20px;
    scroll-snap-type: x mandatory;
    padding-bottom: 18px;
    scrollbar-width: thin;
    scrollbar-color: var(--teal) var(--paper);
}

.carousel .course-card {
    flex: 0 0 310px;
    scroll-snap-align: start;
}

/* =========================================================
   HOW IT WORKS
========================================================= */

.steps {
    background: var(--navy);
    color: white;
    padding: 85px 0;
}

.steps h2 {
    color: white;
}

.steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
    margin-top: 45px;
}

.steps-grid > div {
    border-top: 1px solid #5e7985;
    padding-top: 22px;
}

.steps-grid b {
    color: #8bd7d3;
}

.steps-grid p {
    color: #c1d1d7;
}

/* =========================================================
   PAGE HERO
========================================================= */

.page-hero {
    background: var(--navy);
    color: white;
    padding: 80px 0;
}

.page-hero .eyebrow {
    color: #87dbd4;
}

.page-hero h1 {
    max-width: 850px;
}

.page-hero .lead {
    color: #d1dfe2;
}

/* =========================================================
   COURSE DETAIL
========================================================= */

.course-layout {
    display: grid;
    grid-template-columns: 225px minmax(0, 1fr);
    gap: 55px;
}

.course-aside {
    position: sticky;
    top: 110px;
    align-self: start;
    border-top: 4px solid var(--teal);
}

.course-aside h3 {
    font-size: 15px;
}

.course-aside a {
    display: block;
    padding: 12px 0;
    border-bottom: 1px solid var(--line);
    text-decoration: none;
    font-size: 14px;
}

.course-aside a:hover {
    color: var(--teal);
}

.facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-left: 1px solid var(--line);
    border-top: 1px solid var(--line);
}

.facts > div {
    padding: 20px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    min-width: 0;
}

.facts small {
    display: block;
    color: var(--muted);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.facts b {
    display: block;
    margin-top: 7px;
    overflow-wrap: anywhere;
}

.content-section {
    padding: 40px 0;
    border-bottom: 1px solid var(--line);
}

/* =========================================================
   FAQ / ACCORDION
========================================================= */

details {
    border-top: 1px solid var(--line);
    padding: 18px 0;
}

details:last-child {
    border-bottom: 1px solid var(--line);
}

summary {
    cursor: pointer;
    font-weight: 800;
    padding-right: 20px;
}

details p {
    color: var(--muted);
    margin-top: 14px;
}

/* =========================================================
   REGISTRATION
========================================================= */

.register-panel {
    background: var(--paper);
    padding: 35px;
    margin-top: 45px;
    border-left: 5px solid var(--teal);
}

.availability-grid {
    display: grid;
    grid-template-columns: 130px repeat(3, minmax(0, 1fr));
    gap: 4px;
    margin: 25px 0;
}

.availability-grid > b {
    font-size: 11px;
    padding: 10px 3px;
    align-self: center;
}

.availability-grid > label {
    background: #e2e9e7;
    display: grid;
    place-items: center;
    min-height: 43px;
    cursor: pointer;
    position: relative;
}

.availability-grid input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
}

.availability-grid label span {
    color: transparent;
    font-weight: 800;
}

.availability-grid label:has(input:checked) {
    background: var(--teal);
}

.availability-grid label:has(input:checked) span {
    color: white;
}

.availability-grid label:focus-within {
    outline: 2px solid var(--navy);
    outline-offset: 1px;
}

.consent {
    display: block;
    margin: 20px 0;
    font-size: 13px;
}

.fine {
    font-size: 12px;
    color: var(--muted);
}

/* =========================================================
   FORMS
========================================================= */

.form {
    display: grid;
    gap: 20px;
    max-width: 720px;
}

.form label {
    display: grid;
    gap: 7px;
    font-size: 13px;
    font-weight: 700;
}

.form input,
.form textarea,
.form select,
.filters input,
.filters select,
td select {
    border: 1px solid #c6cdcd;
    padding: 12px;
    background: white;
    width: 100%;
    color: var(--ink);
}

.form input:focus,
.form textarea:focus,
.form select:focus,
.filters input:focus,
.filters select:focus {
    outline: 2px solid var(--teal);
    outline-offset: 1px;
    border-color: var(--teal);
}

.form textarea {
    min-height: 130px;
    resize: vertical;
}

.form input[type="checkbox"],
.form input[type="radio"] {
    width: auto;
    accent-color: var(--teal);
}

.form .button {
    justify-self: start;
}

.filters {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 30px;
    flex-wrap: wrap;
}

.filters input,
.filters select {
    max-width: 240px;
}

.filters .button {
    margin: 0;
}

.honeypot {
    position: absolute;
    left: -9999px;
}

/* =========================================================
   ALERTS & MESSAGES
========================================================= */

.flash {
    padding: 15px 20px;
    margin-top: 18px;
    margin-bottom: 18px;
    background: #e1f4ef;
    border-left: 4px solid var(--success);
    color: var(--ink);
}

.flash.error {
    background: #ffe8e8;
    border-left-color: var(--danger);
}

.kulin-flash-success {
    border-left-color: var(--success);
}

.kulin-flash-warning {
    background: #fff3d6;
    border-left-color: var(--warning);
}

.flash ul {
    margin: 10px 0 0;
    padding-left: 20px;
}

.flash p:last-child {
    margin-bottom: 0;
}

/* =========================================================
   LEARNER ACCOUNT
========================================================= */

.account-card {
    border: 1px solid var(--line);
    padding: 30px;
    margin: 20px 0;
    background: white;
}

.offer {
    background: var(--paper);
    padding: 20px;
    margin: 20px 0;
    border-left: 4px solid var(--teal);
}

.actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}

.status {
    font-weight: 800;
    color: var(--teal);
}

/* =========================================================
   ADMIN NAVIGATION
========================================================= */

.admin-nav {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 45px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 15px;
}

.admin-nav a {
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    padding: 9px 11px;
    background: var(--paper);
    transition: background 0.2s ease;
}

.admin-nav a:hover {
    background: #e2e9e7;
}

/* =========================================================
   ADMIN DASHBOARD STATS
========================================================= */

.stats {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin: 35px 0;
}

.stats > div {
    background: var(--paper);
    padding: 22px;
    min-width: 0;
}

.stats small {
    display: block;
    color: var(--muted);
    font-size: 12px;
}

.stats strong {
    display: block;
    font-size: 32px;
    line-height: 1.3;
    margin-top: 10px;
}

/* =========================================================
   TABLES
========================================================= */

.table-wrap {
    overflow-x: auto;
    width: 100%;
}

table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-size: 13px;
}

th {
    text-align: left;
    background: var(--navy);
    color: white;
    font-weight: 800;
}

td,
th {
    padding: 13px;
    border-bottom: 1px solid var(--line);
    vertical-align: top;
}

tbody tr:hover {
    background: #f8faf9;
}

td form {
    margin-bottom: 8px;
}

td .button {
    white-space: nowrap;
}

/* =========================================================
   ADMIN FORMS
========================================================= */

.admin-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: none;
}

.admin-form label:has(textarea) {
    grid-column: 1 / -1;
}

.admin-form button {
    grid-column: 1 / -1;
    justify-self: start;
}

/* =========================================================
   FOOTER
========================================================= */

footer,
.kulin-footer {
    background: var(--navy-dark);
    color: #d6e1e3;
    padding: 55px 0 20px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 35px;
}

.footer-grid a {
    display: block;
    text-decoration: none;
    margin-bottom: 10px;
}

.footer-grid a:hover {
    color: #8bd7d3;
}

.footer-logo {
    display: inline-block;
    font-family: 'Manrope', sans-serif;
    font-size: 32px;
    font-weight: 800;
    letter-spacing: -0.06em;
    color: white;
}

.kulin-footer-brand p {
    margin-bottom: 10px;
}

.kulin-footer-description {
    max-width: 320px;
    color: #a9bec5;
    font-size: 13px;
    line-height: 1.8;
}

.kulin-footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.kulin-footer-column h3 {
    color: white;
    margin: 0 0 12px;
    font-size: 14px;
    font-weight: 800;
}

.kulin-footer-column a {
    margin-bottom: 4px;
    font-size: 13px;
}

.kulin-footer-column p {
    font-size: 13px;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid #35505b;
    margin-top: 45px;
    padding-top: 15px;
    font-size: 12px;
    color: #a9bec5;
}

/* =========================================================
   RESPONSIVE — TABLET
========================================================= */

@media (max-width: 1100px) {
    .nav-links {
        gap: 14px;
        font-size: 12px;
    }

    .stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .nav {
        min-height: 76px;
        flex-direction: row;
        align-items: center;
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .site-header .nav-links {
        display: none;
    }

    .kulin-mobile-controls {
        display: flex;
        align-items: center;
        gap: 20px;
    }

    .kulin-mobile-language {
        font-size: 13px;
        font-weight: 800;
        text-decoration: none;
    }

    .kulin-menu-toggle {
        display: flex;
        width: 40px;
        height: 40px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 6px;
        padding: 0;
        border: 1px solid var(--navy);
        background: transparent;
        color: var(--navy);
        cursor: pointer;
    }

    .kulin-menu-toggle span {
        width: 19px;
        height: 2px;
        background: currentColor;
        transition: transform 0.2s ease, opacity 0.2s ease;
    }

    .kulin-menu-toggle.is-open span:first-child {
        transform: translateY(8px) rotate(45deg);
    }

    .kulin-menu-toggle.is-open span:nth-child(2) {
        opacity: 0;
    }

    .kulin-menu-toggle.is-open span:last-child {
        transform: translateY(-8px) rotate(-45deg);
    }

    .kulin-mobile-menu:not([hidden]) {
        display: block;
        border-top: 1px solid var(--line);
        background: white;
    }

    .kulin-mobile-menu-inner {
        display: flex;
        flex-direction: column;
        padding-top: 16px;
        padding-bottom: 20px;
    }

    .kulin-mobile-menu-inner > a,
    .kulin-mobile-menu-inner > form {
        display: block;
        padding: 14px 0;
        border-bottom: 1px solid var(--line);
        margin: 0;
    }

    .kulin-mobile-menu-inner > a {
        color: var(--ink);
        text-decoration: none;
        font-weight: 600;
    }

    .kulin-mobile-menu-inner > a[aria-current="page"] {
        color: var(--teal);
        font-weight: 800;
    }

    .kulin-mobile-menu-inner .link-button {
        color: var(--ink);
        font: inherit;
        font-weight: 600;
    }

    .hero-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .hero-grid > div:first-child {
        padding: 65px 0 35px;
    }

    .hero-art {
        min-height: 280px;
    }

    .cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .course-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .course-aside {
        position: static;
    }

    .facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr;
    }
}

/* =========================================================
   RESPONSIVE — MOBILE
========================================================= */

@media (max-width: 600px) {
    .container {
        padding-left: 18px;
        padding-right: 18px;
    }

    .logo {
        font-size: 27px;
    }

    .logo small {
        font-size: 8px;
    }

    .hero-grid > div:first-child {
        padding: 50px 0 30px;
    }

    .hero-art {
        padding: 24px;
        min-height: 240px;
    }

    .art-big {
        font-size: clamp(3.5rem, 16vw, 6rem);
    }

    .lead {
        font-size: 16px;
    }

    .cards,
    .steps-grid,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .section {
        padding-top: 50px;
        padding-bottom: 55px;
    }

    .steps {
        padding: 55px 0;
    }

    .page-hero {
        padding: 55px 0;
    }

    .facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .availability-grid {
        grid-template-columns: 76px repeat(3, minmax(0, 1fr));
    }

    .availability-grid > b {
        font-size: 10px;
    }

    .register-panel {
        padding: 17px;
    }

    .admin-form {
        grid-template-columns: 1fr;
    }

    .stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .carousel .course-card {
        flex-basis: min(310px, 85vw);
    }

    .account-card {
        padding: 20px;
    }

    .footer-grid {
        gap: 30px;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}


/* =========================================================
   KULIN — PHOTOGRAPHIC DESIGN SYSTEM
   Images: public/img/kulin1.jpg ... kulin9.jpg
========================================================= */

:root {
    --kulin-photo-1: url('/img/kulin1.jpg');
    --kulin-photo-2: url('/img/kulin2.jpg');
    --kulin-photo-3: url('/img/kulin3.jpg');
    --kulin-photo-4: url('/img/kulin4.jpg');
    --kulin-photo-5: url('/img/kulin5.jpg');
    --kulin-photo-6: url('/img/kulin6.jpg');
    --kulin-photo-7: url('/img/kulin7.jpg');
    --kulin-photo-8: url('/img/kulin8.jpg');
    --kulin-photo-9: url('/img/kulin9.jpg');
}

/* Course card image fallbacks */

.cards .course-card:nth-child(9n + 1) .course-image {
    background: var(--kulin-photo-1) center / cover;
}

.cards .course-card:nth-child(9n + 2) .course-image {
    background: var(--kulin-photo-2) center / cover;
}

.cards .course-card:nth-child(9n + 3) .course-image {
    background: var(--kulin-photo-3) center / cover;
}

.cards .course-card:nth-child(9n + 4) .course-image {
    background: var(--kulin-photo-4) center / cover;
}

.cards .course-card:nth-child(9n + 5) .course-image {
    background: var(--kulin-photo-5) center / cover;
}

.cards .course-card:nth-child(9n + 6) .course-image {
    background: var(--kulin-photo-6) center / cover;
}

.cards .course-card:nth-child(9n + 7) .course-image {
    background: var(--kulin-photo-7) center / cover;
}

.cards .course-card:nth-child(9n + 8) .course-image {
    background: var(--kulin-photo-8) center / cover;
}

.cards .course-card:nth-child(9n) .course-image {
    background: var(--kulin-photo-9) center / cover;
}

/* Hide text placeholders when image background is available */

.course-image:has(.image-placeholder) .image-placeholder {
    background: linear-gradient(
        0deg,
        rgba(11,36,49,.60),
        transparent 75%
    );
    color: white;
}

/* If a real image is supplied, it takes precedence */

.course-image img {
    position: relative;
    z-index: 1;
}

/* Horizontal carousel images */

.carousel .course-card:nth-child(3n + 1) .course-image {
    background: var(--kulin-photo-7) center / cover;
}

.carousel .course-card:nth-child(3n + 2) .course-image {
    background: var(--kulin-photo-8) center / cover;
}

.carousel .course-card:nth-child(3n) .course-image {
    background: var(--kulin-photo-9) center / cover;
}

/* Dark page hero with photography */

.page-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--navy);
}

.page-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background-image:
        linear-gradient(
            90deg,
            rgba(17,43,58,.99) 0%,
            rgba(17,43,58,.96) 30%,
            rgba(17,43,58,.76) 60%,
            rgba(17,43,58,.28) 100%
        ),
        var(--kulin-photo-5);
    background-size: cover;
    background-position: center;
}

.page-hero > .container {
    position: relative;
    z-index: 1;
}

/* Course detail page: subtle photo in sidebar */

.course-aside {
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.94),
            rgba(255,255,255,.98)
        ),
        var(--kulin-photo-6) center / cover;
}

/* Registration section */

.register-panel {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--paper);
}

.register-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image:
        linear-gradient(
            90deg,
            var(--paper) 0%,
            rgba(246,245,240,.98) 60%,
            rgba(246,245,240,.84) 100%
        ),
        var(--kulin-photo-7);
    background-size: cover;
    background-position: right center;
}



/* =========================================================
   KULIN — WARM INTERACTIVE HOMEPAGE
   Scoped to .k-home, preserving all other pages.
========================================================= */

/* KULIN HOME — warm editorial redesign; scoped to .k-home */
.k-home{--k-cream:#fff9f0;--k-sand:#f5eadb;--k-peach:#f4c8b2;--k-orange:#ba5f3f;--k-green:#365b4b;--k-text:#283b32;color:var(--k-text);background:#fffdf9}
.k-home h1,.k-home h2,.k-home h3{color:inherit}.k-home h1,.k-home h2{font-family:Manrope,sans-serif;letter-spacing:-.055em;line-height:1.13}.k-home h1 em,.k-home h2 em{font-style:normal;color:var(--k-orange)}.k-home h2{font-size:clamp(2rem,3.7vw,3.6rem);margin:14px 0 22px}.k-home p{line-height:1.8}.k-home .k-section{padding-top:95px;padding-bottom:95px}.k-home .k-section-label{display:inline-block;color:var(--k-orange);font-size:11px;letter-spacing:.16em;font-weight:800}.k-home .k-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 23px;font-weight:800;font-size:13px;text-decoration:none;transition:transform .2s,background .2s;border:1px solid var(--k-green);min-height:52px}.k-home .k-btn:hover{transform:translateY(-2px)}.k-home .k-btn-primary{background:var(--k-green);color:white}.k-home .k-btn-primary:hover{background:#244336}.k-home .k-btn-outline{background:transparent;color:var(--k-green)}.k-home .k-text-link{font-size:13px;font-weight:800;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}.k-home .k-text-link:hover{color:var(--k-orange)}
.k-hero{background:var(--k-cream);overflow:hidden}.k-hero-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(25px,5vw,75px);min-height:610px}.k-hero-copy{padding:90px 0}.k-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--k-green);font-weight:800;font-size:12px;letter-spacing:.035em}.k-kicker-dot{width:10px;height:10px;background:var(--k-orange);border-radius:50%!important}.k-home .k-hero h1{font-size:clamp(3.15rem,5.5vw,6rem);margin:22px 0 25px;max-width:700px}.k-hero-copy>p{font-size:17px;max-width:540px;color:#657268}.k-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:27px;margin-top:30px}.k-hero-note{display:flex;align-items:center;gap:12px;margin-top:55px;color:#7a8176;font-size:12px}.k-note-line{width:36px;height:1px;background:var(--k-orange)}.k-hero-visual{position:relative;height:590px;align-self:end}.k-hero-photo{position:absolute;inset:0 -50px 25px 35px;overflow:hidden;border-radius:48% 48% 0 0!important}.k-hero-photo img{width:100%;height:100%;object-fit:cover}.k-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,249,240,.22),transparent 45%)}.k-photo-sticker{position:absolute;left:0;bottom:65px;background:#f3d2a7;padding:19px 25px;display:flex;flex-direction:column;gap:2px;transform:rotate(-5deg);box-shadow:0 8px 35px #403c301f}.k-photo-sticker>span{font-size:27px;color:var(--k-orange)}.k-photo-sticker strong{font-size:18px}.k-photo-sticker small{font-size:9px;letter-spacing:.14em}.k-hero-mini-photo{position:absolute;right:-10px;bottom:0;width:145px;height:165px;border:7px solid var(--k-cream);transform:rotate(5deg);overflow:hidden}.k-hero-mini-photo img{width:100%;height:100%;object-fit:cover}
.k-ribbon{background:#e7e5d3;border-block:1px solid #d7d7c4}.k-ribbon-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:20px;font-size:12px;font-weight:800;letter-spacing:.025em}.k-ribbon-flower{font-size:23px;color:var(--k-orange)}
.k-intro{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(35px,7vw,100px);align-items:center}.k-intro-visual{height:500px;position:relative}.k-intro-visual img{height:100%;width:100%;object-fit:cover;border-radius:45% 45% 0 0!important}.k-intro-caption{position:absolute;bottom:22px;right:-20px;background:#f4c8b2;padding:17px 22px;font-weight:800;max-width:240px;transform:rotate(3deg)}.k-intro-copy p{color:#627066}.k-intro-copy .k-text-link{display:inline-block;margin-top:14px}
.k-course-section{background:#f7efe3}.k-heading-row{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.k-heading-row>div{max-width:800px}.k-heading-row p{color:#667268;max-width:570px}.k-course-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:27px}.k-tab{border:1px solid #d7cdbf;background:transparent;color:var(--k-text);padding:12px 18px;font-weight:800;font-size:13px}.k-tab span{margin-left:9px;color:var(--k-orange)}.k-tab.is-active{background:var(--k-green);color:white;border-color:var(--k-green)}.k-tab.is-active span{color:#f4d5bd}.k-home .k-course-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.k-home .course-card{border:0;box-shadow:0 8px 25px #5b4e3810;transition:transform .2s}.k-home .course-card:hover{transform:translateY(-5px)}.k-home .course-image{height:215px}.k-home .card-body{padding:24px}.k-home .card-meta{color:var(--k-orange)}.k-home .card-bottom{color:var(--k-green)}.k-empty{padding:35px;background:#fff;grid-column:1/-1}
.k-moments{background:#fffdf9}.k-moments-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.k-moment{position:relative;min-height:390px;overflow:hidden;background:#263e34;color:white}.k-moment>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}.k-moment:hover>img{transform:scale(1.05)}.k-moment:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(22,38,29,.93),rgba(22,38,29,.08) 75%)}.k-moment>div{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:28px}.k-moment span{color:#f5c39e;font-size:12px;font-weight:800}.k-moment h3{font-size:24px;margin:7px 0}.k-moment p{font-size:13px;margin:0;color:#f2f0e9}
.k-process{background:#e9eee7}.k-process-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,7vw,110px)}.k-process-heading p{max-width:430px;color:#617064}.k-process-heading img{width:85%;height:260px;object-fit:cover;margin-top:32px;border-radius:45% 45% 0 0!important}.k-process-steps{padding-top:10px}.k-home .k-process-steps details{border-top:1px solid #b8c8bc;padding:0}.k-home .k-process-steps details:last-of-type{border-bottom:1px solid #b8c8bc}.k-home .k-process-steps summary{display:grid;grid-template-columns:42px 1fr 24px;gap:14px;align-items:center;padding:24px 0;list-style:none;font-size:17px}.k-home .k-process-steps summary::-webkit-details-marker{display:none}.k-step-number{color:var(--k-orange);font-size:13px;font-weight:800}.k-step-plus{font-size:25px;font-weight:400;line-height:1}.k-process-steps details[open] .k-step-plus{transform:rotate(45deg)}.k-home .k-process-steps details p{padding:0 38px 22px 56px;margin:0;color:#53685b;font-size:14px}.k-process-steps>.k-btn{margin-top:28px}
.k-gallery{background:#fffdf9}.k-gallery-grid{display:grid;grid-template-columns:1fr .8fr 1fr;gap:15px;min-height:360px}.k-gallery-grid>img{width:100%;height:360px;object-fit:cover}.k-gallery-quote{background:#f4d2bb;display:flex;flex-direction:column;justify-content:center;padding:30px}.k-gallery-quote>span{font-size:75px;line-height:.8;color:var(--k-orange);font-family:Georgia,serif}.k-gallery-quote p{font-family:Georgia,serif;font-size:clamp(20px,2vw,30px);line-height:1.35}.k-gallery-quote small{letter-spacing:.14em;font-weight:800;font-size:10px}
.k-final{background:#f4cdb6;padding:75px 0}.k-final-inner{display:flex;align-items:center;justify-content:space-between;gap:45px}.k-final h2{max-width:720px}.k-final p{max-width:550px}.k-final-actions{display:flex;flex-direction:column;gap:12px;min-width:225px}
@media(max-width:950px){.k-hero-layout{grid-template-columns:1fr 1fr;gap:15px}.k-hero-visual{height:500px}.k-home .k-hero h1{font-size:clamp(2.8rem,5.4vw,4.8rem)}.k-home .k-course-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.k-intro{gap:35px}.k-intro-visual{height:410px}.k-moment{min-height:320px}.k-gallery-grid>img{height:300px}.k-gallery-grid{min-height:300px}}
@media(max-width:700px){.k-home .k-section{padding-top:65px;padding-bottom:65px}.k-hero-layout{display:flex;flex-direction:column;gap:0}.k-hero-copy{padding:65px 0 35px}.k-home .k-hero h1{font-size:clamp(3rem,10vw,4.5rem)}.k-hero-visual{height:370px;width:100%;align-self:auto}.k-hero-photo{inset:0 10px 15px 30px}.k-hero-mini-photo{right:0;width:100px;height:115px}.k-photo-sticker{bottom:30px;padding:12px 16px}.k-photo-sticker strong{font-size:14px}.k-hero-note{margin-top:32px}.k-ribbon-inner{justify-content:center;flex-wrap:wrap;gap:12px}.k-ribbon-inner span:nth-child(n+4){display:none}.k-intro,.k-process-layout{grid-template-columns:1fr}.k-intro-visual{height:360px}.k-intro-caption{right:0}.k-heading-row{align-items:start;flex-direction:column;gap:8px}.k-home .k-course-cards,.k-moments-grid{grid-template-columns:1fr}.k-moment{min-height:340px}.k-process-heading img{display:none}.k-gallery-grid{grid-template-columns:1fr 1fr}.k-gallery-grid>img{height:240px}.k-gallery-quote{grid-column:1/-1;grid-row:1;padding:28px}.k-gallery-quote p{max-width:500px}.k-final-inner{align-items:start;flex-direction:column}.k-final-actions{width:100%}.k-final-actions .k-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.k-home *{transition:none!important;scroll-behavior:auto!important}}



/* =========================================================
   KULIN — WARM SHARED LAYOUT
   Applies to the redesigned app.blade.php only.
   Keeps course, account, registration and admin styles intact.
========================================================= */
.kulin-body { --kulin-cream:#fffaf2; --kulin-sage:#dce8d7; --kulin-terracotta:#c36d51; --kulin-warm-ink:#26392f; }
.kulin-warm-header { background:rgba(255,250,242,.97); border-bottom:1px solid #e8e3d9; box-shadow:0 4px 22px rgba(45,52,41,.035); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.kulin-warm-header .nav { min-height:84px; }
.kulin-warm-logo { display:inline-flex; align-items:center; gap:11px; color:var(--kulin-warm-ink); letter-spacing:normal; }
.kulin-logo-symbol { width:46px; height:46px; flex:0 0 46px; display:grid; place-items:center; background:#dce8d7; color:#304f3f; font-family:Manrope,sans-serif; font-weight:800; font-size:29px; letter-spacing:-.08em; border-radius:16px!important; line-height:1; }
.kulin-logo-symbol span { color:var(--kulin-terracotta); }
.kulin-logo-copy { display:flex; flex-direction:column; gap:3px; }
.kulin-logo-copy strong { font-size:25px; font-weight:800; line-height:1; letter-spacing:-.065em; }
.kulin-logo-copy strong span { color:var(--kulin-terracotta); }
.kulin-logo-copy small { margin:0; font-size:8px; letter-spacing:.16em; color:#718277; font-weight:800; }
.kulin-warm-nav { gap:23px; color:#40574b; }
.kulin-warm-nav a:hover,.kulin-warm-nav a.active,.kulin-warm-header .link-button:hover { color:#a8553d; }
.kulin-warm-nav .kulin-warm-lang { background:#e8efe4; color:#304d3d!important; padding:10px 13px; border-radius:999px!important; }
.kulin-warm-nav .kulin-warm-lang:hover { background:#d3e3cf; }
.kulin-warm-header .kulin-menu-toggle { border-color:#d6dfd1; background:#fff; border-radius:12px!important; }
.kulin-warm-header .kulin-mobile-language { color:#355542; }
.kulin-warm-mobile-menu:not([hidden]) { background:var(--kulin-cream); border-color:#e8e3d9; }
.kulin-warm-mobile-menu .kulin-mobile-menu-inner>a { color:#355041; }
.kulin-warm-footer { background:#263f33; color:#e9eee6; padding-top:70px; }
.kulin-warm-footer .footer-grid { gap:clamp(30px,5vw,85px); }
.kulin-warm-footer .footer-logo { font-size:36px; letter-spacing:-.075em; color:#fffaf2; text-decoration:none; }
.kulin-footer-dot { color:#edac90; }
.kulin-warm-footer .kulin-footer-brand>p:first-of-type { color:#d9e6d6; font-weight:700; margin-top:9px; }
.kulin-warm-footer .kulin-footer-description { max-width:350px; color:#d0ddd1; font-size:14px; }
.kulin-warm-footer .kulin-footer-column h3 { color:#fffaf2; font-size:15px; }
.kulin-warm-footer .kulin-footer-column a { color:#d7e5d8; transition:color .2s ease; }
.kulin-warm-footer .kulin-footer-column a:hover { color:#f0b39a; }
.kulin-warm-footer .kulin-footer-column p { color:#d0ddd1; }
.kulin-warm-footer .kulin-footer-city { font-weight:800; color:#f0b39a!important; }
.kulin-warm-footer .footer-bottom { border-color:rgba(255,255,255,.17); color:#c5d6c9; }
@media(max-width:900px) { .kulin-warm-header .nav { min-height:76px; } }
@media(max-width:600px) { .kulin-logo-symbol { width:41px;height:41px;flex-basis:41px;font-size:26px;border-radius:14px!important; } .kulin-logo-copy strong {font-size:23px;} .kulin-logo-copy small {font-size:7px;} .kulin-warm-footer {padding-top:50px;} }

/* =========================================================
   KULIN — COURSE DETAIL REDESIGN (INTEGRATED)
   Scoped to .kc-detail; no separate CSS required.
========================================================= */

/* KULIN — Warm course detail page; scoped to .kc-detail */
.kc-detail{--kc-cream:#f8f3e9;--kc-paper:#fffdf8;--kc-forest:#244b40;--kc-sage:#e1e9dc;--kc-terracotta:#bd7357;--kc-ink:#303d35;--kc-muted:#69766e;background:var(--kc-paper);color:var(--kc-ink)}
.kc-detail section[id]{scroll-margin-top:110px}.kc-detail .kc-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--kc-terracotta);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.kc-dot{width:8px;height:8px;background:var(--kc-terracotta);border-radius:50%!important}.kc-hero{background:var(--kc-cream);overflow:hidden}.kc-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,80px);align-items:stretch;min-height:525px}.kc-hero-copy{padding:65px 0 75px;align-self:center}.kc-back{display:inline-block;margin-bottom:32px;text-decoration:none;font-size:13px;font-weight:700;color:var(--kc-forest)}.kc-back:hover{color:var(--kc-terracotta)}.kc-hero h1{color:var(--kc-forest);font-size:clamp(2.7rem,5vw,4.8rem);line-height:1.12;letter-spacing:-.055em;margin:17px 0 21px}.kc-hero-lead{font-size:17px;line-height:1.8;color:var(--kc-muted);max-width:610px}.kc-hero-tags{display:flex;flex-wrap:wrap;gap:9px;margin:23px 0}.kc-hero-tags span{padding:7px 13px;background:var(--kc-sage);color:var(--kc-forest);font-size:12px;font-weight:700}.kc-hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:20px}.kc-btn{display:inline-flex;align-items:center;justify-content:center;gap:17px;border:0;padding:15px 23px;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}.kc-btn-primary{background:var(--kc-forest);color:white}.kc-btn-primary:hover{background:var(--kc-terracotta);color:white;transform:translateY(-2px)}.kc-text-link{font-weight:800;font-size:13px;color:var(--kc-forest);text-decoration:none}.kc-text-link:hover{color:var(--kc-terracotta)}.kc-hero-photo{position:relative;min-height:460px}.kc-hero-photo:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--kc-cream),transparent 25%)}.kc-hero-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.kc-photo-note{position:absolute;z-index:2;left:22px;bottom:35px;background:rgba(255,253,248,.95);padding:18px 22px;box-shadow:0 12px 40px #20392b22}.kc-photo-note span,.kc-photo-note strong{display:block}.kc-photo-note span{font-size:12px;color:var(--kc-muted)}.kc-photo-note strong{font-size:16px;color:var(--kc-forest)}
.kc-facts-section{background:white;border-bottom:1px solid #e8e8df}.kc-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.kc-fact{padding:25px 20px;border-right:1px solid #e8e8df;border-bottom:1px solid #e8e8df}.kc-fact:nth-child(4n){border-right:0}.kc-fact:nth-last-child(-n+4){border-bottom:0}.kc-fact small{display:block;color:var(--kc-muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}.kc-fact strong{display:block;color:var(--kc-forest);font-size:16px;overflow-wrap:anywhere}
.kc-body-section{padding:75px 0 100px}.kc-layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:start}.kc-sidebar{position:sticky;top:115px}.kc-sidebar-inner{background:#f3f0e8;padding:25px}.kc-small-heading{display:block;color:var(--kc-terracotta);font-size:11px;letter-spacing:.13em;font-weight:800;margin-bottom:15px}.kc-sidebar a{display:block;padding:11px 0;text-decoration:none;font-size:13px;font-weight:700;color:var(--kc-forest);border-bottom:1px solid #dedfd5}.kc-sidebar a:hover{color:var(--kc-terracotta)}.kc-sidebar a.kc-sidebar-register{background:var(--kc-forest);color:white;margin-top:17px;padding:12px 15px;text-align:center;border:0}.kc-main{min-width:0}.kc-content-block{padding:0 0 55px;margin-bottom:55px;border-bottom:1px solid #e6e7dd}.kc-content-block h2,.kc-registration h2{color:var(--kc-forest);font-size:clamp(1.85rem,3vw,2.7rem);letter-spacing:-.045em;line-height:1.2;margin:13px 0 20px}.kc-content-block>p{color:var(--kc-muted)}.kc-intro{font-size:18px!important;line-height:1.7}.kc-prose{font-size:15px;line-height:1.95;color:var(--kc-ink)}.kc-goals{background:#eef2e9;padding:35px;margin-left:-35px;margin-right:-35px;border-bottom:0}.kc-goal-text{background:#fffdf8;border-left:4px solid var(--kc-terracotta);padding:23px 25px;line-height:1.9}.kc-accordion-list{margin-top:24px}.kc-accordion{padding:0;border:0!important;border-bottom:1px solid #dfe3d9!important}.kc-accordion:first-child{border-top:1px solid #dfe3d9!important}.kc-accordion summary{display:flex;align-items:center;gap:18px;padding:21px 6px;cursor:pointer;list-style:none;color:var(--kc-forest);font-weight:800}.kc-accordion summary::-webkit-details-marker{display:none}.kc-accordion-number{font-size:12px;color:var(--kc-terracotta);min-width:26px}.kc-accordion-title{flex:1}.kc-accordion-plus{font-size:24px;font-weight:400;line-height:1;transition:transform .2s}.kc-accordion[open] .kc-accordion-plus{transform:rotate(45deg)}.kc-accordion-content{padding:0 40px 25px;color:var(--kc-muted);line-height:1.9;font-size:14px}
.kc-registration{background:#f3f0e8;margin-top:15px}.kc-register-top{padding:38px 38px 28px}.kc-register-top p{color:var(--kc-muted);line-height:1.85;margin-bottom:0}.kc-register-body{background:white;padding:32px 38px 40px;border:1px solid #e5e7dc}.kc-payment-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:36px}.kc-payment-steps>div{background:#eef2e9;padding:18px;min-width:0}.kc-payment-steps span{display:grid;place-items:center;width:27px;height:27px;background:var(--kc-forest);color:white;font-size:12px;font-weight:800;margin-bottom:11px}.kc-payment-steps strong,.kc-payment-steps small{display:block}.kc-payment-steps strong{color:var(--kc-forest);font-size:13px}.kc-payment-steps small{color:var(--kc-muted);font-size:11px;margin-top:5px}.kc-availability-heading h3{color:var(--kc-forest);margin:0 0 8px;font-size:21px}.kc-availability-heading p{color:var(--kc-muted);font-size:14px}.kc-availability-scroll{overflow-x:auto;padding-bottom:5px}.kc-availability{display:grid;grid-template-columns:minmax(95px,1.2fr) repeat(3,minmax(75px,1fr));gap:5px;min-width:340px}.kc-period-heading{text-align:center;font-size:12px;font-weight:800;color:var(--kc-forest);padding:12px 4px;background:#eef2e9}.kc-day-heading{font-size:13px;font-weight:700;color:var(--kc-forest);padding:13px 6px;display:flex;align-items:center}.kc-day-short{display:none}.kc-slot{display:grid;place-items:center;position:relative;min-height:45px;background:#f3f0e8;cursor:pointer;transition:background .2s}.kc-slot:hover{background:#e1e9dc}.kc-slot input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.kc-slot span{font-size:18px;font-weight:800;color:transparent;pointer-events:none}.kc-slot:has(input:checked){background:var(--kc-forest)}.kc-slot:has(input:checked) span{color:white}.kc-slot:focus-within{outline:3px solid var(--kc-terracotta);outline-offset:1px}.kc-selection-status{margin-top:15px;color:var(--kc-muted);font-size:13px;font-weight:700}.kc-selection-status.has-selection{color:var(--kc-forest)}.kc-registration-note{background:#f8f3e9;border-left:3px solid var(--kc-terracotta);padding:14px 17px;color:var(--kc-muted);font-size:13px;margin:26px 0}.kc-consent{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.6;margin-bottom:24px}.kc-consent input{accent-color:var(--kc-forest);width:17px;height:17px;flex-shrink:0;margin-top:3px}.kc-consent a{color:var(--kc-forest);font-weight:800}.kc-submit{width:100%}.kc-secure-note{font-size:11px;color:var(--kc-muted);text-align:center;margin:12px 0 0}.kc-field-error{color:#a12323;font-size:13px}.kc-guest-register{padding:5px 0}.kc-guest-register h3{color:var(--kc-forest)}.kc-guest-register p{color:var(--kc-muted)}.kc-guest-register>p:last-child{margin-top:20px;font-size:13px}.kc-guest-register a:not(.kc-btn){color:var(--kc-forest);font-weight:700}
@media(max-width:950px){.kc-hero-grid{grid-template-columns:1fr}.kc-hero-copy{padding:50px 0 35px}.kc-hero-photo{min-height:350px}.kc-hero-photo img{position:absolute}.kc-hero-photo:before{background:linear-gradient(180deg,var(--kc-cream),transparent 30%)}.kc-layout{grid-template-columns:1fr}.kc-sidebar{position:static}.kc-sidebar-inner{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:18px}.kc-sidebar .kc-small-heading{width:100%;margin:0}.kc-sidebar a{border:0;padding:8px 11px;background:white}.kc-sidebar a.kc-sidebar-register{margin:0}.kc-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.kc-fact:nth-child(4n){border-right:1px solid #e8e8df}.kc-fact:nth-child(2n){border-right:0}.kc-fact:nth-last-child(-n+4){border-bottom:1px solid #e8e8df}.kc-fact:nth-last-child(-n+2){border-bottom:0}.kc-goals{margin-left:0;margin-right:0}}
@media(max-width:600px){.kc-hero-copy{padding:38px 0 32px}.kc-hero h1{font-size:clamp(2.4rem,10vw,3.3rem)}.kc-hero-lead{font-size:15px}.kc-hero-photo{min-height:260px}.kc-photo-note{bottom:15px;left:15px;padding:13px 16px}.kc-fact{padding:18px 12px}.kc-fact strong{font-size:14px}.kc-body-section{padding:45px 0 65px}.kc-content-block{padding-bottom:38px;margin-bottom:38px}.kc-goals{padding:25px 20px}.kc-register-top{padding:26px 20px}.kc-register-body{padding:24px 18px}.kc-payment-steps{grid-template-columns:1fr;gap:8px}.kc-payment-steps>div{display:grid;grid-template-columns:28px 1fr;gap:0 10px;padding:12px}.kc-payment-steps span{grid-row:span 2;margin:0}.kc-payment-steps small{margin:0}.kc-day-long{display:none}.kc-day-short{display:inline}.kc-availability{grid-template-columns:65px repeat(3,minmax(68px,1fr));min-width:0}.kc-accordion-content{padding-left:15px;padding-right:15px}}
@media(prefers-reduced-motion:reduce){.kc-detail *{transition:none!important}}


/* KULIN CONTACT — Warm, responsive, scoped design */
.kulin-contact{--kc-green:#294b3c;--kc-dark:#203d31;--kc-cream:#fff8ed;--kc-sand:#f5eee3;--kc-sage:#e7eee4;--kc-orange:#ba6b4e;--kc-text:#34483d;--kc-muted:#68776d;color:var(--kc-text);background:#fffdf9}
.kulin-contact .kc-eyebrow{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.15em;color:var(--kc-orange)}
.kc-hero{background:var(--kc-cream);overflow:hidden}.kc-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,6vw,85px);align-items:center;min-height:500px}.kc-hero-copy{padding:80px 0}.kc-hero h1{font-size:clamp(2.9rem,5vw,5.1rem);letter-spacing:-.065em;line-height:1.13;color:var(--kc-green);margin:20px 0 25px}.kc-hero h1 em{display:block;font-family:Georgia,serif;font-weight:400;color:var(--kc-orange)}.kc-hero-copy>p{font-size:17px;line-height:1.85;color:var(--kc-muted);max-width:580px}.kc-hero-link{display:inline-flex;align-items:center;gap:24px;background:var(--kc-green);color:#fff;text-decoration:none;padding:15px 23px;font-weight:800;font-size:13px;margin-top:20px;transition:background .2s,transform .2s}.kc-hero-link:hover{background:var(--kc-orange);color:#fff;transform:translateY(-2px)}.kc-hero-link span{font-size:20px}.kc-hero-image{position:relative;height:500px}.kc-hero-image img{width:100%;height:100%;object-fit:cover}.kc-photo-note{position:absolute;left:-20px;bottom:35px;background:#f4d2b8;box-shadow:0 14px 40px #2c38271c;padding:20px 23px;display:flex;align-items:center;gap:13px;font-weight:800;font-size:14px;max-width:275px}.kc-photo-note span{font-size:26px;color:var(--kc-orange)}
.kc-main{padding:90px 0 110px}.kc-main-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(35px,6vw,90px);align-items:start}.kc-form-column{scroll-margin-top:120px}.kc-form-column h2,.kc-aside h2{color:var(--kc-green);font-size:clamp(1.9rem,3vw,2.8rem);letter-spacing:-.055em;margin:12px 0 15px}.kc-intro{color:var(--kc-muted);max-width:650px;line-height:1.85;margin-bottom:32px}.kc-form{display:grid;gap:22px}.kc-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.kc-field{display:flex;flex-direction:column;gap:8px;min-width:0}.kc-field label{font-size:12px;font-weight:800;color:var(--kc-green)}.kc-field label span{color:var(--kc-orange)}.kc-field input,.kc-field textarea{width:100%;border:1px solid #d8dfd5;background:#fff;padding:14px 16px;color:var(--kc-text);outline:none;transition:border-color .2s,box-shadow .2s}.kc-field input{min-height:52px}.kc-field textarea{resize:vertical;min-height:175px}.kc-field input:focus,.kc-field textarea:focus{border-color:var(--kc-green);box-shadow:0 0 0 3px #294b3c1c}.kc-field input[aria-invalid=true],.kc-field textarea[aria-invalid=true]{border-color:#b42318}.kc-error{color:#a52c21;font-size:12px}.kc-form-bottom{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.kc-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;background:var(--kc-green);border:0;color:#fff;padding:16px 23px;font-size:13px;font-weight:800;transition:background .2s,transform .2s}.kc-submit:hover{background:var(--kc-orange);transform:translateY(-2px)}.kc-submit span{font-size:20px}.kc-form-bottom p{max-width:300px;font-size:11px;color:var(--kc-muted);line-height:1.65;margin:0}
.kc-aside{background:var(--kc-sage);padding:36px 30px}.kc-aside-header h2{font-size:clamp(1.7rem,2.4vw,2.25rem)}.kc-aside-header p,.kc-more p,.kc-location p{color:var(--kc-muted);font-size:13px;line-height:1.85}.kc-whatsapp{display:flex;align-items:center;gap:14px;padding:18px 20px;background:#237a50;color:#fff;text-decoration:none;margin-top:27px;transition:background .2s,transform .2s}.kc-whatsapp:hover{background:#1a6540;color:#fff;transform:translateY(-2px)}.kc-whatsapp>span:nth-of-type(1){display:flex;flex-direction:column;gap:3px;flex:1;font-size:14px;font-weight:800}.kc-whatsapp small{font-size:12px;font-weight:500;opacity:.92}.kc-whatsapp>span:last-child{font-size:20px}.kc-whatsapp-note{font-size:11px;line-height:1.7;color:var(--kc-muted);margin:13px 0 0}.kc-aside-divider{height:1px;background:#cbd8ca;margin:30px 0}.kc-location{display:flex;align-items:flex-start;gap:15px}.kc-location-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;background:#d3e1d0;color:var(--kc-green);font-size:24px}.kc-location strong,.kc-more h3{font-size:15px;color:var(--kc-green)}.kc-location p{margin:7px 0 0}.kc-more h3{margin:0 0 9px}.kc-more a{font-size:12px;font-weight:800;color:var(--kc-green);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}.kc-more a:hover{color:var(--kc-orange)}.kc-bottom{background:#f3d6c1;padding:35px 0}.kc-bottom-inner{display:flex;align-items:center;justify-content:center;gap:15px}.kc-bottom-inner span{font-size:24px;color:var(--kc-orange)}.kc-bottom-inner p{font-family:Georgia,serif;color:var(--kc-green);font-size:clamp(16px,2vw,22px);text-align:center;margin:0}
@media(max-width:900px){.kc-main-grid{grid-template-columns:1fr;gap:45px}.kc-aside{max-width:680px}.kc-hero-grid{gap:30px}}
@media(max-width:700px){.kc-hero-grid{grid-template-columns:1fr;gap:0}.kc-hero-copy{padding:60px 0 35px}.kc-hero-image{height:320px}.kc-photo-note{left:15px;bottom:20px}.kc-main{padding:60px 0 75px}.kc-form-row{grid-template-columns:1fr}.kc-aside{padding:28px 22px}.kc-form-bottom{align-items:stretch;flex-direction:column}.kc-form-bottom p{max-width:none}.kc-submit{width:100%}.kc-bottom-inner{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.kulin-contact *{transition:none!important;scroll-behavior:auto!important}}


/* KULIN — INFORMATION PAGES. Scoped to .kulin-info-page */
.kulin-info-page{--ki-green:#2d4e3e;--ki-terracotta:#b8674d;--ki-cream:#fff9f1;--ki-ink:#2c4034;--ki-muted:#637267;--ki-line:#e4e7df;background:#fffdf9;color:var(--ki-ink)}
.kulin-info-hero{background:var(--ki-cream);overflow:hidden}
.kulin-info-hero-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,6vw,90px);align-items:stretch;min-height:390px}
.kulin-info-hero-copy{padding:75px 0 70px;align-self:center}
.kulin-info-eyebrow,.kulin-info-sidebar-kicker{display:block;color:var(--ki-terracotta);font-size:11px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.kulin-info-hero h1{font-size:clamp(2.6rem,5vw,5rem);line-height:1.1;letter-spacing:-.065em;color:var(--ki-green);margin:18px 0 20px;overflow-wrap:anywhere}
.kulin-info-hero-lead{max-width:550px;color:var(--ki-muted);font-size:17px;line-height:1.8}
.kulin-info-hero-link{display:inline-flex;align-items:center;gap:14px;margin-top:15px;text-decoration:none;font-size:13px;font-weight:800;color:var(--ki-green);border-bottom:1px solid var(--ki-terracotta);padding-bottom:7px}
.kulin-info-hero-link:hover{color:var(--ki-terracotta)}
.kulin-info-hero-photo{position:relative;min-height:390px;overflow:hidden}
.kulin-info-hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.kulin-info-layout{display:grid;grid-template-columns:255px minmax(0,1fr);gap:clamp(30px,6vw,95px);padding-top:80px;padding-bottom:105px;align-items:start}
.kulin-info-sidebar{position:sticky;top:110px}
.kulin-info-sidebar-card{background:#edf2e9;padding:27px 24px}
.kulin-info-sidebar-card h2{font-size:22px;letter-spacing:-.04em;margin:8px 0 18px;color:var(--ki-green)}
.kulin-info-sidebar nav{display:flex;flex-direction:column}
.kulin-info-sidebar nav a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:13px 0;border-bottom:1px solid #d5e0d2;text-decoration:none;color:var(--ki-ink);font-size:13px;font-weight:700}
.kulin-info-sidebar nav a:hover,.kulin-info-sidebar nav a.is-current{color:var(--ki-terracotta)}
.kulin-info-sidebar nav a.is-current{font-weight:800}
.kulin-info-sidebar-help{margin-top:18px;padding:24px;background:#f6e5d6}
.kulin-info-sidebar-help p{margin:12px 0;font-size:14px;color:var(--ki-ink)}
.kulin-info-sidebar-help a,.kulin-info-article-footer a{display:inline-flex;gap:14px;align-items:center;font-size:13px;font-weight:800;color:var(--ki-green);text-decoration:none}
.kulin-info-sidebar-help a:hover,.kulin-info-article-footer a:hover{color:var(--ki-terracotta)}
.kulin-info-article{min-width:0}
.kulin-info-article-header h2{font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.05em;color:var(--ki-green);margin:12px 0 22px;overflow-wrap:anywhere}
.kulin-info-accent{height:3px;width:60px;background:var(--ki-terracotta);margin-bottom:30px}
.kulin-info-prose{font-size:15px;line-height:1.95;color:#48594e;white-space:pre-line;overflow-wrap:anywhere}
.kulin-info-prose a{color:var(--ki-green);text-decoration:underline;text-decoration-color:var(--ki-terracotta);text-underline-offset:3px}
.kulin-info-prose p{margin:0 0 1.2em}
.kulin-info-article-footer{margin-top:50px;padding:27px 30px;background:#f1f3ec;border-left:4px solid var(--ki-terracotta)}
.kulin-info-article-footer p{margin:0 0 8px;color:var(--ki-ink);font-weight:700}
@media(max-width:850px){.kulin-info-hero-inner{grid-template-columns:1fr}.kulin-info-hero-copy{padding:55px 0 30px}.kulin-info-hero-photo{min-height:230px;max-height:280px}.kulin-info-layout{grid-template-columns:1fr;gap:35px;padding-top:55px}.kulin-info-sidebar{position:static}.kulin-info-sidebar-card nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}}
@media(max-width:550px){.kulin-info-hero h1{font-size:clamp(2.35rem,11vw,3.5rem)}.kulin-info-hero-lead{font-size:15px}.kulin-info-layout{padding-bottom:65px}.kulin-info-sidebar-card nav{grid-template-columns:1fr}.kulin-info-prose{font-size:14px}.kulin-info-article-footer{padding:22px}}
@media(prefers-reduced-motion:reduce){.kulin-info-page *{scroll-behavior:auto!important}}


/* =====================================================
   KULIN COURSE DETAIL — PRIMARY BUTTON VISIBILITY FIX
===================================================== */

/* All primary call-to-action buttons */
.kc-detail .kc-btn.kc-btn-primary,
.kc-detail a.kc-btn.kc-btn-primary,
.kc-detail button.kc-btn.kc-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    background: #294c3d !important;
    background-color: #294c3d !important;
    color: #ffffff !important;

    border: 2px solid #294c3d !important;
    border-radius: 8px;

    padding: 16px 26px;

    font-size: 15px;
    font-weight: 800;
    line-height: 1.4;
    text-align: center;
    text-decoration: none !important;

    opacity: 1 !important;
    visibility: visible !important;

    cursor: pointer;
    transition: background-color .2s ease,
                border-color .2s ease,
                transform .2s ease;
}

/* Ensure button text and arrows remain visible */
.kc-detail .kc-btn.kc-btn-primary span {
    color: #ffffff !important;
    opacity: 1 !important;
}

/* Hover */
.kc-detail .kc-btn.kc-btn-primary:hover {
    background: #b9694c !important;
    background-color: #b9694c !important;
    border-color: #b9694c !important;
    color: #ffffff !important;
    transform: translateY(-2px);
}

/* Keyboard accessibility */
.kc-detail .kc-btn.kc-btn-primary:focus-visible {
    outline: 3px solid #d5a16e;
    outline-offset: 4px;
}

/* Registration payment button */
.kc-detail .kc-registration .kc-submit {
    display: flex !important;
    width: 100%;
    min-height: 58px;

    background: #294c3d !important;
    color: #ffffff !important;

    font-size: 16px;
    font-weight: 800;
    letter-spacing: .01em;

    box-shadow: 0 8px 22px rgba(41, 76, 61, .18);
}

/* Disabled state */
.kc-detail .kc-registration .kc-submit:disabled {
    background: #87958b !important;
    border-color: #87958b !important;
    color: #ffffff !important;
    opacity: .75 !important;
    cursor: not-allowed;
    box-shadow: none;
}

@media (max-width: 600px) {
    .kc-detail .kc-btn.kc-btn-primary {
        width: 100%;
        padding: 15px 18px;
    }
}


/* =============================================================
   KULIN — 2026 SPACING & COMPATIBILITY LAYER
   Safe, opt-in component padding; does not pad structural grids,
   hero backgrounds, photos, or every div indiscriminately.
============================================================= */
:root {
    --kulin-space-1: 6px;
    --kulin-space-2: 10px;
    --kulin-space-3: 16px;
    --kulin-space-4: 24px;
    --kulin-space-5: 32px;
    --kulin-control-height: 44px;
    --kulin-focus-ring: #b9694c;
}

/* Make text safe inside flexible/grid layouts. */
:where(.container, .card-body, .account-card, .offer, .register-panel,
       .kulin-info-article, .kulin-info-sidebar, .kc-detail,
       .kulin-catalog-section, .kulin-catalog-filters) {
    min-width: 0;
}
:where(.card-body, .account-card, .offer, .register-panel,
       .kulin-info-article, .kulin-info-sidebar-card, .kulin-catalog-filters,
       .kc-sidebar-inner, .kc-registration) {
    overflow-wrap: anywhere;
}

/* Controls with visible surfaces always receive a usable touch target.
   Exclude intentional icon, menu, inline text, and custom grid controls. */
:where(.button, .kc-btn, .k-btn, .kulin-catalog-primary-link,
       .kulin-catalog-filter-submit button, .kulin-info-hero-link,
       .kulin-info-article-footer a, .kulin-info-sidebar-help a,
       .kulin-info-primary-link, .admin-nav a) {
    min-height: var(--kulin-control-height);
    padding: 11px 18px;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: break-word;
}
:where(.button.small) {
    min-height: 34px;
    padding: 7px 12px;
}

/* Preserve generous existing page-specific padding while repairing
   unstyled submit buttons in conventional forms. */
:where(.form, .filters, .register-panel, .account-card, .actions,
       .kulin-catalog-filters, .kc-registration) button[type="submit"]:not(
       .button, .kc-btn, .k-btn, .kulin-menu-toggle, .link-button,
       .k-tab, .kulin-catalog-filter-submit button) {
    min-height: var(--kulin-control-height);
    padding: 11px 18px;
    line-height: 1.4;
}

/* Inputs: avoid zero-padding controls and clipping of typed text. */
:where(.form, .filters, .register-panel, .account-card,
       .kulin-catalog-filters, .kc-registration, .kulin-info-page)
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
    select, textarea) {
    min-height: var(--kulin-control-height);
    padding: 11px 14px;
    line-height: 1.45;
    max-width: 100%;
}
:where(.form, .filters, .register-panel, .account-card,
       .kulin-catalog-filters, .kc-registration, .kulin-info-page) textarea {
    min-height: 110px;
}

/* Navigation and sidebars: provide a comfortable inset around text. */
.course-aside a {
    padding: 12px 14px;
}
.kulin-info-page .kulin-info-sidebar-card nav a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 44px;
    padding: 11px 14px;
}
.kulin-mobile-menu-inner > a {
    padding-inline: 12px;
}
.kulin-mobile-menu-inner > form {
    padding-inline: 12px;
}
.kulin-mobile-menu-inner .link-button {
    min-height: 38px;
    padding: 7px 0;
    text-align: left;
}

/* Content blocks: do not collapse their text against borders. */
:where(.account-card, .offer, .register-panel, .flash,
       .kulin-info-article-footer, .kulin-catalog-empty, .k-empty) {
    padding: clamp(18px, 2.4vw, 32px);
}
:where(.account-card, .offer, .register-panel, .flash,
       .kulin-info-article-footer, .kulin-catalog-empty, .k-empty)
> :first-child { margin-top: 0; }
:where(.account-card, .offer, .register-panel, .flash,
       .kulin-info-article-footer, .kulin-catalog-empty, .k-empty)
> :last-child { margin-bottom: 0; }

/* A page-scoped fallback for readable informational documents.
   No forced hero height, background, or typography overrides. */
.kulin-info-page .kulin-info-prose {
    overflow-wrap: anywhere;
}
.kulin-info-page .kulin-info-prose :is(h2, h3, h4) {
    scroll-margin-top: 110px;
}
.kulin-info-page .kulin-info-prose :is(ul, ol) {
    padding-inline-start: 1.5em;
}
.kulin-info-page .kulin-info-prose :is(blockquote, pre) {
    padding: 16px 20px;
    max-width: 100%;
    overflow-x: auto;
}

/* Fix common zero-padding link-like actions, but not text links. */
.kulin-catalog-hero .kulin-catalog-primary-link,
.kulin-catalog-empty .kulin-catalog-primary-link,
.kulin-catalog-help .kulin-catalog-primary-link {
    padding: 13px 22px;
}
.kc-detail .kc-hero-tags span {
    padding: 8px 13px;
}
.kc-detail .kc-btn {
    min-height: 46px;
    padding: 13px 21px;
}
.kc-detail .kc-registration .kc-submit {
    padding: 15px 22px;
}

/* Restore corner styles where newer components deliberately use them;
   the removed global !important radius reset no longer interferes. */
:where(.kulin-catalog-filters, .kulin-info-sidebar-card,
       .kulin-info-article-footer, .kc-sidebar-inner) {
    border-radius: 8px;
}

/* Keep compact tables readable without breaking horizontal scrolling. */
.table-wrap { overflow-x: auto; }
.table-wrap :is(th, td) { padding: 12px 15px; }
.table-wrap :is(button, .button, select, input:not([type="checkbox"]):not([type="radio"])) {
    min-height: 36px;
}

/* Accessible focus state for new and legacy actions. */
:where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid var(--kulin-focus-ring);
    outline-offset: 3px;
}

@media (max-width: 600px) {
    :root { --kulin-control-height: 44px; }
    .container { padding-inline: max(18px, env(safe-area-inset-left, 0px)); }
    :where(.button, .kc-btn, .k-btn, .kulin-catalog-primary-link,
           .kulin-info-hero-link, .kulin-info-article-footer a) {
        padding: 12px 16px;
    }
    :where(.account-card, .offer, .register-panel, .flash,
           .kulin-info-article-footer, .kulin-catalog-empty, .k-empty) {
        padding: 18px;
    }
    .kulin-info-page .kulin-info-sidebar-card nav a { padding: 12px 14px; }
}
