:root {
    --psm-primary: #d86d24;
    --psm-primary-dark: #a84f17;
    --psm-accent: #184d47;
    --psm-ink: #1f2933;
    --psm-muted: #5f6c7b;
    --psm-surface: #fffdf9;
    --psm-border: rgba(31, 41, 51, 0.08);
    --psm-shadow: 0 18px 40px rgba(31, 41, 51, 0.08);
    --psm-radius: 1.1rem;
}

body {
    color: var(--psm-ink);
    background: linear-gradient(180deg, #fffdf9 0%, #fff 38%, #f8f5ef 100%);
}

.content-wrapper {
    position: relative;
}

.content-wrapper::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background-image: radial-gradient(circle at 12% 18%, rgba(216, 109, 36, 0.08), transparent 24%),
        radial-gradient(circle at 88% 14%, rgba(24, 77, 71, 0.08), transparent 22%),
        linear-gradient(rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.72));
    z-index: -1;
}

.navbar-bg-light,
.card,
.table,
.bg-white {
    border-radius: var(--psm-radius);
}

.navbar-bg-light {
    box-shadow: 0 12px 30px rgba(31, 41, 51, 0.06);
    border: 1px solid var(--psm-border);
    backdrop-filter: blur(12px);
}

.psm-navbar {
    position: relative;
    z-index: 1030;
    margin: 1rem auto 0;
}

.psm-navbar .container {
    min-height: 82px;
}

.psm-navbar .navbar-brand img {
    max-height: 46px;
    width: auto;
}

.psm-navbar .dropdown-menu {
    border: 1px solid var(--psm-border);
    box-shadow: var(--psm-shadow);
    padding: 0.7rem;
    min-width: 18rem;
}

.psm-products-menu {
    min-width: 24rem;
    max-width: 28rem;
    padding: 1rem;
}

.psm-menu-panel {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.psm-menu-section {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 245, 239, 0.9));
    border: 1px solid var(--psm-border);
    border-radius: 0.95rem;
    padding: 0.8rem;
}

.psm-navbar .dropdown-header {
    color: var(--psm-accent);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 800;
    padding: 0.55rem 0.8rem;
}

.psm-navbar .dropdown-item {
    border-radius: 0.75rem;
    padding: 0.85rem 0.95rem;
    white-space: normal;
    line-height: 1.35;
}

.psm-navbar .dropdown-item span {
    display: block;
    font-size: 0.98rem;
    font-weight: 700;
    color: var(--psm-ink);
}

.psm-navbar .dropdown-item small {
    display: block;
    color: var(--psm-muted);
    font-size: 0.82rem;
    font-weight: 500;
    margin-top: 0.3rem;
}

.psm-navbar .nav-link.active,
.psm-navbar .dropdown-item.active,
.psm-navbar .dropdown-item:active {
    color: var(--psm-primary-dark);
    background: rgba(216, 109, 36, 0.12);
}

.psm-navbar .nav-link.active {
    position: relative;
}

