.is-hidden {
    display: none !important;
}

.list-group-item.list-group-item-action.text-danger {
    color: #8f1d2c !important;
}

.top-benefits-bar{width:100%;height:44px;background:#f7f1e8;color:#241d18;overflow:hidden;}
.top-benefits-bar__inner{width:min(100%,1100px);height:100%;margin:0 auto;display:grid;grid-template-columns:1.2fr 1.2fr .8fr .8fr;align-items:center;}
.top-benefits-bar__item{min-width:0;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:0 .65rem;border-right:1px solid rgba(60,140,114,.16);font-size:.82rem;font-weight:600;line-height:1;white-space:nowrap;}
.top-benefits-bar__item:last-child{border-right:0;}
.top-benefits-bar__icon{flex:0 0 auto;color:#3c8c72;font-size:1rem;line-height:1;}
.shop-benefits{max-width:1200px;margin:0 auto 1rem;padding:0 1rem;}.shop-benefits__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;}.shop-benefits__item{display:flex;align-items:center;gap:1rem;min-height:100px;padding:1.15rem 1.35rem;background:#fffdf9;border:1px solid #e2ddd6;border-radius:20px;transition:background-color .25s ease;}.shop-benefits__item:hover{background:#f1f8f3;}.shop-benefits__icon{flex:0 0 38px;width:38px;height:38px;fill:none;stroke:#3c8c72;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6;transition:transform .25s ease;}.shop-benefits__item:hover .shop-benefits__icon{transform:translateY(-3px);}.shop-benefits__content{min-width:0;}.shop-benefits__content h2{margin:0 0 .25rem;color:#241d18;font-size:1rem;font-weight:700;line-height:1.25;}.shop-benefits__content p{margin:0;color:#6c757d;font-size:.82rem;line-height:1.4;}@media (max-width:992px){.shop-benefits__grid{grid-template-columns:repeat(2,minmax(0,1fr));}}@media (max-width:576px){.shop-benefits{padding:0 .75rem;}.shop-benefits__grid{grid-template-columns:1fr;gap:.65rem;}.shop-benefits__item{min-height:104px;padding:1.2rem 1.1rem;}.shop-benefits__icon{flex-basis:36px;width:36px;height:36px;}}
.shop-benefits{max-width:1320px;}.shop-benefits__grid{gap:0;background:#fffdf9;border:1px solid #e2ddd6;border-radius:20px;overflow:hidden;}.shop-benefits__item{background:transparent;border:0;border-radius:0;}.shop-benefits__item+.shop-benefits__item{border-left:1px solid #e2ddd6;}
.shop-benefits{margin-top:1.5rem;margin-bottom:2rem;}.shop-benefits__item{padding:1.35rem 1.5rem;}
@media (max-width:991.98px){.top-benefits-bar__inner{width:min(100%,900px);}.top-benefits-bar__item{gap:.3rem;padding:0 .45rem;font-size:.75rem;}.top-benefits-bar__icon{font-size:.9rem;}}
@media (max-width:575.98px){.top-benefits-bar{display:none;}}

html[data-theme="dark"] {
    --bg-primary: #0c1e1b;
    --bg-secondary: #132925;
    --bg-glass: rgba(18, 41, 37, 0.76);
    --bg-glass-hover: rgba(18, 41, 37, 0.9);
    --border-glass: rgba(111, 211, 178, 0.16);
    --text-primary: #eef6f2;
    --text-secondary: #d7ebe3;
    --text-muted: #9ebcb2;
    --shadow: rgba(0, 0, 0, 0.5);
    --shadow-glow: rgba(111, 211, 178, 0.22);
    --accent: #6fd3b2;
    --accent-secondary: #95e7ca;
    --accent-hover: #b5f2de;
    --sidebar-bg: rgba(12, 30, 27, 0.9);
    --card-bg: rgba(19, 41, 37, 0.72);
    --gradient-start: #16332d;
    --gradient-end: #214941;
    --glow-color: rgba(149, 231, 202, 0.24);
    --header-solid: rgba(10, 24, 21, 0.96);
    --sidebar-solid: rgba(12, 30, 27, 0.98);
}

html[data-theme="light"] {
    --bg-primary: #eef4f1;
    --bg-secondary: #f9fcfa;
    --bg-glass: rgba(248, 252, 250, 0.78);
    --bg-glass-hover: rgba(248, 252, 250, 0.92);
    --border-glass: rgba(103, 179, 154, 0.26);
    --text-primary: #102522;
    --text-secondary: #28423d;
    --text-muted: #5b7770;
    --shadow: rgba(0, 0, 0, 0.08);
    --shadow-glow: rgba(103, 179, 154, 0.18);
    --accent: #4ea88a;
    --accent-secondary: #67b39a;
    --accent-hover: #7bc8ac;
    --sidebar-bg: rgba(244, 249, 246, 0.88);
    --card-bg: rgba(249, 252, 250, 0.72);
    --gradient-start: #e7f2ed;
    --gradient-end: #d8ebe3;
    --glow-color: rgba(103, 179, 154, 0.28);
    --header-solid: rgba(240, 234, 227, 0.96);
    --sidebar-solid: rgba(255, 250, 244, 0.96);
}

body.transition-theme {
    background: var(--bg-primary);
    color: var(--text-primary);
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    min-height: 100dvh;
    position: relative;
    overflow-x: hidden;
    transition: background 0.4s ease, color 0.4s ease;
}

body.transition-theme.sidebar-open {
    overflow: hidden;
}

body.transition-theme nav[data-testid="top-navigation"] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: var(--header-solid);
    border-color: var(--border-glass);
    z-index: 70;
}

body.transition-theme .sidebar-glass {
    background: var(--sidebar-solid);
    border-right: 1px solid var(--border-glass);
}

.glass,
.glass-hover,
.card-glass {
    background: var(--bg-glass);
    border: 1px solid var(--border-glass);
    color: var(--text-primary);
    box-shadow:
        0 8px 32px 0 var(--shadow),
        inset 0 1px 0 0 rgba(255, 255, 255, 0.05);
}

.glass-hover:hover {
    background: var(--bg-glass-hover);
    transform: translateY(-4px);
    box-shadow:
        0 20px 40px 0 var(--shadow),
        0 0 30px 0 var(--shadow-glow),
        inset 0 1px 0 0 rgba(255, 255, 255, 0.1);
    border-color: var(--accent);
}

body.transition-theme::before {
    content: '';
    position: fixed;
    inset: 0;
    background:
        radial-gradient(ellipse at 20% 20%, var(--glow-color) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 80%, rgba(111, 211, 178, 0.18) 0%, transparent 50%),
        radial-gradient(ellipse at 50% 50%, rgba(181, 242, 222, 0.08) 0%, transparent 60%);
    pointer-events: none;
    z-index: -1;
    animation: gradientShift 15s ease-in-out infinite alternate;
}

body.transition-theme::after {
    content: '';
    position: fixed;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    opacity: 0.02;
    pointer-events: none;
    z-index: -1;
}

@keyframes gradientShift {
    0% { opacity: 0.6; transform: scale(1); }
    50% { opacity: 0.8; transform: scale(1.05); }
    100% { opacity: 0.6; transform: scale(1); }
}

body.transition-theme .glass {
    backdrop-filter: blur(24px) saturate(200%);
    -webkit-backdrop-filter: blur(24px) saturate(200%);
}

body.transition-theme .glass-hover {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

body.transition-theme .card-glass {
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border-radius: 1.25rem;
    position: relative;
    overflow: hidden;
}

body.transition-theme .card-glass::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
}

body.transition-theme .card-glass:hover {
    transform: translateY(-2px);
    box-shadow:
        0 16px 48px 0 var(--shadow),
        0 0 20px 0 var(--shadow-glow);
}

body.transition-theme .accent-primary {
    color: var(--accent);
    text-shadow: 0 0 20px var(--shadow-glow);
}

body.transition-theme .accent-bg {
    background: linear-gradient(135deg, var(--accent) 0%, var(--accent-secondary) 100%);
    box-shadow: 0 4px 20px var(--shadow-glow);
    transition: all 0.3s ease;
}

body.transition-theme .accent-bg:hover {
    background: linear-gradient(135deg, var(--accent-hover) 0%, var(--accent) 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 30px var(--shadow-glow);
}

body.transition-theme .glow-text {
    text-shadow: 0 0 30px var(--glow-color);
}

body.transition-theme .border-gradient {
    position: relative;
    border: none;
}

body.transition-theme .border-gradient::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(135deg, var(--accent), var(--accent-secondary), transparent);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

body.transition-theme .icon-pulse {
    animation: iconPulse 2s ease-in-out infinite;
}

@keyframes iconPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

body.transition-theme input:focus,
body.transition-theme select:focus,
body.transition-theme textarea:focus {
    outline: none;
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px var(--shadow-glow), 0 0 20px var(--shadow-glow);
}

body.transition-theme .product-extra-images-section {
    margin-top: 0.5rem;
    border-radius: 1.75rem;
}

body.transition-theme .product-extra-upload {
    border-radius: 1.5rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.03));
}

body.transition-theme .product-extra-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
}

body.transition-theme .product-extra-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 1.5rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03));
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

body.transition-theme .product-extra-card:hover {
    transform: translateY(-3px);
    border-color: rgba(111, 211, 178, 0.35);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.26), 0 0 0 1px rgba(111, 211, 178, 0.1);
}

body.transition-theme .product-extra-card__media {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.18);
}

body.transition-theme .product-extra-card__media img,
body.transition-theme .product-extra-preview-item__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.transition-theme .product-extra-card__body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
}

body.transition-theme .product-extra-card__label {
    margin: 0;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent-secondary);
}

body.transition-theme .product-extra-card__filename {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-primary);
    word-break: break-word;
}

body.transition-theme .product-extra-card__actions {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

body.transition-theme .product-extra-action-form {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

body.transition-theme .product-extra-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    min-height: 2.85rem;
    padding: 0.75rem 1rem;
    border-radius: 1rem;
    border: 1px solid transparent;
    font-size: 0.92rem;
    font-weight: 700;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

body.transition-theme .product-extra-button:hover {
    transform: translateY(-1px);
}

body.transition-theme .product-extra-button:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    transform: none;
}

body.transition-theme .product-extra-button--primary {
    background: linear-gradient(135deg, var(--accent) 0%, var(--accent-secondary) 100%);
    color: #fff;
    box-shadow: 0 10px 28px rgba(78, 168, 138, 0.26);
}

body.transition-theme .product-extra-button--secondary {
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-primary);
    border-color: var(--border-glass);
}

body.transition-theme .product-extra-button--danger {
    background: rgba(244, 63, 94, 0.1);
    color: #fecdd3;
    border-color: rgba(244, 63, 94, 0.25);
}

body.transition-theme .product-extra-preview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.75rem;
    min-height: 98px;
}

body.transition-theme .product-extra-preview-empty {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 98px;
    border: 1px dashed var(--border-glass);
    border-radius: 1rem;
    color: var(--text-muted);
    background: rgba(255, 255, 255, 0.03);
    text-align: center;
    padding: 1rem;
}

body.transition-theme .product-extra-preview-item {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.65rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

body.transition-theme .product-extra-preview-item__thumb {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 0.9rem;
    background: rgba(0, 0, 0, 0.2);
}

body.transition-theme .product-extra-preview-item__meta {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

body.transition-theme .product-extra-preview-item__name {
    margin: 0;
    font-size: 0.86rem;
    font-weight: 600;
    color: var(--text-primary);
    word-break: break-word;
}

body.transition-theme .product-extra-preview-item__size {
    margin: 0;
    font-size: 0.74rem;
    color: var(--text-muted);
}

body.transition-theme .product-extra-preview-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.55rem 0.75rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--text-muted);
    min-height: 2.75rem;
    width: 100%;
}

body.transition-theme .product-extra-preview-chip__thumb {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.08);
}

body.transition-theme .product-extra-preview-chip__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.transition-theme .product-extra-preview-chip__text {
    font-size: 0.86rem;
    line-height: 1.35;
}

body.transition-theme .product-extra-empty {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.2rem 1.25rem;
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px dashed var(--border-glass);
}

body.transition-theme .product-extra-empty__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    background: rgba(111, 211, 178, 0.12);
    color: var(--accent-secondary);
    font-size: 1.25rem;
    flex: 0 0 3rem;
}

body.transition-theme .product-extra-empty__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-primary);
}

body.transition-theme .product-extra-empty__text {
    margin: 0.2rem 0 0;
    font-size: 0.9rem;
    color: var(--text-muted);
}

body.transition-theme .product-extra-button i {
    font-size: 0.95rem;
}

body.transition-theme ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

body.transition-theme ::-webkit-scrollbar-track {
    background: transparent;
}

body.transition-theme ::-webkit-scrollbar-thumb {
    background: var(--border-glass);
    border-radius: 10px;
}

body.transition-theme ::-webkit-scrollbar-thumb:hover {
    background: var(--accent);
}

body.transition-theme tr {
    transition: all 0.3s ease;
}

body.transition-theme tbody tr:hover {
    background: var(--bg-glass) !important;
}

body.transition-theme .badge-glow {
    box-shadow: 0 0 15px currentColor;
}

body.transition-theme .float {
    animation: float 6s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
}

body.transition-theme .shimmer {
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
    background-size: 200% 100%;
    animation: shimmer 2s infinite;
}

@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

body.transition-theme.large-text {
    font-size: 1.125rem;
}

body.transition-theme.large-text h1 { font-size: 2.5rem; }
body.transition-theme.large-text h2 { font-size: 2rem; }
body.transition-theme.large-text h3 { font-size: 1.5rem; }
body.transition-theme.large-text button,
body.transition-theme.large-text input {
    font-size: 1.125rem;
    padding: 0.75rem 1.5rem;
}

body.transition-theme.high-contrast {
    --text-primary: #ffffff;
    --text-secondary: #e5e7eb;
    --border-glass: rgba(255, 255, 255, 0.3);
}

body.transition-theme .loading {
    opacity: 0.6;
    pointer-events: none;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

body.transition-theme .animate-fadeInUp {
    animation: fadeInUp 0.6s ease-out forwards;
}

body.transition-theme .stagger-children > * {
    opacity: 0;
    animation: fadeInUp 0.5s ease-out forwards;
}

body.transition-theme .stagger-children > *:nth-child(1) { animation-delay: 0.1s; }
body.transition-theme .stagger-children > *:nth-child(2) { animation-delay: 0.2s; }
body.transition-theme .stagger-children > *:nth-child(3) { animation-delay: 0.3s; }
body.transition-theme .stagger-children > *:nth-child(4) { animation-delay: 0.4s; }
body.transition-theme .stagger-children > *:nth-child(5) { animation-delay: 0.5s; }
body.transition-theme .stagger-children > *:nth-child(6) { animation-delay: 0.6s; }

body.transition-theme button:active,
body.transition-theme .btn-press:active {
    transform: scale(0.98);
}

body.transition-theme a {
    transition: all 0.3s ease;
}

.site-header-logo-badge {
    background: rgba(12, 30, 26, 0.92);
}

.site-header-logo-image {
    height: 55px;
}

.site-cart-count-badge {
    display: none;
}

.site-cart-count-badge--visible {
    display: inline-flex;
}

.site-offcanvas-search {
    height: 230px;
}

.site-loyverse-card-number {
    letter-spacing: 0.08em;
    color: #3c8c72;
}

.site-loyverse-qr-image {
    max-width: 280px;
}

.site-hidden-noscript {
    display: none;
    visibility: hidden;
}

.site-promo-overlay {
    background-color: rgba(0, 0, 0, 0.5);
}

.site-promo-hero {
    min-height: 300px;
}

.checkout-shell {
    background:
        radial-gradient(circle at top left, rgba(60, 140, 114, 0.10), transparent 28%),
        radial-gradient(circle at bottom right, rgba(244, 201, 107, 0.10), transparent 26%);
}

.checkout-card {
    border: 1px solid rgba(95, 74, 47, 0.10);
    border-radius: 28px;
    background: rgba(255, 250, 244, 0.88);
    box-shadow: 0 18px 40px rgba(83, 59, 31, 0.08);
}

.checkout-card--soft {
    background: rgba(255, 255, 255, 0.75);
}

.product-delivery-indicator {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin-top: 1rem;
    padding: 1rem 1.1rem;
    color: #315b4d;
    background: #eef7f1;
    border: 1px solid rgba(60, 140, 114, 0.18);
    border-radius: 16px;
}

.product-delivery-indicator__icon {
    display: grid;
    flex: 0 0 2.25rem;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    color: #fff;
    background: #3c8c72;
    border-radius: 50%;
}

.product-delivery-indicator__copy {
    min-width: 0;
}

.product-delivery-indicator__title {
    display: block;
    color: #2f6b59;
}

.product-delivery-indicator__body {
    margin: 0.25rem 0 0;
    color: #52665e;
    font-size: 0.9rem;
    line-height: 1.5;
}

.product-delivery-indicator.is-request {
    color: #795b2b;
    background: #fff7e5;
    border-color: rgba(213, 157, 58, 0.24);
}

.product-delivery-indicator.is-request .product-delivery-indicator__icon {
    background: #c48a2c;
}

.product-delivery-indicator.is-request .product-delivery-indicator__title {
    color: #795b2b;
}

.product-delivery-indicator.is-request .product-delivery-indicator__body {
    color: #806b4c;
}

.checkout-delivery-indicator {
    margin: 0.75rem 0 1.25rem;
    text-align: start;
}

.checkout-card .form-control,
.checkout-card .form-select {
    min-height: 52px;
    border-radius: 16px;
}

.checkout-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.8rem;
    border-radius: 999px;
    background: rgba(60, 140, 114, 0.08);
    color: #2f6b59;
    font-weight: 700;
    font-size: 0.85rem;
}

.checkout-step-card {
    border: 1px solid rgba(95, 74, 47, 0.10);
    border-radius: 28px;
    background: rgba(255, 250, 244, 0.88);
    box-shadow: 0 18px 40px rgba(83, 59, 31, 0.08);
    padding: 1.25rem;
    margin-bottom: 1.25rem;
}

.checkout-step-card--products,
.checkout-step-card--details,
.checkout-step-card--payment {
    background: rgba(255, 250, 244, 0.88);
}

.checkout-step-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.checkout-step-nav a {
    display: block;
    padding: 1rem 1.1rem;
    border-radius: 20px;
    border: 1px solid rgba(95, 74, 47, 0.10);
    background: rgba(255, 250, 244, 0.88);
    color: #2b241d;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(83, 59, 31, 0.05);
}

.checkout-step-nav a.active {
    border-color: rgba(60, 140, 114, 0.38);
    box-shadow: 0 14px 28px rgba(60, 140, 114, 0.10);
}

.checkout-step-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: rgba(60, 140, 114, 0.10);
    color: #2f6b59;
    font-weight: 800;
    margin-bottom: 0.6rem;
}

.checkout-product-image {
    width: 92px;
    height: auto;
    border-radius: 12px;
    flex: 0 0 auto;
}

.checkout-product-main {
    min-width: 0;
}

.checkout-product-description {
    line-height: 1.5;
    max-width: 58rem;
}

.checkout-product-meta {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(95, 74, 47, 0.08);
}

.checkout-payment-logos img {
    height: 38px;
    width: auto;
}

.checkout-payment-methods {
    display: grid;
    gap: 0.65rem;
}

.checkout-payment-method-group {
    display: grid;
    gap: 0.65rem;
}

.checkout-payment-issuer-panel {
    margin-left: 1.5rem;
    padding: 0.85rem 1rem 1rem;
    border-left: 3px solid rgba(25, 135, 84, 0.35);
    background: rgba(255, 255, 255, 0.72);
    border-radius: 0.7rem;
}

.checkout-payment-method {
    display: block;
    margin: 0;
    cursor: pointer;
}

.checkout-payment-method > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.checkout-payment-method__body {
    min-height: 58px;
    padding: 0.8rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border: 1px solid rgba(95, 74, 47, 0.16);
    border-radius: 0.8rem;
    background: #fff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.checkout-payment-method__body img {
    max-width: 112px;
    max-height: 34px;
    width: auto;
}

.checkout-payment-method > input:checked + .checkout-payment-method__body {
    border-color: var(--bs-success);
    box-shadow: 0 0 0 3px rgba(25, 135, 84, 0.12);
}

.checkout-payment-method > input:focus-visible + .checkout-payment-method__body {
    outline: 3px solid rgba(13, 110, 253, 0.35);
    outline-offset: 2px;
}

.checkout-payment-issuer {
    flex: 1 1 0;
    margin: 0;
    cursor: pointer;
}

.checkout-payment-issuer input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.checkout-payment-issuer span {
    display: block;
    padding: 0.65rem 1rem;
    text-align: center;
    border: 1px solid rgba(95, 74, 47, 0.16);
    border-radius: 0.7rem;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
}

.checkout-payment-issuer span img {
    width: auto;
    height: 28px;
    max-width: 90px;
}

.checkout-payment-issuer input:checked + span {
    border-color: var(--bs-success);
    box-shadow: 0 0 0 3px rgba(25, 135, 84, 0.12);
}

.checkout-shipping-icon {
    height: 24px;
    width: auto;
    margin-right: 6px;
}

.checkout-shipping-icon--dpd {
    height: 30px;
}

.checkout-shipping-option {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    justify-content: flex-start;
    text-align: left;
}

.checkout-shipping-option .checkout-shipping-option__text {
    display: inline-block;
    text-align: left;
}

.checkout-sticky-panel {
    top: 1.5rem;
}

.checkout-empty-state {
    max-width: 760px;
}

.checkout-empty-state--panel {
    border: 1px solid rgba(95, 74, 47, 0.10);
    border-radius: 32px;
    background:
        linear-gradient(180deg, rgba(255, 250, 244, 0.95), rgba(240, 234, 227, 0.92)),
        radial-gradient(circle at top right, rgba(60, 140, 114, 0.10), transparent 30%);
    box-shadow: 0 18px 40px rgba(83, 59, 31, 0.08);
}

.checkout-empty-icon {
    width: 88px;
    height: 88px;
    border-radius: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(60, 140, 114, 0.10);
    color: #2f6b59;
    font-size: 2rem;
}

.category-empty {
    max-width: 780px;
    margin: 0 auto;
    border-radius: 28px;
    border: 1px solid rgba(95, 74, 47, 0.10);
    background:
        radial-gradient(circle at top right, rgba(60, 140, 114, 0.10), transparent 30%),
        linear-gradient(180deg, rgba(255, 250, 244, 0.96), rgba(240, 234, 227, 0.96));
    box-shadow: 0 18px 40px rgba(83, 59, 31, 0.08);
    padding: 2rem;
}

.category-empty__icon {
    width: 88px;
    height: 88px;
    border-radius: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    background: rgba(60, 140, 114, 0.10);
    color: #2f6b59;
    font-size: 2rem;
}

.category-empty__title {
    color: #2b241d;
}

.category-empty__text {
    color: rgba(43, 36, 29, 0.72);
    max-width: 42rem;
    margin: 0 auto;
}

.category-empty .btn {
    border-radius: 999px;
    min-height: 48px;
    padding-inline: 1.25rem;
    font-weight: 700;
}

