/* ==========================================================================
   0. DESIGN TOKENS
   ========================================================================== */

:root {
	/* SPACING SCALE */
	--csd-space-2xs: 4px;
	--csd-space-xs: 8px;
	--csd-space-sm: 12px;
	--csd-space-md: 16px;
	--csd-space-lg: 24px;
	--csd-space-xl: 32px;
	--csd-space-2xl: 48px;
	--csd-space-3xl: 64px;
	--csd-space-4xl: 96px;
	--csd-space-5xl: 128px;

	/* TYPO SCALE */
	--csd-font-meta: 14px;
	--csd-font-small: 13px;
	--csd-font-caption: 12px;

	/* RADIUS */
	--csd-radius-sm: 4px;
	--csd-radius-md: 8px;
	--csd-radius-lg: 16px;
	--csd-radius-pill: 999px;

	/* SHADOW */
	--csd-shadow-sm: 0 2px 6px rgba(15,23,42,.06);
	--csd-shadow-md: 0 8px 24px rgba(15,23,42,.08);

	/* Z-INDEX SCALE */
	--csd-z-base: 1;
	--csd-z-dropdown: 100;
	--csd-z-overlay: 1000;
	--csd-z-offcanvas: 1100;
	--csd-z-modal: 1200;

	/* Breakpoints */
	--csd-bp-mobile: 767px;
	--csd-bp-tablet: 768px;
	--csd-bp-desktop: 1024px;
	--csd-bp-wide: 1280px;

	--csd-grid-gutter: var(--csd-space-lg);
	
	--csd-line-height-body: 1.66;
	--csd-line-height-heading: 1.2;	
	
	--csd-container-width: 1200px;


	--csd-btn-primary-bg-hover: var(--csd-primary);
	--csd-btn-secondary-bg-hover: var(--csd-secondary);
	--csd-btn-accent1-bg-hover: var(--csd-accent1);
	--csd-btn-accent2-bg-hover: var(--csd-accent2);

	--csd-btn-soft-bg: rgba(0,0,0,0.05);
	--csd-btn-soft-primary-hover-bg: rgba(0,0,0,0.08);
	--csd-btn-soft-secondary-hover-bg: rgba(0,0,0,0.08);
	--csd-btn-soft-accent1-hover-bg: rgba(0,0,0,0.08);
	--csd-btn-soft-accent2-hover-bg: rgba(0,0,0,0.08);
}

/* ==========================================================================
   1. RESET & BASE
   ========================================================================== */
   
*, *::before, *::after {
    box-sizing: border-box;
}

html, body {
	/* Nu este acceptabil global! */
    /* overflow-x: hidden; */
}

body {
    font-family: var(--csd-font-body);
    font-size: var(--csd-font-size-body);
    line-height: var(--csd-line-height-body);
    color: var(--csd-neutral-dark);
    background: #ffffff;
    margin: 0;
}

/* Breakpoints (single source of truth in :root media)
   - Mobile:  	max-width: var(--csd-bp-mobile)
   - Tablet+: 	min-width: var(--csd-bp-tablet)
   - Desktop+: 	min-width: var(--csd-bp-desktop)
   - XL+:      	min-width: var(--csd-bp-wide)
*/

/* Responsive burger menu */
body.nav-open {
    overflow-y: hidden;
}

a {
	color: var(--csd-primary);
	text-decoration: none;
	transition: color .2s ease;
}

a:hover {
	color: var(--csd-primary);
}

a:visited,
a:active {
	color: var(--csd-primary);
}

a:focus {
	outline: none;
}

/* ==========================================================================
   2. TYPOGRAPHY SYSTEM
   ========================================================================== */

h1, h2, h3, h4, h5, h6 {
    font-family: var(--csd-font-head);
    line-height: var(--csd-line-height-heading);
    margin-top: 0;
    margin-bottom: var(--csd-space-md);
}

h1 { font-size: var(--csd-font-h1); }
h2 { font-size: var(--csd-font-h2); }
h3 { font-size: var(--csd-font-h3); }
h4 { font-size: var(--csd-font-h4); }
h5 { font-size: var(--csd-font-h5); }
h6 { font-size: var(--csd-font-h6); }

.entry-content > * + h2,
.entry-content > * + h3 {
	margin-top: var(--csd-space-lg);
}

p {
    margin-top: 0;
    margin-bottom: var(--csd-space-md);
}