.psm-navbar .nav-link.active::after {
    content: "";
    position: absolute;
    left: 0.9rem;
    right: 0.9rem;
    bottom: 0.2rem;
    height: 2px;
    background: linear-gradient(90deg, var(--psm-primary), #ef9a56);
    border-radius: 999px;
}

.psm-navbar .navbar-toggler {
    border: 1px solid var(--psm-border);
    box-shadow: none;
}

.psm-navbar .navbar-toggler:focus {
    box-shadow: 0 0 0 0.18rem rgba(216, 109, 36, 0.15);
}

.navbar .nav-link,
.navbar .dropdown-item {
    font-weight: 600;
    letter-spacing: 0.01em;
}

.navbar .nav-link:hover,
.navbar .dropdown-item:hover,
.navbar .nav-link:focus,
.navbar .dropdown-item:focus {
    color: var(--psm-primary-dark);
}

.display-1,
.display-4,
.display-5,
.display-6 {
    color: #16202a;
    letter-spacing: -0.03em;
}

.lead,
p,
li,
td,
th,
label,
.post-category,
.card-text {
    color: var(--psm-muted);
}

.text-primary,
.link-primary,
.more,
a {
    color: var(--psm-primary);
}

a:hover,
a:focus {
    color: var(--psm-primary-dark);
}

.btn {
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: 0.01em;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.btn:hover,
.btn:focus {
    transform: translateY(-1px);
    box-shadow: 0 14px 24px rgba(31, 41, 51, 0.12);
}

.btn-primary {
    background: linear-gradient(135deg, var(--psm-primary), #ee8c3a);
    border-color: transparent;
}

.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(135deg, var(--psm-primary-dark), var(--psm-primary));
    border-color: transparent;
}

.btn-soft-primary,
.bg-pale-primary,
.bg-soft-primary {
    background: linear-gradient(180deg, rgba(216, 109, 36, 0.12), rgba(24, 77, 71, 0.06));
}

.btn-soft-primary {
    color: var(--psm-primary-dark);
    border: 1px solid rgba(216, 109, 36, 0.16);
}

.btn-soft-ash {
    background: #fff;
    border: 1px solid var(--psm-border);
    color: var(--psm-ink);
}

.card,
.table-responsive,
.map,
video,
iframe,
figure.rounded img {
    box-shadow: var(--psm-shadow);
}

.card {
    border: 1px solid var(--psm-border);
    overflow: hidden;
}

.card-body {
    position: relative;
}

.card-body::after {
    content: "";
    position: absolute;
    inset: auto 1.5rem 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(216, 109, 36, 0.22), transparent);
}

.table {
    overflow: hidden;
    border: 1px solid var(--psm-border);
    background: #fff;
}

.table th {
    background: rgba(24, 77, 71, 0.06);
    color: var(--psm-ink);
    font-weight: 700;
}

.table td {
    background: rgba(255, 255, 255, 0.96);
}

.icon-list.bullet-bg i,
.icon.text-primary,
.text-primary .uil {
    color: var(--psm-primary) !important;
}

.post-category,
.text-line .hover {
    text-transform: uppercase;
    font-size: 0.78rem;
    letter-spacing: 0.12em;
    font-weight: 700;
}

.wrapper.bg-soft-primary,
.wrapper.image-wrapper {
    position: relative;
    overflow: hidden;
}

.content-wrapper > header.wrapper {
    overflow: visible;
}

.wrapper.bg-soft-primary::after,
.wrapper.image-wrapper::after {
    content: "";
    position: absolute;
    inset: auto -10% -32% auto;
    width: 340px;
    height: 340px;
    background: radial-gradient(circle, rgba(216, 109, 36, 0.14), transparent 68%);
    pointer-events: none;
}

.navigation .btn {
    min-width: 150px;
}

.form-control,
.form-select,
textarea {
    border-radius: 0.9rem;
    border-color: rgba(31, 41, 51, 0.12);
    box-shadow: none;
}

.form-control:focus,
.form-select:focus,
textarea:focus {
    border-color: rgba(216, 109, 36, 0.45);
    box-shadow: 0 0 0 0.2rem rgba(216, 109, 36, 0.12);
}

footer {
    background: linear-gradient(180deg, #1b232d 0%, #111820 100%) !important;
}

footer a {
    color: #f9bf8f;
}

footer a:hover,
footer a:focus {
    color: #ffd7b5;
}

@media (max-width: 991.98px) {
    .display-1 {
        font-size: 2.5rem;
    }

    .display-4 {
        font-size: 2rem;
    }

    .psm-navbar {
        margin-top: 0.5rem;
    }

    .psm-navbar .navbar-collapse {
        margin-top: 0.8rem;
        padding: 1rem;
        background: #fff;
        border-radius: 1rem;
        border: 1px solid var(--psm-border);
        box-shadow: var(--psm-shadow);
    }

    .psm-navbar .dropdown-menu {
        min-width: 100%;
        box-shadow: none;
        border: 0;
        padding: 0.35rem 0 0 0.5rem;
    }

    .psm-products-menu {
        min-width: 100%;
        max-width: 100%;
        padding: 0.35rem 0 0 0;
    }

    .psm-menu-panel {
        gap: 0.75rem;
    }
}