.category-legacy-card {
    border-radius: 24px;
    border: 1px solid rgba(95, 74, 47, 0.10);
    background:
        radial-gradient(circle at top right, rgba(60, 140, 114, 0.10), transparent 30%),
        linear-gradient(135deg, #f8f1eb, #fff);
    box-shadow: 0 18px 40px rgba(83, 59, 31, 0.08);
}

.category-legacy-card__eyebrow {
    letter-spacing: 0.18em;
    color: #2f6b59;
}

.category-legacy-card__image {
    width: 100%;
    max-height: 360px;
    object-fit: cover;
}

.category-legacy-card__text {
    color: rgba(43, 36, 29, 0.76);
    line-height: 1.7;
}

.category-legacy-card__list {
    margin: 0;
    padding-left: 1.1rem;
    color: rgba(43, 36, 29, 0.76);
    line-height: 1.7;
}

.category-legacy-card__buttons .btn {
    border-radius: 999px;
    min-height: 56px;
    width: 100%;
    flex: 1 1 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: normal;
    line-height: 1.25;
    padding: 0.95rem 1.1rem;
    font-weight: 700;
}

.checkout-negative {
    color: #dc3545;
}

.cart-drawer-image {
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: 4px;
}

.checkout-row-hidden {
    display: none;
}

.checkout-field-hidden {
    display: none;
}

.promo-hero-overlay {
    background-color: rgba(0, 0, 0, 0.5);
}

.promo-hero-inner {
    min-height: 300px;
}

.admin-promo-field-hidden {
    display: none;
}

.admin-promo-page-title,
.admin-promo-title,
.admin-promo-empty-title {
    color: var(--text-primary);
}

.admin-promo-muted {
    color: var(--text-muted);
}

.admin-promo-table-head {
    color: var(--text-muted);
}

.admin-promo-table-row {
    border-color: var(--border-glass);
    background: var(--bg-glass);
}

.admin-promo-table-body {
    --tw-divide-opacity: 0.1;
}

.admin-promo-empty-icon {
    color: var(--text-muted);
}

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

@media (min-width: 576px) {
    .shop-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 992px) {
    .shop-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

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

@media (min-width: 576px) {
    .category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 992px) {
    .category-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.shop-product-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 24px;
    border: 1px solid rgba(95, 74, 47, 0.08);
    overflow: hidden;
    background: linear-gradient(180deg, rgba(240, 234, 227, 0.96), rgba(229, 221, 212, 0.96));
    box-shadow: 0 18px 36px rgba(83, 59, 31, 0.08);
}

.shop-product-card .product-media {
    flex-shrink: 0;
    position: relative;
    aspect-ratio: 1 / 1;
    background: linear-gradient(180deg, rgba(229, 221, 212, 0.92), rgba(240, 234, 227, 0.9));
    overflow: hidden;
}

.shop-product-card .product-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.shop-product-card .product-badges {
    position: absolute;
    top: 12px;
    left: 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    z-index: 2;
}

.shop-product-card .product-badge {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 999px;
    font-weight: 700;
    font-size: .82rem;
    color: #fff;
    box-shadow: 0 10px 22px rgba(0,0,0,.18);
}

.bg-red { background: #dc3545; }
.bg-orange { background: #fd7e14; }
.bg-green { background: #198754; }

.shop-product-card .product-body {
    flex: 1 1 auto;
    padding: 16px 16px 18px;
    display: flex;
    flex-direction: column;
    gap: .85rem;
}

.shop-product-card .product-title {
    font-size: 1.02rem;
    font-weight: 800;
    margin-bottom: 6px;
    line-height: 1.25;
}

.shop-product-card .product-description {
    color: rgba(43, 36, 29, .72);
    font-size: .92rem;
    margin-bottom: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 3.9em;
}

.shop-product-card .product-price {
    font-weight: 800;
    font-size: 1.05rem;
    color: #1f3c33;
    margin-top: auto;
    padding-top: .9rem;
    border-top: 1px solid rgba(95, 74, 47, 0.10);
}

/* Keep shop-card title and price together, matching the featured-product card. */
.shop-product-card .product-card-summary .product-title {
    font-size: 1.15rem;
    font-weight: 600;
    color: #2f6b59;
    margin-bottom: 4px;
    line-height: 1.25;
}

.shop-product-card .product-card-summary .product-title-link,
.shop-product-card .product-card-summary .product-title-link:hover,
.shop-product-card .product-card-summary .product-title-link:focus,
.shop-product-card .product-card-summary .product-title-link:active,
.shop-product-card .product-card-summary .product-title-link:visited {
    color: inherit;
    text-decoration: none;
    font: inherit;
}

.shop-product-card .product-card-summary .product-price {
    color: #3c8c72;
    margin-top: 0;
    margin-bottom: 8px;
    padding-top: 0;
    border-top: 0;
}

.shop-product-card .product-price del {
    display: block;
    margin: 0 0 .25rem;
    font-weight: 600;
    opacity: .7;
}

/* Home product cards use the same title and price colours as featured products. */
.home-product-section .home-product-card .product-title {
    color: #2f6b59;
}

.home-product-section .home-product-card .product-price {
    color: #3c8c72;
}

.home-product-card .product-card-actions,
.shop-product-card .product-card-actions {
    margin-top: auto;
}

.product-price-suffix {
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1;
    display: inline-block;
    margin-left: 0.25rem;
    vertical-align: baseline;
}

.shop-product-card .add-to-cart,
.shop-product-card .shop-stock-state {
    width: 100%;
    min-height: 52px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: .98rem;
    text-align: center;
}

.shop-product-card .add-to-cart {
    border: none;
    background: linear-gradient(135deg, #3c8c72, #2f6b59);
    box-shadow: 0 14px 26px rgba(47, 107, 89, 0.18);
}

.shop-product-card .request-product {
    width: 100%;
    min-height: 52px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-weight: 800;
    font-size: .98rem;
    text-align: center;
    border-color: rgba(214, 158, 46, 0.30);
    color: #7a5a00;
    background: linear-gradient(135deg, rgba(255, 193, 7, 0.18), rgba(255, 193, 7, 0.10));
}

.shop-product-card .request-product:hover,
.shop-product-card .request-product:focus {
    color: #5c4300;
    border-color: rgba(214, 158, 46, 0.45);
    background: linear-gradient(135deg, rgba(255, 193, 7, 0.24), rgba(255, 193, 7, 0.14));
}

.shop-product-card .request-product i {
    font-size: 1rem;
}

.shop-product-card .shop-stock-state {
    color: #8d2d2d;
    background: rgba(220, 53, 69, 0.08);
    border: 1px solid rgba(220, 53, 69, 0.15);
}

.shop-product-card .product-price,
.shop-product-card .add-to-cart {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.admin-topbar-logo-badge {
    background: rgba(12, 30, 26, 0.92);
}

.admin-topbar-title {
    color: var(--text-primary);
}

.admin-topbar-subtitle,
.admin-topbar-user-subtitle,
.admin-nav-label,
.admin-nav-note,
.admin-tip-text,
.admin-nav-section-title {
    color: var(--text-muted);
}

.admin-layout-shell {
    padding-top: var(--admin-topbar-height);
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
}

/* Houd het adminpaneel binnen de viewport op 100% browserzoom. Brede
   tabellen/formulieren mogen alleen hun eigen inhoud laten scrollen. */
.admin-layout-shell > main.ml-72 {
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    box-sizing: border-box;
}

.admin-layout-shell > main.ml-72 > * {
    max-width: 100%;
}

.admin-ui-hidden {
    display: none !important;
}

.admin-error-page {
    min-height: 100vh;
    margin: 0;
    color: var(--text-primary);
    background: var(--bg-primary);
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.admin-error-topbar {
    min-height: var(--admin-topbar-height, 4rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .65rem 1.5rem;
    border-bottom: 1px solid var(--border-glass);
    background: var(--header-solid);
    box-shadow: 0 .5rem 2rem rgba(0, 0, 0, .14);
}

.admin-error-brand,
.admin-error-logout {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    color: var(--text-primary);
    text-decoration: none;
}

.admin-error-brand small {
    display: block;
    margin-top: .15rem;
    color: var(--text-muted);
    font-size: .7rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.admin-error-logo {
    width: 2.9rem;
    height: 2.9rem;
    display: grid;
    place-items: center;
    padding: .45rem;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: .9rem;
    background: rgba(12, 30, 26, .92);
}

.admin-error-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.admin-error-logout {
    padding: .65rem .85rem;
    border: 1px solid transparent;
    border-radius: .8rem;
    color: #fb7185;
}

.admin-error-logout:hover {
    border-color: rgba(244, 63, 94, .3);
    background: rgba(244, 63, 94, .1);
}

.admin-error-content {
    min-height: calc(100vh - var(--admin-topbar-height, 4rem));
    display: grid;
    place-items: center;
    padding: 2rem 1rem;
    background: radial-gradient(ellipse at 20% 20%, var(--glow-color) 0%, transparent 50%), radial-gradient(ellipse at 80% 80%, rgba(111, 211, 178, .14) 0%, transparent 50%);
}

.admin-error-layout {
    min-height: calc(100vh - var(--admin-topbar-height, 4rem));
    display: flex;
    min-width: 0;
}

.admin-error-sidebar {
    flex: 0 0 18rem;
    padding: 1.25rem;
    background: var(--sidebar-solid);
    border-right: 1px solid var(--border-glass);
}

.admin-error-sidebar-title {
    margin: .25rem .75rem 1rem;
    color: var(--text-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.admin-error-nav-link {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: .35rem;
    padding: .8rem .9rem;
    border-radius: .85rem;
    color: var(--text-secondary);
    font-weight: 600;
    text-decoration: none;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}

.admin-error-nav-link:hover {
    color: var(--text-primary);
    background: rgba(255, 255, 255, .08);
    transform: translateX(2px);
}

.admin-error-nav-link i {
    width: 1.35rem;
    color: #5eead4;
    text-align: center;
}

.admin-error-nav-link--home {
    margin-top: 1.25rem;
    border-top: 1px solid var(--border-glass);
    border-radius: 0;
    padding-top: 1.25rem;
}

.admin-error-shell {
    width: min(100%, 36rem);
    padding: clamp(2rem, 5vw, 3.5rem);
    text-align: center;
    border: 1px solid var(--border-glass);
    border-radius: 2rem;
    background: var(--bg-glass);
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .22);
}

/* De kaart blijft centraal en gebruikt dezelfde glass-stijl als het adminpaneel. */
.admin-error-shell > .admin-error-icon {
    width: 5rem;
    height: 5rem;
    margin: 0 auto 1.25rem;
    display: grid;
    place-items: center;
    border-radius: 1.5rem;
    color: #fcd34d;
    background: rgba(245, 158, 11, .16);
    font-size: 2.25rem;
}

.admin-error-page .admin-error-eyebrow {
    margin: 0 0 .5rem;
    color: #fcd34d;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.admin-error-page .admin-error-shell h1 {
    margin: 0;
    color: var(--text-primary);
    font-size: clamp(1.8rem, 4vw, 2.5rem);
}

.admin-error-page .admin-error-text {
    margin: 1rem auto 0;
    color: var(--text-muted);
    line-height: 1.7;
}

.admin-error-page .admin-error-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.75rem;
}

.admin-error-page .admin-error-actions a {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .8rem 1.1rem;
    border-radius: .9rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform .2s ease, opacity .2s ease, background .2s ease;
}

.admin-error-page .admin-error-actions form {
    margin: 0;
}

.admin-error-page .admin-error-actions form button {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .8rem 1.1rem;
    border-radius: .9rem;
    border: 0;
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    transition: transform .2s ease, opacity .2s ease, background .2s ease;
}

.admin-error-page .admin-error-actions form button:hover {
    transform: translateY(-1px);
    opacity: .9;
}

.admin-error-page .admin-error-actions a:hover {
    transform: translateY(-1px);
    opacity: .9;
}

.admin-error-page .admin-error-primary {
    color: #fff;
    background: var(--accent-primary);
}

.admin-error-page .admin-error-secondary {
    color: var(--text-primary);
    background: rgba(255, 255, 255, .08);
    border: 1px solid var(--border-glass);
}

.admin-error-page .admin-error-code {
    margin: 1.5rem 0 0;
    color: var(--text-muted);
    font-size: .75rem;
}

@media (max-width: 575.98px) {
    .admin-error-topbar {
        padding-inline: 1rem;
    }

    .admin-error-brand strong {
        font-size: .9rem;
    }

    .admin-error-brand small,
    .admin-error-logout span {
        display: none;
    }

    .admin-error-layout {
        display: block;
    }

    .admin-error-sidebar {
        display: flex;
        gap: .5rem;
        padding: .75rem;
        overflow-x: auto;
        border-right: 0;
        border-bottom: 1px solid var(--border-glass);
    }

    .admin-error-sidebar-title {
        display: none;
    }

    .admin-error-nav-link {
        flex: 0 0 auto;
        margin: 0;
        padding: .65rem .8rem;
        font-size: .82rem;
    }

    .admin-error-nav-link--home {
        margin-top: 0;
        border-top: 0;
        padding-top: .65rem;
    }

    .admin-error-nav-link span {
        white-space: nowrap;
    }
}

/* Legacy selectors kept scoped for compatibility with existing 403 markup. */
.admin-error-page > .admin-error-shell {
    margin: 2rem auto;
}

.admin-forbidden-panel {
    width: min(100%, 44rem);
    margin: 2rem auto;
    padding: clamp(2rem, 5vw, 3.5rem);
    text-align: center;
}

.admin-layout-shell table {
    max-width: 100%;
}

.admin-sidebar-section-label {
    color: var(--text-muted);
}

.admin-nav-group > summary {
    list-style: none;
}

.admin-nav-group > summary::-webkit-details-marker {
    display: none;
}

.admin-nav-group-chevron {
    transition: transform 0.2s ease;
}

.admin-nav-group[open] .admin-nav-group-chevron {
    transform: rotate(180deg);
}

:root {
    --admin-topbar-height: 4rem;
}

body.transition-theme {
    background: var(--bg-primary);
    color: var(--text-primary);
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    transition: background 0.4s ease, color 0.4s ease;
    min-height: 100dvh;
    position: relative;
    overflow-x: hidden;
}

body.transition-theme.sidebar-open {
    overflow: hidden;
}

body.transition-theme::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        radial-gradient(ellipse at 20% 20%, var(--glow-color) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 80%, rgba(111, 211, 178, 0.18) 0%, transparent 50%),
        radial-gradient(ellipse at 50% 50%, rgba(181, 242, 222, 0.08) 0%, transparent 60%);
    pointer-events: none;
    z-index: -1;
    animation: gradientShift 15s ease-in-out infinite alternate;
}

body.transition-theme::after {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    opacity: 0.14;
    background-image:
        radial-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px),
        radial-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px);
    background-position: 0 0, 10px 10px;
    background-size: 20px 20px;
}

@keyframes gradientShift {
    0% { opacity: 0.6; transform: scale(1); }
    50% { opacity: 0.8; transform: scale(1.05); }
    100% { opacity: 0.6; transform: scale(1); }
}

.transition-theme {
    transition: background 0.4s ease, color 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease, transform 0.4s ease;
}

.sidebar-glass {
    position: fixed;
    top: var(--admin-topbar-height);
    bottom: 0;
    left: 0;
    width: 18rem;
    max-height: calc(100dvh - var(--admin-topbar-height));
    overflow-y: auto;
    background: var(--sidebar-solid);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    z-index: 60;
}

.admin-sidebar-offset {
    top: var(--admin-topbar-height);
}

.sidebar-backdrop {
    display: none;
}

body.sidebar-open .sidebar-backdrop {
    display: block !important;
}

body.transition-theme nav[data-testid="top-navigation"] {
    z-index: 70;
}

body.transition-theme .sidebar-backdrop {
    z-index: 55;
}

body.sidebar-collapsed main.ml-72 {
    margin-left: 0 !important;
}

.admin-mobile-toggle {
    display: inline-flex;
}

@media (max-width: 991.98px) {
    :root {
        --admin-topbar-height: 4.75rem;
    }

    body.transition-theme {
        overflow-x: hidden;
    }

    body.transition-theme::before,
    body.transition-theme::after {
        display: none;
        content: none;
    }

    nav[data-testid="top-navigation"] {
        min-height: var(--admin-topbar-height);
        background: var(--header-solid);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    nav[data-testid="top-navigation"] .admin-brand-copy,
    nav[data-testid="top-navigation"] .admin-action-divider {
        display: none;
    }

    .sidebar-glass {
        width: min(20rem, calc(100vw - 1.5rem));
        margin: 0;
        border-radius: 0 1.25rem 1.25rem 0;
        transform: translateX(-102%);
        transition: transform 0.28s ease, opacity 0.28s ease;
        opacity: 0;
        pointer-events: none;
        background: var(--sidebar-solid);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    body.sidebar-open .sidebar-glass {
        transform: translateX(0);
        opacity: 1;
        pointer-events: auto;
    }

    .sidebar-backdrop {
        display: none !important;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    body.sidebar-open .sidebar-backdrop {
        display: block !important;
    }

    .sidebar-glass nav {
        padding-bottom: 0;
    }

    .sidebar-glass .py-4 {
        display: block;
    }

    .sidebar-glass a {
        justify-content: flex-start;
    }

    .glass,
    .glass-hover,
    .card-glass {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    main.ml-72 {
        margin-left: 0 !important;
        padding: 1rem !important;
    }

    .table-responsive {
        -webkit-overflow-scrolling: touch;
    }

    .table-responsive table {
        min-width: 640px;
    }

    .btn,
    .form-control,
    .form-select,
    .input-group .btn {
        min-height: 44px;
    }
}

@media (max-width: 575.98px) {
    .glass,
    .card-glass {
        border-radius: 1rem;
    }

    :root {
        --admin-topbar-height: 4.5rem;
    }

    nav[data-testid="top-navigation"] .admin-brand-title {
        font-size: 1rem;
        line-height: 1.15;
    }

    nav[data-testid="top-navigation"] .admin-user-text,
    nav[data-testid="top-navigation"] .admin-accessibility {
        display: none;
    }

    nav[data-testid="top-navigation"] .admin-user-menu {
        padding-inline: 0.75rem;
    }

    nav[data-testid="top-navigation"] .glass,
    nav[data-testid="top-navigation"] .glass-hover,
    nav[data-testid="top-navigation"] .admin-user-menu {
        background: var(--bg-glass);
    }
}

@media (min-width: 992px) {
    .sidebar-glass {
        transform: translateX(0);
        opacity: 1;
        pointer-events: auto;
    }

    body.sidebar-collapsed .sidebar-glass {
        transform: translateX(-102%);
        opacity: 0;
        pointer-events: none;
    }

    body.sidebar-collapsed .sidebar-backdrop {
        display: none !important;
    }

    .admin-sidebar-toggle-icon--close {
        display: none;
    }

    body.sidebar-collapsed .admin-sidebar-toggle-icon--open {
        display: inline-block;
    }

    body.sidebar-collapsed .admin-sidebar-toggle-icon--close {
        display: none;
    }

    body:not(.sidebar-collapsed) .admin-sidebar-toggle-icon--open {
        display: none;
    }

    body:not(.sidebar-collapsed) .admin-sidebar-toggle-icon--close {
        display: inline-block;
    }

    main.ml-72 {
        margin-left: 18rem;
        transition: margin-left 0.28s ease;
    }
}

.status-pulse {
    position: relative;
}

.status-pulse::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background: inherit;
    transform: translate(-50%, -50%);
    animation: statusPulse 2s ease-out infinite;
    z-index: -1;
}

@keyframes statusPulse {
    0% { transform: translate(-50%, -50%) scale(1); opacity: 0.5; }
    100% { transform: translate(-50%, -50%) scale(1.5); opacity: 0; }
}

.admin-user-menu-wrapper {
    position: relative;
}

.admin-user-dropdown {
    position: absolute;
    top: calc(100% + 0.65rem);
    right: 0;
    min-width: 15rem;
    padding: 0.5rem;
    border-radius: 1rem;
    z-index: 70;
    transform-origin: top right;
}

.admin-user-dropdown[hidden] {
    display: none !important;
}

.admin-user-dropdown a,
.admin-user-dropdown button {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.8rem 0.9rem;
    border-radius: 0.85rem;
    text-align: left;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary);
    transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.admin-user-dropdown a:hover,
.admin-user-dropdown button:hover {
    background: rgba(255, 255, 255, 0.06);
    transform: translateX(2px);
}

.admin-user-dropdown .danger-link {
    color: #fda4af;
}

.admin-user-dropdown .danger-link:hover {
    background: rgba(244, 63, 94, 0.1);
    color: #fecdd3;
}

/* Blog pages */
.card-surface {
    background: linear-gradient(180deg, rgba(240, 234, 227, 0.98), rgba(229, 221, 212, 0.98));
    border: 1px solid rgba(95, 74, 47, 0.08);
    border-radius: 28px;
    box-shadow: 0 18px 42px rgba(83, 59, 31, 0.08);
}

.blog-page-shell {
    max-width: 1180px;
}

.blog-page-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    gap: 1.5rem;
    align-items: stretch;
    margin-bottom: 1.75rem;
}

.blog-page-hero--overview {
    grid-template-columns: 1fr;
}

.blog-page-hero__content {
    position: relative;
    overflow: hidden;
    padding: clamp(1.5rem, 3vw, 2.4rem);
}

.blog-page-hero__content::after {
    content: '';
    position: absolute;
    right: -4rem;
    top: -3rem;
    width: 14rem;
    height: 14rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(60, 140, 114, 0.14), rgba(60, 140, 114, 0));
    pointer-events: none;
}

.blog-page-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.8rem;
    padding: 0.45rem 0.8rem;
    border-radius: 999px;
    background: rgba(60, 140, 114, 0.12);
    color: #2f6b59;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.blog-page-hero__title {
    margin: 0;
    font-size: clamp(2rem, 3.5vw, 3.1rem);
    line-height: 1.08;
    color: #2f6b59;
}

.blog-page-hero__lead {
    margin: 1rem 0 0;
    max-width: 70ch;
    color: rgba(43, 36, 29, 0.82);
    line-height: 1.75;
    font-size: 1.03rem;
}

.blog-article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1.25rem;
}

.blog-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 0.9rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(95, 74, 47, 0.08);
    color: #2b241d;
    font-size: 0.9rem;
    font-weight: 700;
}

.blog-chip--accent {
    background: rgba(60, 140, 114, 0.12);
    color: #2f6b59;
}

.blog-article-hero {
    padding: 0.85rem;
    overflow: hidden;
}

.blog-article-hero__media,
.blog-article-hero__placeholder {
    width: 100%;
    min-height: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 22px;
    overflow: hidden;
}

.blog-article-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.blog-article-hero__placeholder {
    display: flex;
    align-items: end;
    padding: 1.5rem;
    background:
        radial-gradient(circle at top right, rgba(244, 201, 107, 0.42), transparent 28%),
        linear-gradient(135deg, #3c8c72, #2f6b59);
    color: #fffaf5;
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    font-weight: 800;
}

.blog-article-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
    gap: 1.5rem;
    align-items: start;
}

.blog-article-content,
.blog-article-share {
    padding: 1.5rem;
}

.blog-article-content .blog-content {
    color: #2b241d;
    line-height: 1.85;
    font-size: 1.03rem;
}

.blog-article-content .blog-content h2,
.blog-article-content .blog-content h3,
.blog-article-content .blog-content h4 {
    color: #2f6b59;
    margin-top: 1.6rem;
    margin-bottom: 0.75rem;
}

.blog-article-content .blog-content p {
    margin-bottom: 1rem;
}

.blog-article-content .blog-content ul,
.blog-article-content .blog-content ol {
    padding-left: 1.25rem;
    margin-bottom: 1rem;
}

.blog-article-content .blog-content img {
    max-width: 100%;
    height: auto;
    border-radius: 18px;
}

.blog-article-share {
    position: sticky;
    top: 1rem;
}

.blog-article-share__title {
    margin: 0;
    font-size: 1.15rem;
    color: #2f6b59;
}

.blog-article-share__lead {
    margin: 0.75rem 0 0;
    color: rgba(43, 36, 29, 0.75);
    line-height: 1.65;
}

.blog-share-grid {
    display: grid;
    gap: 0.75rem;
    margin: 1.1rem 0 1.25rem;
}

.blog-share-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.95rem 1rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(95, 74, 47, 0.08);
    color: #2b241d;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.blog-share-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(83, 59, 31, 0.09);
}

.blog-share-link--facebook {
    color: #1877f2;
}

.blog-share-link--whatsapp {
    color: #1faa59;
}

.blog-share-link--linkedin {
    color: #0a66c2;
}

.blog-share-link--x {
    color: #111111;
}

.blog-back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    text-decoration: none;
    color: #3c8c72;
}

.blog-back-link:hover {
    color: #2f6b59;
}

.blog-list-shell {
    display: grid;
    gap: 1.5rem;
}

.blog-overview-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding: 0.85rem 1rem;
}

.blog-overview-toolbar__summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: baseline;
    color: rgba(43, 36, 29, 0.7);
}

.blog-overview-toolbar__summary strong {
    color: #2f6b59;
}

.blog-view-switcher {
    display: inline-flex;
    gap: 0.25rem;
    padding: 0.25rem;
    border-radius: 999px;
    background: rgba(60, 140, 114, 0.1);
}

.blog-view-switcher__link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 0.8rem;
    border-radius: 999px;
    color: #2f6b59;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
}

.blog-view-switcher__link:hover,
.blog-view-switcher__link.is-active {
    background: #3c8c72;
    color: #fff;
}

.blog-card {
    display: grid;
    grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: stretch;
    padding: 1.5rem;
    border-radius: 28px;
}

.blog-card--single {
    padding: 1.5rem;
}

.blog-card-media {
    display: block;
    border-radius: 22px;
    overflow: hidden;
    text-decoration: none;
    background:
        radial-gradient(circle at top right, rgba(244, 201, 107, 0.42), transparent 28%),
        linear-gradient(135deg, #3c8c72, #2f6b59);
}

.blog-card-media img {
    width: 100%;
    height: 100%;
    min-height: 260px;
    object-fit: cover;
    display: block;
}

.blog-card-placeholder {
    width: 100%;
    min-height: 260px;
    display: flex;
    align-items: end;
    padding: 1.25rem;
    color: #fffaf5;
    font-size: 1.4rem;
    font-weight: 800;
}

.blog-card-body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.blog-card-title {
    margin: 0;
    font-size: 1.55rem;
    line-height: 1.15;
}

.blog-card-title a {
    color: #2b241d;
    text-decoration: none;
}

.blog-card-title a:hover {
    color: #3c8c72;
}

.blog-card-meta {
    margin-top: 0.7rem;
    color: rgba(43, 36, 29, 0.7);
    font-size: 0.95rem;
}

.blog-card-excerpt {
    margin: 0;
    color: rgba(43, 36, 29, 0.84);
    line-height: 1.75;
}

.blog-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: auto;
}

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

.blog-list-shell--grid .blog-card {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1rem;
}

.blog-list-shell--grid .blog-card-media img,
.blog-list-shell--grid .blog-card-placeholder {
    min-height: 220px;
    aspect-ratio: 4 / 3;
}

.blog-list-shell--grid .blog-card-title {
    font-size: 1.2rem;
}

.blog-list-shell--grid .blog-card-excerpt {
    font-size: 0.95rem;
    line-height: 1.6;
}

.blog-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.45rem;
    margin-top: 2rem;
}

.blog-pagination__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.6rem;
    height: 2.6rem;
    padding: 0 0.7rem;
    border: 1px solid rgba(60, 140, 114, 0.2);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.86);
    color: #2f6b59;
    font-weight: 800;
    text-decoration: none;
}

.blog-pagination__link:hover,
.blog-pagination__link.is-active {
    border-color: #3c8c72;
    background: #3c8c72;
    color: #fff;
}

/* Account berichtencentrum */
.account-notification-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.35rem;
    margin-left: auto;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: #c6534d;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
}

.account-notifications-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.account-notifications-list {
    display: grid;
    gap: 0.85rem;
}

.account-notification {
    display: flex;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(60, 140, 114, 0.12);
    border-radius: 1rem;
    background: rgba(247, 243, 238, 0.72);
    cursor: pointer;
    text-align: left;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.account-notification:hover,
.account-notification:focus-visible {
    border-color: rgba(60, 140, 114, 0.45);
    box-shadow: 0 0.75rem 1.5rem rgba(47, 107, 89, 0.1);
    outline: none;
    transform: translateY(-1px);
}

.account-notification.is-unread {
    border-color: rgba(60, 140, 114, 0.35);
    background: rgba(60, 140, 114, 0.08);
}

.account-notification__icon {
    display: grid;
    flex: 0 0 2.75rem;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border-radius: 0.85rem;
    background: rgba(60, 140, 114, 0.14);
    color: #2f6b59;
    font-size: 1.15rem;
}

.account-notification__icon--security { background: rgba(198, 83, 77, 0.12); color: #a5403a; }
.account-notification__icon--order { background: rgba(60, 140, 114, 0.14); color: #2f6b59; }
.account-notification__icon--points { background: rgba(244, 201, 107, 0.24); color: #8a6415; }
.account-notification__icon--support { background: rgba(74, 116, 166, 0.13); color: #315e8f; }

.account-notification__body {
    min-width: 0;
    flex: 1;
}

.account-notification__topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.account-notification__topline h3 {
    margin: 0;
    color: #2f6b59;
    font-size: 1.05rem;
}

.account-notification__body p {
    margin: 0.45rem 0;
    color: #374151;
    line-height: 1.65;
}

.account-notification__meta {
    color: #6b7280;
    font-size: 0.84rem;
}

.account-notification__meta a {
    color: #2f6b59;
    font-weight: 700;
}

.account-notification__unread {
    flex: 0 0 auto;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: #3c8c72;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
}

.account-notification-modal {
    width: min(92vw, 40rem);
    max-width: 40rem;
    padding: 0;
    border: 0;
    border-radius: 1.5rem;
    background: transparent;
    color: #1f2937;
}

.account-notification-modal::backdrop {
    background: rgba(31, 41, 55, 0.58);
    backdrop-filter: blur(3px);
}

.account-notification-modal__shell {
    padding: clamp(1.35rem, 4vw, 2rem);
    border: 1px solid rgba(60, 140, 114, 0.18);
    border-radius: 1.5rem;
    background: #fffdf9;
    box-shadow: 0 1.5rem 4rem rgba(31, 41, 55, 0.22);
}

.account-notification-modal__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.account-notification-modal__eyebrow {
    color: #3c8c72;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.account-notification-modal__header h2 {
    margin: 0.35rem 0 0;
    color: #2f6b59;
    font-size: clamp(1.35rem, 3vw, 1.8rem);
}

.account-notification-modal__close {
    display: inline-grid;
    width: 2.25rem;
    height: 2.25rem;
    flex: 0 0 auto;
    place-items: center;
    border: 0;
    border-radius: 999px;
    background: rgba(60, 140, 114, 0.1);
    color: #2f6b59;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
}

.account-notification-modal__close:hover,
.account-notification-modal__close:focus-visible {
    background: #3c8c72;
    color: #fff;
    outline: none;
}

.account-notification-modal__meta {
    margin-top: 1rem;
    color: #6b7280;
    font-size: 0.88rem;
}

.account-notification-modal__message {
    margin: 1.25rem 0 1.5rem;
    color: #374151;
    line-height: 1.8;
    white-space: normal;
}

.account-notification-modal__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.account-notification-delete-form {
    margin: 0;
}

/* Account afsprakenkalender */
.appointment-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.account-appointment-calendar {
    margin: 1.5rem 0 2rem;
    padding: 1rem;
    border: 1px solid rgba(60, 140, 114, 0.14);
    border-radius: 1.25rem;
    background: rgba(247, 243, 238, 0.7);
}

.account-appointment-calendar__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.account-appointment-calendar__header h3 {
    margin: 0;
    color: #2f6b59;
    font-size: 1.25rem;
    text-transform: capitalize;
}

.account-appointment-calendar__weekdays,
.account-appointment-calendar__grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.35rem;
}

.account-appointment-calendar__weekdays {
    margin-bottom: 0.35rem;
    color: #6b7280;
    font-size: 0.76rem;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
}

.account-appointment-calendar__day {
    position: relative;
    min-height: 4.25rem;
    padding: 0.5rem;
    border: 1px solid rgba(60, 140, 114, 0.12);
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.78);
    color: #374151;
    cursor: pointer;
    text-align: left;
}

button.account-appointment-calendar__day:hover,
button.account-appointment-calendar__day:focus-visible,
.account-appointment-calendar__day.has-appointments {
    border-color: rgba(60, 140, 114, 0.5);
    outline: none;
}

.account-appointment-calendar__day.is-empty {
    min-height: 0;
    border-color: transparent;
    background: transparent;
    cursor: default;
}

.account-appointment-calendar__day.is-today {
    box-shadow: inset 0 0 0 2px rgba(244, 201, 107, 0.85);
}

.account-appointment-calendar__number {
    font-weight: 700;
}

.account-appointment-calendar__marker {
    position: absolute;
    right: 0.45rem;
    bottom: 0.45rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.3rem;
    height: 1.3rem;
    padding: 0 0.25rem;
    border-radius: 999px;
    background: #2f6b59;
    color: #fff !important;
    font-size: 0.7rem;
    font-weight: 800;
}

.account-appointment-calendar__details {
    display: grid;
    gap: 0.5rem;
    margin-top: 1rem;
    min-height: 2.75rem;
    padding: 0.75rem;
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.72);
    color: #6b7280;
    font-size: 0.9rem;
}

.account-appointment-calendar__detail {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    color: #374151;
}

.account-appointment-calendar__detail strong {
    color: #2f6b59;
}

.account-appointment-calendar__status {
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    background: rgba(60, 140, 114, 0.1);
    color: #2f6b59;
    font-size: 0.75rem;
    font-weight: 700;
}

.account-appointment-calendar__hint {
    margin: 0.75rem 0 0;
    color: #6b7280;
    font-size: 0.82rem;
}

.account-appointments-list-title {
    margin: 0 0 1rem;
    color: #2f6b59;
}

@media (max-width: 576px) {
    .account-appointment-calendar {
        padding: 0.7rem;
    }

    .account-appointment-calendar__day {
        min-height: 3.4rem;
        padding: 0.35rem;
    }

    .account-appointment-calendar__marker {
        right: 0.3rem;
        bottom: 0.3rem;
    }
}

@media (max-width: 576px) {
    .account-notifications-header {
        flex-direction: column;
    }

    .account-notification {
        gap: 0.75rem;
        padding: 0.85rem;
    }
}

@media (max-width: 991.98px) {
    .blog-page-hero,
    .blog-article-layout,
    .blog-card {
        grid-template-columns: 1fr;
    }

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

    .blog-article-share {
        position: static;
    }
}

@media (max-width: 576px) {
    .blog-page-hero__title {
        font-size: 1.75rem;
    }

    .blog-article-content,
    .blog-article-share,
    .blog-page-hero__content,
    .blog-card {
        padding: 1.1rem;
    }

    .blog-card-media img,
    .blog-card-placeholder {
        min-height: 220px;
    }

    .blog-overview-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .blog-view-switcher {
        justify-content: center;
    }

    .blog-list-shell--grid {
        grid-template-columns: 1fr;
    }
}

/* Admin evenementenbeheer */
.admin-events-page {
    display: grid;
    gap: 1.25rem;
}

.admin-events-page .admin-events-hero,
.admin-events-page .admin-events-panel,
.admin-events-page .admin-events-gallery-section {
    border-radius: 1.5rem;
}

.admin-events-page .admin-events-panel {
    overflow: hidden;
}

.admin-events-page .admin-events-row {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.admin-events-page .admin-events-row:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(22, 41, 33, 0.12);
}

.admin-events-page .admin-events-thumb img {
    display: block;
}

.admin-events-page .admin-events-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.admin-events-page .admin-events-gallery-item {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.admin-events-page .admin-events-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.admin-events-page .admin-events-gallery-item form {
    margin-top: auto;
}

.admin-gallery-page .admin-gallery-panel {
    overflow: hidden;
}

.admin-gallery-page .admin-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.admin-gallery-page .admin-gallery-item {
    display: flex;
    flex-direction: column;
}

@media (max-width: 767.98px) {
    .admin-events-page .admin-events-row {
        padding: 1rem !important;
    }

    .admin-events-page .admin-events-row .flex.items-center.gap-3,
    .admin-events-page .admin-events-row .flex.items-center.gap-4 {
        width: 100%;
    }

    .admin-events-page .admin-events-row .flex.items-center.gap-3 {
        flex-wrap: wrap;
    }
}

/* Public evenementen layout overrides */
body.events-page-body {
    background:
        radial-gradient(circle at top left, rgba(60, 140, 114, 0.16), transparent 32%),
        radial-gradient(circle at 92% 10%, rgba(232, 191, 115, 0.22), transparent 26%),
        linear-gradient(180deg, #f7f2e9 0%, #fdfbf7 40%, #f4efe7 100%);
}

body.events-page-body main.events-page-shell {
    position: relative;
    overflow: hidden;
    padding: 2rem 0 4rem;
}

body.events-page-body main.events-page-shell::before,
body.events-page-body main.events-page-shell::after {
    content: '';
    position: absolute;
    pointer-events: none;
    border-radius: 999px;
    filter: blur(10px);
    opacity: 0.55;
}

body.events-page-body main.events-page-shell::before {
    inset: 4rem auto auto -7rem;
    width: 16rem;
    height: 16rem;
    background: radial-gradient(circle, rgba(60, 140, 114, 0.18), rgba(60, 140, 114, 0));
}

body.events-page-body main.events-page-shell::after {
    inset: auto -8rem 14rem auto;
    width: 18rem;
    height: 18rem;
    background: radial-gradient(circle, rgba(244, 201, 107, 0.18), rgba(244, 201, 107, 0));
}

body.events-page-body .events-page-container {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 1.25rem;
}

body.events-page-body .events-hero,
body.events-page-body .events-filter-panel,
body.events-page-body .events-gallery,
body.events-page-body .events-empty-state {
    box-shadow: 0 18px 42px rgba(58, 46, 28, 0.08);
}

body.events-page-body .events-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.14fr) minmax(320px, 0.86fr);
    gap: 1.5rem;
    padding: clamp(1.5rem, 3vw, 2.5rem);
}

body.events-page-body .events-hero::after {
    content: '';
    position: absolute;
    inset: auto -6rem -7rem auto;
    width: 22rem;
    height: 22rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(60, 140, 114, 0.16), rgba(60, 140, 114, 0));
    pointer-events: none;
}

body.events-page-body .events-hero__content {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 1rem;
}

body.events-page-body .events-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    width: fit-content;
    padding: 0.42rem 0.8rem;
    border-radius: 999px;
    background: rgba(60, 140, 114, 0.12);
    color: #2f6b59;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.events-page-body .events-hero__title {
    margin: 0;
    color: #234e3f;
    font-size: clamp(2.1rem, 4.6vw, 4rem);
    line-height: 1.03;
    max-width: 12ch;
}

body.events-page-body .events-hero__lead {
    margin: 0;
    color: #59655f;
    font-size: 1.05rem;
    line-height: 1.8;
    max-width: 62ch;
}

body.events-page-body .events-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
}

body.events-page-body .events-chip {
    border: 1px solid rgba(60, 140, 114, 0.12);
    background: rgba(60, 140, 114, 0.1);
    color: #2f6b59;
    box-shadow: 0 8px 20px rgba(22, 41, 33, 0.04);
}

body.events-page-body .events-chip--muted {
    background: rgba(35, 78, 63, 0.06);
    color: #35584b;
}

body.events-page-body .events-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
}

body.events-page-body .events-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: 0.35rem;
}

body.events-page-body .events-stat {
    padding: 1rem 1.05rem;
    border-radius: 1.2rem;
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(60, 140, 114, 0.11);
    backdrop-filter: blur(14px);
}

body.events-page-body .events-stat__value {
    display: block;
    color: #234e3f;
    font-size: 1rem;
    font-weight: 800;
}

body.events-page-body .events-stat__label {
    display: block;
    margin-top: 0.2rem;
    color: #6a7a73;
}

body.events-page-body .events-hero__panel {
    position: relative;
    z-index: 1;
}

body.events-page-body .events-spotlight {
    height: 100%;
    padding: 1rem;
    display: grid;
    gap: 1rem;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(60, 140, 114, 0.12);
    backdrop-filter: blur(14px);
}

body.events-page-body .events-spotlight__top {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

body.events-page-body .events-spotlight__eyebrow,
body.events-page-body .events-overview__eyebrow {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    background: rgba(60, 140, 114, 0.1);
    color: #2f6b59;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.events-page-body .events-spotlight__media {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 1.2rem;
    background: #dfe8df;
}

body.events-page-body .events-spotlight__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease;
}

body.events-page-body .events-spotlight__media:hover img,
body.events-page-body .events-featured__media:hover img,
body.events-page-body .events-card__media:hover img,
body.events-page-body .events-gallery-card__media:hover img {
    transform: scale(1.03);
}

body.events-page-body .events-spotlight__body {
    display: grid;
    gap: 0.9rem;
}

body.events-page-body .events-spotlight__title,
body.events-page-body .events-spotlight__empty-title {
    margin: 0;
    color: #234e3f;
    line-height: 1.12;
}

body.events-page-body .events-spotlight__title {
    font-size: 1.35rem;
}