p a:hover, 
.entry-content a:hover {
	text-decoration: underline;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* Padding utilities – token based */
.csd-p-xs { padding: var(--csd-space-xs); }
.csd-p-sm { padding: var(--csd-space-sm); }
.csd-p-md { padding: var(--csd-space-md); }
.csd-p-lg { padding: var(--csd-space-lg); }
.csd-p-xl { padding: var(--csd-space-xl); }
.csd-p-2xl { padding: var(--csd-space-2xl); }
.csd-p-3xl { padding: var(--csd-space-3xl); }

.csd-ptb-xs { 
	padding-top: var(--csd-space-xs); 
	padding-bottom: var(--csd-space-xs); 
}
.csd-ptb-sm { 
	padding-top: var(--csd-space-sm); 
	padding-bottom: var(--csd-space-sm); 
}
.csd-ptb-md { 
	padding-top: var(--csd-space-md); 
	padding-bottom: var(--csd-space-md); 
}
.csd-ptb-lg { 
	padding-top: var(--csd-space-lg); 
	padding-bottom: var(--csd-space-lg); 
}
.csd-ptb-xl { 
	padding-top: var(--csd-space-xl); 
	padding-bottom: var(--csd-space-xl); 
}
.csd-ptb-2xl { 
	padding-top: var(--csd-space-2xl); 
	padding-bottom: var(--csd-space-2xl); 
}
.csd-ptb-3xl { 
	padding-top: var(--csd-space-3xl); 
	padding-bottom: var(--csd-space-3xl); 
}

.csd-spacer-xs { display:block; height: var(--csd-space-xs); }
.csd-spacer-sm { display:block; height: var(--csd-space-sm); }
.csd-spacer-md { display:block; height: var(--csd-space-md); }
.csd-spacer-lg { display:block; height: var(--csd-space-lg); }
.csd-spacer-xl { display:block; height: var(--csd-space-xl); }
.csd-spacer-2xl { display:block; height: var(--csd-space-2xl); }
.csd-spacer-3xl { display:block; height: var(--csd-space-3xl); }

@media (max-width: 767px) {
	.csd-mobile-spacer-xs { display:block; height: var(--csd-space-xs); }
	.csd-mobile-spacer-sm { display:block; height: var(--csd-space-sm); }
	.csd-mobile-spacer-md { display:block; height: var(--csd-space-md); }
	.csd-mobile-spacer-lg { display:block; height: var(--csd-space-lg); }
	.csd-mobile-spacer-xl { display:block; height: var(--csd-space-xl); }
	.csd-mobile-spacer-2xl { display:block; height: var(--csd-space-2xl); }
	.csd-mobile-spacer-3xl { display:block; height: var(--csd-space-3xl); }
}

.csd-pt-xs { padding-top: var(--csd-space-xs); }
.csd-pt-sm { padding-top: var(--csd-space-sm); }
.csd-pt-md { padding-top: var(--csd-space-md); }
.csd-pt-lg { padding-top: var(--csd-space-lg); }
.csd-pt-xl { padding-top: var(--csd-space-xl); }
.csd-pt-2xl { padding-top: var(--csd-space-2xl); }
.csd-pt-3xl { padding-top: var(--csd-space-3xl); }

.csd-pr-xs { padding-right: var(--csd-space-xs); }
.csd-pr-sm { padding-right: var(--csd-space-sm); }
.csd-pr-md { padding-right: var(--csd-space-md); }
.csd-pr-lg { padding-right: var(--csd-space-lg); }
.csd-pr-xl { padding-right: var(--csd-space-xl); }
.csd-pr-2xl { padding-right: var(--csd-space-2xl); }
.csd-pr-3xl { padding-right: var(--csd-space-3xl); }

.csd-pb-xs { padding-bottom: var(--csd-space-xs); }
.csd-pb-sm { padding-bottom: var(--csd-space-sm); }
.csd-pb-md { padding-bottom: var(--csd-space-md); }
.csd-pb-lg { padding-bottom: var(--csd-space-lg); }
.csd-pb-xl { padding-bottom: var(--csd-space-xl); }
.csd-pb-2xl { padding-bottom: var(--csd-space-2xl); }
.csd-pb-3xl { padding-bottom: var(--csd-space-3xl); }

.csd-pl-xs { padding-left: var(--csd-space-xs); }
.csd-pl-sm { padding-left: var(--csd-space-sm); }
.csd-pl-md { padding-left: var(--csd-space-md); }
.csd-pl-lg { padding-left: var(--csd-space-lg); }
.csd-pl-xl { padding-left: var(--csd-space-xl); }
.csd-pl-2xl { padding-left: var(--csd-space-2xl); }
.csd-pl-3xl { padding-left: var(--csd-space-3xl); }

.csd-mt-lg { margin-top: var(--csd-space-lg); }
.csd-mb-lg { margin-bottom: var(--csd-space-lg); }


/* Stabilitate */
.csd-topbar-inner > *,
.main-navigation > *,
.footer-grid > *,
.widget > *,
.archive-card > * {
    min-width: 0;
}
/* Corectie pattern fragil Underscores */
.main-navigation ul ul {
    left: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.main-navigation li:hover > ul,
.main-navigation li.focus > ul {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* SVG și media neacoperite complet */
svg {
    max-width: 100%;
    height: auto;
}

/* Breakpoints standard */
.csd-desk-only,
.csd-tablet-only,
.csd-mobile-only {
	display: none !important;
}

/* desktop */
@media (min-width: 1025px) {
	.csd-desk-only { display: block !important; }
}

/* tablet */
@media (min-width: 768px) and (max-width: 1024px) {
	.csd-tablet-only { display: block !important; }
}

/* mobile */
@media (max-width: 767px) {
	.csd-mobile-only { display: block !important; }
}
/* hide desktop */
@media (min-width: 1025px) {
	.csd-hide-desk { display: none !important; }
}

/* hide tablet */
@media (min-width: 768px) and (max-width: 1024px) {
	.csd-hide-tablet { display: none !important; }
}

/* hide mobile */
@media (max-width: 767px) {
	.csd-hide-mobile { display: none !important; }
}

.csd-title-line {
	display: flex;
	align-items: center;
	gap: var(--csd-space-md);
}
.csd-title-line::before {
	content: "";
	width: var(--csd-space-2xl);
	height: 1px;
	background: currentColor;
}


/* ==========================================================================
   3. LAYOUT PRIMITIVES
   ========================================================================== */

.container {
    max-width: var(--csd-container-width);
    margin-inline: auto;
    padding-inline: var(--csd-space-lg);
}
.container-fluid {
	width: 100%;
	padding-inline: var(--csd-space-lg);
}
.main-content {
    min-width: 0;
    margin: 0;
    flex: 1 1 auto;
}

section {
	padding-block: var(--csd-space-2xl);
}

section.compact {
	padding-block: var(--csd-space-lg);
}

section.accent {
	background: var(--csd-neutral-light);
}

section + section {
	border-top: 1px solid rgba(0,0,0,.06);
}
section.hero {
	padding-block: var(--csd-space-4xl);
}

section.no-divider + section {
	border-top: 0;
}


/* ==========================================================================
   4. GRID SYSTEM
   ========================================================================== */

.csd-row {
    display: flex;
    flex-wrap: wrap;
	margin-left: calc(-1 * var(--csd-grid-gutter));
	margin-right: calc(-1 * var(--csd-grid-gutter));
}
.csd-col {
    flex: 0 0 auto;
    padding-left: var(--csd-grid-gutter);
    padding-right: var(--csd-grid-gutter);
    min-width: 0;
}

/* 12 grid fractions */
/* 12 grid fractions – stabil flex */

.csd-col-1  { flex: 0 0 8.333333%;  max-width: 8.333333%; }
.csd-col-2  { flex: 0 0 16.666667%; max-width: 16.666667%; }
.csd-col-3  { flex: 0 0 25%;        max-width: 25%; }
.csd-col-4  { flex: 0 0 33.333333%; max-width: 33.333333%; }
.csd-col-5  { flex: 0 0 41.666667%; max-width: 41.666667%; }
.csd-col-6  { flex: 0 0 50%;        max-width: 50%; }
.csd-col-7  { flex: 0 0 58.333333%; max-width: 58.333333%; }
.csd-col-8  { flex: 0 0 66.666667%; max-width: 66.666667%; }
.csd-col-9  { flex: 0 0 75%;        max-width: 75%; }
.csd-col-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
.csd-col-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
.csd-col-12 { flex: 0 0 100%;       max-width: 100%; }

.csd-col-flex {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.csd-col-flex .csd-col-bottom {
	margin-top: auto;
}

/* mobile */
@media (max-width:767px){
    .csd-col {
        flex: 0 0 100%;
        max-width: 100%;
    }
}
.csd-align-top { align-items:flex-start; }
.csd-align-center { align-items:center; }
.csd-align-bottom { align-items:flex-end; }

@media (min-width:1024px){
    .csd-row-reverse {
        flex-direction: row-reverse;
    }
}

.csd-split {
  display: grid;
  gap: var(--csd-space-2xl);
  align-items: center;
  min-width: 0;
}

.csd-split > * { min-width: 0; } /* important pt texte lungi */

.csd-split-50 { grid-template-columns: 1fr 1fr; }

.csd-split-60 { grid-template-columns: 6fr 4fr; }
.csd-split-40 { grid-template-columns: 4fr 6fr; }

.csd-split-55 { grid-template-columns: 11fr 9fr; }
.csd-split-45 { grid-template-columns: 9fr 11fr; }

.csd-split-70 { grid-template-columns: 7fr 3fr; }
.csd-split-30 { grid-template-columns: 3fr 7fr; }

.csd-split-reverse > :first-child {
    order: 2;
}
.csd-split-reverse > :last-child {
    order: 1;
}
.csd-split-hero {
    padding-top: var(--csd-space-4xl);
    padding-bottom: var(--csd-space-4xl);
}

.csd-split-top { align-items: start; }
.csd-split-center { align-items: center; }
.csd-split-bottom { align-items: end; }

@media (max-width: 767px) {
    .csd-split {
        grid-template-columns: 1fr !important;
    }
}


/* ==========================================================================
   5. SECTION SYSTEM
   ========================================================================== */



/* ==========================================================================
   6. NAVIGATION SYSTEM
   ========================================================================== */

.csd-topbar {
    background: var(--csd-neutral-light);
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

.csd-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: var(--csd-space-lg);
    padding: 0;
    gap: var(--csd-space-sm);
}

.csd-menu-top {
    display: flex;
    gap: var(--csd-space-md);
    list-style: none;
    margin: 0;
    padding: 0;
}

.csd-menu-top a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--csd-neutral-dark);
    padding-block: var(--csd-space-xs);
    font-size: 14px;
}
.csd-menu-top a:hover {
    color: var(--csd-primary-light);
}

/* ==========================================================================
   3. HEADER (logo + meniu)
   ========================================================================== */

.csd-header {
    background: #ffffff;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

.csd-header-inner {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    min-height: var(--csd-space-3xl);
    padding-top: 0px;
    padding-bottom: 0px;
    /* gap: var(--csd-space-md); */
}

.site-branding {
    display: flex;
    align-items: flex-end;
}

.site-branding img {
    height: auto;
    display: block;
}

.site-branding .csd-site-name {
    font-size: 24px;
	font-weight: 700;
}
.site-branding .csd-site-slogan {
    font-size: 14px;
}

/* ==========================================================================
   4. MENIU DESKTOP – NIVEL 1
   ========================================================================== */

.csd-main-nav {
    display: flex;
    align-items: flex-end;
    position: relative;
}

.csd-main-nav > ul,
.csd-main-menu {
    display: flex;
    gap: 30px;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* item nivel 1 */
.csd-main-nav > ul > li > a,
.csd-main-menu > li > a {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 16px;
    padding-top: 8px;
    padding-bottom: 8px;
    position: relative;
    display: inline-flex;
    align-items: flex-end;
    color: var(--csd-neutral-dark);
}

.csd-main-nav > ul > li > a::after,
.csd-main-menu > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0px;
    height: 0;
    transition: height .16s ease, background .16s ease;
}

/* hover nivel 1 */
.csd-main-nav > ul > li:hover > a::after,
.csd-main-menu > li:hover > a::after {
    height: 2px;
    background: var(--csd-primary);
}

/* active nivel 1 (inclusiv când ești pe child) */
.csd-main-menu li.current-menu-item > a,
.csd-main-menu li.current_page_item > a,
.csd-main-menu li.current-menu-ancestor > a,
.csd-main-menu li.current-page-ancestor > a {
    color: var(--csd-primary);
}

.csd-main-menu li.current-menu-item > a::after,
.csd-main-menu li.current_page_item > a::after,
.csd-main-menu li.current-menu-ancestor > a::after,
.csd-main-menu li.current-page-ancestor > a::after {
    height: 2px;
    background: var(--csd-primary);
}

/* ==========================================================================
   4b. MENIU DESKTOP – SUBMENIURI
   ========================================================================== */

/* container submeniu */
.csd-main-menu li {
    position: relative;
}

.csd-main-menu li ul.sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 0px;
    min-width: 220px;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.08);
    padding: 5px 0;
    list-style: none;
    z-index: 10010;
    display: none;
    /* Better then opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(5px);
    transition: opacity .15s ease, transform .15s ease; */
}

/* afișare la hover pe desktop */
@media (min-width: 901px) {
    .csd-main-menu > li:hover > ul.sub-menu {
        display: block;
        /* Better then opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0); */
    }
}

/* item din submeniu */
.csd-main-menu li ul.sub-menu {
    margin: 0;
}
.csd-main-menu li ul.sub-menu li > a {
    display: block;
    padding: 5px 15px;
    font-size: 14px;
    font-weight: 500;
    text-transform: none;
    color: var(--csd-neutral-dark);
    white-space: nowrap;
}


/* dropdown default */
.csd-main-menu > li > ul.sub-menu {
    left: 0;
    right: auto;
}

/* dacă dropdown-ul ar ieși din viewport → îl forțezi în stânga */
.csd-main-menu > li:last-child > ul.sub-menu,
.csd-main-menu > li:nth-last-child(2) > ul.sub-menu {
    left: auto;
    right: 0;
}
.csd-main-menu li ul.sub-menu li > a:hover {
    background: var(--csd-neutral-light);
    color: var(--csd-primary);
}

/* active/ancestor în submeniu */
.csd-main-menu li ul.sub-menu li.current-menu-item > a,
.csd-main-menu li ul.sub-menu li.current_page_item > a,
.csd-main-menu li ul.sub-menu li.current-menu-ancestor > a,
.csd-main-menu li ul.sub-menu li.current-page-ancestor > a {
    color: var(--csd-primary);
    font-weight: 600;
}

/* submeniu nivel 2+ (dropdown în cascadă, dacă apare) */
.csd-main-menu li ul.sub-menu li ul.sub-menu {
    top: 0;
    left: 100%;
    margin-left: 0px;
}
@media (min-width: 901px) {
    .csd-main-menu li:hover > ul.sub-menu {
        display: block;
    }
}

/* ==========================================================================
   5. MENIU MOBIL – HAMBURGER + OFF-CANVAS + OVERLAY
   ========================================================================== */

.csd-nav-toggle-checkbox {
    display: none !important;
}

/* HAMBURGER MARE, LINII 4px, ALINIAT ÎN DREAPTA */
.csd-nav-toggle-btn {
    display: none;
    width: 45px;
    height: 45px;
    position: relative;
    cursor: pointer;
    z-index: 100001;
    margin-left: auto;
}

/* linii hamburger */
.csd-nav-toggle-btn::before,
.csd-nav-toggle-btn::after {
    content: "";
    position: absolute;
    left: 5px;
    right: 5px;
    height: 5px;
    background: var(--csd-neutral-dark);
    border-radius: 3px;
    transition: transform .25s ease, top .25s ease;
}
.csd-nav-toggle-btn::before {
    top: 10px;
}
.csd-nav-toggle-btn::after {
    top: 30px;
}

/* linia centrală */
.csd-nav-toggle-btn .csd-nav-toggle-icon {
    position: absolute;
    left: 5px;
    right: 5px;
    top: 20px;
    height: 5px;
    background: var(--csd-neutral-dark);
    border-radius: 5px;
    transition: opacity .25s ease;
}

/* animație → X */
#csd-nav-toggle:checked + .csd-nav-toggle-btn::before {
    top: 20px;
    transform: rotate(45deg);
}
#csd-nav-toggle:checked + .csd-nav-toggle-btn::after {
    top: 20px;
    transform: rotate(-45deg);
}
#csd-nav-toggle:checked + .csd-nav-toggle-btn .csd-nav-toggle-icon {
    opacity: 0;
}

/* X overlay – apare doar când meniul e deschis pe mobil */
.csd-nav-close-overlay {
    position: fixed;
    top: 15px;
    right: 165px;
    font-size: 32px;
    cursor: pointer;
    z-index: 100003;

    width: 45px;
    height: 45px;
    background: rgba(255,255,255,0.85);
    border-radius: 50%;

    display: none; /* implicit ascuns */
    align-items: center;
    justify-content: center;
}

/* afișăm X doar când checkbox-ul e bifat, doar pe mobil */
@media (max-width: 900px) {
    #csd-nav-toggle:checked + .csd-nav-toggle-btn + .csd-main-nav .csd-nav-close-overlay {
        display: flex;
    }
}

/* ascundem X pe desktop indiferent de stare */
@media (min-width: 901px) {
    .csd-nav-close-overlay {
        display: none !important;
    }
}

/* OVERLAY FULL SCREEN FIX, NU SE MIȘCĂ LA SCROLL */
.csd-overlay {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0,0,0,0.45);
    opacity: 0;
    pointer-events: none;
    transition: opacity .35s ease;
    z-index: 99990 !important;
}

/* overlay activ */
#csd-nav-toggle:checked ~ .csd-overlay {
    opacity: 1;
    pointer-events: auto;
}

/* ==========================================================================
   5b. OFF-CANVAS – MOBIL
   ========================================================================== */