body.events-page-body .events-spotlight__text,
body.events-page-body .events-spotlight__empty-text,
body.events-page-body .events-overview__lead,
body.events-page-body .events-overview__subhead-text,
body.events-page-body .events-card__excerpt,
body.events-page-body .events-featured__text,
body.events-page-body .events-gallery-card__caption,
body.events-page-body .events-detail-copy__intro {
    color: #59655f;
    line-height: 1.75;
}

body.events-page-body .events-spotlight__meta {
    display: grid;
    gap: 0.45rem;
    color: #35584b;
    font-weight: 700;
    font-size: 0.92rem;
}

body.events-page-body .events-filter-panel {
    padding: 1.1rem 1.25rem;
}

body.events-page-body .events-filter-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: end;
}

body.events-page-body .events-filter-bar__field {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

body.events-page-body .events-filter-bar__field label {
    color: #35584b;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.events-page-body .events-filter-bar__field input {
    width: 100%;
    padding: 0.9rem 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(60, 140, 114, 0.14);
    background: rgba(255, 255, 255, 0.94);
    color: #234e3f;
}

body.events-page-body .events-filter-bar__actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

body.events-page-body .events-overview {
    display: grid;
    gap: 1.15rem;
}

body.events-page-body .events-overview__header,
body.events-page-body .events-overview__subhead {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
    flex-wrap: wrap;
}

body.events-page-body .events-overview__title,
body.events-page-body .events-overview__subhead-title,
body.events-page-body .events-detail-copy__title,
body.events-page-body .events-detail-aside__title,
body.events-page-body .events-detail-share-card__title {
    margin: 0;
    color: #234e3f;
    line-height: 1.1;
}

body.events-page-body .events-overview__title {
    font-size: clamp(1.55rem, 2.6vw, 2.2rem);
}

body.events-page-body .events-overview__lead,
body.events-page-body .events-overview__subhead-text {
    max-width: 62ch;
}

body.events-page-body .events-featured {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0;
    overflow: hidden;
}

body.events-page-body .events-featured__media {
    display: block;
    min-height: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #dde7df;
}

body.events-page-body .events-featured__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease;
}

body.events-page-body .events-featured__body {
    padding: clamp(1.25rem, 2.5vw, 1.85rem);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
}

body.events-page-body .events-featured__title {
    margin: 0;
    color: #234e3f;
    font-size: clamp(1.65rem, 3vw, 2.55rem);
    line-height: 1.05;
}

body.events-page-body .events-featured__text {
    margin: 0;
}

body.events-page-body .events-featured__meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

body.events-page-body .events-featured__meta-item,
body.events-page-body .events-meta-item,
body.events-page-body .events-detail-highlight,
body.events-page-body .events-detail-aside__item {
    padding: 0.9rem 1rem;
    border-radius: 1rem;
    background: rgba(60, 140, 114, 0.06);
    border: 1px solid rgba(60, 140, 114, 0.08);
}

body.events-page-body .events-featured__meta-label,
body.events-page-body .events-meta-item__label,
body.events-page-body .events-detail-highlight__label,
body.events-page-body .events-detail-aside__label {
    display: block;
    margin-bottom: 0.28rem;
    color: #6a7a73;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.events-page-body .events-featured__meta-value,
body.events-page-body .events-meta-item__value,
body.events-page-body .events-detail-highlight__value,
body.events-page-body .events-detail-aside__value {
    color: #244d40;
    font-weight: 700;
    line-height: 1.45;
}

body.events-page-body .events-results {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 1.15rem;
}

body.events-page-body .events-card {
    grid-column: span 6;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

body.events-page-body .events-card__media {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    display: block;
    background: #e8efe9;
}

body.events-page-body .events-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease;
}

body.events-page-body .events-card__body {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    flex: 1;
}

body.events-page-body .events-card__title {
    margin: 0;
    color: #234e3f;
    font-size: 1.3rem;
    line-height: 1.2;
}

body.events-page-body .events-card__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

body.events-page-body .events-card__actions,
body.events-page-body .events-detail-share {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: auto;
}

body.events-page-body .events-gallery {
    padding: clamp(1.25rem, 2.5vw, 1.75rem);
    display: grid;
    gap: 1rem;
}

body.events-page-body .events-gallery-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 1rem;
}

body.events-page-body .events-gallery-card {
    margin: 0;
    overflow: hidden;
    border-radius: 1.2rem;
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(60, 140, 114, 0.1);
    box-shadow: 0 12px 26px rgba(22, 41, 33, 0.05);
    display: flex;
    flex-direction: column;
    grid-column: span 4;
}

body.events-page-body .events-gallery-card:nth-child(4n + 1) {
    grid-column: span 5;
}

body.events-page-body .events-gallery-card:nth-child(4n + 2) {
    grid-column: span 7;
}

body.events-page-body .events-gallery-card:nth-child(4n + 3) {
    grid-column: span 7;
}

body.events-page-body .events-gallery-card:nth-child(4n + 4) {
    grid-column: span 5;
}

body.events-page-body .events-gallery-card__media {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #dde7df;
}

body.events-page-body .events-gallery-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease;
}

body.events-page-body .events-gallery-card__caption {
    padding: 0.95rem 1rem 1rem;
    display: grid;
    gap: 0.2rem;
}

body.events-page-body .events-empty-state {
    padding: 2rem;
    text-align: center;
}

body.events-page-body .events-empty-state__title {
    margin: 0 0 0.35rem;
    color: #234e3f;
}

body.events-page-body .events-button {
    box-shadow: none;
}

body.events-page-body .events-button--primary {
    background: linear-gradient(135deg, #2f6b59, #3c8c72);
    color: #fff;
}

body.events-page-body .events-button--secondary {
    background: #f7fbf8;
    color: #234e3f;
    border-color: rgba(60, 140, 114, 0.16);
}

body.events-page-body .events-button--ghost {
    background: rgba(0, 0, 0, 0);
    color: #2f6b59;
    border-color: rgba(60, 140, 114, 0.16);
}

body.events-page-body .events-button--light {
    background: hsla(0, 0%, 100%, 0.14);
    border-color: hsla(0, 0%, 100%, 0.2);
    color: #fff;
}

body.events-detail-page {
    background:
        radial-gradient(circle at top left, rgba(60, 140, 114, 0.12), transparent 30%),
        radial-gradient(circle at 94% 12%, rgba(232, 191, 115, 0.18), transparent 28%),
        linear-gradient(180deg, #f7f2e9 0%, #fbf8f3 100%);
}

body.events-detail-page main.events-page-shell {
    padding: 2rem 0 4rem;
}

body.events-detail-page .events-detail-container {
    display: grid;
    gap: 1.25rem;
}

body.events-detail-page .events-detail-hero,
body.events-detail-page .events-detail-copy,
body.events-detail-page .events-detail-aside,
body.events-detail-page .events-detail-share-card {
    box-shadow: 0 18px 42px rgba(58, 46, 28, 0.08);
}

body.events-detail-page .events-detail-hero {
    padding: 0;
    overflow: hidden;
}

body.events-detail-page .events-detail-hero__media {
    position: relative;
    min-height: 360px;
    background: #dde7df;
}

body.events-detail-page .events-detail-hero__media img {
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
    display: block;
}

body.events-detail-page .events-detail-hero__overlay {
    position: absolute;
    inset: auto 0 0 0;
    padding: clamp(1.2rem, 2.5vw, 2rem);
    background: linear-gradient(180deg, rgba(11, 28, 22, 0), rgba(11, 28, 22, 0.82));
    color: #fff;
    display: grid;
    gap: 0.9rem;
}

body.events-detail-page .events-detail-hero__title {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4.2vw, 3.5rem);
    line-height: 1.04;
    text-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
    max-width: 16ch;
}

body.events-detail-page .events-detail-hero__lead {
    margin: 0;
    color: hsla(0, 0%, 100%, 0.92);
    line-height: 1.75;
    max-width: 62ch;
}

body.events-detail-page .events-detail-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

body.events-detail-page .events-detail-hero__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
    padding: 1.1rem;
}

body.events-detail-page .events-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
    gap: 1.25rem;
    align-items: start;
}

body.events-detail-page .events-detail-copy,
body.events-detail-page .events-detail-aside,
body.events-detail-page .events-detail-share-card {
    padding: clamp(1.2rem, 2.5vw, 1.8rem);
}

body.events-detail-page .events-detail-section-head {
    display: grid;
    gap: 0.35rem;
    margin-bottom: 1rem;
}

body.events-detail-page .events-detail-copy__text {
    color: #45554e;
    line-height: 1.85;
    font-size: 1.02rem;
}

body.events-detail-page .events-detail-highlights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
    margin-top: 1.2rem;
}

body.events-detail-page .events-detail-sidebar {
    display: grid;
    gap: 1.25rem;
    position: sticky;
    top: 1.75rem;
}