@media (max-width: 900px) {

    .csd-nav-toggle-btn {
        display: block;
    }

    .csd-main-nav > ul,
    .csd-main-menu {
        position: fixed;
        top: 0;
        left: -280px;
        width: 260px;
        height: 100vh;
        padding: 45px 30px 30px;
        background: #ffffff;
        border-right: 1px solid rgba(0,0,0,0.08);

        display: flex;
        flex-direction: column;
        gap: 5px;

        transition: left .35s cubic-bezier(0.25, 0.1, 0.25, 1),
                    opacity .35s ease;
        opacity: 0;

        z-index: 100002;

        box-shadow: 4px 0 22px rgba(0,0,0,0.16);
        overflow-y: auto;
    }

    /* meniul intră în ecran */
    #csd-nav-toggle:checked + .csd-nav-toggle-btn + .csd-main-nav .csd-main-menu {
        left: 0;
        opacity: 1;
    }

    /* submeniuri pe mobil – listă simplă, fără dropdown flotant */
    .csd-main-menu li ul.sub-menu {
        position: static;
        margin: 0;
        min-width: auto;
        border: none;
        box-shadow: none;
        padding: 0 0 0 15px;
        display: block;
        background: transparent;
    }

    .csd-main-menu li ul.sub-menu li > a {
        padding: 15px 0 5px 0;
        white-space: normal;
    }

}

/* Desktop normal */
@media (min-width: 901px) {
    .csd-main-nav > ul,
    .csd-main-menu {
        position: static;
        height: auto;
        width: auto;
        padding: 0;
        opacity: 1;
        left: auto;
        box-shadow: none;
        border-right: none;
        flex-direction: row;
        gap: 30px;
    }
}

/* ==========================================================================
   7. SIDEBAR — ICONURI A NIVEL 1 / 2 / 3 
   ========================================================================== */

/* Sidebar */
.sidebar {
    position: relative;
    width: 300px;
    flex: 0 0 300px;
    margin-top: var(--csd-space-md);
}

/* Responsive mobil */
@media (max-width: 767px) {
    .with-sidebar {
        flex-direction: column;
    }
    .sidebar {
        width: 100%;
        flex: 0 0 auto;
    }
}

/* Responsive 1024 */
@media (max-width: 1024px) {
    .sidebar {
        width: 260px;
        flex: 0 0 260px;
    }
}

/* RIGHT – standard */
.with-sidebar, 
body.csd-sidebar-right .with-sidebar {
    display: flex;
    gap: var(--csd-space-md);
    margin-top: var(--csd-space-md);
    align-items: flex-start;
}
/* LEFT – doar reverse */
body.csd-sidebar-left .with-sidebar {
    flex-direction: row-reverse;
}
/* Fara sidebar */
body.csd-sidebar-none .no-sidebar {
    margin-top: var(--csd-space-md);
}

.sidebar .widget h4 {
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0 0 15px;
}

.sidebar .widget ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* --- NIVEL 1 — PĂRINTE --- */

.sidebar > .sidebar-block ul > li > a {
    display: block;
    position: relative;
    padding: 5px 0 5px 20px;
    font-size: 16px;
    font-weight: 600;
    color: var(--csd-neutral-dark);
    transition: color 0.2s;
}

.sidebar > .sidebar-block ul > li > a:hover {
    color: var(--csd-primary);
}

/* icon părinte (cel mai mare) */
.sidebar > .sidebar-block ul > li > a::before {
    font-family: dashicons;
    content: "\f345"; /* chevron right */
    position: absolute;
    left: 0;
    top: 5px;
    font-size: 16px;
    opacity: 0.5;
}

/* PĂRINTE ACTIV / ANCESTOR */
.sidebar > .sidebar-block ul > li.current-menu-item > a,
.sidebar > .sidebar-block ul > li.current_page_item > a,
.sidebar > .sidebar-block ul > li.current-menu-ancestor > a,
.sidebar > .sidebar-block ul > li.current-page-ancestor > a {
    color: var(--csd-primary);
}

.sidebar > .sidebar-block ul > li.current-menu-item > a::before,
.sidebar > .sidebar-block ul > li.current_page_item > a::before,
.sidebar > .sidebar-block ul > li.current-menu-ancestor > a::before,
.sidebar > .sidebar-block ul > li.current-page-ancestor > a::before {
    content: "\f347";
    opacity: 1;
}

/* --- NIVEL 2 — CHILD --- */

.sidebar ul ul > li > a {
    position: relative;
    padding: 5px 0 5px 30px!important; 
    font-size: 14px!important;     
    font-weight: 400;
    color: var(--csd-neutral-dark);
    transition: color .16s;
}

.sidebar ul ul > li > a:hover {
    color: var(--csd-primary);
}

/* icon mai mic și mai puțin opac */
.sidebar ul ul > li > a::before {
    font-family: dashicons;
    content: "\f345";
    position: absolute;
    left: 15px!important;
    top: 7px!important;
    font-size: 12px!important;
    opacity: .50;
}

/* CHILD ACTIV */
.sidebar ul ul li.current-menu-item > a,
.sidebar ul ul li.current_page_item > a {
    color: var(--csd-primary);
    font-weight: 600;
}

.sidebar ul ul li.current-menu-item > a::before,
.sidebar ul ul li.current_page_item > a::before {
    content: "\f347";
    opacity: 1;
}

/* CHILD care este ANCESTOR (pentru nivel 3 activ) */
.sidebar ul ul li.current-menu-ancestor > a,
.sidebar ul ul li.current-page-ancestor > a {
    color: var(--csd-primary);
    font-weight: 600;
}

.sidebar ul ul li.current-menu-ancestor > a::before,
.sidebar ul ul li.current-page-ancestor > a::before {
    content: "\f347";
    opacity: 1;
}

/* ---- NIVEL 3 — NEPOT --- */

.sidebar ul ul ul > li > a {
    position: relative;
    padding: 5px 0 5px 40px!important;
    font-size: 12px;
    font-weight: 400;
    transition: color .16s;
}

.sidebar ul ul ul > li > a:hover {
    color: var(--csd-primary);
}

.sidebar ul ul ul > li > a::before {
    font-family: dashicons;
    content: "\f345";
    position: absolute;
    left: 30px!important;
    top: 8px!important;
    font-size: 10px!important;
    opacity: 0.3;
}

/* NEPOT ACTIV */
.sidebar ul ul ul li.current-menu-item > a,
.sidebar ul ul ul li.current_page_item > a {
    color: var(--csd-primary);
    font-weight: 600;
}

.sidebar ul ul ul li.current-menu-item > a::before,
.sidebar ul ul ul li.current_page_item > a::before {
    content: "\f347";
    opacity: 1;
}


/* ==========================================================================
   8. CONTENT COMPONENTS
   ========================================================================== */

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: var(--csd-space-md);
    font-size: 14px;
    color: rgba(0,0,0,0.55);
}

/* META EXTENDED */
.post-meta-extended {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    font-size: 14px;
    color: rgba(0,0,0,0.55);
    padding: 10px 0 15px;
    border-bottom: 1px solid rgba(0,0,0,0.08);
    margin-bottom: var(--csd-space-md);
}
.post-meta-extended .post-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.post-meta-extended .post-meta-item::before {
    font-family: dashicons;
    font-size: 16px;
    opacity: 0.9;
    color: var(--csd-primary);
}

.post-meta-extended .post-meta-item:nth-child(1)::before { content: "\f469"; }
.post-meta-extended .post-meta-item:nth-child(2)::before { content: "\f463"; }
.post-meta-extended .post-meta-item:nth-child(3)::before { content: "\f469"; }

.post-featured-image img,
.featured-responsive {
    width: 100%;
    height: auto;
	overflow: hidden;
    display: block;
    border-radius: var(--csd-radius-sm); 
}


/* ==========================================================================
   9. ARCHIVE & CARDS
   ========================================================================== */

.archive-title {
    margin-top: 0;
    margin-bottom: var(--csd-space-md);
}

.archive-list {
    display: flex;
    flex-direction: column;
    gap: var(--csd-space-md);
}

.archive-card {
    display: flex;
    gap: var(--csd-space-md);
    padding: var(--csd-space-md);
    border-radius: var(--csd-radius-md);
    border: 1px solid rgba(0,0,0,0.08);
    background: #ffffff;
    box-shadow: var(--csd-shadow-md);
}

.archive-card img {
    width: 150px;
    border-radius: var(--csd-radius-sm);
    object-fit: cover;
}

.archive-card-title {
    margin: 0 0 5px;
}

.archive-card-title a {
    font-size: 20px;
    font-weight: 600;
    color: var(--csd-neutral-dark);
}

.archive-card-title a:hover {
    color: var(--csd-primary);
}

.archive-card-meta {
    font-size: 13px;
    color: rgba(0,0,0,0.6);
    margin-bottom: 5px;
}

.archive-card-excerpt {
    font-size: 14px;
    color: rgba(0,0,0,0.8);
}

.archive-card-readmore {
    display: inline-block;
    margin-top: 10px;
    font-size: 14px;
    color: var(--csd-primary);
    font-weight: 600;
}

/* pagination */
.pagination {
    margin-top: var(--csd-space-lg);
    font-size: 14px;
}
.pagination a,
.pagination span {
    display: inline-block;
    padding: 5px 10px;
    margin: 0 3px;
    border: 1px solid rgba(0,0,0,0.2);
    text-decoration: none;
}


/* ==========================================================================
   10. FOOTER
   ========================================================================== */