body.events-detail-page .events-detail-aside,
body.events-detail-page .events-detail-share-card {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

body.events-detail-page .events-detail-aside__list {
    display: grid;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.events-detail-page .events-gallery {
    padding: clamp(1.2rem, 2.5vw, 1.75rem);
    display: grid;
    gap: 1rem;
}

body.events-detail-page .events-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

body.events-detail-page .events-gallery-card {
    margin: 0;
    overflow: hidden;
    border-radius: 1.2rem;
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(60, 140, 114, 0.1);
    box-shadow: 0 12px 26px rgba(22, 41, 33, 0.05);
    display: flex;
    flex-direction: column;
}

body.events-detail-page .events-gallery-card__media {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #dde7df;
}

body.events-detail-page .events-gallery-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease;
}

body.events-detail-page .events-gallery-card__caption {
    padding: 0.95rem 1rem 1rem;
}

@media (max-width: 991.98px) {
    body.events-page-body .events-hero,
    body.events-page-body .events-featured,
    body.events-detail-page .events-detail-layout {
        grid-template-columns: 1fr;
    }

    body.events-page-body .events-featured__meta,
    body.events-page-body .events-stat-grid,
    body.events-detail-page .events-detail-hero__stats,
    body.events-detail-page .events-detail-highlights,
    body.events-page-body .events-card__meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.events-page-body .events-card {
        grid-column: span 12;
    }

    body.events-page-body .events-gallery-grid,
    body.events-detail-page .events-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.events-detail-page .events-detail-sidebar {
        position: static;
    }
}

@media (max-width: 576px) {
    body.events-page-body main.events-page-shell,
    body.events-detail-page main.events-page-shell {
        padding: 1.5rem 0 3.5rem;
    }

    body.events-page-body .events-hero,
    body.events-page-body .events-featured__body,
    body.events-page-body .events-filter-panel,
    body.events-page-body .events-gallery,
    body.events-page-body .events-empty-state,
    body.events-detail-page .events-detail-copy,
    body.events-detail-page .events-detail-aside,
    body.events-detail-page .events-detail-share-card,
    body.events-detail-page .events-detail-hero__overlay {
        padding: 1.15rem;
    }

    body.events-page-body .events-hero__actions,
    body.events-page-body .events-card__actions,
    body.events-page-body .events-filter-bar__actions,
    body.events-detail-page .events-detail-hero__actions,
    body.events-detail-page .events-detail-share {
        flex-direction: column;
    }

    body.events-page-body .events-button,
    body.events-page-body .events-spotlight__button,
    body.events-detail-page .events-button {
        width: 100%;
    }

    body.events-page-body .events-hero__title {
        max-width: none;
    }

    body.events-page-body .events-stat-grid,
    body.events-page-body .events-featured__meta,
    body.events-detail-page .events-detail-hero__stats,
    body.events-detail-page .events-detail-highlights,
    body.events-page-body .events-card__meta,
    body.events-detail-page .events-gallery-grid,
    body.events-page-body .events-gallery-grid {
        grid-template-columns: 1fr;
    }

    body.events-page-body .events-gallery-card:nth-child(n),
    body.events-detail-page .events-gallery-card:nth-child(n) {
        grid-column: span 1;
    }

    body.events-detail-page .events-detail-hero__media,
    body.events-detail-page .events-detail-hero__media img {
        min-height: 280px;
    }

    body.events-detail-page .events-detail-hero__overlay {
        position: static;
        background: linear-gradient(180deg, rgba(11, 28, 22, 0.95), rgba(36, 78, 63, 0.96));
    }
}

.faq-page{max-width:1260px;margin:0 auto;padding:clamp(1rem,2vw,2rem) 1rem 4rem}
.faq-hero{margin-top:1.25rem}
.faq-hero__inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:1.25rem;align-items:stretch}
.faq-hero__content,.faq-hero__card,.faq-toolbar,.faq-results-summary,.faq-contact__card,.faq-empty{padding:clamp(1.1rem,2vw,1.5rem);background:linear-gradient(180deg,#fffdf8 0%,#f7f3ed 100%);border:1px solid rgba(164,132,95,.15);border-radius:26px;box-shadow:0 18px 45px rgba(64,46,28,.08)}
.faq-hero__content{display:grid;gap:1rem}
.faq-eyebrow{margin:0;font-size:.78rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#3c8c72}
.faq-hero h1{margin:0;color:#244c3c;font-size:clamp(2.2rem,4.6vw,4.4rem);line-height:1}
.faq-lead{margin:0;color:#4a4035;line-height:1.78;max-width:66ch}
.faq-hero__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.faq-stat{padding:1rem 1.05rem;border-radius:20px;background:rgba(60,140,114,.07);border:1px solid rgba(60,140,114,.12)}
.faq-stat strong{display:block;color:#244c3c;font-size:1.35rem;line-height:1.1}
.faq-stat span{display:block;margin-top:.2rem;color:#5c4f44;line-height:1.45}
.faq-hero__card{display:grid;gap:.8rem}
.faq-hero__card h2,.faq-contact__card h2{margin:0;color:#244c3c;font-size:1.45rem;line-height:1.15}
.faq-hero__card p,.faq-hero__card li,.faq-contact__card p{margin:0;color:#4a4035;line-height:1.72}
.faq-hero__card ul{margin:0;padding-left:1.15rem;display:grid;gap:.35rem}
.faq-toolbar{margin-top:1rem;display:grid;gap:1rem}
.faq-toolbar__actions,.faq-contact__actions{display:flex;flex-wrap:wrap;gap:.65rem}
.faq-search{display:flex;gap:.65rem;align-items:center}
.faq-search__input{min-width:0}
.faq-search__clear{white-space:nowrap}
.faq-categories{margin-top:1rem}
.faq-category-pills{display:flex;flex-wrap:wrap;gap:.55rem;overflow:auto;padding-bottom:.25rem}
.faq-category-pill{border:1px solid rgba(60,140,114,.22);background:rgba(255,255,255,.75);color:#244c3c;padding:.55rem .9rem;border-radius:999px;font-weight:700;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.faq-category-pill:hover,.faq-category-pill:focus{transform:translateY(-1px)}
.faq-category-pill.is-active{background:linear-gradient(135deg,#244c3c,#3c8c72);border-color:#244c3c;color:#fff}
.faq-results-summary{margin-top:1rem}
.faq-results-summary p{color:#4a4035}
.faq-accordion{margin-top:1rem;display:grid;gap:1rem;background:none}
.faq-category{display:grid;gap:.85rem}
.faq-category__header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:0 .15rem}
.faq-category__eyebrow{margin:0 0 .2rem;font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#6a7a73}
.faq-category__header h2{margin:0;color:#244c3c;font-size:1.4rem;line-height:1.15}
.faq-category__count{font-weight:700;color:#2f6b59;white-space:nowrap}
.faq-category__grid{display:grid;gap:.85rem}
.faq-item{border:0;border-radius:22px;overflow:hidden;box-shadow:0 12px 28px rgba(62,47,28,.07)}
.faq-item .accordion-button{padding:1rem 1.15rem;font-weight:700;line-height:1.45}
.faq-item .accordion-button:not(.collapsed){background:#eef7f1;color:#244c3c;box-shadow:none}
.faq-answer{background:#fff;color:#4a4035;line-height:1.8}
.faq-item[hidden],.faq-category[hidden],.faq-empty.d-none{display:none !important}
.faq-contact{margin-top:1.3rem}
.faq-contact__card{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-back-to-top{position:fixed;left:16px;bottom:16px;z-index:50;padding:.7rem .95rem;border-radius:999px;background:linear-gradient(135deg,#244c3c,#2f6b59);color:#fff;text-decoration:none;box-shadow:0 14px 32px rgba(36,76,60,.2)}
.faq-back-to-top:hover,.faq-back-to-top:focus{color:#fff;transform:translateY(-1px)}
html[data-theme="dark"] .faq-hero__content,
html[data-theme="dark"] .faq-hero__card,
html[data-theme="dark"] .faq-toolbar,
html[data-theme="dark"] .faq-results-summary,
html[data-theme="dark"] .faq-contact__card,
html[data-theme="dark"] .faq-empty{background:linear-gradient(180deg,rgba(19,41,37,.96),rgba(12,30,27,.96));border-color:rgba(111,211,178,.16);box-shadow:0 18px 45px rgba(0,0,0,.35);color:var(--text-primary)}
html[data-theme="dark"] .faq-hero h1,
html[data-theme="dark"] .faq-hero__card h2,
html[data-theme="dark"] .faq-contact__card h2,
html[data-theme="dark"] .faq-category__header h2,
html[data-theme="dark"] .faq-stat strong{color:var(--text-primary)}
html[data-theme="dark"] .faq-lead,
html[data-theme="dark"] .faq-hero__card p,
html[data-theme="dark"] .faq-hero__card li,
html[data-theme="dark"] .faq-contact__card p,
html[data-theme="dark"] .faq-results-summary p,
html[data-theme="dark"] .faq-answer{color:var(--text-secondary)}
html[data-theme="dark"] .faq-category-pill{background:rgba(12,30,27,.8);border-color:rgba(111,211,178,.2);color:var(--text-primary)}
html[data-theme="dark"] .faq-category-pill.is-active{background:linear-gradient(135deg,#2f6b59,#6fd3b2);border-color:#6fd3b2;color:#0c1e1b}
html[data-theme="dark"] .faq-item{background:transparent;box-shadow:0 12px 28px rgba(0,0,0,.35)}
html[data-theme="dark"] .faq-item .accordion-button:not(.collapsed){background:rgba(60,140,114,.16);color:var(--text-primary)}
@media (max-width: 992px){.faq-hero__inner{grid-template-columns:1fr}.faq-contact__card{flex-direction:column;align-items:flex-start}}
@media (max-width: 576px){.faq-page{padding-left:.75rem;padding-right:.75rem}.faq-hero__stats{grid-template-columns:1fr}.faq-toolbar__actions,.faq-contact__actions{width:100%}.faq-toolbar__actions .btn,.faq-contact__actions .btn{width:100%}.faq-category__header{align-items:flex-start;flex-direction:column}.faq-back-to-top{left:12px;bottom:12px}}

.faqkb-page{max-width:1320px;margin:0 auto;padding:clamp(1rem,2vw,2rem) 1rem 4.5rem;display:grid;gap:1rem;background:
radial-gradient(circle at top left, rgba(60,140,114,.12), transparent 28%),
radial-gradient(circle at top right, rgba(212,170,88,.14), transparent 24%),
linear-gradient(180deg, rgba(248,244,238,.9), rgba(242,237,230,.92))}
.faqkb-surface{background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,246,240,.95));border:1px solid rgba(164,132,95,.16);border-radius:28px;box-shadow:0 18px 45px rgba(64,46,28,.08)}
.faqkb-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:1rem;align-items:stretch}
.faqkb-hero__main,.faqkb-hero__side,.faqkb-toolbar,.faqkb-chips,.faqkb-summary,.faqkb-sidebar__card,.faqkb-contact{padding:clamp(1.1rem,2vw,1.45rem)}
.faqkb-hero h1{margin:0;color:#214336;font-size:clamp(2.25rem,4.8vw,4.7rem);line-height:.98;letter-spacing:-.04em;max-width:12ch}
.faqkb-kicker{margin:0 0 .7rem;font-size:.76rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#3c8c72}
.faqkb-lead{margin:1rem 0 0;color:#4a4035;line-height:1.8;max-width:66ch;font-size:1.02rem}
.faqkb-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1.2rem}
.faqkb-stat{padding:1rem 1.05rem;border-radius:20px;background:rgba(60,140,114,.08);border:1px solid rgba(60,140,114,.12)}
.faqkb-stat strong{display:block;color:#214336;font-size:1.45rem;line-height:1.05}
.faqkb-stat span{display:block;margin-top:.2rem;color:#5b4e43;line-height:1.4}
.faqkb-hero__side{display:grid;gap:.9rem;align-content:start}
.faqkb-hero__side h2,.faqkb-sidebar__card h2,.faqkb-contact h2{margin:0;color:#214336;font-size:1.45rem;line-height:1.12}
.faqkb-hero__side p,.faqkb-sidebar__card p,.faqkb-contact p{margin:0;color:#4a4035;line-height:1.72}
.faqkb-pills{display:flex;flex-wrap:wrap;gap:.5rem}
.faqkb-pill{display:inline-flex;align-items:center;padding:.45rem .72rem;border-radius:999px;background:rgba(60,140,114,.08);color:#2f6b59;font-size:.82rem;font-weight:700;border:1px solid rgba(60,140,114,.12)}
.faqkb-hero__actions,.faqkb-toolbar__actions,.faqkb-sidebar__actions,.faqkb-contact__actions{display:flex;flex-wrap:wrap;gap:.7rem}
.faqkb-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:end}
.faqkb-searchbar{display:flex;gap:.65rem;align-items:center}
.faqkb-searchbar__input{min-width:0}
.faqkb-chips{padding:.95rem 1.1rem}
.faqkb-chipbar{display:flex;flex-wrap:wrap;gap:.55rem;overflow:auto;padding-bottom:.2rem}
.faqkb-chip{border:1px solid rgba(60,140,114,.22);background:rgba(255,255,255,.76);color:#214336;padding:.58rem .9rem;border-radius:999px;font-weight:700;white-space:nowrap;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}
.faqkb-chip:hover,.faqkb-chip:focus{transform:translateY(-1px)}
.faqkb-chip.is-active{background:linear-gradient(135deg,#214336,#3c8c72);border-color:#214336;color:#fff}
.faqkb-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:1rem;align-items:start}
.faqkb-main{display:grid;gap:1rem}
.faqkb-summary{font-weight:600;color:#4a4035}
.faqkb-summary strong{color:#214336}
.faqkb-empty{margin:0}
.faqkb-section{display:grid;gap:.9rem}
.faqkb-section__head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding:0 .2rem}
.faqkb-section__eyebrow{margin:0 0 .2rem;font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#6a7a73}
.faqkb-section__head h2{margin:0;color:#214336;font-size:1.4rem;line-height:1.15}
.faqkb-section__count{font-weight:700;color:#2f6b59;white-space:nowrap}
.faqkb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.faqkb-card{border:1px solid rgba(164,132,95,.16);border-radius:22px;background:rgba(255,255,255,.9);box-shadow:0 12px 28px rgba(64,46,28,.07);overflow:hidden}
.faqkb-card[hidden],.faqkb-section[hidden],.faqkb-empty.d-none{display:none !important}
.faqkb-card__summary{list-style:none;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.05rem;cursor:pointer;user-select:none}
.faqkb-card__summary::-webkit-details-marker{display:none}
.faqkb-card__question{font-weight:800;color:#214336;line-height:1.4}
.faqkb-card__icon{position:relative;flex:0 0 auto;width:2rem;height:2rem;border-radius:999px;background:rgba(60,140,114,.1);border:1px solid rgba(60,140,114,.16)}
.faqkb-card__icon::before,.faqkb-card__icon::after{content:"";position:absolute;left:50%;top:50%;background:#2f6b59;border-radius:999px;transform:translate(-50%,-50%);transition:transform .18s ease,opacity .18s ease}
.faqkb-card__icon::before{width:12px;height:2px}
.faqkb-card__icon::after{width:2px;height:12px}
.faqkb-card[open] .faqkb-card__icon::after{opacity:0;transform:translate(-50%,-50%) scaleY(.2)}
.faqkb-card__body{padding:0 1.05rem 1rem;color:#4a4035;line-height:1.78}
.faqkb-card__body p{margin:0}
.faqkb-sidebar{position:relative}
.faqkb-sidebar__sticky{position:sticky;top:1.1rem;display:grid;gap:1rem}
.faqkb-sidebar__card{display:grid;gap:.85rem}
.faqkb-list{margin:0;padding-left:1.1rem;display:grid;gap:.55rem;color:#4a4035;line-height:1.65}
.faqkb-contact{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faqkb-backtotop{position:fixed;left:16px;bottom:16px;z-index:50;padding:.75rem 1rem;border-radius:999px;background:linear-gradient(135deg,#214336,#2f6b59);color:#fff;text-decoration:none;box-shadow:0 14px 32px rgba(36,76,60,.2)}
.faqkb-backtotop:hover,.faqkb-backtotop:focus{color:#fff;transform:translateY(-1px)}
html[data-theme="dark"] .faqkb-surface{background:linear-gradient(180deg, rgba(19,41,37,.96), rgba(12,30,27,.96));border-color:rgba(111,211,178,.16);box-shadow:0 18px 45px rgba(0,0,0,.35);color:var(--text-primary)}
html[data-theme="dark"] .faqkb-hero h1,
html[data-theme="dark"] .faqkb-hero__side h2,
html[data-theme="dark"] .faqkb-sidebar__card h2,
html[data-theme="dark"] .faqkb-contact h2,
html[data-theme="dark"] .faqkb-section__head h2,
html[data-theme="dark"] .faqkb-card__question,
html[data-theme="dark"] .faqkb-stat strong,
html[data-theme="dark"] .faqkb-summary strong{color:var(--text-primary)}
html[data-theme="dark"] .faqkb-lead,
html[data-theme="dark"] .faqkb-hero__side p,
html[data-theme="dark"] .faqkb-sidebar__card p,
html[data-theme="dark"] .faqkb-contact p,
html[data-theme="dark"] .faqkb-card__body,
html[data-theme="dark"] .faqkb-summary,
html[data-theme="dark"] .faqkb-list{color:var(--text-secondary)}
html[data-theme="dark"] .faqkb-chip{background:rgba(12,30,27,.82);border-color:rgba(111,211,178,.2);color:var(--text-primary)}
html[data-theme="dark"] .faqkb-chip.is-active{background:linear-gradient(135deg,#2f6b59,#6fd3b2);border-color:#6fd3b2;color:#0c1e1b}
html[data-theme="dark"] .faqkb-card{background:rgba(19,41,37,.92);border-color:rgba(111,211,178,.16);box-shadow:0 12px 28px rgba(0,0,0,.35)}
html[data-theme="dark"] .faqkb-card__summary{color:var(--text-primary)}
html[data-theme="dark"] .faqkb-card__icon{background:rgba(111,211,178,.12);border-color:rgba(111,211,178,.18)}
html[data-theme="dark"] .faqkb-card__icon::before,
html[data-theme="dark"] .faqkb-card__icon::after{background:#aef0d8}
@media (max-width: 992px){.faqkb-hero,.faqkb-layout{grid-template-columns:1fr}.faqkb-toolbar{grid-template-columns:1fr}.faqkb-grid{grid-template-columns:1fr}.faqkb-contact{flex-direction:column;align-items:flex-start}.faqkb-sidebar__sticky{position:static}}
@media (max-width: 576px){.faqkb-page{padding-left:.75rem;padding-right:.75rem}.faqkb-stats{grid-template-columns:1fr}.faqkb-toolbar__actions,.faqkb-hero__actions,.faqkb-contact__actions,.faqkb-sidebar__actions{width:100%}.faqkb-toolbar__actions .btn,.faqkb-hero__actions .btn,.faqkb-contact__actions .btn,.faqkb-sidebar__actions .btn{width:100%}.faqkb-section__head{align-items:flex-start;flex-direction:column}.faqkb-card__summary{padding:.95rem}.faqkb-card__body{padding:0 .95rem .95rem}.faqkb-backtotop{left:12px;bottom:12px}}

.faqkb-page{position:relative;max-width:1440px;margin:0 auto;padding:clamp(1rem,2.2vw,2rem) 1rem 5rem;display:grid;gap:1.25rem;background:radial-gradient(circle at 6% 0%, rgba(60,140,114,.12), transparent 22%),radial-gradient(circle at 96% 8%, rgba(221,196,154,.34), transparent 20%),linear-gradient(180deg,#fcfaf5 0%,#f4eee4 100%);overflow:clip}
.faqkb-page::before,.faqkb-page::after{content:"";position:absolute;border-radius:999px;pointer-events:none;filter:blur(2px);opacity:.62}
.faqkb-page::before{width:240px;height:240px;top:22px;right:-80px;background:radial-gradient(circle, rgba(60,140,114,.12), transparent 66%)}
.faqkb-page::after{width:320px;height:320px;left:-140px;top:220px;background:radial-gradient(circle, rgba(213,176,115,.14), transparent 66%)}
.faqkb-surface{position:relative;z-index:1;background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(251,247,240,.98));border:1px solid rgba(56,92,78,.12);border-radius:34px;box-shadow:0 24px 60px rgba(71,54,36,.08)}
.faqkb-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:1rem;align-items:stretch;padding:clamp(1.15rem,2vw,1.5rem)}
.faqkb-hero__copy,.faqkb-hero__visual{display:grid;gap:1rem;align-content:start}
.faqkb-kicker{margin:0;font-size:.76rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#3f8f72}
.faqkb-hero h1{margin:0;color:#204338;font-size:clamp(2.5rem,5vw,5rem);line-height:.93;letter-spacing:-.05em;max-width:10ch}
.faqkb-hero__lead{margin:0;color:#4b4238;line-height:1.78;font-size:1.05rem;max-width:64ch}
.faqkb-searchbox{display:grid;gap:.55rem}
.faqkb-searchbox__field{display:flex;align-items:center;gap:.65rem;padding:.8rem .92rem;border-radius:999px;background:#fff;border:1px solid rgba(60,140,114,.18);box-shadow:0 12px 30px rgba(42,54,45,.07)}
.faqkb-searchbox__field i{color:#3f8f72;font-size:1.05rem;flex:0 0 auto}
.faqkb-searchbox__input{min-width:0;border:0 !important;box-shadow:none !important;background:transparent !important;padding:.15rem 0 !important;flex:1 1 auto;font-size:1rem}
.faqkb-searchbox__input:focus{outline:0}
.faqkb-searchbox__clear{border:0;background:rgba(60,140,114,.1);color:#245240;font-weight:700;padding:.62rem .95rem;border-radius:999px;transition:transform .18s ease,background .18s ease}
.faqkb-searchbox__clear:hover,.faqkb-searchbox__clear:focus{transform:translateY(-1px);background:rgba(60,140,114,.16)}
.faqkb-searchbox--hero .faqkb-searchbox__field{padding:.95rem 1rem}
.faqkb-searchbox--hero .faqkb-searchbox__input{font-size:1.02rem}
.faqkb-hero__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.faqkb-stat{padding:1rem 1.05rem;border-radius:24px;background:linear-gradient(180deg, rgba(60,140,114,.08), rgba(255,255,255,.8));border:1px solid rgba(60,140,114,.12);box-shadow:0 14px 30px rgba(44,60,51,.06)}
.faqkb-stat strong{display:block;color:#204338;font-size:1.55rem;line-height:1.05}
.faqkb-stat span{display:block;margin-top:.28rem;color:#5b5247;line-height:1.35}
.faqkb-visual-card{position:relative;overflow:hidden;border-radius:30px;background:#eef3ee;border:1px solid rgba(60,140,114,.12);box-shadow:0 18px 38px rgba(44,60,51,.08)}
.faqkb-visual-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .36s ease}
.faqkb-hero__visual:hover .faqkb-visual-card img{transform:scale(1.02)}
.faqkb-visual-card--main{min-height:100%;aspect-ratio:1/1.08}
.faqkb-visual-card__caption,.faqkb-visual-card figcaption{position:absolute;left:16px;right:16px;bottom:16px;padding:1rem 1.05rem;border-radius:22px;background:rgba(28,44,38,.48);backdrop-filter:blur(12px);color:#fff}
.faqkb-visual-card__caption span,.faqkb-visual-card figcaption span{display:block;color:rgba(255,250,241,.82);font-size:.88rem}
.faqkb-visual-card__caption strong,.faqkb-visual-card figcaption strong{display:block;margin-top:.2rem;font-size:1rem;line-height:1.4}
.faqkb-visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.faqkb-visual-grid .faqkb-visual-card{aspect-ratio:1/1}
.faqkb-visual-grid .faqkb-visual-card figcaption{padding:.85rem .95rem}
.faqkb-visual-grid .faqkb-visual-card figcaption strong{font-size:.96rem}
.faqkb-section{display:grid;gap:1rem;padding:clamp(1.1rem,1.8vw,1.45rem)}
.faqkb-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:0 .1rem}
.faqkb-section__head h2,.faqkb-faq h2,.faqkb-sidebar-card h2,.faqkb-contact h2{margin:0;color:#204338;font-size:clamp(1.45rem,2.5vw,2.15rem);line-height:1.1;letter-spacing:-.02em}
.faqkb-section__head span{color:#5b5247;font-weight:700}
.faqkb-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.9rem}
.faqkb-category-card,.faqkb-popular-card,.faqkb-tag{border:0;text-align:left}
.faqkb-category-card{display:grid;gap:.55rem;align-content:start;padding:1rem 1rem 1.05rem;border-radius:28px;background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,244,236,.96));border:1px solid rgba(60,140,114,.12);box-shadow:0 14px 30px rgba(44,60,51,.07);color:#214338;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}
.faqkb-category-card:hover,.faqkb-category-card:focus{transform:translateY(-4px);box-shadow:0 20px 40px rgba(44,60,51,.1);border-color:rgba(60,140,114,.22)}
.faqkb-category-card.is-active{background:linear-gradient(180deg, rgba(60,140,114,.12), rgba(255,255,255,.98));border-color:rgba(60,140,114,.26)}
.faqkb-category-card__icon{width:3.25rem;height:3.25rem;border-radius:22px;display:grid;place-items:center;background:rgba(60,140,114,.12);color:#2d6c57;font-size:1.2rem}
.faqkb-category-card strong{font-size:1rem;line-height:1.35}
.faqkb-category-card span{color:#5d5247;font-size:.92rem}
.faqkb-popular-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}
.faqkb-popular-card{display:grid;gap:.5rem;padding:1rem 1.05rem;border-radius:24px;background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,244,236,.96));border:1px solid rgba(60,140,114,.12);box-shadow:0 14px 30px rgba(44,60,51,.07);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.faqkb-popular-card:hover,.faqkb-popular-card:focus{transform:translateY(-3px);box-shadow:0 20px 38px rgba(44,60,51,.1);border-color:rgba(60,140,114,.22)}
.faqkb-popular-card__meta{display:inline-flex;align-items:center;gap:.45rem;color:#3f8f72;font-size:.84rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.faqkb-popular-card strong{color:#214338;font-size:1rem;line-height:1.45}
.faqkb-popular-card span:last-child{color:#5d5247;font-size:.9rem}
.faqkb-shell{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:1rem;align-items:start}
.faqkb-faq{padding:clamp(1.1rem,2vw,1.45rem)}
.faqkb-faq__top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:.2rem}
.faqkb-faq__meta{display:grid;gap:.65rem;justify-items:end}
.faqkb-results{margin:0;color:#4b4238;font-weight:700}
.faqkb-results strong{color:#204338}
.faqkb-faq__actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}
.faqkb-filters{display:grid;gap:1rem;margin-top:.25rem}
.faqkb-chipbar{display:flex;flex-wrap:wrap;gap:.55rem}
.faqkb-chip{padding:.62rem .95rem;border-radius:999px;background:#fff;border:1px solid rgba(60,140,114,.16);color:#214338;font-weight:700;white-space:nowrap;box-shadow:0 10px 22px rgba(44,60,51,.05);transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease}
.faqkb-chip:hover,.faqkb-chip:focus{transform:translateY(-1px)}
.faqkb-chip.is-active{background:linear-gradient(135deg,#214338,#3f8f72);border-color:#214338;color:#fff}
.faqkb-empty{margin:0}
.faqkb-accordion-list{display:grid;gap:.9rem;margin-top:.25rem}
.faqkb-card{content-visibility:auto;contain-intrinsic-size:1px 124px;border:1px solid rgba(60,140,114,.14);border-radius:28px;background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,246,240,.96));box-shadow:0 14px 30px rgba(44,60,51,.07);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.faqkb-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(44,60,51,.1);border-color:rgba(60,140,114,.22)}
.faqkb-card[open]{border-color:rgba(60,140,114,.22);background:linear-gradient(180deg, rgba(240,248,244,.98), rgba(255,255,255,.98))}
.faqkb-card[hidden],.faqkb-empty.d-none{display:none!important}
.faqkb-card__summary{list-style:none;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.05rem 1.1rem;cursor:pointer;user-select:none;outline:0}
.faqkb-card__summary::-webkit-details-marker{display:none}
.faqkb-card__summary:focus-visible{box-shadow:inset 0 0 0 2px rgba(60,140,114,.28)}
.faqkb-card__text{display:grid;gap:.45rem;min-width:0}
.faqkb-card__meta{display:inline-flex;align-items:center;gap:.45rem;color:#3f8f72;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.faqkb-card__question{color:#214338;font-size:1.03rem;line-height:1.55;font-weight:800}
.faqkb-card__toggle{position:relative;flex:0 0 auto;width:2.35rem;height:2.35rem;border-radius:999px;background:rgba(60,140,114,.11);border:1px solid rgba(60,140,114,.18);margin-top:.1rem}
.faqkb-card__toggle::before,.faqkb-card__toggle::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;border-radius:999px;background:#2c6a56;transform:translate(-50%,-50%);transition:transform .2s ease,opacity .2s ease}
.faqkb-card__toggle::after{width:2px;height:12px}
.faqkb-card[open] .faqkb-card__toggle::after{opacity:0;transform:translate(-50%,-50%) scaleY(.25)}
.faqkb-card__body{padding:0 1.1rem 1.1rem;color:#4b4238;line-height:1.8}
.faqkb-card__body p{margin:0}
.faqkb-card__body mark,.faqkb-popular-card mark,.faqkb-results mark{padding:0 .22em;border-radius:.28em;background:rgba(255,223,120,.55);color:inherit}
.faqkb-pagination{display:grid;justify-items:center;gap:.7rem;padding-top:.2rem}
.faqkb-pagination__hint{margin:0;color:#5d5247;font-size:.96rem;text-align:center}
.faqkb-sidebar{position:relative}
.faqkb-sidebar__sticky{position:sticky;top:1rem;display:grid;gap:1rem}
.faqkb-sidebar-card{padding:1.15rem;display:grid;gap:.85rem}
.faqkb-tag-grid{display:flex;flex-wrap:wrap;gap:.55rem}
.faqkb-tag{padding:.58rem .9rem;border-radius:999px;background:rgba(60,140,114,.08);border:1px solid rgba(60,140,114,.14);color:#245240;font-weight:700;transition:transform .18s ease,background .18s ease}
.faqkb-tag:hover,.faqkb-tag:focus{transform:translateY(-1px);background:rgba(60,140,114,.13)}
.faqkb-checklist{margin:0;padding-left:1.1rem;display:grid;gap:.6rem;color:#4b4238;line-height:1.65}
.faqkb-sidebar-actions,.faqkb-contact__actions{display:flex;flex-wrap:wrap;gap:.65rem}
.faqkb-contact{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.4rem}
.faqkb-contact p{margin:0;color:#4b4238;line-height:1.75;max-width:66ch}
.faqkb-usp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}
.faqkb-usp-card{padding:1.1rem 1.05rem;display:grid;gap:.65rem;text-align:left;transition:transform .2s ease,box-shadow .2s ease}
.faqkb-usp-card:hover{transform:translateY(-3px)}
.faqkb-usp-card__icon{width:3rem;height:3rem;border-radius:20px;display:grid;place-items:center;background:rgba(60,140,114,.12);color:#2c6a56;font-size:1.15rem}
.faqkb-usp-card strong{color:#214338;font-size:1.02rem}
.faqkb-usp-card p{margin:0;color:#4b4238;line-height:1.7}
.faqkb-backtotop{position:fixed;left:16px;bottom:16px;z-index:60;display:inline-flex;align-items:center;gap:.45rem;padding:.8rem 1rem;border-radius:999px;background:linear-gradient(135deg,#214338,#3f8f72);color:#fff;text-decoration:none;box-shadow:0 16px 34px rgba(33,67,56,.22);transition:transform .18s ease,box-shadow .18s ease}
.faqkb-backtotop:hover,.faqkb-backtotop:focus{color:#fff;transform:translateY(-1px)}
html[data-theme="dark"] .faqkb-page{background:radial-gradient(circle at 6% 0%, rgba(60,140,114,.16), transparent 22%),radial-gradient(circle at 96% 8%, rgba(221,196,154,.16), transparent 20%),linear-gradient(180deg,#0e1f1a 0%,#122922 100%)}
html[data-theme="dark"] .faqkb-surface{background:linear-gradient(180deg, rgba(17,36,32,.96), rgba(13,28,25,.96));border-color:rgba(111,211,178,.14);box-shadow:0 22px 50px rgba(0,0,0,.34);color:var(--text-primary)}
html[data-theme="dark"] .faqkb-kicker,
html[data-theme="dark"] .faqkb-popular-card__meta,
html[data-theme="dark"] .faqkb-card__meta{color:#8be2c6}
html[data-theme="dark"] .faqkb-hero h1,
html[data-theme="dark"] .faqkb-section__head h2,
html[data-theme="dark"] .faqkb-faq h2,
html[data-theme="dark"] .faqkb-sidebar-card h2,
html[data-theme="dark"] .faqkb-contact h2,
html[data-theme="dark"] .faqkb-stat strong,
html[data-theme="dark"] .faqkb-category-card strong,
html[data-theme="dark"] .faqkb-popular-card strong,
html[data-theme="dark"] .faqkb-card__question,
html[data-theme="dark"] .faqkb-usp-card strong{color:var(--text-primary)}
html[data-theme="dark"] .faqkb-hero__lead,
html[data-theme="dark"] .faqkb-stat span,
html[data-theme="dark"] .faqkb-visual-card__caption span,
html[data-theme="dark"] .faqkb-visual-card figcaption span,
html[data-theme="dark"] .faqkb-category-card span,
html[data-theme="dark"] .faqkb-popular-card span:last-child,
html[data-theme="dark"] .faqkb-card__body,
html[data-theme="dark"] .faqkb-results,
html[data-theme="dark"] .faqkb-pagination__hint,
html[data-theme="dark"] .faqkb-checklist,
html[data-theme="dark"] .faqkb-usp-card p,
html[data-theme="dark"] .faqkb-sidebar-card p,
html[data-theme="dark"] .faqkb-contact p{color:var(--text-secondary)}
html[data-theme="dark"] .faqkb-searchbox__field,
html[data-theme="dark"] .faqkb-chip,
html[data-theme="dark"] .faqkb-category-card,
html[data-theme="dark"] .faqkb-popular-card,
html[data-theme="dark"] .faqkb-card,
html[data-theme="dark"] .faqkb-usp-card{background:rgba(17,36,32,.95);border-color:rgba(111,211,178,.14)}
html[data-theme="dark"] .faqkb-searchbox__clear{background:rgba(111,211,178,.12);color:#c9f6e8}
html[data-theme="dark"] .faqkb-chip.is-active{background:linear-gradient(135deg,#2c6a56,#8be2c6);border-color:#8be2c6;color:#0e1f1a}
html[data-theme="dark"] .faqkb-category-card.is-active{background:linear-gradient(180deg, rgba(60,140,114,.18), rgba(17,36,32,.98))}
html[data-theme="dark"] .faqkb-visual-card__caption,html[data-theme="dark"] .faqkb-visual-card figcaption{background:rgba(7,17,15,.58)}
html[data-theme="dark"] .faqkb-card[open]{background:linear-gradient(180deg, rgba(12,30,27,.96), rgba(17,36,32,.96))}
html[data-theme="dark"] .faqkb-card__toggle{background:rgba(111,211,178,.12);border-color:rgba(111,211,178,.2)}
html[data-theme="dark"] .faqkb-card__toggle::before,html[data-theme="dark"] .faqkb-card__toggle::after{background:#8be2c6}
html[data-theme="dark"] .faqkb-card__body mark,
html[data-theme="dark"] .faqkb-popular-card mark,
html[data-theme="dark"] .faqkb-results mark{background:rgba(180,146,64,.45);color:#fff}
@media (max-width: 1280px){.faqkb-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.faqkb-popular-grid,.faqkb-usp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faqkb-shell{grid-template-columns:1fr}}
@media (max-width: 992px){.faqkb-hero{grid-template-columns:1fr}.faqkb-visual-card--main{aspect-ratio:1/0.72}.faqkb-hero__stats{grid-template-columns:repeat(3,minmax(0,1fr))}.faqkb-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.faqkb-popular-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faqkb-usp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faqkb-sidebar__sticky{position:static}.faqkb-contact{flex-direction:column;align-items:flex-start}.faqkb-faq__top{flex-direction:column;align-items:flex-start}.faqkb-faq__meta{justify-items:start}.faqkb-section__head{flex-direction:column;align-items:flex-start}}
@media (max-width: 768px){.faqkb-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faqkb-popular-grid,.faqkb-usp-grid{grid-template-columns:1fr}.faqkb-visual-grid{grid-template-columns:1fr 1fr}}
@media (max-width: 576px){.faqkb-page{padding-left:.75rem;padding-right:.75rem}.faqkb-hero__stats{grid-template-columns:1fr}.faqkb-searchbox__field{border-radius:24px;align-items:flex-start;flex-wrap:wrap}.faqkb-searchbox__clear{width:100%}.faqkb-category-grid,.faqkb-visual-grid{grid-template-columns:1fr}.faqkb-card__summary{padding:.98rem 1rem}.faqkb-card__body{padding:0 1rem 1rem}.faqkb-contact__actions,.faqkb-sidebar-actions,.faqkb-faq__actions{width:100%}.faqkb-contact__actions .btn,.faqkb-sidebar-actions .btn,.faqkb-faq__actions .btn{width:100%}.faqkb-backtotop{left:12px;bottom:12px}}

.faqkb-hero--premium{grid-template-columns:minmax(0,1.24fr) minmax(340px,.76fr);align-items:center;background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(251,247,240,.98));padding:clamp(1.4rem,2.2vw,2rem);box-shadow:0 26px 64px rgba(55,45,31,.08)}
.faqkb-hero--premium .faqkb-hero__copy{gap:1.15rem;padding:clamp(.15rem,.5vw,.5rem) 0}
.faqkb-hero--premium .faqkb-hero__visual--collage{display:grid;gap:1rem;padding:1rem;border-radius:28px;background:linear-gradient(180deg, rgba(246,242,234,.96), rgba(255,255,255,.98));border:1px solid rgba(60,140,114,.12);box-shadow:0 22px 48px rgba(44,60,51,.09);align-content:start}
.faqkb-hero--premium .faqkb-visual-card{border-radius:28px;box-shadow:0 16px 30px rgba(44,60,51,.07)}
.faqkb-hero--premium .faqkb-visual-card--main{aspect-ratio:1/1.1;min-height:unset}
.faqkb-hero--premium .faqkb-visual-grid{gap:1rem}
.faqkb-hero--premium .faqkb-visual-grid .faqkb-visual-card{aspect-ratio:1/1.03}
.faqkb-hero--premium .faqkb-visual-card__caption,.faqkb-hero--premium .faqkb-visual-card figcaption{left:14px;right:14px;bottom:14px;border-radius:18px}
.faqkb-hero--premium .faqkb-visual-card img{filter:saturate(1.02) contrast(1.01)}
.faqkb-section--premium{background:linear-gradient(180deg, rgba(250,246,239,.98), rgba(255,255,255,.98))}
.faqkb-section--spotlight{background:linear-gradient(180deg, rgba(240,247,242,.96), rgba(251,248,243,.98));border-radius:32px;padding:clamp(1.25rem,2vw,1.65rem);box-shadow:0 22px 54px rgba(55,45,31,.07)}
.faqkb-shell--premium{margin-top:.15rem}
.faqkb-faq--premium{background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,245,238,.98))}
.faqkb-sidebar--premium{padding-top:.1rem}
.faqkb-sidebar--premium .faqkb-sidebar__sticky{top:1.1rem}
.faqkb-contact--premium{background:linear-gradient(135deg, rgba(235,245,238,.98), rgba(251,248,243,.98));border:1px solid rgba(60,140,114,.14);box-shadow:0 24px 52px rgba(44,60,51,.08);padding:1.55rem 1.6rem}
.faqkb-contact--premium > div{gap:.55rem}
.faqkb-contact--premium .faqkb-contact__icon{margin-bottom:.15rem}
.faqkb-contact--premium .btn.btn-success{background:linear-gradient(135deg,#214338,#3f8f72);border-color:#214338;box-shadow:0 16px 30px rgba(33,67,56,.18)}
.faqkb-contact--premium .btn.btn-outline-secondary{border-color:rgba(60,140,114,.24);background:#fff}
.faqkb-usp-grid--premium{padding-top:.15rem}
.faqkb-usp-grid--premium .faqkb-usp-card{border:1px solid rgba(60,140,114,.12);box-shadow:0 14px 28px rgba(44,60,51,.07)}
.faqkb-usp-grid--premium .faqkb-usp-card:hover{box-shadow:0 20px 40px rgba(44,60,51,.1)}
.faqkb-page + .footer{margin-top:1.6rem}

.faqkb-hero,.faqkb-section,.faqkb-shell,.faqkb-contact,.faqkb-usp-grid{animation:faqkb-rise .55s ease both}
.faqkb-section:nth-of-type(2){animation-delay:.04s}
.faqkb-section:nth-of-type(3){animation-delay:.08s}
.faqkb-shell{animation-delay:.12s}
.faqkb-contact{animation-delay:.16s}
.faqkb-usp-grid{animation-delay:.2s}
@keyframes faqkb-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.faqkb-page{padding:clamp(1.25rem,2.4vw,2.5rem) 1rem 6rem}
.faqkb-page::before{width:300px;height:300px;top:0;right:-120px}
.faqkb-page::after{width:420px;height:420px;left:-180px;top:260px}
.faqkb-surface{border-radius:28px}
.faqkb-hero{gap:1.35rem;padding:clamp(1.4rem,2.4vw,2rem)}
.faqkb-hero h1{font-size:clamp(3rem,6vw,6rem);max-width:9ch}
.faqkb-hero__lead{font-size:1.08rem;max-width:60ch;margin-top:.15rem}
.faqkb-hero__visual{position:relative}
.faqkb-hero__visual::before{content:"";position:absolute;inset:0 -28px 0 auto;width:84px;background:linear-gradient(90deg, rgba(252,250,245,0), rgba(252,250,245,.9));pointer-events:none;z-index:2}
.faqkb-visual-card,.faqkb-card,.faqkb-category-card,.faqkb-popular-card,.faqkb-sidebar-card,.faqkb-contact,.faqkb-usp-card{border-radius:26px}
.faqkb-visual-card img{transition:transform .45s ease,filter .45s ease}
.faqkb-hero__visual:hover .faqkb-visual-card img{transform:scale(1.025);filter:saturate(1.03)}
.faqkb-visual-card__caption,.faqkb-visual-card figcaption{border-radius:20px;padding:1rem 1.05rem}
.faqkb-searchbox__field{min-height:60px;border-radius:28px;padding:.9rem 1.05rem}
.faqkb-searchbox__clear{padding:.72rem 1.1rem;background:linear-gradient(135deg,#214338,#3f8f72);color:#fff;box-shadow:0 10px 20px rgba(33,67,56,.12)}
.faqkb-searchbox__clear:hover,.faqkb-searchbox__clear:focus{transform:translateY(-1px) scale(1.02);color:#fff}
.faqkb-hero__stats{gap:.85rem}
.faqkb-stat{min-height:110px;display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto auto;align-items:center;gap:.2rem .8rem;padding:1.05rem 1rem;border-radius:24px}
.faqkb-stat__icon{grid-row:1/span 2;display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:rgba(60,140,114,.12);color:#2b6755;font-size:1.15rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.48)}
.faqkb-stat strong{font-size:1.9rem;line-height:1}
.faqkb-stat span{font-size:.92rem}
.faqkb-category-grid{gap:1rem}
.faqkb-category-card{min-height:172px;padding:1.15rem;border-radius:26px;grid-template-rows:auto auto auto auto}
.faqkb-category-card__icon{width:3.6rem;height:3.6rem;border-radius:22px;font-size:1.35rem}
.faqkb-category-card strong{font-size:1.02rem}
.faqkb-category-card span{font-size:.88rem}
.faqkb-category-card__arrow{margin-top:.2rem;justify-self:end;width:2rem;height:2rem;border-radius:999px;display:grid;place-items:center;background:rgba(60,140,114,.08);color:#2b6755;transition:transform .2s ease,background .2s ease}
.faqkb-category-card:hover .faqkb-category-card__arrow{transform:translateX(2px);background:rgba(60,140,114,.14)}
.faqkb-popular-grid{gap:1rem}
.faqkb-popular-card{position:relative;min-height:170px;padding:1.15rem;border-radius:26px;background:linear-gradient(180deg, rgba(233,245,238,.98), rgba(255,255,255,.98));overflow:hidden}
.faqkb-popular-card:hover,.faqkb-popular-card:focus{transform:translateY(-4px);box-shadow:0 22px 44px rgba(44,60,51,.11)}
.faqkb-popular-card__badge{display:inline-flex;align-items:center;gap:.42rem;padding:.36rem .7rem;border-radius:999px;background:rgba(60,140,114,.1);color:#2b6755;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;width:max-content}
.faqkb-popular-card__icon{width:3.2rem;height:3.2rem;border-radius:20px;display:grid;place-items:center;background:#fff;color:#2b6755;box-shadow:0 10px 20px rgba(44,60,51,.06)}
.faqkb-popular-card strong{font-size:1.03rem;line-height:1.55;max-width:24ch}
.faqkb-popular-card span:last-child{color:#5f5548;font-size:.88rem}
.faqkb-popular-card__arrow{margin-top:auto;justify-self:end;width:2rem;height:2rem;border-radius:999px;display:grid;place-items:center;background:rgba(60,140,114,.08);color:#2b6755;transition:transform .2s ease,background .2s ease}
.faqkb-popular-card:hover .faqkb-popular-card__arrow{transform:translateX(2px);background:rgba(60,140,114,.14)}
.faqkb-shell{gap:1.1rem}
.faqkb-faq{padding:clamp(1.25rem,2.1vw,1.65rem)}
.faqkb-faq__top{gap:1.15rem}
.faqkb-results{font-size:.98rem}
.faqkb-chip{padding:.68rem 1rem;border-radius:999px}
.faqkb-card{border-radius:24px}
.faqkb-card[open]{background:linear-gradient(180deg, rgba(237,247,241,.98), rgba(255,255,255,.98));box-shadow:0 18px 38px rgba(44,60,51,.1)}
.faqkb-card__summary{padding:1.18rem 1.15rem}
.faqkb-card__question{font-size:1.08rem;line-height:1.65}
.faqkb-card__toggle{width:2.55rem;height:2.55rem;border-radius:999px}
.faqkb-card__body{display:grid;grid-template-rows:0fr;opacity:0;padding:0 1.15rem;transition:grid-template-rows .28s ease,opacity .28s ease,padding .28s ease}
.faqkb-card[open] .faqkb-card__body{grid-template-rows:1fr;opacity:1;padding:0 1.15rem 1.15rem}
.faqkb-card__body-inner{overflow:hidden}
.faqkb-card__body p{line-height:1.82}
.faqkb-sidebar__sticky{gap:1.1rem}
.faqkb-sidebar-card{padding:1.25rem}
.faqkb-tag{padding:.66rem .98rem;border-radius:999px;background:rgba(60,140,114,.08);transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.faqkb-tag:hover,.faqkb-tag:focus,.faqkb-tag.is-active,.faqkb-tag[aria-pressed="true"]{transform:translateY(-1px);background:rgba(60,140,114,.14);box-shadow:0 10px 18px rgba(44,60,51,.08)}
.faqkb-contact{padding:1.4rem 1.5rem;background:linear-gradient(180deg, rgba(236,246,240,.98), rgba(255,255,255,.98))}
.faqkb-contact > div{display:grid;gap:.7rem}
.faqkb-contact__icon{width:3.4rem;height:3.4rem;border-radius:20px;display:grid;place-items:center;background:rgba(60,140,114,.12);color:#2b6755;font-size:1.2rem}
.faqkb-contact__actions .btn,.faqkb-sidebar-actions .btn,.faqkb-faq__actions .btn{min-height:46px;padding-inline:1rem}
.faqkb-usp-grid{gap:1rem}
.faqkb-usp-card{min-height:100%;padding:1.2rem 1.15rem;border-radius:26px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.faqkb-usp-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(44,60,51,.1);background:linear-gradient(180deg, rgba(236,246,240,.98), rgba(255,255,255,.98))}
.faqkb-usp-card__icon{width:3.35rem;height:3.35rem;border-radius:20px;font-size:1.2rem}
.faqkb-usp-card strong{font-size:1.04rem;line-height:1.35}
.faqkb-usp-card p{font-size:.97rem}
.faqkb-contact + .faqkb-usp-grid{margin-top:.1rem;padding-top:.1rem}
.faqkb-backtotop{border-radius:999px}
@media (max-width: 992px){.faqkb-hero__visual::before{display:none}.faqkb-hero h1{max-width:11ch}.faqkb-hero__stats{grid-template-columns:repeat(3,minmax(0,1fr))}.faqkb-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.faqkb-popular-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faqkb-usp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 768px){.faqkb-category-grid,.faqkb-visual-grid,.faqkb-popular-grid,.faqkb-usp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faqkb-popular-card,.faqkb-category-card{min-height:unset}.faqkb-popular-card strong{max-width:none}}
@media (max-width: 576px){.faqkb-page{padding-left:.85rem;padding-right:.85rem}.faqkb-hero{padding:1.1rem}.faqkb-hero__stats,.faqkb-category-grid,.faqkb-visual-grid,.faqkb-popular-grid,.faqkb-usp-grid{grid-template-columns:1fr}.faqkb-searchbox__field{min-height:56px;border-radius:24px}.faqkb-category-card,.faqkb-popular-card,.faqkb-card,.faqkb-usp-card,.faqkb-sidebar-card,.faqkb-contact{border-radius:24px}.faqkb-card__summary{padding:1rem}.faqkb-card[open] .faqkb-card__body{padding:0 1rem 1rem}.faqkb-contact__actions,.faqkb-sidebar-actions,.faqkb-faq__actions{width:100%}.faqkb-contact__actions .btn,.faqkb-sidebar-actions .btn,.faqkb-faq__actions .btn{width:100%}.faqkb-backtotop{left:12px;bottom:12px}}

.faqkb-page{padding:clamp(1.5rem,3vw,3rem) 1.15rem 6.75rem;position:relative;isolation:isolate}
.faqkb-page::before{width:440px;height:440px;top:-120px;right:-220px;filter:blur(5px);opacity:.75;background:radial-gradient(circle, rgba(60,140,114,.14) 0, rgba(60,140,114,0) 72%)}
.faqkb-page::after{width:560px;height:560px;left:-220px;top:180px;opacity:.55;background:radial-gradient(circle, rgba(221,196,154,.22) 0, rgba(221,196,154,0) 70%)}
.faqkb-surface{border-radius:30px}
.faqkb-hero{grid-template-columns:minmax(0,1.36fr) minmax(380px,.64fr);gap:clamp(1rem,2vw,1.5rem);padding:clamp(1.65rem,3vw,2.35rem);border:1px solid rgba(60,140,114,.1);background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(250,246,239,.98));box-shadow:0 28px 70px rgba(44,60,51,.1);overflow:hidden}
.faqkb-hero::before{content:"";position:absolute;inset:-1px;pointer-events:none;background:radial-gradient(circle at 18% 18%, rgba(60,140,114,.08), transparent 28%),radial-gradient(circle at 78% 16%, rgba(221,196,154,.14), transparent 22%),linear-gradient(180deg, rgba(255,255,255,.14), transparent 40%);opacity:.8}
.faqkb-hero__copy{position:relative;z-index:1;gap:1.35rem;padding:.15rem 0}
.faqkb-hero h1{font-size:clamp(3.2rem,6.6vw,6.5rem);line-height:.96;max-width:8.5ch;letter-spacing:-.04em}
.faqkb-hero__lead{font-size:1.1rem;line-height:1.85;max-width:56ch;margin-top:.2rem}
.faqkb-hero__hint{margin:0;max-width:56ch;color:#5d5247;font-size:1rem;line-height:1.75}
.faqkb-searchbox--hero .faqkb-searchbox__field{min-height:66px;padding:.95rem 1.1rem;border-radius:30px;box-shadow:0 18px 34px rgba(44,60,51,.08)}
.faqkb-searchbox__input{font-size:1.02rem}
.faqkb-searchbox__field i{font-size:1.08rem;color:#2b6755}
.faqkb-searchbox__clear{min-width:88px;height:44px;border-radius:999px}
.faqkb-hero__stats{gap:1rem;margin-top:.15rem}
.faqkb-stat{min-height:118px;padding:1.1rem 1.05rem;border-radius:24px;background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(245,241,234,.98));border:1px solid rgba(60,140,114,.12);box-shadow:0 14px 30px rgba(44,60,51,.07)}
.faqkb-stat__icon{width:54px;height:54px;border-radius:18px;font-size:1.15rem}
.faqkb-stat strong{font-size:clamp(1.8rem,2.4vw,2.15rem);line-height:1}
.faqkb-stat span{font-size:.9rem;line-height:1.35}
.faqkb-hero__visual{position:relative;z-index:1}
.faqkb-hero__visual--collage{display:grid;gap:.85rem;padding:1.05rem;border-radius:32px;background:linear-gradient(180deg, rgba(246,242,234,.95), rgba(255,255,255,.99));border:1px solid rgba(60,140,114,.12);box-shadow:0 22px 44px rgba(44,60,51,.08);overflow:hidden}
.faqkb-hero__visual--collage::before{content:"";position:absolute;inset:auto 1rem 1rem 1rem;height:1px;background:linear-gradient(90deg, transparent, rgba(60,140,114,.18), transparent)}
.faqkb-visual-card{border-radius:28px;box-shadow:0 14px 28px rgba(44,60,51,.08);overflow:hidden}
.faqkb-hero--premium .faqkb-visual-card--main{aspect-ratio:1/1.06}
.faqkb-hero--premium .faqkb-visual-grid{gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.faqkb-visual-grid .faqkb-visual-card{aspect-ratio:1/1.02}
.faqkb-visual-card img{filter:saturate(1.04) contrast(1.02)}
.faqkb-visual-card__caption,.faqkb-visual-card figcaption{left:14px;right:14px;bottom:14px;border-radius:18px;padding:.95rem 1rem;background:rgba(22,41,33,.48);backdrop-filter:blur(10px)}
.faqkb-visual-card__caption span,.faqkb-visual-card figcaption span{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}
.faqkb-visual-card__caption strong,.faqkb-visual-card figcaption strong{font-size:.97rem;line-height:1.45}
.faqkb-section--premium{padding:clamp(1.45rem,2.4vw,2rem);border:1px solid rgba(60,140,114,.08);background:linear-gradient(180deg, rgba(250,246,239,.98), rgba(255,255,255,.98));box-shadow:0 20px 50px rgba(55,45,31,.05)}
.faqkb-section--premium .faqkb-section__head,.faqkb-section--spotlight .faqkb-section__head{padding:0 .1rem}
.faqkb-section__head h2,.faqkb-faq h2,.faqkb-sidebar-card h2,.faqkb-contact h2{font-size:clamp(1.55rem,2.6vw,2.35rem);line-height:1.08;letter-spacing:-.03em}
.faqkb-section__lead{margin:.35rem 0 0;max-width:56ch;color:#5d5247;font-size:1rem;line-height:1.7}
.faqkb-section__head span,.faqkb-section__head p:last-child{color:#5e5448;line-height:1.6}
.faqkb-section--spotlight{position:relative;padding:clamp(1.5rem,2.5vw,2rem);border:1px solid rgba(60,140,114,.09);background:linear-gradient(180deg, rgba(238,246,240,.98), rgba(250,247,240,.99));box-shadow:0 22px 54px rgba(55,45,31,.07)}
.faqkb-section--spotlight::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 18% 8%, rgba(60,140,114,.08), transparent 24%),radial-gradient(circle at 88% 10%, rgba(221,196,154,.12), transparent 18%)}
.faqkb-section--spotlight > *{position:relative;z-index:1}
.faqkb-category-grid{gap:1rem}
.faqkb-category-card{min-height:184px;padding:1.2rem;border:1px solid rgba(60,140,114,.1);background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(244,240,232,.98));box-shadow:0 14px 30px rgba(44,60,51,.07)}
.faqkb-category-card::before{content:"";position:absolute;inset:auto 1rem 1rem auto;width:3rem;height:3rem;border-radius:999px;background:radial-gradient(circle, rgba(60,140,114,.16), rgba(60,140,114,0) 68%)}
.faqkb-category-card:hover,.faqkb-category-card:focus{transform:translateY(-5px);box-shadow:0 22px 42px rgba(44,60,51,.1)}
.faqkb-category-card__icon{width:3.8rem;height:3.8rem;border-radius:22px;font-size:1.45rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 8px 18px rgba(44,60,51,.06)}
.faqkb-category-card strong{font-size:1.08rem;line-height:1.35}
.faqkb-category-card span{font-size:.9rem}
.faqkb-category-card__arrow{width:2.25rem;height:2.25rem}
.faqkb-popular-grid{gap:1rem}
.faqkb-popular-card{min-height:184px;padding:1.2rem;border:1px solid rgba(60,140,114,.1);background:linear-gradient(180deg, rgba(235,245,238,.98), rgba(255,255,255,.98));box-shadow:0 14px 30px rgba(44,60,51,.07)}
.faqkb-popular-card__badge{padding:.38rem .72rem;font-size:.74rem;background:rgba(60,140,114,.1)}
.faqkb-popular-card__icon{width:3.45rem;height:3.45rem;border-radius:22px}
.faqkb-popular-card strong{font-size:1.08rem;line-height:1.55;max-width:22ch}
.faqkb-popular-card span:last-child{font-size:.9rem}
.faqkb-popular-card__arrow{width:2.25rem;height:2.25rem}
.faqkb-shell{grid-template-columns:minmax(0,1.28fr) minmax(320px,.72fr);gap:1.2rem;align-items:start}
.faqkb-faq{padding:clamp(1.45rem,2.2vw,1.85rem)}
.faqkb-faq__top{gap:1.35rem;padding-bottom:.5rem}
.faqkb-faq__meta{gap:1rem}
.faqkb-results{font-size:1rem}
.faqkb-chipbar{gap:.7rem}
.faqkb-chip{padding:.72rem 1.02rem;border:1px solid rgba(60,140,114,.11);background:rgba(255,255,255,.8);box-shadow:0 10px 18px rgba(44,60,51,.05)}
.faqkb-chip.is-active{background:linear-gradient(135deg,#214338,#3f8f72);color:#fff;border-color:#214338;box-shadow:0 14px 24px rgba(33,67,56,.16)}
.faqkb-card{border-radius:26px;border:1px solid rgba(60,140,114,.1);background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,245,238,.98));box-shadow:0 12px 28px rgba(44,60,51,.06)}
.faqkb-card:hover{transform:translateY(-2px);box-shadow:0 18px 32px rgba(44,60,51,.09)}
.faqkb-card[open]{background:linear-gradient(180deg, rgba(233,245,238,.98), rgba(255,255,255,.98));border-color:rgba(60,140,114,.2);box-shadow:0 20px 40px rgba(44,60,51,.11)}
.faqkb-card__summary{min-height:82px;padding:1.2rem 1.2rem 1.1rem;gap:1rem}
.faqkb-card__text{gap:.45rem}
.faqkb-card__meta{font-size:.78rem;letter-spacing:.07em}
.faqkb-card__question{font-size:1.14rem;line-height:1.68}
.faqkb-card__toggle{width:2.8rem;height:2.8rem;background:linear-gradient(180deg, rgba(60,140,114,.12), rgba(60,140,114,.08))}
.faqkb-card__toggle::before,.faqkb-card__toggle::after{width:14px;height:2px}
.faqkb-card__body{padding:0 1.2rem 1.2rem}
.faqkb-card[open] .faqkb-card__body{padding:0 1.2rem 1.2rem}
.faqkb-card__body-inner{padding:.05rem 0 0}
.faqkb-card__body p{font-size:1rem;line-height:1.85}
.faqkb-sidebar__sticky{gap:1.15rem;top:1.35rem}
.faqkb-sidebar-card{padding:1.35rem;border:1px solid rgba(60,140,114,.08);background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,243,236,.98));box-shadow:0 14px 30px rgba(44,60,51,.06)}
.faqkb-sidebar-card p{line-height:1.8}
.faqkb-tag-grid{gap:.6rem}
.faqkb-tag{padding:.68rem 1rem;border:1px solid rgba(60,140,114,.12);background:rgba(60,140,114,.07);box-shadow:0 10px 18px rgba(44,60,51,.05)}
.faqkb-tag:hover,.faqkb-tag:focus,.faqkb-tag.is-active,.faqkb-tag[aria-pressed="true"]{transform:translateY(-2px);background:rgba(60,140,114,.16);box-shadow:0 14px 22px rgba(44,60,51,.08)}
.faqkb-checklist{gap:.7rem;font-size:.97rem}
.faqkb-contact{padding:1.55rem 1.65rem;border:1px solid rgba(60,140,114,.12);background:linear-gradient(135deg, rgba(232,243,235,.98), rgba(252,248,242,.98));box-shadow:0 22px 46px rgba(44,60,51,.08)}
.faqkb-contact > div{gap:.75rem}
.faqkb-contact__icon{width:3.8rem;height:3.8rem;border-radius:22px;font-size:1.35rem;background:linear-gradient(135deg, rgba(60,140,114,.16), rgba(60,140,114,.08))}
.faqkb-contact__actions{align-items:center}
.faqkb-contact__actions .btn,.faqkb-sidebar-actions .btn,.faqkb-faq__actions .btn{min-height:48px;padding-inline:1.05rem;border-radius:14px}
.faqkb-contact .btn.btn-success{background:linear-gradient(135deg,#214338,#3f8f72);border-color:#214338;box-shadow:0 14px 24px rgba(33,67,56,.16)}
.faqkb-contact .btn.btn-outline-secondary{border-color:rgba(60,140,114,.22);background:#fff}
.faqkb-usp-grid{gap:1rem;margin-top:.2rem}
.faqkb-usp-card{padding:1.35rem 1.2rem;border:1px solid rgba(60,140,114,.08);background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,243,236,.98));box-shadow:0 14px 30px rgba(44,60,51,.06)}
.faqkb-usp-card__icon{width:3.6rem;height:3.6rem;border-radius:22px;font-size:1.25rem}
.faqkb-usp-card strong{font-size:1.05rem;line-height:1.4}
.faqkb-usp-card p{font-size:.98rem;line-height:1.75}
.faqkb-page + .footer{margin-top:3rem;padding-top:1.25rem;position:relative}
.faqkb-page + .footer::before{content:"";position:absolute;left:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem);top:0;height:1px;background:linear-gradient(90deg, transparent, rgba(60,140,114,.22), transparent)}
@media (max-width: 1280px){.faqkb-hero{grid-template-columns:minmax(0,1.28fr) minmax(320px,.72fr)}.faqkb-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.faqkb-popular-grid,.faqkb-usp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faqkb-shell{grid-template-columns:1fr}}
@media (max-width: 992px){.faqkb-page{padding-bottom:5.5rem}.faqkb-hero,.faqkb-shell{grid-template-columns:1fr}.faqkb-hero__visual::before{display:none}.faqkb-visual-card--main{aspect-ratio:1/0.78}.faqkb-hero__stats{grid-template-columns:repeat(3,minmax(0,1fr))}.faqkb-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.faqkb-popular-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faqkb-usp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faqkb-sidebar__sticky{position:static}.faqkb-contact{grid-template-columns:1fr;align-items:start}.faqkb-contact__actions{justify-content:flex-start}.faqkb-faq__top,.faqkb-section__head{flex-direction:column;align-items:flex-start}}
@media (max-width: 768px){.faqkb-hero{padding:1.15rem}.faqkb-hero__visual--collage{padding:.95rem}.faqkb-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faqkb-popular-grid,.faqkb-usp-grid{grid-template-columns:1fr}.faqkb-visual-grid{grid-template-columns:1fr 1fr}.faqkb-popular-card,.faqkb-category-card,.faqkb-card,.faqkb-usp-card,.faqkb-sidebar-card,.faqkb-contact{min-height:unset}}
@media (max-width: 576px){.faqkb-page{padding-left:.85rem;padding-right:.85rem;padding-top:1rem}.faqkb-hero,.faqkb-section--premium,.faqkb-section--spotlight,.faqkb-faq,.faqkb-contact{padding:1rem}.faqkb-hero__stats,.faqkb-category-grid,.faqkb-visual-grid,.faqkb-popular-grid,.faqkb-usp-grid{grid-template-columns:1fr}.faqkb-hero h1{max-width:none;font-size:clamp(2.35rem,12vw,3.2rem)}.faqkb-searchbox__field{min-height:58px;border-radius:24px;flex-wrap:wrap}.faqkb-searchbox__clear{width:100%}.faqkb-stat{min-height:unset}.faqkb-card__summary{min-height:unset;padding:1.02rem}.faqkb-card__body,.faqkb-card[open] .faqkb-card__body{padding:0 1rem 1rem}.faqkb-contact__actions,.faqkb-sidebar-actions,.faqkb-faq__actions{width:100%}.faqkb-contact__actions .btn,.faqkb-sidebar-actions .btn,.faqkb-faq__actions .btn{width:100%}.faqkb-backtotop{left:12px;bottom:12px}}

.faqkb-page--editorial{padding:clamp(1.5rem,3vw,3rem) 1.15rem 6rem;position:relative;isolation:isolate;background:radial-gradient(circle at 5% 0%, rgba(60,140,114,.12), transparent 24%),radial-gradient(circle at 95% 10%, rgba(221,196,154,.14), transparent 18%),linear-gradient(180deg,#f8f3eb 0%,#fbfaf6 52%,#f6f1e8 100%)}
.faqkb-page--editorial::before,.faqkb-page--editorial::after{content:"";position:absolute;pointer-events:none;border-radius:999px;filter:blur(10px)}
.faqkb-page--editorial::before{width:380px;height:380px;right:-120px;top:70px;background:radial-gradient(circle, rgba(60,140,114,.16) 0, rgba(60,140,114,0) 72%)}
.faqkb-page--editorial::after{width:520px;height:520px;left:-180px;top:520px;background:radial-gradient(circle, rgba(221,196,154,.16) 0, rgba(221,196,154,0) 70%)}
.faqkb-page--editorial .faqkb-surface{border-radius:34px;border:1px solid rgba(60,140,114,.08);box-shadow:0 26px 60px rgba(41,57,48,.08)}
.faqkb-page--editorial .faqkb-kicker{font-size:.74rem;letter-spacing:.18em}
.faqkb-page--editorial .faqkb-section__head,.faqkb-page--editorial .faqkb-faq__top{gap:1.1rem}
.faqkb-page--editorial .faqkb-section__head h2,.faqkb-page--editorial .faqkb-faq h2,.faqkb-page--editorial .faqkb-contact h2,.faqkb-page--editorial .faqkb-story h2{font-size:clamp(1.9rem,3.4vw,3.1rem);line-height:.98;letter-spacing:-.05em}
.faqkb-page--editorial .faqkb-section__lead,.faqkb-page--editorial .faqkb-hero__lead,.faqkb-page--editorial .faqkb-story__lead,.faqkb-page--editorial .faqkb-library-card p,.faqkb-page--editorial .faqkb-contact p{font-size:1.04rem;line-height:1.85}
.faqkb-hero--editorial{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:clamp(1.5rem,3vw,2.5rem);align-items:center;padding:clamp(1.8rem,3.6vw,3rem);overflow:hidden;background:linear-gradient(145deg, rgba(255,255,255,.98), rgba(248,243,235,.98));position:relative}
.faqkb-hero--editorial::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 20%, rgba(60,140,114,.08), transparent 22%),radial-gradient(circle at 88% 12%, rgba(221,196,154,.14), transparent 20%);pointer-events:none}
.faqkb-hero--editorial > *{position:relative;z-index:1}
.faqkb-hero--editorial .faqkb-hero__copy{display:grid;gap:1.2rem;max-width:66ch}
.faqkb-hero--editorial .faqkb-hero__copy h1{font-size:clamp(3rem,6.2vw,6.3rem);line-height:.95;max-width:9ch;letter-spacing:-.05em}
.faqkb-hero--editorial .faqkb-hero__hint{margin-top:-.2rem;color:#5b5246}
.faqkb-hero--editorial .faqkb-searchbox__field{min-height:68px;padding:.95rem 1.1rem;border-radius:28px;background:#fff;box-shadow:0 18px 40px rgba(44,60,51,.08)}
.faqkb-hero--editorial .faqkb-searchbox__clear{min-width:96px;height:46px}
.faqkb-hero--editorial .faqkb-hero__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.faqkb-hero--editorial .faqkb-stat{min-height:120px;border-radius:26px;background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(244,239,231,.98));border:1px solid rgba(60,140,114,.1);box-shadow:0 16px 34px rgba(41,57,48,.08)}
.faqkb-hero--editorial .faqkb-stat strong{font-size:clamp(1.9rem,2.5vw,2.3rem)}
.faqkb-hero--editorial .faqkb-hero__visual{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(210px,.92fr);gap:1rem;align-items:stretch}
.faqkb-hero__feature,.faqkb-hero__thumb{margin:0;position:relative;overflow:hidden;border-radius:30px;background:#e7eee6;box-shadow:0 24px 50px rgba(41,57,48,.1)}
.faqkb-hero__feature{min-height:100%;aspect-ratio:1/1.12}
.faqkb-hero__feature img,.faqkb-hero__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease,filter .45s ease}
.faqkb-hero--editorial:hover .faqkb-hero__feature img,.faqkb-hero--editorial:hover .faqkb-hero__thumb img{transform:scale(1.03)}
.faqkb-hero__feature figcaption,.faqkb-hero__thumb figcaption{position:absolute;left:16px;right:16px;bottom:16px;border-radius:22px;padding:1rem 1.05rem;background:linear-gradient(180deg, rgba(19,38,31,.28), rgba(19,38,31,.62));backdrop-filter:blur(12px);color:#fff;display:grid;gap:.3rem}
.faqkb-hero__feature figcaption p,.faqkb-hero__thumb figcaption span{margin:0;color:rgba(255,255,255,.88);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.faqkb-hero__feature figcaption strong,.faqkb-hero__thumb figcaption strong{font-size:1.02rem;line-height:1.45}
.faqkb-hero__stack{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:1rem}
.faqkb-hero__thumb{min-height:0;aspect-ratio:1/1}
.faqkb-story{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:1.4rem;padding:clamp(1.5rem,3vw,2.4rem);margin-top:1rem;background:linear-gradient(180deg, rgba(250,246,239,.96), rgba(255,255,255,.98))}
.faqkb-story__media{position:relative;overflow:hidden;border-radius:30px;min-height:460px;box-shadow:0 24px 52px rgba(41,57,48,.1)}
.faqkb-story__media img{width:100%;height:100%;object-fit:cover;display:block}
.faqkb-story__overlay{position:absolute;left:18px;right:18px;bottom:18px;border-radius:24px;padding:1.15rem 1.2rem;background:rgba(23,43,36,.56);backdrop-filter:blur(12px);color:#fff;display:grid;gap:.3rem}
.faqkb-story__overlay p{margin:0;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.86)}
.faqkb-story__overlay strong{font-size:1.05rem;line-height:1.55}
.faqkb-story__copy{display:grid;align-content:center;gap:1rem;padding:1rem 0}
.faqkb-story__copy .faqkb-kicker{margin:0}
.faqkb-story__lead{margin:0;max-width:58ch}
.faqkb-story__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:.25rem}
.faqkb-story__steps article{min-height:100%;padding:1.1rem 1rem;border-radius:24px;background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,239,231,.98));border:1px solid rgba(60,140,114,.1);box-shadow:0 14px 30px rgba(41,57,48,.07);display:grid;gap:.55rem}
.faqkb-story__steps span{width:max-content;padding:.28rem .5rem;border-radius:999px;background:rgba(60,140,114,.1);color:#2b6755;font-size:.72rem;font-weight:800;letter-spacing:.1em}
.faqkb-story__steps strong{font-size:1.02rem;line-height:1.35;color:#204037}
.faqkb-story__steps p{margin:0;color:#5a5247;line-height:1.7}
.faqkb-topics{display:grid;gap:1.35rem;padding:clamp(1.55rem,3vw,2.4rem);margin-top:1rem;background:linear-gradient(180deg, rgba(241,247,243,.98), rgba(255,255,255,.98))}
.faqkb-topic-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;grid-auto-rows:160px}
.faqkb-topic-card{position:relative;display:grid;align-content:start;justify-items:start;text-align:left;gap:.55rem;padding:1.15rem;border-radius:30px;border:1px solid rgba(60,140,114,.1);background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,239,231,.98));box-shadow:0 16px 32px rgba(41,57,48,.07);transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.faqkb-topic-card:hover,.faqkb-topic-card:focus{transform:translateY(-5px);box-shadow:0 24px 42px rgba(41,57,48,.12);background:linear-gradient(180deg, rgba(255,255,255,1), rgba(240,247,242,.98))}
.faqkb-topic-card--wide{grid-column:span 7;grid-row:span 2;min-height:100%}
.faqkb-topic-card--tall{grid-column:span 5;grid-row:span 2}
.faqkb-topic-grid .faqkb-topic-card:not(.faqkb-topic-card--wide):not(.faqkb-topic-card--tall){grid-column:span 5}
.faqkb-topic-card__icon{width:3.6rem;height:3.6rem;border-radius:22px;display:grid;place-items:center;background:rgba(60,140,114,.12);color:#2b6755;font-size:1.35rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.48)}
.faqkb-topic-card__eyebrow{padding:.28rem .55rem;border-radius:999px;background:rgba(60,140,114,.08);color:#2b6755;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.faqkb-topic-card strong{font-size:1.35rem;line-height:1.08;max-width:10ch;color:#214338}
.faqkb-topic-card__teaser{max-width:30ch;color:#5d5448;line-height:1.7;font-size:1rem}
.faqkb-topic-card__meta{margin-top:auto;color:#2b6755;font-weight:800;letter-spacing:.04em}
.faqkb-topic-card__arrow{position:absolute;right:1rem;bottom:1rem;width:2.45rem;height:2.45rem;border-radius:999px;display:grid;place-items:center;background:rgba(60,140,114,.1);color:#2b6755;transition:transform .2s ease,background .2s ease}
.faqkb-topic-card:hover .faqkb-topic-card__arrow{transform:translateX(3px);background:rgba(60,140,114,.18)}
.faqkb-topic-ribbon{display:flex;flex-wrap:wrap;gap:.65rem;padding:1rem 1.05rem;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid rgba(60,140,114,.08);box-shadow:0 12px 24px rgba(41,57,48,.06)}
.faqkb-topics .faqkb-chip{padding:.7rem 1rem;border-radius:999px}
.faqkb-popular{display:grid;gap:1.35rem;padding:clamp(1.55rem,3vw,2.4rem);margin-top:1rem;background:linear-gradient(180deg, rgba(251,248,242,.98), rgba(255,255,255,.98))}
.faqkb-popular-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);gap:1rem}
.faqkb-popular-feature,.faqkb-popular-mini{position:relative;display:grid;text-align:left;border-radius:30px;border:1px solid rgba(60,140,114,.1);background:linear-gradient(135deg, rgba(235,245,238,.98), rgba(255,255,255,.98));box-shadow:0 16px 32px rgba(41,57,48,.07);transition:transform .25s ease,box-shadow .25s ease}
.faqkb-popular-feature{padding:1.4rem;min-height:290px;align-content:end;gap:.8rem}
.faqkb-popular-feature:hover,.faqkb-popular-mini:hover{transform:translateY(-4px);box-shadow:0 22px 42px rgba(41,57,48,.11)}
.faqkb-popular-feature__badge,.faqkb-popular-mini__badge{width:max-content;padding:.32rem .6rem;border-radius:999px;background:rgba(60,140,114,.1);color:#2b6755;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.35rem}
.faqkb-popular-feature strong{font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1.02;max-width:16ch;color:#214338}
.faqkb-popular-feature__text{max-width:42ch;color:#5d5448;line-height:1.75;font-size:1rem}
.faqkb-popular-feature__arrow,.faqkb-popular-mini__arrow{width:2.35rem;height:2.35rem;border-radius:999px;display:grid;place-items:center;background:rgba(60,140,114,.09);color:#2b6755;transition:transform .2s ease,background .2s ease}
.faqkb-popular-feature:hover .faqkb-popular-feature__arrow,.faqkb-popular-mini:hover .faqkb-popular-mini__arrow{transform:translateX(3px);background:rgba(60,140,114,.17)}
.faqkb-popular-stack{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:1rem}
.faqkb-popular-mini{padding:1.05rem 1.1rem;align-content:center;grid-template-columns:1fr auto;gap:.6rem}
.faqkb-popular-mini strong{font-size:1.05rem;line-height:1.5;color:#214338}
.faqkb-library{display:grid;grid-template-columns:minmax(270px,.82fr) minmax(0,1.18fr);gap:1.25rem;padding:clamp(1.55rem,3vw,2.4rem);margin-top:1rem;background:linear-gradient(180deg, rgba(248,244,237,.98), rgba(255,255,255,.98))}
.faqkb-library__sticky{position:sticky;top:1.2rem;display:grid;gap:1rem}
.faqkb-library-card{padding:1.25rem;border-radius:30px;background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,239,231,.98));border:1px solid rgba(60,140,114,.08);box-shadow:0 16px 32px rgba(41,57,48,.07);display:grid;gap:.85rem}
.faqkb-library-card--accent{background:linear-gradient(135deg, rgba(235,245,238,.98), rgba(252,247,240,.98))}
.faqkb-library-card .faqkb-section__lead{margin-top:0}
.faqkb-library-card h2{margin:0;font-size:clamp(1.5rem,2.5vw,2.2rem);line-height:1.05}
.faqkb-library__content{display:grid;gap:1rem}
.faqkb-faq__top--editorial{padding:0 0 .3rem}
.faqkb-page--editorial .faqkb-results{font-size:1rem}
.faqkb-page--editorial .faqkb-filters{display:grid;gap:1rem}
.faqkb-page--editorial .faqkb-searchbox--compact .faqkb-searchbox__field{min-height:62px;border-radius:26px;background:#fff;box-shadow:0 14px 30px rgba(41,57,48,.06)}
.faqkb-page--editorial .faqkb-accordion-list{display:grid;gap:1rem}
.faqkb-page--editorial .faqkb-card{border-radius:30px;border:1px solid rgba(60,140,114,.1);background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,239,231,.98));box-shadow:0 14px 30px rgba(41,57,48,.06);overflow:hidden}
.faqkb-page--editorial .faqkb-card__summary{min-height:94px;padding:1.25rem 1.3rem;gap:1rem}
.faqkb-page--editorial .faqkb-card__question{font-size:1.18rem;line-height:1.7}
.faqkb-page--editorial .faqkb-card__toggle{width:2.95rem;height:2.95rem;border-radius:999px}
.faqkb-page--editorial .faqkb-card__body{padding:0 1.3rem 1.25rem}
.faqkb-page--editorial .faqkb-card[open]{background:linear-gradient(180deg, rgba(233,245,238,.98), rgba(255,255,255,.98));box-shadow:0 22px 44px rgba(41,57,48,.1)}
.faqkb-page--editorial .faqkb-contact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.5rem 1.6rem;margin-top:1rem;background:linear-gradient(135deg, rgba(232,243,235,.98), rgba(252,248,242,.98))}
.faqkb-contact__copy{display:grid;gap:.65rem}
.faqkb-contact__copy h2{margin:0}
.faqkb-page--editorial .faqkb-contact__icon{width:4rem;height:4rem;border-radius:24px}
.faqkb-page--editorial .faqkb-usp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}
.faqkb-page--editorial .faqkb-usp-card{padding:1.4rem 1.25rem;border-radius:30px;background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,239,231,.98));border:1px solid rgba(60,140,114,.08);box-shadow:0 14px 30px rgba(41,57,48,.06)}
.faqkb-page--editorial .faqkb-usp-card__icon{width:3.8rem;height:3.8rem;border-radius:24px}
.faqkb-page--editorial .faqkb-usp-card strong{font-size:1.08rem}
.faqkb-page--editorial + .footer{margin-top:3.2rem}
@media (max-width: 1280px){.faqkb-hero--editorial{grid-template-columns:1fr}.faqkb-hero--editorial .faqkb-hero__visual,.faqkb-story,.faqkb-popular-layout,.faqkb-library{grid-template-columns:1fr}.faqkb-topic-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.faqkb-topic-card--wide{grid-column:span 8}.faqkb-topic-card--tall{grid-column:span 4}.faqkb-topic-grid .faqkb-topic-card:not(.faqkb-topic-card--wide):not(.faqkb-topic-card--tall){grid-column:span 4}}
@media (max-width: 992px){.faqkb-page--editorial .faqkb-hero__visual{grid-template-columns:1fr}.faqkb-story__steps{grid-template-columns:1fr}.faqkb-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}.faqkb-topic-card--wide,.faqkb-topic-card--tall,.faqkb-topic-grid .faqkb-topic-card:not(.faqkb-topic-card--wide):not(.faqkb-topic-card--tall){grid-column:auto;grid-row:auto}.faqkb-popular-layout,.faqkb-library{grid-template-columns:1fr}.faqkb-library__sticky{position:static}.faqkb-page--editorial .faqkb-contact,.faqkb-page--editorial .faqkb-usp-grid{grid-template-columns:1fr 1fr}}
@media (max-width: 768px){.faqkb-page--editorial .faqkb-hero__stats{grid-template-columns:1fr}.faqkb-hero__stack{grid-template-columns:1fr 1fr;grid-template-rows:auto}.faqkb-hero__feature{aspect-ratio:1/1}.faqkb-story,.faqkb-topics,.faqkb-popular,.faqkb-library,.faqkb-page--editorial .faqkb-contact{padding:1.05rem}.faqkb-topics .faqkb-chip,.faqkb-topic-ribbon .faqkb-chip{padding:.68rem .95rem}.faqkb-page--editorial .faqkb-usp-grid{grid-template-columns:1fr}}
@media (max-width: 576px){.faqkb-page--editorial{padding:1rem .8rem 5rem}.faqkb-hero--editorial,.faqkb-story,.faqkb-topics,.faqkb-popular,.faqkb-library,.faqkb-page--editorial .faqkb-contact{padding:1rem;border-radius:28px}.faqkb-hero__stack{grid-template-columns:1fr}.faqkb-topic-grid{grid-template-columns:1fr}.faqkb-page--editorial .faqkb-card__summary{padding:1rem}.faqkb-page--editorial .faqkb-card__body{padding:0 1rem 1rem}.faqkb-page--editorial .faqkb-contact{grid-template-columns:1fr}.faqkb-page--editorial .faqkb-contact__actions,.faqkb-page--editorial .faqkb-contact__actions .btn{width:100%}}

.faqkb-page--editorial-v2{padding:clamp(1rem,2vw,2rem) 1rem 5rem;position:relative;isolation:isolate;background:radial-gradient(circle at 4% 0%, rgba(60,140,114,.12), transparent 20%),radial-gradient(circle at 96% 8%, rgba(221,196,154,.18), transparent 18%),linear-gradient(180deg,#f7f2e8 0%,#fbfaf5 42%,#f5efe6 100%)}
.faqkb-page--editorial-v2::before{content:"";position:absolute;inset:-120px -160px auto auto;width:420px;height:420px;border-radius:999px;background:radial-gradient(circle, rgba(60,140,114,.14) 0, rgba(60,140,114,0) 70%);filter:blur(8px);pointer-events:none}
.faqkb-page--editorial-v2::after{content:"";position:absolute;inset:520px auto auto -160px;width:520px;height:520px;border-radius:999px;background:radial-gradient(circle, rgba(221,196,154,.16) 0, rgba(221,196,154,0) 70%);filter:blur(8px);pointer-events:none}
.faqkb-page--editorial-v2 .faqkb-surface{border:1px solid rgba(60,140,114,.08);border-radius:34px;box-shadow:0 24px 60px rgba(41,57,48,.08)}
.faqkb-page--editorial-v2 .faqkb-kicker{font-size:.72rem;letter-spacing:.18em}
.faqkb-page--editorial-v2 .faqkb-section__lead,.faqkb-page--editorial-v2 .faqkb-hero__lead,.faqkb-page--editorial-v2 .faqkb-manifesto__copy p,.faqkb-page--editorial-v2 .faqkb-library-card p,.faqkb-page--editorial-v2 .faqkb-contact p{font-size:1.05rem;line-height:1.85;color:#5c5347}
.faqkb-hero--v2{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(1rem,2vw,2rem);align-items:center;padding:clamp(1.5rem,3vw,2.6rem);background:linear-gradient(145deg, rgba(255,255,255,.98), rgba(248,243,236,.98));overflow:hidden}
.faqkb-hero--v2 .faqkb-hero__copy{display:grid;gap:1rem;max-width:68ch}
.faqkb-hero--v2 .faqkb-hero__copy h1{font-size:clamp(3.1rem,6.6vw,6.6rem);line-height:.95;letter-spacing:-.05em;max-width:9ch;color:#214338}
.faqkb-hero--v2 .faqkb-hero__lead{max-width:58ch}
.faqkb-hero--v2 .faqkb-searchbox__field{min-height:70px;padding:.95rem 1.1rem;border-radius:30px;box-shadow:0 18px 42px rgba(41,57,48,.08);background:#fff}
.faqkb-hero--v2 .faqkb-searchbox__clear{min-width:96px;height:46px}
.faqkb-hero__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.faqkb-hero--v2 .faqkb-stat{padding:1.05rem 1rem;border-radius:26px;background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,239,231,.98));border:1px solid rgba(60,140,114,.1);box-shadow:0 14px 32px rgba(41,57,48,.07)}
.faqkb-hero--v2 .faqkb-stat strong{font-size:clamp(1.85rem,2.5vw,2.35rem)}
.faqkb-hero__trust{display:flex;flex-wrap:wrap;gap:.65rem}
.faqkb-hero__trust span{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .8rem;border-radius:999px;background:rgba(60,140,114,.08);color:#235140;font-size:.88rem;font-weight:700}
.faqkb-hero__visual--v2{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(220px,.88fr);gap:1rem}
.faqkb-hero__feature,.faqkb-hero__thumb{margin:0;overflow:hidden;border-radius:32px;background:#e4ece5;position:relative;box-shadow:0 24px 52px rgba(41,57,48,.1)}
.faqkb-hero__feature{min-height:100%;aspect-ratio:1/1.08}
.faqkb-hero__feature img,.faqkb-hero__thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.faqkb-hero--v2:hover .faqkb-hero__feature img,.faqkb-hero--v2:hover .faqkb-hero__thumb img{transform:scale(1.03)}
.faqkb-hero__feature figcaption,.faqkb-hero__thumb figcaption{position:absolute;left:16px;right:16px;bottom:16px;border-radius:22px;padding:1rem 1.05rem;background:linear-gradient(180deg, rgba(20,38,31,.22), rgba(20,38,31,.58));backdrop-filter:blur(12px);color:#fff;display:grid;gap:.35rem}
.faqkb-hero__feature figcaption p,.faqkb-hero__thumb figcaption span{margin:0;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.86)}
.faqkb-hero__feature figcaption strong,.faqkb-hero__thumb figcaption strong{font-size:1.02rem;line-height:1.5}
.faqkb-hero__stack{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:1rem}
.faqkb-ribbon{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;margin-top:1rem;padding:1rem 1.1rem;border-radius:28px;background:linear-gradient(135deg, rgba(255,255,255,.94), rgba(247,243,236,.98));border:1px solid rgba(60,140,114,.08);box-shadow:0 16px 34px rgba(41,57,48,.06)}
.faqkb-ribbon__label{font-size:.74rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#2b6755;white-space:nowrap}
.faqkb-ribbon__items{display:flex;gap:.8rem;overflow:auto;padding-bottom:.15rem}
.faqkb-ribbon__item{min-width:240px;padding:.95rem 1rem;border-radius:22px;border:1px solid rgba(60,140,114,.08);background:#fff;box-shadow:0 10px 22px rgba(41,57,48,.06);text-align:left;display:grid;gap:.3rem;transition:transform .22s ease,box-shadow .22s ease}
.faqkb-ribbon__item:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(41,57,48,.1)}
.faqkb-ribbon__item strong{font-size:1rem;line-height:1.45;color:#214338}
.faqkb-ribbon__item span{font-size:.78rem;color:#5c5347}
.faqkb-journey{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:1.4rem;margin-top:1rem;padding:clamp(1.4rem,2.8vw,2.4rem);background:linear-gradient(180deg, rgba(250,246,239,.98), rgba(255,255,255,.98))}
.faqkb-journey__intro{display:grid;gap:1rem;align-content:start}
.faqkb-journey__intro h2,.faqkb-manifesto h2,.faqkb-library h2,.faqkb-contact h2{margin:0;font-size:clamp(1.95rem,3.3vw,3.2rem);line-height:.98;letter-spacing:-.05em;color:#214338}
.faqkb-journey__principles{display:grid;gap:.9rem}
.faqkb-journey__principles article{padding:1rem 1.05rem;border-radius:24px;background:rgba(255,255,255,.95);border:1px solid rgba(60,140,114,.08);box-shadow:0 12px 24px rgba(41,57,48,.05);display:grid;gap:.35rem}
.faqkb-journey__principles strong{font-size:1rem;color:#214338}
.faqkb-journey__principles p{margin:0;color:#5c5347;line-height:1.7}
.faqkb-journey__routes{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;grid-auto-rows:170px}
.faqkb-route{position:relative;display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:1rem;padding:1rem;border-radius:30px;border:1px solid rgba(60,140,114,.08);background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,239,231,.98));box-shadow:0 14px 32px rgba(41,57,48,.06);text-align:left;transition:transform .24s ease,box-shadow .24s ease,background .24s ease}
.faqkb-route:hover{transform:translateY(-4px);box-shadow:0 22px 42px rgba(41,57,48,.1);background:linear-gradient(180deg, rgba(255,255,255,1), rgba(240,247,242,.98))}
.faqkb-route--featured{grid-column:span 7;grid-row:span 2;grid-template-columns:minmax(0,1fr) 190px auto;padding:1.15rem}
.faqkb-route--medium{grid-column:span 5;grid-row:span 1}
.faqkb-route--stack{grid-column:span 5;grid-row:span 1}
.faqkb-route--compact{grid-column:span 6;grid-row:span 1}
.faqkb-route__image{width:120px;height:120px;border-radius:24px;overflow:hidden;background:#e5ece5;display:block}
.faqkb-route__image img{width:100%;height:100%;object-fit:cover;display:block}
.faqkb-route--featured .faqkb-route__image{width:190px;height:100%;min-height:220px;justify-self:end;border-radius:26px}
.faqkb-route__content{display:grid;gap:.35rem}
.faqkb-route__eyebrow{width:max-content;padding:.28rem .55rem;border-radius:999px;background:rgba(60,140,114,.08);color:#2b6755;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.faqkb-route strong{font-size:1.26rem;line-height:1.15;max-width:12ch;color:#214338}
.faqkb-route--featured strong{font-size:clamp(1.45rem,2.2vw,2rem);max-width:11ch}
.faqkb-route__text{color:#5c5347;line-height:1.7;font-size:1rem;max-width:34ch}
.faqkb-route__meta{color:#2b6755;font-weight:800;font-size:.88rem}
.faqkb-route__arrow{width:2.4rem;height:2.4rem;border-radius:999px;display:grid;place-items:center;background:rgba(60,140,114,.1);color:#2b6755;transition:transform .2s ease}
.faqkb-route:hover .faqkb-route__arrow{transform:translateX(3px)}
.faqkb-manifesto{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.82fr);gap:1.25rem;margin-top:1rem;padding:clamp(1.4rem,2.8vw,2.4rem);background:linear-gradient(180deg, rgba(241,247,243,.98), rgba(255,255,255,.98))}
.faqkb-manifesto__copy{display:grid;gap:1rem;align-content:start}
.faqkb-manifesto__list{display:grid;gap:.9rem}
.faqkb-manifesto__list div{display:grid;grid-template-columns:auto 1fr;gap:.3rem .8rem;align-items:start;padding:1rem 1.05rem;border-radius:24px;background:rgba(255,255,255,.96);border:1px solid rgba(60,140,114,.08);box-shadow:0 12px 24px rgba(41,57,48,.05)}
.faqkb-manifesto__list i{grid-row:1/span 2;color:#2b6755;font-size:1.1rem}
.faqkb-manifesto__list strong{font-size:1rem;color:#214338}
.faqkb-manifesto__list p{grid-column:2;margin:0;color:#5c5347;line-height:1.7}
.faqkb-manifesto__visual{border-radius:30px;overflow:hidden;min-height:420px;box-shadow:0 24px 52px rgba(41,57,48,.1)}
.faqkb-manifesto__visual img{display:block;width:100%;height:100%;object-fit:cover}
.faqkb-library{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:1.2rem;margin-top:1rem;padding:clamp(1.45rem,2.8vw,2.4rem);background:linear-gradient(180deg, rgba(250,246,239,.98), rgba(255,255,255,.98))}
.faqkb-library__sticky{position:sticky;top:1.2rem;display:grid;gap:1rem}
.faqkb-library-card{padding:1.25rem;border-radius:30px;background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,239,231,.98));border:1px solid rgba(60,140,114,.08);box-shadow:0 14px 32px rgba(41,57,48,.06);display:grid;gap:.8rem}
.faqkb-library-card--accent{background:linear-gradient(135deg, rgba(235,245,238,.98), rgba(252,247,240,.98))}
.faqkb-library-card h2{margin:0;font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.05;color:#214338}
.faqkb-library__content{display:grid;gap:1rem}
.faqkb-page--editorial-v2 .faqkb-faq__top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:0 0 .4rem}
.faqkb-page--editorial-v2 .faqkb-searchbox--compact .faqkb-searchbox__field{min-height:62px;border-radius:26px;background:#fff;box-shadow:0 12px 26px rgba(41,57,48,.06)}
.faqkb-topic-ribbon--sticky{position:sticky;top:1rem;z-index:2}
.faqkb-page--editorial-v2 .faqkb-accordion-list{display:grid;gap:.9rem}
.faqkb-page--editorial-v2 .faqkb-card{border:0;border-top:1px solid rgba(60,140,114,.1);border-bottom:1px solid rgba(60,140,114,.1);border-radius:0;background:transparent;box-shadow:none}
.faqkb-page--editorial-v2 .faqkb-card:hover{transform:none;box-shadow:none}
.faqkb-page--editorial-v2 .faqkb-card[open]{background:rgba(235,245,238,.7)}
.faqkb-page--editorial-v2 .faqkb-card__summary{min-height:92px;padding:1.15rem 0;gap:1rem}
.faqkb-page--editorial-v2 .faqkb-card__question{font-size:1.12rem;line-height:1.65}
.faqkb-page--editorial-v2 .faqkb-card__toggle{width:2.85rem;height:2.85rem}
.faqkb-page--editorial-v2 .faqkb-card__body{padding:0 0 1rem}
.faqkb-page--editorial-v2 .faqkb-contact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;margin-top:1rem;padding:1.4rem 1.5rem;background:linear-gradient(135deg, rgba(232,243,235,.98), rgba(252,248,242,.98))}
.faqkb-page--editorial-v2 .faqkb-contact__copy{display:grid;gap:.65rem}
.faqkb-page--editorial-v2 .faqkb-contact__icon{width:4rem;height:4rem;border-radius:24px;display:grid;place-items:center;background:rgba(60,140,114,.12);color:#2b6755;font-size:1.3rem}
.faqkb-page--editorial-v2 .faqkb-contact__actions,.faqkb-page--editorial-v2 .faqkb-sidebar-actions{display:flex;gap:.75rem;flex-wrap:wrap}
.faqkb-page--editorial-v2 .faqkb-contact__actions .btn,.faqkb-page--editorial-v2 .faqkb-sidebar-actions .btn{min-height:48px;padding-inline:1.05rem;border-radius:14px}
.faqkb-page--editorial-v2 .faqkb-usp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}
.faqkb-page--editorial-v2 .faqkb-usp-card{padding:1.25rem 1.15rem;border-radius:28px;background:rgba(255,255,255,.95);border:1px solid rgba(60,140,114,.08);box-shadow:0 14px 30px rgba(41,57,48,.06);display:grid;gap:.7rem}
.faqkb-page--editorial-v2 .faqkb-usp-card__icon{width:3.6rem;height:3.6rem;border-radius:22px;display:grid;place-items:center;background:rgba(60,140,114,.12);color:#2b6755;font-size:1.2rem}
.faqkb-page--editorial-v2 .faqkb-backtotop{border-radius:999px}
.faqkb-page--editorial-v2 + .footer{margin-top:3rem;padding-top:1.2rem;position:relative}
.faqkb-page--editorial-v2 + .footer::before{content:"";position:absolute;left:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem);top:0;height:1px;background:linear-gradient(90deg, transparent, rgba(60,140,114,.2), transparent)}
@media (max-width: 1280px){.faqkb-hero--v2,.faqkb-journey,.faqkb-manifesto,.faqkb-library{grid-template-columns:1fr}.faqkb-hero__visual--v2{grid-template-columns:1fr}.faqkb-journey__routes{grid-template-columns:repeat(8,minmax(0,1fr))}.faqkb-route--featured{grid-column:span 8}.faqkb-route--medium,.faqkb-route--stack,.faqkb-route--compact{grid-column:span 4}}
@media (max-width: 992px){.faqkb-page--editorial-v2 .faqkb-usp-grid{grid-template-columns:1fr 1fr}.faqkb-manifesto__visual{min-height:320px}.faqkb-library__sticky{position:static}.faqkb-route{grid-template-columns:96px 1fr auto}.faqkb-route--featured{grid-template-columns:minmax(0,1fr) 170px auto}.faqkb-route--featured .faqkb-route__image{width:170px;min-height:180px}.faqkb-journey__routes{grid-auto-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.faqkb-route--featured,.faqkb-route--medium,.faqkb-route--stack,.faqkb-route--compact{grid-column:auto;grid-row:auto}}
@media (max-width: 768px){.faqkb-hero--v2,.faqkb-journey,.faqkb-manifesto,.faqkb-library,.faqkb-page--editorial-v2 .faqkb-contact{padding:1rem}.faqkb-hero__stats{grid-template-columns:1fr}.faqkb-hero__trust{gap:.5rem}.faqkb-hero__trust span{width:100%;justify-content:flex-start}.faqkb-hero__visual--v2{grid-template-columns:1fr;gap:.85rem}.faqkb-hero__stack{grid-template-columns:1fr 1fr}.faqkb-journey__routes{grid-template-columns:1fr}.faqkb-route,.faqkb-route--featured{grid-template-columns:90px 1fr auto}.faqkb-manifesto,.faqkb-library,.faqkb-page--editorial-v2 .faqkb-contact{grid-template-columns:1fr}.faqkb-page--editorial-v2 .faqkb-usp-grid{grid-template-columns:1fr}.faqkb-ribbon{grid-template-columns:1fr}.faqkb-ribbon__items{padding-bottom:.35rem}}
@media (max-width: 576px){.faqkb-page--editorial-v2{padding:.85rem .7rem 4.5rem}.faqkb-hero--v2,.faqkb-ribbon,.faqkb-journey,.faqkb-manifesto,.faqkb-library,.faqkb-page--editorial-v2 .faqkb-contact{padding:.95rem;border-radius:28px}.faqkb-hero--v2 .faqkb-hero__copy h1{font-size:clamp(2.4rem,11vw,3.4rem)}.faqkb-hero__stack,.faqkb-journey__routes{grid-template-columns:1fr}.faqkb-route,.faqkb-route--featured{grid-template-columns:1fr;gap:.8rem}.faqkb-route__image,.faqkb-route--featured .faqkb-route__image{width:100%;min-height:160px}.faqkb-route__arrow{justify-self:end}.faqkb-manifesto__list div{grid-template-columns:auto 1fr}.faqkb-page--editorial-v2 .faqkb-card__summary{padding:1rem 0}.faqkb-page--editorial-v2 .faqkb-card__body{padding:0 0 1rem}.faqkb-page--editorial-v2 .faqkb-contact__actions,.faqkb-page--editorial-v2 .faqkb-sidebar-actions,.faqkb-page--editorial-v2 .faqkb-contact__actions .btn,.faqkb-page--editorial-v2 .faqkb-sidebar-actions .btn{width:100%}.faqkb-page--editorial-v2 .faqkb-contact{grid-template-columns:1fr}}

.faqkb-page--helpcenter-v3{position:relative;max-width:1480px;margin:0 auto;padding:clamp(1rem,2.2vw,2rem) 1rem 5rem;display:grid;gap:1.2rem;background:radial-gradient(circle at 8% 0%, rgba(60,140,114,.12), transparent 23%),radial-gradient(circle at 96% 8%, rgba(221,196,154,.34), transparent 20%),linear-gradient(180deg,#fcfaf5 0%,#f4eee4 100%);overflow:clip}
.faqkb-page--helpcenter-v3::before,.faqkb-page--helpcenter-v3::after{content:"";position:absolute;border-radius:999px;pointer-events:none;filter:blur(2px);opacity:.55}
.faqkb-page--helpcenter-v3::before{width:260px;height:260px;top:20px;right:-110px;background:radial-gradient(circle, rgba(60,140,114,.14), transparent 66%)}
.faqkb-page--helpcenter-v3::after{width:340px;height:340px;left:-150px;top:260px;background:radial-gradient(circle, rgba(213,176,115,.14), transparent 66%)}
.faqkb-page--helpcenter-v3 .faqkb-surface{position:relative;z-index:1;background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(251,247,240,.98));border:1px solid rgba(56,92,78,.12);border-radius:36px;box-shadow:0 24px 60px rgba(71,54,36,.08)}
.faqkb-page--helpcenter-v3 .faqkb-kicker{font-size:.76rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#3f8f72}
.faqkb-page--helpcenter-v3 .faqkb-section__lead{margin:0;color:#5b5247;line-height:1.78;font-size:1.02rem;max-width:66ch}
.faqkb-hero--v3{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:1rem;align-items:center;padding:clamp(1.15rem,1.9vw,1.55rem)}
.faqkb-hero--v3 .faqkb-hero__copy{display:grid;gap:.82rem;align-content:start;max-width:760px}
.faqkb-hero--v3 h1{margin:0;color:#204338;font-size:clamp(2.2rem,4.4vw,4.15rem);line-height:.96;letter-spacing:-.05em;max-width:12ch}
.faqkb-hero__lead,.faqkb-hero__hint{margin:0;color:#4b4238;line-height:1.82;font-size:1.05rem;max-width:66ch}
.faqkb-searchbox--hero{margin-top:.05rem}
.faqkb-hero__actions{display:flex;flex-wrap:wrap;gap:.75rem}
.faqkb-hero__actions .btn{min-height:56px;padding-inline:1.25rem;border-radius:16px;box-shadow:0 12px 24px rgba(44,60,51,.08)}
.faqkb-hero__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.faqkb-stat{padding:1rem 1.05rem;border-radius:24px;background:linear-gradient(180deg, rgba(60,140,114,.08), rgba(255,255,255,.82));border:1px solid rgba(60,140,114,.12);box-shadow:0 14px 30px rgba(44,60,51,.06)}
.faqkb-stat strong{display:block;color:#204338;font-size:1.55rem;line-height:1.05}
.faqkb-stat span{display:block;margin-top:.28rem;color:#5b5247;line-height:1.35}
.faqkb-hero__trust{display:flex;flex-wrap:wrap;gap:.5rem .85rem}
.faqkb-hero__trust span{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem .9rem;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(60,140,114,.12);color:#245240;font-weight:700;box-shadow:0 10px 20px rgba(44,60,51,.05)}
.faqkb-hero__trust i{color:#3f8f72}
.faqkb-hero__visual--v3{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:1rem;align-items:stretch}
.faqkb-hero__feature,.faqkb-hero__thumb,.faqkb-intro__media,.faqkb-path__step img,.faqkb-story-banner__media{position:relative;overflow:hidden;border-radius:30px;background:#eef3ee;border:1px solid rgba(60,140,114,.12);box-shadow:0 18px 38px rgba(44,60,51,.08)}
.faqkb-hero__feature img,.faqkb-hero__thumb img,.faqkb-intro__media img,.faqkb-path__step img,.faqkb-story-banner__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .42s ease}
.faqkb-hero--v3:hover .faqkb-hero__feature img,.faqkb-hero--v3:hover .faqkb-hero__thumb img,.faqkb-intro:hover .faqkb-intro__media img,.faqkb-stories:hover .faqkb-story-banner__media img{transform:scale(1.03)}
.faqkb-hero__feature{min-height:100%;aspect-ratio:1/1.08}
.faqkb-hero__feature figcaption,.faqkb-hero__thumb figcaption,.faqkb-intro__note{position:absolute;left:16px;right:16px;bottom:16px;border-radius:22px;padding:1rem 1.05rem;background:linear-gradient(180deg, rgba(20,38,31,.18), rgba(20,38,31,.62));backdrop-filter:blur(12px);color:#fff;display:grid;gap:.35rem}
.faqkb-hero__feature figcaption p,.faqkb-hero__thumb figcaption span,.faqkb-intro__note p{margin:0;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.86)}
.faqkb-hero__feature figcaption strong,.faqkb-hero__thumb figcaption strong{font-size:1.02rem;line-height:1.5}
.faqkb-hero__stack{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:1rem}
.faqkb-hero__thumb{min-height:0}
.faqkb-hero__thumb img{height:100%}
.faqkb-intro{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);gap:1.2rem;align-items:center;padding:clamp(1.3rem,2.1vw,1.8rem);background:linear-gradient(135deg, rgba(241,247,243,.98), rgba(252,248,242,.98))}
.faqkb-intro__media{min-height:480px}
.faqkb-intro__note{gap:.45rem}
.faqkb-intro__note i{font-size:1.15rem;color:#fff}
.faqkb-intro__copy{display:grid;gap:1rem;align-content:start}
.faqkb-intro__copy h2,.faqkb-path__head h2,.faqkb-stories__head h2,.faqkb-contact__copy h2{margin:0;color:#204338;font-size:clamp(1.9rem,3.5vw,3.2rem);line-height:.98;letter-spacing:-.05em}
.faqkb-intro__list{display:grid;gap:.8rem}
.faqkb-intro__point{display:grid;grid-template-columns:auto 1fr;gap:.25rem .75rem;align-items:start;padding:1rem 1.05rem;border-radius:24px;background:rgba(255,255,255,.92);border:1px solid rgba(60,140,114,.08);box-shadow:0 12px 24px rgba(41,57,48,.05)}
.faqkb-intro__point i{grid-row:1/span 2;color:#2b6755;font-size:1.1rem}
.faqkb-intro__point p{grid-column:2;margin:0;color:#5c5347;line-height:1.7}
.faqkb-intro__actions{display:flex;flex-wrap:wrap;gap:.75rem}
.faqkb-intro__actions .btn{min-height:50px;padding-inline:1.1rem;border-radius:14px}
.faqkb-path{display:grid;gap:1rem;padding:clamp(1.3rem,2.1vw,1.8rem);background:linear-gradient(180deg, rgba(250,246,239,.98), rgba(255,255,255,.98))}
.faqkb-path__head{display:grid;gap:.35rem;max-width:70ch}
.faqkb-path__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:stretch}
.faqkb-path__step{position:relative;display:grid;gap:.7rem;padding:1.1rem 1.1rem 0;border-radius:30px;border:1px solid rgba(60,140,114,.1);background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,239,231,.98));box-shadow:0 14px 30px rgba(41,57,48,.06);overflow:hidden}
.faqkb-path__step-icon{width:3.4rem;height:3.4rem;border-radius:22px;display:grid;place-items:center;background:rgba(60,140,114,.12);color:#2b6755;font-size:1.25rem}
.faqkb-path__step-eyebrow{font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#3f8f72}
.faqkb-path__step strong{font-size:1.18rem;line-height:1.3;color:#214338}
.faqkb-path__step p{margin:0;color:#5c5347;line-height:1.75}
.faqkb-path__step img{height:132px;margin-top:.25rem;border-radius:24px;border:0;box-shadow:none}
.faqkb-stories{display:grid;gap:1rem;padding:clamp(1.3rem,2.1vw,1.8rem);background:linear-gradient(180deg, rgba(244,238,229,.98), rgba(255,255,255,.98))}
.faqkb-stories__head{display:grid;gap:.35rem;max-width:72ch}
.faqkb-stories__list{display:grid;gap:1rem}
.faqkb-story-banner{display:grid;grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr) auto;gap:1rem;align-items:center;text-align:left;padding:1rem;border-radius:34px;border:1px solid rgba(60,140,114,.1);background:linear-gradient(135deg, rgba(255,255,255,.98), rgba(246,241,233,.98));box-shadow:0 16px 36px rgba(41,57,48,.07);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.faqkb-story-banner:hover{transform:translateY(-4px);box-shadow:0 24px 44px rgba(41,57,48,.11);border-color:rgba(60,140,114,.2)}
.faqkb-story-banner--reverse{grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr) auto}
.faqkb-story-banner--reverse .faqkb-story-banner__media{order:2}
.faqkb-story-banner--reverse .faqkb-story-banner__copy{order:1}
.faqkb-story-banner--reverse .faqkb-story-banner__arrow{order:3}
.faqkb-story-banner__media{height:230px}
.faqkb-story-banner__media img{height:100%}
.faqkb-story-banner__copy{display:grid;gap:.45rem}
.faqkb-story-banner__eyebrow{font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#3f8f72}
.faqkb-story-banner strong{font-size:1.45rem;line-height:1.15;color:#214338;max-width:16ch}
.faqkb-story-banner__text{color:#5c5347;line-height:1.75;font-size:1rem;max-width:56ch}
.faqkb-story-banner__meta{color:#2b6755;font-weight:800;font-size:.9rem}
.faqkb-story-banner__arrow{width:2.55rem;height:2.55rem;border-radius:999px;display:grid;place-items:center;background:rgba(60,140,114,.1);color:#2b6755;transition:transform .2s ease}
.faqkb-story-banner:hover .faqkb-story-banner__arrow{transform:translateX(3px)}
.faqkb-library{display:grid;grid-template-columns:minmax(290px,.82fr) minmax(0,1.18fr);gap:1.2rem;padding:clamp(1.3rem,2.1vw,1.8rem);background:linear-gradient(180deg, rgba(250,246,239,.98), rgba(255,255,255,.98))}
.faqkb-library__sticky{position:sticky;top:1rem;display:grid;gap:1rem}
.faqkb-page--helpcenter-v3 .faqkb-library-card{padding:1.2rem;border-radius:30px;background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,239,231,.98));border:1px solid rgba(60,140,114,.08);box-shadow:0 14px 32px rgba(41,57,48,.06);display:grid;gap:.8rem}
.faqkb-page--helpcenter-v3 .faqkb-library-card--accent{background:linear-gradient(135deg, rgba(235,245,238,.98), rgba(252,247,240,.98))}
.faqkb-page--helpcenter-v3 .faqkb-library-card h2{margin:0;font-size:clamp(1.35rem,2.2vw,1.95rem);line-height:1.05;color:#214338}
.faqkb-page--helpcenter-v3 .faqkb-library-card p{margin:0;color:#5c5347;line-height:1.75}
.faqkb-tag-grid{display:flex;flex-wrap:wrap;gap:.55rem}
.faqkb-tag{padding:.58rem .92rem;border-radius:999px;background:rgba(60,140,114,.08);border:1px solid rgba(60,140,114,.14);color:#245240;font-weight:700;transition:transform .18s ease,background .18s ease}
.faqkb-tag:hover,.faqkb-tag:focus{transform:translateY(-1px);background:rgba(60,140,114,.13)}
.faqkb-checklist{margin:0;padding-left:1.1rem;display:grid;gap:.6rem;color:#4b4238;line-height:1.65}
.faqkb-sidebar-actions{display:flex;flex-wrap:wrap;gap:.65rem}
.faqkb-sidebar-actions .btn{min-height:48px;padding-inline:1rem;border-radius:14px}
.faqkb-library__content{display:grid;gap:1rem}
.faqkb-faq__top--editorial{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:0 0 .25rem}
.faqkb-faq__meta{display:grid;gap:.65rem;justify-items:end}
.faqkb-results{margin:0;color:#4b4238;font-weight:700}
.faqkb-results strong{color:#204338}
.faqkb-faq__actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}
.faqkb-filters{display:grid;gap:1rem}
.faqkb-searchbox--compact .faqkb-searchbox__field{min-height:62px;border-radius:26px;background:#fff;box-shadow:0 12px 26px rgba(41,57,48,.06)}
.faqkb-page--helpcenter-v3 .faqkb-topic-ribbon--sticky{position:sticky;top:1rem;z-index:45;display:flex;flex-wrap:wrap;gap:.65rem;padding:1rem 1.05rem 1.1rem;border-radius:30px;background:linear-gradient(180deg, rgba(252,247,239,.99), rgba(245,239,229,.99));border:1px solid rgba(60,140,114,.12);box-shadow:0 18px 36px rgba(41,57,48,.12);backdrop-filter:none;isolation:isolate;margin-bottom:.35rem}
.faqkb-page--helpcenter-v3 .faqkb-topic-ribbon--sticky::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg, rgba(252,247,239,.99), rgba(245,239,229,.99));z-index:-1}
.faqkb-page--helpcenter-v3 .faqkb-topic-ribbon--sticky .faqkb-chip{position:relative;z-index:1}
.faqkb-page--helpcenter-v3 .faqkb-card{scroll-margin-top:calc(1rem + 180px)}
.faqkb-page--helpcenter-v3 .faqkb-chip{padding:.62rem .95rem;border-radius:999px;background:#fff;border:1px solid rgba(60,140,114,.16);color:#214338;font-weight:700;white-space:nowrap;box-shadow:0 10px 22px rgba(44,60,51,.05);transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease}
.faqkb-page--helpcenter-v3 .faqkb-chip:hover,.faqkb-page--helpcenter-v3 .faqkb-chip:focus{transform:translateY(-1px)}
.faqkb-page--helpcenter-v3 .faqkb-chip.is-active{background:linear-gradient(135deg,#214338,#3f8f72);border-color:#214338;color:#fff}
.faqkb-empty{margin:0}
.faqkb-accordion-list{display:grid;gap:.9rem}
.faqkb-page--helpcenter-v3 .faqkb-card{content-visibility:auto;contain-intrinsic-size:1px 124px;border:1px solid rgba(60,140,114,.14);border-radius:28px;background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,246,240,.96));box-shadow:0 14px 30px rgba(44,60,51,.07);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.faqkb-page--helpcenter-v3 .faqkb-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(44,60,51,.1);border-color:rgba(60,140,114,.22)}
.faqkb-page--helpcenter-v3 .faqkb-card[open]{border-color:rgba(60,140,114,.22);background:linear-gradient(180deg, rgba(240,248,244,.98), rgba(255,255,255,.98))}
.faqkb-card[hidden],.faqkb-empty.d-none{display:none!important}
.faqkb-page--helpcenter-v3 .faqkb-card__summary{list-style:none;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.05rem 1.1rem;cursor:pointer;user-select:none;outline:0}
.faqkb-page--helpcenter-v3 .faqkb-card__summary::-webkit-details-marker{display:none}
.faqkb-page--helpcenter-v3 .faqkb-card__summary:focus-visible{box-shadow:inset 0 0 0 2px rgba(60,140,114,.28)}
.faqkb-card__text{display:grid;gap:.45rem;min-width:0}
.faqkb-card__meta{display:inline-flex;align-items:center;gap:.45rem;color:#3f8f72;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.faqkb-card__question{color:#214338;font-size:1.03rem;line-height:1.55;font-weight:800}
.faqkb-card__toggle{position:relative;flex:0 0 auto;width:2.35rem;height:2.35rem;border-radius:999px;background:rgba(60,140,114,.11);border:1px solid rgba(60,140,114,.18);margin-top:.1rem}
.faqkb-card__toggle::before,.faqkb-card__toggle::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;border-radius:999px;background:#2c6a56;transform:translate(-50%,-50%);transition:transform .2s ease,opacity .2s ease}
.faqkb-card__toggle::after{width:2px;height:12px}
.faqkb-card[open] .faqkb-card__toggle::after{opacity:0;transform:translate(-50%,-50%) scaleY(.25)}
.faqkb-card__body{padding:0 1.1rem 1.1rem;color:#4b4238;line-height:1.8}
.faqkb-card__body p{margin:0}
.faqkb-card__body mark,.faqkb-results mark{padding:0 .22em;border-radius:.28em;background:rgba(255,223,120,.55);color:inherit}
.faqkb-pagination{display:grid;justify-items:center;gap:.7rem;padding-top:.2rem}
.faqkb-pagination__hint{margin:0;color:#5d5247;font-size:.96rem;text-align:center}
.faqkb-contact--v3{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.45rem 1.5rem;background:linear-gradient(135deg, rgba(232,243,235,.98), rgba(252,248,242,.98))}
.faqkb-contact__copy{display:grid;gap:.7rem}
.faqkb-contact__icon{width:4rem;height:4rem;border-radius:24px;display:grid;place-items:center;background:rgba(60,140,114,.12);color:#2b6755;font-size:1.35rem}
.faqkb-contact__actions{display:flex;gap:.75rem;flex-wrap:wrap}
.faqkb-contact__actions .btn{min-height:52px;padding-inline:1.15rem;border-radius:16px}
.faqkb-contact__trust{display:flex;flex-wrap:wrap;gap:.55rem .75rem;grid-column:1/-1}
.faqkb-contact__trust span{display:inline-flex;align-items:center;gap:.45rem;padding:.68rem .9rem;border-radius:999px;background:rgba(255,255,255,.84);border:1px solid rgba(60,140,114,.12);color:#245240;font-weight:700;box-shadow:0 10px 20px rgba(44,60,51,.05)}
.faqkb-backtotop{position:fixed;left:16px;bottom:16px;z-index:60;display:inline-flex;align-items:center;gap:.45rem;padding:.8rem 1rem;border-radius:999px;background:linear-gradient(135deg,#214338,#3f8f72);color:#fff;text-decoration:none;box-shadow:0 16px 34px rgba(33,67,56,.22);transition:transform .18s ease,box-shadow .18s ease}
.faqkb-backtotop:hover,.faqkb-backtotop:focus{color:#fff;transform:translateY(-1px)}
.faqkb-page--helpcenter-v3 + .footer{margin-top:3rem;padding-top:1.3rem;position:relative}
.faqkb-page--helpcenter-v3 + .footer::before{content:"";position:absolute;left:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem);top:0;height:1px;background:linear-gradient(90deg, transparent, rgba(60,140,114,.2), transparent)}
html[data-theme="dark"] .faqkb-page--helpcenter-v3{background:radial-gradient(circle at 8% 0%, rgba(60,140,114,.16), transparent 23%),radial-gradient(circle at 96% 8%, rgba(221,196,154,.16), transparent 20%),linear-gradient(180deg,#0e1f1a 0%,#122922 100%)}
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-surface{background:linear-gradient(180deg, rgba(17,36,32,.96), rgba(13,28,25,.96));border-color:rgba(111,211,178,.14);box-shadow:0 22px 50px rgba(0,0,0,.34);color:var(--text-primary)}
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-kicker,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-story-banner__eyebrow,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-path__step-eyebrow,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-card__meta,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-stat span{color:#8be2c6}
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-hero h1,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-intro__copy h2,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-path__head h2,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-stories__head h2,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-contact__copy h2,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-card__question,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-story-banner strong,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-path__step strong,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-library-card h2,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-stat strong{color:var(--text-primary)}
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-hero__lead,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-hero__hint,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-section__lead,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-intro__point p,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-path__step p,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-story-banner__text,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-library-card p,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-card__body,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-pagination__hint,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-contact__copy p,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-checklist{color:var(--text-secondary)}
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-hero__trust span,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-searchbox__field,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-chip,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-library-card,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-path__step,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-story-banner,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-card,
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-contact__trust span{background:rgba(17,36,32,.95);border-color:rgba(111,211,178,.14)}
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-chip.is-active{background:linear-gradient(135deg,#2c6a56,#8be2c6);border-color:#8be2c6;color:#0e1f1a}
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-card[open]{background:linear-gradient(180deg, rgba(12,30,27,.96), rgba(17,36,32,.96))}
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-card__toggle{background:rgba(111,211,178,.12);border-color:rgba(111,211,178,.2)}
html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-card__toggle::before,html[data-theme="dark"] .faqkb-page--helpcenter-v3 .faqkb-card__toggle::after{background:#8be2c6}
@media (max-width: 1280px){.faqkb-hero--v3,.faqkb-intro,.faqkb-library{grid-template-columns:1fr}.faqkb-hero__visual--v3{grid-template-columns:1fr}.faqkb-path__steps{grid-template-columns:repeat(2,minmax(0,1fr))}.faqkb-story-banner,.faqkb-story-banner--reverse{grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr) auto}.faqkb-story-banner--reverse .faqkb-story-banner__media,.faqkb-story-banner--reverse .faqkb-story-banner__copy,.faqkb-story-banner--reverse .faqkb-story-banner__arrow{order:initial}}
@media (max-width: 992px){.faqkb-hero--v3 .faqkb-hero__visual--v3{grid-template-columns:1fr}.faqkb-hero__stack{grid-template-columns:1fr 1fr}.faqkb-intro__media{min-height:360px}.faqkb-library__sticky{position:static}.faqkb-contact--v3{grid-template-columns:1fr}.faqkb-path__steps{grid-template-columns:1fr 1fr}.faqkb-story-banner,.faqkb-story-banner--reverse{grid-template-columns:1fr}.faqkb-story-banner__media{order:0;height:220px}.faqkb-story-banner__copy{order:0}.faqkb-story-banner__arrow{justify-self:end}}
@media (max-width: 768px){.faqkb-hero--v3,.faqkb-intro,.faqkb-path,.faqkb-stories,.faqkb-library,.faqkb-contact--v3{padding:1rem}.faqkb-hero__stats{grid-template-columns:1fr}.faqkb-hero__trust{gap:.5rem}.faqkb-hero__trust span{width:100%;justify-content:flex-start}.faqkb-hero__actions .btn,.faqkb-intro__actions .btn,.faqkb-sidebar-actions .btn,.faqkb-contact__actions .btn{width:100%}.faqkb-path__steps{grid-template-columns:1fr}}
@media (max-width: 576px){.faqkb-page--helpcenter-v3{padding:.85rem .7rem 4.5rem}.faqkb-hero--v3,.faqkb-intro,.faqkb-path,.faqkb-stories,.faqkb-library,.faqkb-contact--v3{border-radius:28px;padding:.95rem}.faqkb-hero--v3 h1{font-size:clamp(2.45rem,11vw,3.5rem)}.faqkb-hero__stack{grid-template-columns:1fr}.faqkb-path__step img,.faqkb-story-banner__media{height:180px}.faqkb-page--helpcenter-v3 .faqkb-card__summary{padding:1rem 0}.faqkb-page--helpcenter-v3 .faqkb-card__body{padding:0 0 1rem}.faqkb-backtotop{left:12px;bottom:12px}}

.appointment-page {
    position: relative;
    padding: 0 0 4.5rem;
    background:
        radial-gradient(circle at top left, rgba(60, 140, 114, 0.12), transparent 24%),
        radial-gradient(circle at 96% 2%, rgba(212, 170, 88, 0.12), transparent 18%),
        linear-gradient(180deg, #f0eae3 0%, #ede5db 46%, #f7f4ef 100%);
}

.appointment-page__shell {
    max-width: 1260px;
    display: grid;
    gap: 1rem;
}

.appointment-page .appointment-hero,
.appointment-page .appointment-card {
    position: relative;
    overflow: hidden;
    border-radius: 32px;
    border: 1px solid rgba(95, 74, 47, 0.08);
    box-shadow: 0 22px 50px rgba(83, 59, 31, 0.08);
}

.appointment-page .appointment-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(290px, 0.88fr);
    gap: 1rem;
    align-items: stretch;
    padding: clamp(1.2rem, 2vw, 1.65rem);
    background: linear-gradient(135deg, rgba(255, 252, 246, 0.98), rgba(240, 234, 227, 0.98));
}

.appointment-page .appointment-hero::before,
.appointment-page .appointment-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.24), transparent 32%),
        radial-gradient(circle at 82% 12%, rgba(60, 140, 114, 0.08), transparent 22%);
}

.appointment-page .appointment-hero__copy,
.appointment-page .appointment-hero__note,
.appointment-page .appointment-card__head,
.appointment-page .appointment-calendar-wrap,
.appointment-page .appointment-summary,
.appointment-page .appointment-form,
.appointment-page .appointment-info-list {
    position: relative;
    z-index: 1;
}

.appointment-page .appointment-hero__copy {
    display: grid;
    align-content: center;
    gap: 0.65rem;
}

.appointment-page .appointment-eyebrow,
.appointment-page .appointment-card__eyebrow {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #2f6b59;
}

.appointment-page .appointment-hero h1,
.appointment-page .appointment-card h2 {
    margin: 0;
    color: #223a33;
    line-height: 1.02;
    letter-spacing: -0.03em;
}

.appointment-page .appointment-hero h1 {
    font-size: clamp(2.2rem, 4vw, 4rem);
    max-width: 11ch;
}

.appointment-page .appointment-lead {
    margin: 0;
    max-width: 62ch;
    font-size: 1.03rem;
    line-height: 1.75;
    color: #5d5a54;
}

.appointment-page .appointment-hero__note {
    display: grid;
    gap: 0.55rem;
    align-content: center;
    padding: 1.15rem 1.2rem;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(47, 107, 89, 0.1), rgba(60, 140, 114, 0.06));
    border: 1px solid rgba(60, 140, 114, 0.12);
}

.appointment-page .appointment-hero__note strong {
    color: #295847;
    font-size: 1rem;
}

.appointment-page .appointment-hero__note p {
    margin: 0;
    color: #5d5a54;
    line-height: 1.65;
}

.appointment-page .appointment-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.8rem;
}

.appointment-page .appointment-step {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    min-height: 84px;
    padding: 0.9rem 1rem;
    border-radius: 24px;
    border: 1px solid rgba(95, 74, 47, 0.08);
    background: linear-gradient(180deg, rgba(255, 252, 246, 0.96), rgba(241, 236, 228, 0.96));
    box-shadow: 0 14px 28px rgba(83, 59, 31, 0.05);
    color: #2b241d;
}

.appointment-page .appointment-step span {
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    font-weight: 800;
    color: #2f6b59;
    background: rgba(47, 107, 89, 0.12);
}

.appointment-page .appointment-step strong,
.appointment-page .appointment-step small {
    display: block;
}

.appointment-page .appointment-step strong {
    font-size: 0.98rem;
    margin-bottom: 0.1rem;
}

.appointment-page .appointment-step small {
    color: #625a52;
    line-height: 1.45;
}

.appointment-page .appointment-step.is-active {
    border-color: rgba(60, 140, 114, 0.28);
    background: linear-gradient(135deg, rgba(47, 107, 89, 0.98), rgba(60, 140, 114, 0.96));
    color: #fff;
    box-shadow: 0 18px 34px rgba(47, 107, 89, 0.18);
}

.appointment-page .appointment-step.is-active span {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.appointment-page .appointment-step.is-active small {
    color: rgba(255, 255, 255, 0.84);
}

.appointment-page .appointment-step.is-complete {
    border-color: rgba(60, 140, 114, 0.2);
}

.appointment-page .appointment-notice {
    border-radius: 22px;
    padding: 1rem 1.1rem;
    line-height: 1.6;
    font-weight: 600;
}

.appointment-page .appointment-notice--success {
    background: rgba(47, 107, 89, 0.12);
    color: #285845;
    border: 1px solid rgba(47, 107, 89, 0.16);
}

.appointment-page .appointment-notice--error {
    background: rgba(180, 59, 59, 0.1);
    color: #8b2d2d;
    border: 1px solid rgba(180, 59, 59, 0.16);
}

.appointment-page .appointment-notice--warning {
    background: rgba(212, 170, 88, 0.14);
    color: #7a5a1f;
    border: 1px solid rgba(212, 170, 88, 0.18);
}

.appointment-page .appointment-notice--info {
    background: rgba(60, 140, 114, 0.08);
    color: #28423d;
    border: 1px solid rgba(60, 140, 114, 0.12);
}

.appointment-page .appointment-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
    gap: 1rem;
    align-items: start;
}

.appointment-page .appointment-layout__main,
.appointment-page .appointment-layout__aside {
    display: grid;
    gap: 1rem;
}

.appointment-page .appointment-layout__aside {
    position: sticky;
    top: 1.15rem;
}

.appointment-page .appointment-card {
    padding: 1.2rem;
    background: linear-gradient(180deg, rgba(255, 252, 246, 0.97), rgba(244, 238, 230, 0.97));
}

.appointment-page .appointment-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.9rem;
}

.appointment-page .appointment-card h2 {
    font-size: clamp(1.35rem, 2.1vw, 2rem);
}

.appointment-page .appointment-card__meta,
.appointment-page .appointment-empty-state,
.appointment-page .appointment-slot-hint {
    margin: 0;
    color: #5d5a54;
    line-height: 1.6;
}

.appointment-page .appointment-card__meta {
    margin-bottom: 1rem;
}

.appointment-page .appointment-month-nav {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
}

.appointment-page .appointment-month-nav .btn {
    border-radius: 999px;
}

.appointment-page .appointment-calendar-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.appointment-page .appointment-calendar {
    width: 100%;
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 0.55rem 0.65rem;
    table-layout: fixed;
}

.appointment-page .appointment-calendar thead th {
    color: var(--text-muted);
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    padding: 0 0.25rem 0.35rem;
    text-align: center;
}

.appointment-page .appointment-calendar td {
    padding: 0;
    vertical-align: top;
}

.appointment-page .appointment-calendar__cell.is-empty {
    height: 6.5rem;
}

.appointment-page .appointment-day-button,
.appointment-page .appointment-day-unavailable {
    width: 100%;
    min-height: 6.6rem;
    padding: 0.85rem 0.7rem;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    text-align: center;
}

.appointment-page .appointment-day-button {
    border: 1px solid rgba(47, 107, 89, 0.16);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(240, 248, 244, 0.96));
    color: #223a33;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.appointment-page .appointment-day-button:hover,
.appointment-page .appointment-day-button:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(60, 140, 114, 0.28);
    box-shadow: 0 12px 24px rgba(47, 107, 89, 0.12);
    background: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(228, 243, 236, 0.98));
}

.appointment-page .appointment-day-button strong,
.appointment-page .appointment-day-unavailable strong {
    font-size: 1.35rem;
    line-height: 1;
}

.appointment-page .appointment-day-button span,
.appointment-page .appointment-day-unavailable span {
    font-size: 0.92rem;
    font-weight: 700;
}

.appointment-page .appointment-day-button small,
.appointment-page .appointment-day-unavailable small {
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5d5a54;
}

.appointment-page .appointment-day-button.active {
    border-color: #2f6b59;
    background: linear-gradient(135deg, #2f6b59, #3c8c72);
    color: #fff;
    box-shadow: 0 18px 30px rgba(47, 107, 89, 0.18);
}

.appointment-page .appointment-day-button.active small,
.appointment-page .appointment-day-button.active span {
    color: rgba(255, 255, 255, 0.9);
}

.appointment-page .appointment-day-button.is-today {
    box-shadow: inset 0 0 0 2px rgba(212, 170, 88, 0.45);
}

.appointment-page .appointment-day-unavailable {
    border: 1px dashed rgba(95, 74, 47, 0.18);
    background: rgba(255, 255, 255, 0.65);
    color: rgba(90, 84, 78, 0.72);
}

.appointment-page .appointment-day-unavailable.is-today {
    border-color: rgba(212, 170, 88, 0.45);
}

.appointment-page .appointment-day-today {
    margin-top: 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #2f6b59;
    text-align: center;
}

.appointment-page .appointment-summary-card {
    position: sticky;
    top: 1.15rem;
}

.appointment-page .appointment-summary-card .appointment-summary {
    display: grid;
    gap: 0.75rem;
    margin: 0;
}

.appointment-page .appointment-summary-card .appointment-summary > div {
    display: grid;
    gap: 0.25rem;
    padding: 0.92rem 1rem;
    border-radius: 18px;
    background: rgba(47, 107, 89, 0.06);
    border: 1px solid rgba(60, 140, 114, 0.08);
}

.appointment-page .appointment-summary-card dt {
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #2f6b59;
}

.appointment-page .appointment-summary-card dd {
    margin: 0;
    color: #223a33;
    line-height: 1.45;
    font-weight: 600;
}

.appointment-page .appointment-summary__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 0.8rem;
    border-radius: 999px;
    background: rgba(60, 140, 114, 0.12);
    color: #2f6b59;
    border: 1px solid rgba(60, 140, 114, 0.16);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.appointment-page .appointment-selected-day {
    padding: 0.95rem 1rem;
    border-radius: 20px;
    background: rgba(47, 107, 89, 0.08);
    border: 1px solid rgba(60, 140, 114, 0.12);
    margin-bottom: 1rem;
}

.appointment-page .appointment-selected-day strong,
.appointment-page .appointment-selected-day p {
    display: block;
    margin: 0;
}

.appointment-page .appointment-selected-day strong {
    color: #223a33;
}

.appointment-page .appointment-selected-day p {
    color: #5d5a54;
}

.appointment-page .appointment-slot-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.75rem;
}

.appointment-page .appointment-slot-label {
    position: relative;
    width: 100%;
    min-height: 72px;
    padding: 0.9rem 1rem;
    border-radius: 20px;
    border: 1px solid rgba(95, 74, 47, 0.1);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 239, 231, 0.98));
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.appointment-page .appointment-slot-label:hover,
.appointment-page .appointment-slot-label:focus-within {
    transform: translateY(-2px);
    border-color: rgba(60, 140, 114, 0.24);
    box-shadow: 0 12px 24px rgba(83, 59, 31, 0.08);
}

.appointment-page .appointment-slot-label.active {
    border-color: rgba(47, 107, 89, 0.36);
    background: linear-gradient(135deg, rgba(47, 107, 89, 0.1), rgba(60, 140, 114, 0.06));
}

.appointment-page .appointment-slot-label input {
    margin: 0.15rem 0 0;
    flex: 0 0 auto;
    accent-color: #2f6b59;
}

.appointment-page .appointment-slot-label span {
    display: grid;
    gap: 0.12rem;
    font-weight: 700;
    color: #223a33;
}

.appointment-page .appointment-slot-label span small {
    display: block;
    color: #5d5a54;
    font-size: 0.8rem;
    font-weight: 600;
}

.appointment-page .appointment-form {
    display: grid;
    gap: 1rem;
}

.appointment-page .appointment-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.appointment-page .appointment-field {
    display: grid;
    gap: 0.45rem;
}

.appointment-page .appointment-field--full {
    grid-column: 1 / -1;
}

.appointment-page .appointment-form .form-label {
    margin: 0;
    color: #295847;
    font-weight: 700;
    font-size: 0.94rem;
}

.appointment-page .appointment-form .form-control {
    border-radius: 18px;
    border: 1px solid rgba(95, 74, 47, 0.12);
    background: rgba(255, 255, 255, 0.98);
    color: #223a33;
    min-height: 52px;
    padding: 0.85rem 1rem;
    box-shadow: none;
}

.appointment-page .appointment-form .form-control:focus {
    border-color: rgba(60, 140, 114, 0.42);
    box-shadow: 0 0 0 4px rgba(60, 140, 114, 0.12);
}

.appointment-page .appointment-textarea {
    min-height: 150px;
    resize: vertical;
}

.appointment-page .appointment-consent {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    width: 100%;
    margin-left: 0;
    box-sizing: border-box;
    padding: 1rem 1.05rem;
    border-radius: 20px;
    background: rgba(60, 140, 114, 0.06);
    border: 1px solid rgba(60, 140, 114, 0.12);
}

.appointment-page .appointment-consent .form-check-input {
    margin-top: 0.2rem;
    margin-left: 0;
    flex: 0 0 auto;
    accent-color: #2f6b59;
}

.appointment-page .appointment-consent .form-check-label {
    color: #28423d;
    line-height: 1.55;
}

.appointment-page .appointment-consent .form-check-label a {
    color: #2f6b59;
    text-decoration-thickness: 2px;
}

/* Afspraak beheren */
.appointment-manage-page {
    min-height: calc(100vh - 8rem);
    padding: clamp(2rem, 5vw, 4.5rem) 1rem;
    background:
        radial-gradient(circle at 8% 10%, rgba(60, 140, 114, 0.1), transparent 30%),
        radial-gradient(circle at 92% 82%, rgba(244, 201, 107, 0.12), transparent 28%),
        #f0eae3;
}

.appointment-manage-page .appointment-page__shell {
    width: min(100%, 1180px);
    margin: 0 auto;
}

.appointment-manage-hero {
    margin-bottom: 1rem;
}

.appointment-manage-hero .appointment-hero__copy,
.appointment-manage-hero .appointment-hero__note {
    position: relative;
    z-index: 1;
}

.appointment-manage-intro {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.75rem 1.5rem;
    margin: 0 0 1.5rem;
    padding: 0 0.4rem;
    color: #6b7280;
    font-size: 0.85rem;
    font-weight: 700;
}

.appointment-manage-page .appointment-card {
    height: 100%;
}

.appointment-manage-page .appointment-card h2 {
    margin-bottom: 0.85rem;
}

.appointment-manage-summary,
.appointment-manage-form-card,
.appointment-manage-empty {
    padding: clamp(1.3rem, 3vw, 2rem);
}

.appointment-manage-summary dl {
    display: grid;
    gap: 0;
    margin: 1.5rem 0 0;
}

.appointment-manage-summary dt,
.appointment-manage-summary dd {
    margin: 0;
    padding: 0.8rem 0;
    border-bottom: 1px solid rgba(95, 74, 47, 0.1);
}

.appointment-manage-summary dt {
    color: #6b7280;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.appointment-manage-summary dd {
    color: #223a33;
    font-weight: 700;
    text-align: right;
}

.appointment-manage-status {
    flex: 0 0 auto;
    padding: 0.45rem 0.7rem;
    border-radius: 999px;
    background: rgba(60, 140, 114, 0.12);
    color: #2f6b59;
    font-size: 0.76rem;
    font-weight: 800;
}

.appointment-manage-status--cancelled,
.appointment-manage-status--rejected {
    background: rgba(198, 83, 77, 0.12);
    color: #a5403a;
}

.appointment-manage-status--pending {
    background: rgba(244, 201, 107, 0.23);
    color: #765516;
}

.appointment-manage-access {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin-top: 1.5rem;
    padding: 0.85rem 1rem;
    border-radius: 1rem;
    background: rgba(60, 140, 114, 0.07);
    color: #49675c;
    font-size: 0.86rem;
    line-height: 1.5;
}

.appointment-manage-access i {
    color: #3c8c72;
}

.appointment-manage-step {
    padding: 0.45rem 0.7rem;
    border-radius: 999px;
    background: rgba(60, 140, 114, 0.1);
    color: #2f6b59;
    font-size: 0.78rem;
    font-weight: 800;
}

.appointment-manage-form .form-label {
    margin-bottom: 0.4rem;
    color: #295847;
    font-size: 0.88rem;
    font-weight: 800;
}

.appointment-manage-form .form-control {
    min-height: 3rem;
    border: 1px solid rgba(95, 74, 47, 0.13);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.92);
    color: #223a33;
    padding: 0.8rem 0.95rem;
}

.appointment-manage-form textarea.form-control {
    min-height: 8rem;
    resize: vertical;
}

.appointment-manage-form .form-control:focus {
    border-color: rgba(60, 140, 114, 0.5);
    box-shadow: 0 0 0 0.22rem rgba(60, 140, 114, 0.12);
}

.appointment-manage-empty {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.appointment-manage-icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    flex: 0 0 3rem;
    place-items: center;
    border-radius: 1rem;
    background: rgba(60, 140, 114, 0.12);
    color: #2f6b59;
    font-size: 1.35rem;
}

.appointment-manage-empty h2 {
    margin: 0 0 0.5rem;
}

.appointment-manage-danger {
    padding: 1.3rem 1.5rem;
    border: 1px solid rgba(198, 83, 77, 0.22);
    border-radius: 1.25rem;
    background: rgba(255, 247, 245, 0.86);
}

.appointment-manage-danger h2 {
    color: #9f413b;
    font-size: 1.15rem;
}

.appointment-manage-danger p:not(.appointment-card__eyebrow) {
    color: #6b4b48;
}

.appointment-manage-cancel {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.75rem;
    padding: 0.7rem 1rem;
    border: 1px solid rgba(198, 83, 77, 0.4);
    border-radius: 999px;
    background: transparent;
    color: #a5403a;
    font-weight: 800;
    cursor: pointer;
}

.appointment-manage-cancel:hover,
.appointment-manage-cancel:focus-visible {
    background: #a5403a;
    color: #fff;
    outline: none;
}

@media (max-width: 767.98px) {
    .appointment-manage-page {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }

    .appointment-manage-summary dd {
        text-align: left;
    }

    .appointment-manage-empty {
        align-items: flex-start;
        flex-direction: column;
    }
}

.appointment-page .appointment-info-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.7rem;
}

.appointment-page .appointment-info-list li {
    position: relative;
    padding: 0.92rem 1rem 0.92rem 2.5rem;
    border-radius: 18px;
    background: rgba(47, 107, 89, 0.06);
    border: 1px solid rgba(60, 140, 114, 0.08);
    color: #28423d;
    line-height: 1.55;
}

.appointment-page .appointment-info-list li::before {
    content: "•";
    position: absolute;
    left: 1rem;
    top: 0.9rem;
    font-size: 1.15rem;
    font-weight: 900;
    color: #2f6b59;
}

.appointment-page .appointment-submit {
    min-height: 56px;
    border-radius: 999px;
    font-weight: 800;
    letter-spacing: 0.01em;
    box-shadow: 0 18px 36px rgba(47, 107, 89, 0.18);
}

.appointment-page .appointment-submit:disabled {
    opacity: 0.78;
    cursor: progress;
}

.appointment-page .appointment-submit__label,
.appointment-page .appointment-submit__loading {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

html[data-theme="dark"] .appointment-page {
    background:
        radial-gradient(circle at top left, rgba(111, 211, 178, 0.12), transparent 24%),
        radial-gradient(circle at 96% 2%, rgba(221, 196, 154, 0.1), transparent 18%),
        linear-gradient(180deg, #0e1f1a 0%, #122922 100%);
}

html[data-theme="dark"] .appointment-page .appointment-hero,
html[data-theme="dark"] .appointment-page .appointment-card {
    background: linear-gradient(180deg, rgba(19, 41, 37, 0.96), rgba(12, 30, 27, 0.96));
    border-color: rgba(111, 211, 178, 0.14);
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.34);
}

html[data-theme="dark"] .appointment-page .appointment-hero::before,
html[data-theme="dark"] .appointment-page .appointment-card::before {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.05), transparent 36%),
        radial-gradient(circle at 82% 12%, rgba(111, 211, 178, 0.1), transparent 22%);
}

html[data-theme="dark"] .appointment-page .appointment-hero h1,
html[data-theme="dark"] .appointment-page .appointment-card h2,
html[data-theme="dark"] .appointment-page .appointment-day-button strong,
html[data-theme="dark"] .appointment-page .appointment-slot-label span,
html[data-theme="dark"] .appointment-page .appointment-summary-card dd,
html[data-theme="dark"] .appointment-page .appointment-selected-day strong {
    color: var(--text-primary);
}

html[data-theme="dark"] .appointment-page .appointment-lead,
html[data-theme="dark"] .appointment-page .appointment-hero__note p,
html[data-theme="dark"] .appointment-page .appointment-card__meta,
html[data-theme="dark"] .appointment-page .appointment-empty-state,
html[data-theme="dark"] .appointment-page .appointment-slot-hint,
html[data-theme="dark"] .appointment-page .appointment-selected-day p,
html[data-theme="dark"] .appointment-page .appointment-slot-label span small,
html[data-theme="dark"] .appointment-page .appointment-info-list li,
html[data-theme="dark"] .appointment-page .appointment-day-button small,
html[data-theme="dark"] .appointment-page .appointment-day-unavailable small,
html[data-theme="dark"] .appointment-page .appointment-step small {
    color: var(--text-secondary);
}

html[data-theme="dark"] .appointment-page .appointment-hero {
    background: linear-gradient(135deg, rgba(17, 36, 32, 0.96), rgba(12, 30, 27, 0.96));
}

html[data-theme="dark"] .appointment-page .appointment-hero__note,
html[data-theme="dark"] .appointment-page .appointment-step,
html[data-theme="dark"] .appointment-page .appointment-notice--info,
html[data-theme="dark"] .appointment-page .appointment-summary-card .appointment-summary > div,
html[data-theme="dark"] .appointment-page .appointment-selected-day,
html[data-theme="dark"] .appointment-page .appointment-consent,
html[data-theme="dark"] .appointment-page .appointment-info-list li {
    background: rgba(17, 36, 32, 0.92);
    border-color: rgba(111, 211, 178, 0.14);
}

html[data-theme="dark"] .appointment-page .appointment-step {
    color: var(--text-primary);
}

html[data-theme="dark"] .appointment-page .appointment-step span,
html[data-theme="dark"] .appointment-page .appointment-summary__badge,
html[data-theme="dark"] .appointment-page .appointment-card__eyebrow,
html[data-theme="dark"] .appointment-page .appointment-eyebrow,
html[data-theme="dark"] .appointment-page .appointment-info-list li::before,
html[data-theme="dark"] .appointment-page .appointment-selected-day strong,
html[data-theme="dark"] .appointment-page .appointment-day-button.active span,
html[data-theme="dark"] .appointment-page .appointment-day-button.active small {
    color: #8be2c6;
}

html[data-theme="dark"] .appointment-page .appointment-form .form-control {
    background: rgba(12, 30, 27, 0.9);
    border-color: rgba(111, 211, 178, 0.16);
    color: var(--text-primary);
}

html[data-theme="dark"] .appointment-page .appointment-form .form-control::placeholder {
    color: var(--text-muted);
}

html[data-theme="dark"] .appointment-page .appointment-calendar thead th {
    color: var(--text-muted);
}

html[data-theme="dark"] .appointment-page .appointment-day-button {
    background: linear-gradient(180deg, rgba(19, 41, 37, 0.96), rgba(12, 30, 27, 0.96));
    border-color: rgba(111, 211, 178, 0.18);
    color: var(--text-primary);
}

html[data-theme="dark"] .appointment-page .appointment-day-button:hover,
html[data-theme="dark"] .appointment-page .appointment-day-button:focus-visible {
    background: linear-gradient(180deg, rgba(25, 53, 47, 0.98), rgba(17, 36, 32, 0.98));
    border-color: rgba(111, 211, 178, 0.26);
}

html[data-theme="dark"] .appointment-page .appointment-day-button.active {
    background: linear-gradient(135deg, #2c6a56, #8be2c6);
    color: #0e1f1a;
}

html[data-theme="dark"] .appointment-page .appointment-day-button.active strong,
html[data-theme="dark"] .appointment-page .appointment-day-button.active span,
html[data-theme="dark"] .appointment-page .appointment-day-button.active small {
    color: #0e1f1a;
}

html[data-theme="dark"] .appointment-page .appointment-day-unavailable {
    background: rgba(12, 30, 27, 0.78);
    border-color: rgba(111, 211, 178, 0.12);
}

html[data-theme="dark"] .appointment-page .appointment-notice--success {
    background: rgba(47, 107, 89, 0.2);
    color: #c9f6e8;
    border-color: rgba(111, 211, 178, 0.16);
}

html[data-theme="dark"] .appointment-page .appointment-notice--error {
    background: rgba(180, 59, 59, 0.16);
    color: #ffd0d0;
}

html[data-theme="dark"] .appointment-page .appointment-notice--warning {
    background: rgba(212, 170, 88, 0.16);
    color: #ffe6b5;
}

@media (max-width: 1100px) {
    .appointment-page .appointment-hero,
    .appointment-page .appointment-layout {
        grid-template-columns: 1fr;
    }

    .appointment-page .appointment-layout__aside,
    .appointment-page .appointment-summary-card {
        position: static;
    }
}

@media (max-width: 768px) {
    .appointment-page {
        padding-left: 0.8rem;
        padding-right: 0.8rem;
        padding-bottom: 4rem;
    }

    .appointment-page .appointment-hero,
    .appointment-page .appointment-card {
        border-radius: 26px;
    }

    .appointment-page .appointment-hero {
        padding: 1rem;
    }

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

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

    .appointment-page .appointment-field--full {
        grid-column: auto;
    }

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

@media (max-width: 576px) {
    .appointment-page {
        padding-left: 0.65rem;
        padding-right: 0.65rem;
    }

    .appointment-page .appointment-steps {
        grid-template-columns: repeat(4, minmax(210px, 1fr));
        overflow-x: auto;
        padding-bottom: 0.15rem;
        scroll-snap-type: x proximity;
    }

    .appointment-page .appointment-step {
        scroll-snap-align: start;
    }

    .appointment-page .appointment-card,
    .appointment-page .appointment-hero {
        padding: 0.95rem;
    }

    .appointment-page .appointment-month-nav,
    .appointment-page .appointment-card__head {
        width: 100%;
    }

    .appointment-page .appointment-card__head {
        flex-direction: column;
    }

    .appointment-page .appointment-month-nav .btn,
    .appointment-page .appointment-submit {
        width: 100%;
    }

    .appointment-page .appointment-calendar {
        border-spacing: 0.35rem 0.45rem;
    }

    .appointment-page .appointment-calendar thead th {
        font-size: 0.68rem;
        letter-spacing: 0.12em;
    }

    .appointment-page .appointment-day-button,
    .appointment-page .appointment-day-unavailable {
        min-height: 5.8rem;
        padding: 0.7rem 0.5rem;
        border-radius: 18px;
    }

    .appointment-page .appointment-day-button strong,
    .appointment-page .appointment-day-unavailable strong {
        font-size: 1.18rem;
    }

    .appointment-page .appointment-slot-grid {
        grid-template-columns: 1fr;
    }

    .appointment-page .appointment-consent {
        padding: 0.9rem 0.95rem;
    }
}
.footer-opening-status {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    margin-bottom: 1rem;
    overflow: hidden;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(60, 140, 114, .16);
    border-radius: 1.15rem;
    background: linear-gradient(135deg, rgba(255, 253, 249, .96), rgba(244, 239, 232, .86));
    box-shadow: 0 .65rem 1.5rem rgba(47, 107, 89, .08);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.footer-opening-status::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    content: '';
    background: radial-gradient(circle at 0 0, rgba(60, 140, 114, .14), transparent 58%);
    pointer-events: none;
}

.footer-opening-status:hover {
    transform: translateY(-2px);
    border-color: rgba(60, 140, 114, .3);
    box-shadow: 0 .9rem 1.8rem rgba(47, 107, 89, .13);
}

.footer-opening-status__indicator {
    position: relative;
    flex: 0 0 .7rem;
    width: .7rem;
    height: .7rem;
    margin-top: .35rem;
    border-radius: 50%;
    background: #b85c52;
    box-shadow: 0 0 0 .25rem rgba(184, 92, 82, .12);
    animation: footerStatusPulse 2.4s ease-out infinite;
}

.footer-opening-status--open {
    border-color: rgba(60, 140, 114, .28);
    background: linear-gradient(135deg, rgba(236, 247, 240, .96), rgba(224, 239, 232, .86));
}

.footer-opening-status--open .footer-opening-status__indicator {
    background: #3c8c72;
    box-shadow: 0 0 0 .25rem rgba(60, 140, 114, .14);
}

.footer-opening-status__content {
    display: grid;
    gap: .15rem;
    min-width: 0;
}

.footer-opening-status__content strong {
    color: #234e3f;
    font-size: .95rem;
    line-height: 1.35;
}

.footer-opening-status__content span {
    color: #59655f;
    font-size: .82rem;
    line-height: 1.45;
}

@keyframes footerStatusPulse {
    0%, 100% { box-shadow: 0 0 0 .25rem rgba(184, 92, 82, .12); }
    50% { box-shadow: 0 0 0 .42rem rgba(184, 92, 82, .02); }
}

.footer-opening-status--open .footer-opening-status__indicator {
    animation-name: footerStatusPulseOpen;
}

@keyframes footerStatusPulseOpen {
    0%, 100% { box-shadow: 0 0 0 .25rem rgba(60, 140, 114, .14); }
    50% { box-shadow: 0 0 0 .42rem rgba(60, 140, 114, .03); }
}

@media (prefers-reduced-motion: reduce) {
    .footer-opening-status,
    .footer-opening-status__indicator {
        animation: none;
        transition: none;
    }
}
.account-notification-preferences {
    margin-top: 1.5rem;
    padding: 1.25rem;
    border: 1px solid rgba(60, 140, 114, .22);
    border-radius: 16px;
    background: #fbfdfb;
}

.account-notification-preferences__intro h3 {
    margin-bottom: .35rem;
    color: #2f6b59;
}

.account-notification-preferences__form {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    margin-top: 1rem;
}

.account-notification-preference {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1rem;
    border: 1px solid #e2e9e4;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
}

.account-notification-preference__copy {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.account-notification-preference__copy strong {
    color: #2f6b59;
}

.account-notification-preference__copy small,
.account-notification-preferences__hint {
    color: #64736b;
    font-size: .88rem;
}

.account-notification-preference input[type="checkbox"] {
    flex: 0 0 auto;
    width: 1.2rem;
    height: 1.2rem;
    margin: 0;
    accent-color: #3c8c72;
}

.account-notification-preferences__hint {
    margin: 0;
}

@media (max-width: 575px) {
    .account-notification-preference {
        align-items: flex-start;
    }
}

/* Over ons — editorial redesign */
body.about-page {
    background: #f7f4ee;
    color: #203a31;
}

body.about-page::before,
body.about-page::after { display: none; }

body.about-page .about-hero,
body.about-page .mission-section,
body.about-page .product-preview,
body.about-page .contact-small {
    width: min(1240px, calc(100% - 3rem));
}

body.about-page .about-hero {
    padding: clamp(4rem, 8vw, 8rem) 0 clamp(4rem, 8vw, 7rem);
}

body.about-page .about-card {
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr);
    min-height: 640px;
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.about-page .about-left {
    position: relative;
    z-index: 2;
    justify-content: center;
    padding: 1rem clamp(0rem, 3vw, 3.2rem) 1rem 0;
}

body.about-page .about-eyebrow {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-bottom: 1.2rem;
    color: #98754d;
    font-size: .72rem;
    letter-spacing: .18em;
}

body.about-page .about-left h1 {
    max-width: 700px;
    color: #234b3b;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(3.5rem, 7vw, 7rem);
    font-weight: 500;
    letter-spacing: -.065em;
    line-height: .9;
}

body.about-page .highlight-green { color: #3c8c72; }

body.about-page .about-left .subtitle {
    max-width: 490px;
    margin: 2rem 0 1.4rem;
    color: #365c4d;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(1.25rem, 2.2vw, 1.7rem);
    font-weight: 400;
    line-height: 1.35;
}

body.about-page .about-left .bio {
    max-width: 560px;
    margin: .75rem 0;
    color: #66746d;
    font-size: .98rem;
    line-height: 1.8;
}

body.about-page .about-left .bio strong { color: #234b3b; }

body.about-page .about-actions { margin-top: 2rem; }
body.about-page .about-button { border-radius: 5px; font-size: .88rem; letter-spacing: .01em; }
body.about-page .about-button--primary { background: #234b3b; box-shadow: 0 10px 22px rgba(35, 75, 59, .17); }
body.about-page .about-button--primary:hover { background: #3c8c72; }
body.about-page .about-button--secondary { background: transparent; border-color: #cbbca6; }

body.about-page .about-stats {
    grid-template-columns: repeat(4, minmax(0, auto));
    justify-content: start;
    gap: 1.4rem;
    margin-top: 3rem;
    padding-top: 1.4rem;
    border-top-color: #d9d0c4;
}

body.about-page .about-stats div { color: #7b817a; font-size: .72rem; }
body.about-page .about-stats strong { display: block; margin-bottom: .15rem; color: #234b3b; font-size: .94rem; font-weight: 800; }

body.about-page .about-right {
    min-height: 640px;
    background: transparent;
}

body.about-page .about-right::before {
    width: 70%;
    height: 70%;
    top: -7%;
    right: -7%;
    background: #e4d6c3;
}

body.about-page .about-right::after {
    width: 32%;
    height: 32%;
    bottom: -5%;
    left: -8%;
    background: #d2e2d7;
}

body.about-page .about-photo {
    inset: 1.5rem 0 1.5rem 3rem;
    border-radius: 2px;
    background-position: center;
    box-shadow: 18px 22px 0 #e7ddce, 0 24px 55px rgba(55, 72, 60, .2);
}

body.about-page .about-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.about-page .about-photo__caption {
    position: absolute;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 2;
    padding: .55rem .75rem;
    color: #fffaf2;
    background: rgba(35, 75, 59, .88);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

body.about-page .about-story-section,
body.about-page .about-process-section,
body.about-page .about-faq-section {
    width: min(1240px, calc(100% - 3rem));
    margin-inline: auto;
}

body.about-page .about-story-section {
    display: grid;
    grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr);
    gap: clamp(2rem, 8vw, 8rem);
    align-items: center;
    padding: clamp(4rem, 8vw, 8rem) 0;
    border-top: 1px solid #e2dcd2;
}

body.about-page .about-story__image {
    position: relative;
    max-width: 430px;
    margin-inline: auto;
}

body.about-page .about-story__image::after {
    position: absolute;
    right: -1rem;
    bottom: -1rem;
    z-index: -1;
    width: 80%;
    height: 80%;
    content: '';
    background: #e4d6c3;
}

body.about-page .about-story__image img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover; filter: saturate(.8); }
body.about-page .about-story__content { max-width: 650px; }
body.about-page .about-story__content h2,
body.about-page .about-process__intro h2,
body.about-page .about-faq-section h2 { margin: 0; color: #234b3b; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.2rem, 4vw, 4rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.02; }
body.about-page .about-story__content p:not(.about-eyebrow),
body.about-page .about-process__intro p:not(.about-eyebrow) { margin: 1.3rem 0 0; color: #64746c; font-size: 1.03rem; line-height: 1.8; }
body.about-page .about-text-link { display: inline-flex; align-items: center; gap: .55rem; margin-top: 1.6rem; color: #3c8c72; font-weight: 800; text-decoration: none; }
body.about-page .about-text-link:hover { color: #234b3b; }

body.about-page .about-process-section {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: clamp(2rem, 8vw, 8rem);
    padding: clamp(4rem, 8vw, 7rem) 0;
    border-top: 1px solid #e2dcd2;
}

body.about-page .about-process__intro { max-width: 460px; }
body.about-page .about-process__steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid #d9d0c4; }
body.about-page .about-process__steps li { display: grid; grid-template-columns: 70px 1fr; gap: 1rem; padding: 1.4rem 0; border-bottom: 1px solid #d9d0c4; }
body.about-page .about-process__steps li > span { color: #98754d; font-family: Georgia, 'Times New Roman', serif; font-size: 1.7rem; }
body.about-page .about-process__steps h3 { margin: 0 0 .35rem; color: #234b3b; font-size: 1.1rem; }
body.about-page .about-process__steps p { margin: 0; color: #64746c; line-height: 1.6; }

body.about-page .about-faq-section { padding: 0 0 clamp(4rem, 8vw, 7rem); }
body.about-page .about-faq-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-top: 2rem; }
body.about-page .about-faq-grid details { padding: 1.15rem 1.25rem; background: #fffdf9; border: 1px solid #e0d8cc; }
body.about-page .about-faq-grid summary { cursor: pointer; color: #234b3b; font-weight: 800; line-height: 1.45; }
body.about-page .about-faq-grid p { margin: .85rem 0 0; color: #64746c; line-height: 1.65; }

body.about-page .mission-section {
    padding: clamp(4rem, 8vw, 7rem) 0;
    border-top: 1px solid #e2dcd2;
    text-align: left;
}

body.about-page .mission-inner { display: grid; grid-template-columns: .8fr 1.2fr; max-width: none; gap: clamp(2rem, 8vw, 8rem); align-items: start; }
body.about-page .mission-inner h2,
body.about-page .product-preview h2,
body.about-page .contact-small h2 { color: #234b3b; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.2rem, 4vw, 4rem); font-weight: 500; letter-spacing: -.045em; }
body.about-page .mission-inner > p:not(.about-eyebrow) { max-width: 640px; margin: 2.9rem 0 2rem; color: #64746c; font-size: 1.05rem; line-height: 1.8; }
body.about-page .mission-grid { grid-column: 2; grid-row: 1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin-top: 3.8rem; border-top: 1px solid #d9d0c4; }
body.about-page .mission-grid div { min-height: 86px; padding: 1.1rem 0; color: #355c4c; background: transparent; border: 0; border-bottom: 1px solid #d9d0c4; border-radius: 0; font-size: .92rem; }
body.about-page .mission-grid div:nth-child(odd) { margin-right: 2rem; }
body.about-page .mission-grid i { color: #98754d; }

body.about-page .product-preview { padding: 0 0 clamp(4rem, 8vw, 7rem); text-align: left; }
body.about-page .product-preview > .about-eyebrow { margin-bottom: 1rem; }
body.about-page .preview-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; margin: 2.5rem 0 2rem; }
body.about-page .preview-card { border-radius: 2px; border-color: #e0d8cc; box-shadow: none; }
body.about-page .preview-card:hover { box-shadow: 0 12px 28px rgba(48, 70, 57, .12); }
body.about-page .preview-img { aspect-ratio: 1 / 1.2; filter: saturate(.82); transition: transform .35s ease, filter .35s ease; }
body.about-page .preview-card:hover .preview-img { filter: saturate(1); transform: scale(1.03); }
body.about-page .preview-card h3 { padding: 1rem 1.1rem; color: #234b3b; font-size: .95rem; }
body.about-page .btn-shop-more { border-radius: 4px; background: transparent; color: #234b3b; border: 1px solid #bca98f; }
body.about-page .btn-shop-more:hover { color: #fff; background: #234b3b; }

body.about-page .contact-small { margin-bottom: 5rem; padding: clamp(2rem, 5vw, 4rem); text-align: left; background: #234b3b; border: 0; border-radius: 2px; }
body.about-page .contact-small .about-eyebrow { color: #d6b88e; }
body.about-page .contact-small h2 { color: #fffaf2; }
body.about-page .contact-small p:not(.about-eyebrow) { color: #dce9df; }
body.about-page .contact-small a { color: #f0cf9b; }

@media (max-width: 900px) {
    body.about-page .about-card { grid-template-columns: 1fr; min-height: 0; }
    body.about-page .about-left { padding-right: 0; }
    body.about-page .about-right { min-height: 500px; margin-top: 3rem; }
    body.about-page .about-photo { inset: 1rem 1rem 1rem 2rem; }
    body.about-page .mission-inner { grid-template-columns: 1fr; gap: 0; }
    body.about-page .mission-grid { grid-column: 1; grid-row: auto; margin-top: 1rem; }
    body.about-page .about-story-section,
    body.about-page .about-process-section { grid-template-columns: 1fr; gap: 3rem; }
    body.about-page .about-story__image { max-width: 360px; margin-left: 0; }
    body.about-page .about-faq-grid { grid-template-columns: 1fr; }
}

@media (max-width: 575px) {
    body.about-page .about-hero,
    body.about-page .mission-section,
    body.about-page .product-preview,
    body.about-page .contact-small { width: min(100% - 2rem, 1240px); }
    body.about-page .about-left h1 { font-size: clamp(3.4rem, 17vw, 5rem); }
    body.about-page .about-right { min-height: 370px; margin-top: 2rem; }
    body.about-page .about-photo { inset: .7rem .7rem .7rem 1.1rem; box-shadow: 10px 12px 0 #e7ddce, 0 14px 30px rgba(55, 72, 60, .16); }
    body.about-page .about-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
    body.about-page .mission-grid { grid-template-columns: 1fr; }
    body.about-page .mission-grid div:nth-child(odd) { margin-right: 0; }
    body.about-page .preview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.about-page .preview-img { aspect-ratio: 1 / 1.15; }
    body.about-page .about-story-section,
    body.about-page .about-process-section,
    body.about-page .about-faq-section { width: min(100% - 2rem, 1240px); }
}

.security-password-form .password-strength {
    margin-top: 0.8rem;
}

.account-social-login {
    margin-top: 1rem;
    padding-top: 1rem;
}

.account-social-login__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 44px;
    padding: .7rem 1rem;
    color: #fff !important;
    border: 1px solid transparent;
    border-radius: 12px;
    font-weight: 700;
    text-decoration: none !important;
    transition: transform .2s ease, filter .2s ease;
}

.account-social-login__button:hover,
.account-social-login__button:focus-visible {
    color: #fff !important;
    filter: brightness(90%);
    transform: translateY(-2px);
}

.account-social-login__button--google {
    background: #db4437;
    border-color: #db4437;
}

.account-social-login__button--facebook {
    background: #3b5998;
    border-color: #3b5998;
}

.account-settings-page {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.account-settings-page .account-settings-hero {
    order: 1;
}

.account-settings-page .account-settings-section {
    order: 2;
}

.account-settings-page .account-notification-preferences {
    order: 3;
}

.account-settings-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    padding: .25rem 0 1.5rem;
    border-bottom: 1px solid #e8eee9;
}

.account-settings-hero h2 {
    margin: .25rem 0 .35rem;
}

.account-settings-eyebrow,
.account-settings-section-label {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #3c8c72;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.account-settings-hero__icon {
    display: inline-grid;
    width: 3.25rem;
    height: 3.25rem;
    flex: 0 0 auto;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, #2f6b59, #3c8c72);
    border-radius: 16px;
    font-size: 1.35rem;
    box-shadow: 0 10px 22px rgba(47, 107, 89, .18);
}

.account-settings-hero__icon,
.account-settings-hero__icon i {
    color: #fff !important;
}

.account-sidebar .account-tab-button:not(.logout) {
    display: flex;
    align-items: center;
    gap: .7rem;
    justify-content: flex-start;
}

.account-sidebar .account-tab-button:not(.logout) > i {
    width: 1.2rem;
    flex: 0 0 1.2rem;
    text-align: center;
    font-size: 1rem;
}

.account-sidebar .account-tab-button:not(.logout) .account-notification-badge {
    margin-left: auto;
}

.account-notification-preferences__intro h3 {
    margin-top: .4rem;
}

.account-settings-section {
    margin-top: 1.75rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e8eee9;
}

.account-settings-section__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.account-settings-section__heading h3 {
    margin: .35rem 0 0;
}

.account-settings-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
}

.account-settings-link {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    width: 100%;
    padding: 1rem;
    color: #29453a;
    text-align: left;
    background: #fff;
    border: 1px solid #e1eae4;
    border-radius: 14px;
    cursor: pointer;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.account-settings-link:hover,
.account-settings-link:focus-visible {
    border-color: rgba(60, 140, 114, .55);
    box-shadow: 0 10px 22px rgba(47, 107, 89, .1);
    outline: 0;
    transform: translateY(-2px);
}

.account-settings-link__icon {
    display: inline-grid;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    color: #2f6b59;
    background: rgba(60, 140, 114, .1);
    border-radius: 10px;
}

.account-settings-link span:nth-child(2) {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: .2rem;
}

.account-settings-link strong {
    color: #2f6b59;
}

.account-settings-link small {
    color: #68776f;
    font-size: .78rem;
    line-height: 1.35;
}

.account-settings-link > .bi-chevron-right {
    color: #7b9a8b;
}

@media (max-width: 900px) {
    .account-settings-links {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .account-settings-hero {
        gap: 1rem;
    }

    .account-settings-hero__icon {
        width: 2.75rem;
        height: 2.75rem;
    }

    .account-settings-section__heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

.account-profile-page {
    overflow: hidden;
}

.account-profile-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    padding: .25rem 0 1.5rem;
    border-bottom: 1px solid #e8eee9;
}

.account-profile-hero__identity {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.account-profile-hero__identity h2 {
    margin: .25rem 0 .35rem;
}

.account-profile-hero__avatar {
    width: 76px;
    height: 76px;
    flex: 0 0 auto;
    object-fit: cover;
    border: 4px solid #fff;
    border-radius: 22px;
    box-shadow: 0 10px 22px rgba(47, 107, 89, .14);
}

.account-profile-links {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
    margin: 1.5rem 0;
}

.account-profile-links .account-settings-link {
    min-height: 92px;
}

.account-profile-section {
    padding-top: 1.5rem;
    border-top: 1px solid #e8eee9;
}

.account-profile-section .account-form-grid {
    margin-top: 1.1rem;
}

.account-notifications-page {
    overflow: hidden;
}

.account-notifications-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    padding: .25rem 0 1.5rem;
    border-bottom: 1px solid #e8eee9;
}

.account-notifications-hero h2 {
    margin: .25rem 0 .35rem;
}

.account-notifications-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 1.25rem 0;
    padding: 1rem 1.1rem;
    background: #f5faf6;
    border: 1px solid rgba(60, 140, 114, .18);
    border-radius: 14px;
}

.account-notifications-summary > div {
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.account-notifications-summary strong {
    color: #2f6b59;
}

.account-notifications-page .account-notifications-list {
    padding-top: .25rem;
}

@media (max-width: 575px) {
    .account-notifications-hero {
        gap: 1rem;
    }

    .account-notifications-summary {
        align-items: flex-start;
        flex-direction: column;
    }
}

.account-orders-page {
    overflow: hidden;
}

.account-dashboard-page {
    overflow: hidden;
}

.account-dashboard-page .account-dashboard-hero {
    grid-template-columns: 1fr;
    min-height: 230px;
    padding: 2.25rem;
    background: radial-gradient(circle at 92% 8%, rgba(255, 255, 255, .2), transparent 25%), linear-gradient(135deg, #244f42 0%, #2f6b59 58%, #3c8c72 100%);
    border: 0;
    box-shadow: 0 18px 36px rgba(47, 107, 89, .18);
    position: relative;
}

.account-dashboard-page .account-dashboard-hero__eyebrow {
    color: #fff;
    background: rgba(255, 255, 255, .15);
}

.account-dashboard-page .account-dashboard-hero__copy h2,
.account-dashboard-page .account-dashboard-hero__copy p {
    color: #fff;
}

.account-dashboard-page .account-dashboard-hero__copy {
    position: relative;
    z-index: 1;
}

.account-dashboard-page .account-dashboard-hero__welcome-card {
    display: flex;
    align-items: center;
    gap: .75rem;
    position: absolute;
    right: 2.25rem;
    bottom: 2.25rem;
    padding: .85rem 1rem;
    color: #fff;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 14px;
    backdrop-filter: blur(8px);
}

.account-dashboard-hero__welcome-card > div {
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

.account-dashboard-page .account-dashboard-hero__welcome-card strong,
.account-dashboard-page .account-dashboard-hero__welcome-card span:last-child {
    color: #fff !important;
}

.account-dashboard-hero__welcome-card span:last-child {
    color: rgba(255, 255, 255, .75) !important;
    font-size: .78rem;
}

.account-dashboard-hero__welcome-icon {
    display: inline-grid;
    width: 2.2rem;
    height: 2.2rem;
    place-items: center;
    color: #fff;
    background: rgba(255, 255, 255, .16);
    border-radius: 10px;
}

.account-dashboard-primary-action {
    color: #244f42 !important;
    background: #fff !important;
    border-color: #fff !important;
}

.account-dashboard-primary-action,
.account-dashboard-primary-action i {
    color: #244f42 !important;
}

.account-dashboard-primary-action:hover,
.account-dashboard-primary-action:focus-visible {
    color: #17382e !important;
    background: #f2faf5 !important;
    border-color: #f2faf5 !important;
}

.account-dashboard-primary-action:hover i,
.account-dashboard-primary-action:focus-visible i {
    color: #17382e !important;
}

.account-dashboard-hero-link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .7rem .2rem;
    color: rgba(255, 255, 255, .9);
    background: transparent;
    border: 0;
    font-weight: 700;
    cursor: pointer;
}

.account-dashboard-hero-link:hover {
    color: #fff;
}

.account-dashboard-page .account-dashboard-hero__copy p {
    max-width: 58ch;
    color: rgba(255, 255, 255, .84);
}

.account-dashboard-page .account-dashboard-hero__actions .account-btn-outline {
    color: #2f6b59;
    border-color: #fff;
}

.account-dashboard-stat-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .8rem;
    margin: 1.25rem 0 0;
}

.account-dashboard-stat-grid .account-dashboard-hero__meta-card,
.account-dashboard-stat-grid .account-dashboard-hero__meta-card--balance,
.account-dashboard-stat-grid .account-dashboard-hero__meta-card--status,
.account-dashboard-stat-grid .account-dashboard-hero__meta-card--wide {
    grid-column: auto;
    min-height: 0;
    padding: 1rem 1.1rem;
    background: #fff;
    border: 1px solid #e1eae4;
    border-radius: 16px;
    position: relative;
}

.account-dashboard-stat-icon {
    display: inline-grid !important;
    width: 2.15rem;
    height: 2.15rem;
    margin-bottom: .8rem;
    place-items: center;
    color: #2f6b59;
    background: rgba(60, 140, 114, .1);
    border-radius: 10px;
    font-size: 1rem;
}

.account-dashboard-stat-grid .account-dashboard-hero__meta-value {
    font-size: 1.65rem;
}

.account-dashboard-stat-grid .account-dashboard-hero__meta-value.is-active,
.account-dashboard-stat-grid .account-dashboard-hero__meta-value.is-inactive {
    font-size: 1.25rem;
}

.account-dashboard-page .account-dashboard-overview-grid {
    gap: 1.25rem;
    margin-top: 1.25rem;
}

.account-dashboard-page .account-dashboard-box {
    border-color: #e1eae4;
}

.account-dashboard-page .account-dashboard-box h3 {
    margin-top: .35rem;
}

.account-dashboard-actions-list {
    display: grid;
    gap: .65rem;
}

.account-dashboard-actions-list .account-btn-outline {
    display: flex;
    align-items: center;
    gap: .65rem;
    justify-content: flex-start;
    width: 100%;
    text-align: left;
}

.account-dashboard-actions-list .account-btn-outline > i {
    width: 1.15rem;
    flex: 0 0 1.15rem;
    color: #3c8c72;
    text-align: center;
}

@media (max-width: 900px) {
    .account-dashboard-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .account-dashboard-page .account-dashboard-hero {
        padding: 1.5rem;
        min-height: 0;
    }

    .account-dashboard-page .account-dashboard-hero__welcome-card {
        position: static;
        margin-top: 1.5rem;
        width: fit-content;
    }

    .account-dashboard-stat-grid {
        grid-template-columns: 1fr;
    }
}

.account-orders-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    padding: .25rem 0 1.5rem;
    border-bottom: 1px solid #e8eee9;
}

.account-orders-hero h2 {
    margin: .25rem 0 .35rem;
}

.account-orders-summary {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin: 1.25rem 0;
    padding: 1rem 1.1rem;
    background: #f5faf6;
    border: 1px solid rgba(60, 140, 114, .18);
    border-radius: 14px;
}

.account-orders-summary__item {
    display: flex;
    min-width: 150px;
    flex-direction: column;
    gap: .25rem;
    padding-right: 1rem;
    border-right: 1px solid #dce9df;
}

.account-orders-summary__item span {
    color: #68776f;
    font-size: .8rem;
}

.account-orders-summary__item strong {
    color: #2f6b59;
    font-size: 1.35rem;
}

.account-orders-summary .account-btn-outline {
    margin-left: auto;
}

.account-orders-page .orders-list {
    padding-top: .25rem;
}

@media (max-width: 575px) {
    .account-orders-hero {
        gap: 1rem;
    }

    .account-orders-summary {
        align-items: stretch;
        flex-direction: column;
    }

    .account-orders-summary__item {
        min-width: 0;
        padding-right: 0;
        padding-bottom: .7rem;
        border-right: 0;
        border-bottom: 1px solid #dce9df;
    }

    .account-orders-summary .account-btn-outline {
        margin-left: 0;
    }
}

@media (max-width: 1100px) {
    .account-profile-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .account-profile-hero__identity {
        align-items: flex-start;
        flex-direction: column;
    }

    .account-profile-hero__avatar {
        width: 64px;
        height: 64px;
    }

    .account-profile-links {
        grid-template-columns: 1fr;
    }
}
/* Contact vestigingskeuze */
.contact-location-switcher {
    display: grid;
    gap: .45rem;
    margin: 1rem 0 1.25rem;
}

.contact-location-switcher label {
    font-weight: 700;
}

.contact-location-switcher select {
    width: 100%;
    min-height: 2.75rem;
    padding: .65rem .8rem;
    border: 1px solid rgba(47, 107, 89, .25);
    border-radius: .75rem;
    background: #fff;
    color: #173429;
}

/* Over ons */
.about-hero,
.mission-section,
.product-preview,
.contact-small {
    width: min(1180px, calc(100% - 2rem));
    margin-inline: auto;
}

.about-hero {
    padding: clamp(2rem, 6vw, 5.5rem) 0 3rem;
}

.about-card {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    overflow: hidden;
    min-height: 570px;
    background: linear-gradient(135deg, #fffdf9 0%, #f4f8f3 100%);
    border: 1px solid rgba(60, 140, 114, .18);
    border-radius: 32px;
    box-shadow: 0 24px 70px rgba(36, 72, 57, .13);
}

.about-left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2rem, 6vw, 5rem);
}

.about-eyebrow {
    margin: 0 0 .8rem;
    color: #3c8c72;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1.4;
    text-transform: uppercase;
}

.about-eyebrow i { margin-right: .35rem; }

.about-left h1 {
    max-width: 600px;
    margin: 0;
    color: #193d31;
    font-size: clamp(2.6rem, 5vw, 5rem);
    font-weight: 800;
    letter-spacing: -.055em;
    line-height: .98;
}

.highlight-green { color: #3c8c72; }

.about-left .subtitle {
    max-width: 500px;
    margin: 1.5rem 0 1rem;
    color: #315a4b;
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    font-weight: 700;
    line-height: 1.45;
}

.about-left .bio {
    max-width: 600px;
    margin: .55rem 0;
    color: #52665e;
    font-size: 1rem;
    line-height: 1.75;
}

.about-left .bio strong { color: #244c3c; }

.about-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.65rem;
}

.about-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 2.9rem;
    padding: .75rem 1.15rem;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.about-button:hover { transform: translateY(-2px); }
.about-button--primary { color: #fff; background: #3c8c72; box-shadow: 0 10px 22px rgba(60, 140, 114, .22); }
.about-button--primary:hover { color: #fff; background: #2e745e; }
.about-button--secondary { color: #315a4b; background: #fff; border: 1px solid rgba(60, 140, 114, .25); }
.about-button--secondary:hover { color: #244c3c; background: #eef7f1; }

.about-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .7rem;
    margin-top: 2.2rem;
    padding-top: 1.2rem;
    border-top: 1px solid rgba(60, 140, 114, .2);
}

.about-stats div { color: #6c7c75; font-size: .78rem; line-height: 1.45; }
.about-stats strong { color: #244c3c; font-size: 1rem; }

.about-right {
    position: relative;
    min-height: 420px;
    background: #dcebe1;
}

.about-right::before,
.about-right::after {
    position: absolute;
    content: '';
    border-radius: 50%;
    background: rgba(255, 255, 255, .25);
}

.about-right::before { width: 280px; height: 280px; top: -90px; right: -70px; }
.about-right::after { width: 180px; height: 180px; bottom: -60px; left: -50px; }

.about-photo {
    position: absolute;
    inset: 1.5rem;
    z-index: 1;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(19, 53, 41, .04), rgba(19, 53, 41, .28)), url('/images/resin-art-table.png') center 65% / cover no-repeat;
    box-shadow: 0 18px 42px rgba(36, 72, 57, .22);
}

.mission-section { padding: 1rem 0 5rem; text-align: center; }
.mission-inner { max-width: 800px; margin: 0 auto; }
.mission-inner h2,
.product-preview h2,
.contact-small h2 { margin: 0; color: #244c3c; font-size: clamp(1.8rem, 3vw, 2.7rem); letter-spacing: -.035em; }
.mission-inner > p:not(.about-eyebrow) { max-width: 660px; margin: 1rem auto 2rem; color: #60726a; font-size: 1.05rem; line-height: 1.7; }

.mission-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; text-align: left; }
.mission-grid div { display: flex; align-items: center; gap: .65rem; padding: 1rem; color: #315a4b; background: #f6faf7; border: 1px solid rgba(60, 140, 114, .14); border-radius: 16px; font-weight: 700; }
.mission-grid i { color: #3c8c72; font-size: 1.2rem; }

.product-preview { padding: 0 0 5rem; text-align: center; }
.product-preview .about-eyebrow { margin-bottom: .65rem; }
.preview-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 2rem 0; }
.preview-card { overflow: hidden; color: #244c3c; background: #fff; border: 1px solid #e1e9e3; border-radius: 20px; box-shadow: 0 10px 28px rgba(36, 72, 57, .08); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.preview-card:hover { color: #244c3c; transform: translateY(-5px); box-shadow: 0 18px 34px rgba(36, 72, 57, .15); }
.preview-img { aspect-ratio: 1 / 1.08; background-position: center; background-size: cover; }
.preview-img.p1 { background-image: url('/images/categories/epoxy.webp'); }
.preview-img.p2 { background-image: url('/images/categories/outlet.webp'); }
.preview-img.p3 { background-image: url('/images/categories/uitvaart.webp'); }
.preview-img.p4 { background-image: url('/images/categories/terrazzo.webp'); }
.preview-card h3 { margin: 0; padding: 1rem; font-size: 1.05rem; }
.btn-shop-more { display: inline-flex; align-items: center; justify-content: center; min-height: 2.9rem; padding: .75rem 1.35rem; color: #fff; background: #3c8c72; border-radius: 999px; font-weight: 800; text-decoration: none; }
.btn-shop-more:hover { color: #fff; background: #2e745e; }

.contact-small { margin-bottom: 4rem; padding: clamp(1.7rem, 4vw, 3rem); text-align: center; background: #eef7f1; border: 1px solid rgba(60, 140, 114, .16); border-radius: 24px; }
.contact-small .about-eyebrow { margin-bottom: .5rem; }
.contact-small p:not(.about-eyebrow) { margin: .55rem 0; color: #52665e; line-height: 1.6; }
.contact-small a { color: #2f6b59; font-weight: 700; }

@media (max-width: 900px) {
    .about-card { grid-template-columns: 1fr; }
    .about-right { min-height: 430px; }
    .mission-grid, .preview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575px) {
    .about-hero, .mission-section, .product-preview, .contact-small { width: min(100% - 1.2rem, 1180px); }
    .about-card { border-radius: 22px; }
    .about-left { padding: 2rem 1.35rem; }
    .about-left h1 { font-size: clamp(2.45rem, 13vw, 4rem); }
    .about-right { min-height: 320px; }
    .about-photo { inset: .8rem; border-radius: 18px; }
    .about-actions { flex-direction: column; }
    .about-button { width: 100%; }
    .about-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem .6rem; }
    .mission-grid, .preview-grid { grid-template-columns: 1fr; }
    .mission-grid div { justify-content: center; }
}

/* Over ons — definitieve flowregels */
body.about-page .about-card { display: grid; grid-template-columns: minmax(0, .88fr) minmax(360px, 1.12fr); min-height: 0; overflow: hidden; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
body.about-page .about-left { display: flex; flex-direction: column; justify-content: center; padding: 3rem 3rem 3rem 0; }
body.about-page .about-right { position: relative; height: 620px; min-height: 0; overflow: hidden; background: #e7ded0; }
body.about-page .about-right::before,
body.about-page .about-right::after { display: none; }
body.about-page .about-photo { position: relative; inset: auto; width: 100%; height: 100%; overflow: hidden; border-radius: 0; background: none; box-shadow: none; }
body.about-page .about-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
body.about-page .about-story__image::after { display: none; }
body.about-page .about-story__image img { display: block; max-width: 100%; }
body.about-page .about-story-section,
body.about-page .about-process-section { overflow: hidden; }
body.about-page .about-story__image,
body.about-page .about-story__content,
body.about-page .about-process__intro,
body.about-page .about-process__steps { min-width: 0; }

@media (max-width: 900px) {
    body.about-page .about-card { grid-template-columns: 1fr; }
    body.about-page .about-left { padding: 0; }
    body.about-page .about-right { height: 460px; }
}

@media (max-width: 575px) {
    body.about-page .about-right,
    body.about-page .about-photo { height: 340px; }
}