.site-footer {
    background: var(--csd-neutral-dark);
    color: var(--csd-neutral-light);
    padding-block: var(--csd-space-2xl);
	font-size: 14px;
    line-height: 1.6;
}

.site-footer a {
    color: var(--csd-neutral-light);
}

.site-footer a:hover {
    color: var(--csd-primary-light);
}

.footer-grid {
    display: grid;
	grid-template-columns: minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);
    gap: var(--csd-space-2xl);
}

.site-footer .fwidget {
    margin: 0 0 var(--csd-space-lg);
}

.site-footer .fwidget:last-child {
    margin-bottom: 0;
}

.site-footer .fwidget p {
    margin-bottom: var(--csd-space-sm);
}

.site-footer .fwidget ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

/* menu footer – eliminare buline pe toate nivelurile */
.site-footer .menu,
.site-footer .menu ul,
.site-footer .menu li {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* item meniu */
.site-footer .menu li {
    position: relative;
    padding-left: 15px;
    margin-bottom: 4px;
}

/* link */
.site-footer .menu a {
    font-size: 14px;
    padding: 2px 0 2px 10px;
    display: inline-block;
}

/* icon stanga – aliniat pe linkul parinte */
.site-footer .menu li::before {
    content: "\f347";
    font-family: "Dashicons";
    font-size: 14px;
    line-height: 1;
    position: absolute;
    left: 0;
    top: 6px;
    color: var(--csd-neutral-light);
    transition: color 0.2s ease;
}

/* hover + activ */
.site-footer .menu li:hover::before,
.site-footer .menu .current-menu-item::before {
    content: "\f345";
    color: var(--csd-primary-light);
}

/* submeniu footer */
.site-footer .menu .sub-menu {
    margin-top: 5px;
    padding-left: 0px;
}

.site-footer .menu .sub-menu li {
    padding-left: 15px;
    margin-bottom: 2px;
}

.site-footer .menu .sub-menu a {
    font-size: 13px;
}

/* icon submeniu */
.site-footer .menu .sub-menu li::before {
    font-size: 12px;
    top: 7px;
}

.footer-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    padding: 1rem 0;
}

.footer-copy {
    text-align: left;
	font-size: 14px;
    opacity: .75;
	margin-top: var(--csd-space-lg);
}

.footer-right {
    text-align: right;
	font-size: 14px;
    opacity: .75;
	margin-top: var(--csd-space-lg);
}

/* Mobile */

@media (max-width: 900px) {
	.site-footer section {
	  padding: 0px;
	}
}
@media (max-width: 767px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }
    .footer-bottom {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .footer-copy,
    .footer-right {
        text-align: left;
    }
}

/* ==========================================================================
   12. RESPONSIVE (CENTRALIZAT partial)
   ========================================================================== */

@media (max-width: 900px) {

    .archive-card {
        flex-direction: column;
    }

    /* imagine featured pe mobil – colțuri drepte dacă vrei total edge-to-edge */
    .post-featured-image img {
        border-radius: 0;
    }
}

@media (max-width: 600px) {
    .site-branding img {
        max-width: 260px;
        width: 100%;
    }
    .csd-topbar-inner {
        flex-direction: column;
        align-items: flex-start;
        padding: 10px 0;
        gap: 4px; /* mai strâns între left & right */
    }
}

/* ==========================================================================
   13. SEARCH FORM
   ========================================================================== */

.csd-search-fields {
    display: flex;
    align-items: center;
    gap: 6px;
}

.csd-search-input {
    flex: 1;
    padding: 8px 12px;
    border: 1px solid rgba(0,0,0,0.25);
    border-radius: 4px;
    font-size: 14px;
}

.csd-search-button {
    background: var(--csd-primary);
    border: none;
    padding: 8px 12px;
    cursor: pointer;
    color: #fff;
    border-radius: 4px;
    display: flex;
    align-items: center;
}
.csd-search-button:hover {
    background: var(--csd-primary-light);
}

/* ==========================================================================
   14. COMMENTS
   ========================================================================== */

.comment-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.comment {
    margin-bottom: var(--csd-space-md);
    padding-bottom: var(--csd-space-sm);
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

.comment-author {
    font-weight: 600;
}

.comment-metadata {
    font-size: 13px;
    color: rgba(0,0,0,0.55);
    margin-bottom: 4px;
}

.comment-reply-link {
    font-size: 13px;
    color: var(--csd-primary);
}
.comment-reply-link:hover {
    color: var(--csd-primary-light);
}

.comment-form textarea {
    width: 100%;
    padding: 12px;
}

/* ==========================================================================
   15. BUTOANE
   ========================================================================== */

/* BAZĂ */
.btn,
a.btn,
button.btn,
input[type="button"].btn,
input[type="submit"].btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--csd-space-xs);
	padding: var(--csd-space-sm) var(--csd-space-lg);
	font-size: var(--csd-font-size-sm);
	font-weight: 600;
	line-height: 1.2;
	border-radius: var(--csd-radius-pill);
	border: 1px solid transparent;
	text-decoration: none;
	cursor: pointer;
	transition:
		background-color .2s ease,
		color .2s ease,
		border-color .2s ease,
		box-shadow .2s ease,
		transform .15s ease;
}

/* butoanele NU trebuie să moștenească stilul vizual de link */
a.btn,
a.btn:link,
a.btn:visited,
a.btn:hover,
a.btn:active {
	text-decoration: none;
}

/* DIMENSIUNI */
a.btn.btn-sm {
	padding: var(--csd-space-2xs) var(--csd-space-md);
	font-size: var(--csd-font-size-xs);
}

a.btn.btn-md {
	padding: var(--csd-space-xs) var(--csd-space-lg);
	font-size: var(--csd-font-size-sm);
}

a.btn.btn-lg {
	padding: var(--csd-space-sm) var(--csd-space-lg);
	font-size: var(--csd-font-size-md);
}

/* VARIANTE SOLIDE */
.btn-primary,
a.btn-primary,
a.btn-primary:link,
a.btn-primary:visited {
	background-color: var(--csd-primary);
	border-color: var(--csd-primary);
	color: #ffffff;
}

.btn-primary:hover,
a.btn-primary:hover,
.btn-primary:active,
a.btn-primary:active {
	background-color: var(--csd-btn-primary-bg-hover, var(--csd-primary));
	border-color: var(--csd-btn-primary-bg-hover, var(--csd-primary));
	color: #ffffff;
}

.btn-secondary,
a.btn-secondary,
a.btn-secondary:link,
a.btn-secondary:visited {
	background-color: var(--csd-secondary);
	border-color: var(--csd-secondary);
	color: #ffffff;
}

.btn-secondary:hover,
a.btn-secondary:hover,
.btn-secondary:active,
a.btn-secondary:active {
	background-color: var(--csd-btn-secondary-bg-hover, var(--csd-secondary));
	border-color: var(--csd-btn-secondary-bg-hover, var(--csd-secondary));
	color: #ffffff;
}

.btn-accent1,
a.btn-accent1,
a.btn-accent1:link,
a.btn-accent1:visited {
	background-color: var(--csd-accent1);
	border-color: var(--csd-accent1);
	color: #ffffff;
}

.btn-accent1:hover,
a.btn-accent1:hover,
.btn-accent1:active,
a.btn-accent1:active {
	background-color: var(--csd-btn-accent1-bg-hover, var(--csd-accent1));
	border-color: var(--csd-btn-accent1-bg-hover, var(--csd-accent1));
	color: #ffffff;
}

.btn-accent2,
a.btn-accent2,
a.btn-accent2:link,
a.btn-accent2:visited {
	background-color: var(--csd-accent2);
	border-color: var(--csd-accent2);
	color: #ffffff;
}

.btn-accent2:hover,
a.btn-accent2:hover,
.btn-accent2:active,
a.btn-accent2:active {
	background-color: var(--csd-btn-accent2-bg-hover, var(--csd-accent2));
	border-color: var(--csd-btn-accent2-bg-hover, var(--csd-accent2));
	color: #ffffff;
}

/* OUTLINE — explicit */
.btn-outline.btn-primary,
a.btn-outline.btn-primary,
a.btn-outline.btn-primary:link,
a.btn-outline.btn-primary:visited {
	background-color: transparent;
	border-color: var(--csd-primary);
	color: var(--csd-primary);
}

.btn-outline.btn-primary:hover,
a.btn-outline.btn-primary:hover,
.btn-outline.btn-primary:active,
a.btn-outline.btn-primary:active {
	background-color: var(--csd-primary);
	border-color: var(--csd-primary);
	color: #ffffff;
}

.btn-outline.btn-secondary,
a.btn-outline.btn-secondary,
a.btn-outline.btn-secondary:link,
a.btn-outline.btn-secondary:visited {
	background-color: transparent;
	border-color: var(--csd-secondary);
	color: var(--csd-secondary);
}

.btn-outline.btn-secondary:hover,
a.btn-outline.btn-secondary:hover,
.btn-outline.btn-secondary:active,
a.btn-outline.btn-secondary:active {
	background-color: var(--csd-secondary);
	border-color: var(--csd-secondary);
	color: #ffffff;
}

.btn-outline.btn-accent1,
a.btn-outline.btn-accent1,
a.btn-outline.btn-accent1:link,
a.btn-outline.btn-accent1:visited {
	background-color: transparent;
	border-color: var(--csd-accent1);
	color: var(--csd-accent1);
}

.btn-outline.btn-accent1:hover,
a.btn-outline.btn-accent1:hover,
.btn-outline.btn-accent1:active,
a.btn-outline.btn-accent1:active {
	background-color: var(--csd-accent1);
	border-color: var(--csd-accent1);
	color: #ffffff;
}

.btn-outline.btn-accent2,
a.btn-outline.btn-accent2,
a.btn-outline.btn-accent2:link,
a.btn-outline.btn-accent2:visited {
	background-color: transparent;
	border-color: var(--csd-accent2);
	color: var(--csd-accent2);
}

.btn-outline.btn-accent2:hover,
a.btn-outline.btn-accent2:hover,
.btn-outline.btn-accent2:active,
a.btn-outline.btn-accent2:active {
	background-color: var(--csd-accent2);
	border-color: var(--csd-accent2);
	color: #ffffff;
}

/* TEXT BUTTON */
.btn-text,
a.btn-text,
a.btn-text:link,
a.btn-text:visited {
	background: transparent;
	border-color: transparent;
	padding: 0;
	box-shadow: none;
}

.btn-text.btn-primary,
a.btn-text.btn-primary,
a.btn-text.btn-primary:link,
a.btn-text.btn-primary:visited {
	color: var(--csd-primary);
}

.btn-text.btn-primary:hover,
a.btn-text.btn-primary:hover,
.btn-text.btn-primary:active,
a.btn-text.btn-primary:active {
	color: var(--csd-btn-primary-bg-hover, var(--csd-primary));
	background: transparent;
	border-color: transparent;
}

.btn-text.btn-secondary,
a.btn-text.btn-secondary,
a.btn-text.btn-secondary:link,
a.btn-text.btn-secondary:visited {
	color: var(--csd-secondary);
}

.btn-text.btn-secondary:hover,
a.btn-text.btn-secondary:hover,
.btn-text.btn-secondary:active,
a.btn-text.btn-secondary:active {
	color: var(--csd-btn-secondary-bg-hover, var(--csd-secondary));
	background: transparent;
	border-color: transparent;
}

.btn-text.btn-accent1,
a.btn-text.btn-accent1,
a.btn-text.btn-accent1:link,
a.btn-text.btn-accent1:visited {
	color: var(--csd-accent1);
}

.btn-text.btn-accent1:hover,
a.btn-text.btn-accent1:hover,
.btn-text.btn-accent1:active,
a.btn-text.btn-accent1:active {
	color: var(--csd-btn-accent1-bg-hover, var(--csd-accent1));
	background: transparent;
	border-color: transparent;
}

.btn-text.btn-accent2,
a.btn-text.btn-accent2,
a.btn-text.btn-accent2:link,
a.btn-text.btn-accent2:visited {
	color: var(--csd-accent2);
}

.btn-text.btn-accent2:hover,
a.btn-text.btn-accent2:hover,
.btn-text.btn-accent2:active,
a.btn-text.btn-accent2:active {
	color: var(--csd-btn-accent2-bg-hover, var(--csd-accent2));
	background: transparent;
	border-color: transparent;
}

/* SOFT */
.btn-soft,
a.btn-soft,
a.btn-soft:link,
a.btn-soft:visited {
	background-color: var(--csd-btn-soft-bg, rgba(0,0,0,0.05));
	border-color: transparent;
}

.btn-soft.btn-primary,
a.btn-soft.btn-primary,
a.btn-soft.btn-primary:link,
a.btn-soft.btn-primary:visited {
	color: var(--csd-primary);
}

.btn-soft.btn-primary:hover,
a.btn-soft.btn-primary:hover,
.btn-soft.btn-primary:active,
a.btn-soft.btn-primary:active {
	background-color: var(--csd-btn-soft-primary-hover-bg, var(--csd-btn-soft-bg, rgba(0,0,0,0.05)));
	color: var(--csd-primary);
	border-color: transparent;
}

.btn-soft.btn-secondary,
a.btn-soft.btn-secondary,
a.btn-soft.btn-secondary:link,
a.btn-soft.btn-secondary:visited {
	color: var(--csd-secondary);
}

.btn-soft.btn-secondary:hover,
a.btn-soft.btn-secondary:hover,
.btn-soft.btn-secondary:active,
a.btn-soft.btn-secondary:active {
	background-color: var(--csd-btn-soft-secondary-hover-bg, var(--csd-btn-soft-bg, rgba(0,0,0,0.05)));
	color: var(--csd-secondary);
	border-color: transparent;
}

.btn-soft.btn-accent1,
a.btn-soft.btn-accent1,
a.btn-soft.btn-accent1:link,
a.btn-soft.btn-accent1:visited {
	color: var(--csd-accent1);
}

.btn-soft.btn-accent1:hover,
a.btn-soft.btn-accent1:hover,
.btn-soft.btn-accent1:active,
a.btn-soft.btn-accent1:active {
	background-color: var(--csd-btn-soft-accent1-hover-bg, var(--csd-btn-soft-bg, rgba(0,0,0,0.05)));
	color: var(--csd-accent1);
	border-color: transparent;
}

.btn-soft.btn-accent2,
a.btn-soft.btn-accent2,
a.btn-soft.btn-accent2:link,
a.btn-soft.btn-accent2:visited {
	color: var(--csd-accent2);
}

.btn-soft.btn-accent2:hover,
a.btn-soft.btn-accent2:hover,
.btn-soft.btn-accent2:active,
a.btn-soft.btn-accent2:active {
	background-color: var(--csd-btn-soft-accent2-hover-bg, var(--csd-btn-soft-bg, rgba(0,0,0,0.05)));
	color: var(--csd-accent2);
	border-color: transparent;
}

/* ICONOGRAFIE */
.btn-icon {
	gap: var(--csd-space-sm);
}

.btn-arrow-right::after,
.btn-arrow-left::before,
.btn-arrow-down::after,
.btn-arrow-up::after,
.btn-icon-only::before {
	display: inline-block;
	font-family: dashicons;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	vertical-align: middle;
}

.btn-arrow-right::after {
	content: "\f344";
	margin-left: var(--csd-space-sm);
}

.btn-arrow-left::before {
	content: "\f340";
	margin-right: var(--csd-space-sm);
}

.btn-arrow-down::after {
	content: "\f346";
}

.btn-arrow-up::after {
	content: "\f342";
}

.btn-icon-only::before {
	content: "\f345";
}

.btn-icon-only {
	width: 40px;
	height: 40px;
	padding: 0;
}

/* ANIMAȚIE */
.btn-arrow-right-animated::after {
	transition: transform .2s ease;
}

.btn-arrow-right-animated:hover::after {
	transform: translateX(4px);
}

/* INTERACȚIUNI */
.btn:not(.btn-text):not(.is-disabled):not(:disabled):hover {
	transform: translateY(-1px);
	box-shadow: var(--csd-shadow-sm);
}

.btn:focus-visible {
	outline: 2px solid var(--csd-primary);
	outline-offset: 2px;
}

/* DISABLED */
.btn.is-disabled,
.btn:disabled {
	pointer-events: none;
	opacity: .5;
	transform: none;
	box-shadow: none;
}




/* Title Icons */
.csd-icon-block {
	display: flex;
	align-items: flex-start;
	gap: var(--csd-space-md);
}

.csd-icon-small,
.csd-icon-big, 
.csd-icon-enorm {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	border-radius: var(--csd-radius-md);
	line-height: 1;
	color: var(--csd-primary);
	background: rgba(0, 0, 0, 0.04);
}

/* SMALL */
.csd-icon-small {
	flex-basis: 32px;
	width: 32px;
	height: 32px;
}

.csd-icon-small .dashicons {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	font-size: 20px;
	line-height: 20px;
}

.csd-icon-small .dashicons:before {
	display: block;
	width: 20px;
	height: 20px;
	font-size: 20px;
	line-height: 20px;
}

/* BIG */
.csd-icon-big {
	flex-basis: 48px;
	width: 48px;
	height: 48px;
}

.csd-icon-big .dashicons {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	font-size: 24px;
	line-height: 24px;
}

.csd-icon-big .dashicons:before {
	display: block;
	width: 24px;
	height: 24px;
	font-size: 24px;
	line-height: 24px;
}


/* enorm */
.csd-icon-enorm {
	flex-basis: 96px;
	width: 96px;
	height: 96px;
	margin-right: 16px;
}

.csd-icon-enorm .dashicons {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	font-size: 64px;
	line-height: 64px;
}

.csd-icon-enorm .dashicons:before {
	display: block;
	width: 64px;
	height: 64px;
	font-size: 64px;
	line-height: 64px;
}


.csd-icon-content {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0;
}

.csd-icon-content h2, 
.csd-icon-content h3, 
.csd-icon-content h4 {
	line-height: 1.5;
}

.csd-icon-heading {
	min-height: 32px;
	display: flex;
	align-items: center;
}

.csd-icon-big + .csd-icon-content .csd-icon-heading {
	min-height: 48px;
}




/* ==========================================================================
   16. BACK TO TOP
   ========================================================================== */

.csd-back-to-top .dashicons {
    font-size: 18px;
    vertical-align: middle;
    margin-right: 0;
}
.csd-back-to-top {
    position: fixed;
    right: 16px;
    bottom: 20px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--csd-neutral-dark);
    color: #ffffff;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    box-shadow: 0 10px 25px rgba(15,23,42,0.25);
    cursor: pointer;
    z-index: 99995;
}
.csd-back-to-top.is-visible {
    display: flex;
}


/* ==========================================================================
   17. FIGCAPTION (wp-caption-text)
   ========================================================================== */

.wp-caption-text {
    font-size: 13px;
    color: rgba(0,0,0,0.65);
    text-align: center;
    margin-top: 6px;
    line-height: 1.4;
}
