/* ==========================================================================
   GS Noir — Academia de Coafor by Gabriela Stoian (gabrielastoian.ro)
   Peste baza Maison Noir: titlurile trec pe Cormorant Garamond (serif-ul din
   logo-ul GS), cu capitale mici. Etichetele și butoanele rămân Archivo.
   ========================================================================== */

:root {
	--mn-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
}

/* Titluri: serif, capitale mici */
.gs-noir h1, .gs-noir h2, .gs-noir h3, .gs-noir h4,
.gs-noir .elementor-heading-title,
.gs-noir .mn-post-title, .gs-noir .product_title, .gs-noir .woocommerce-products-header__title {
	font-family: var(--mn-serif);
	font-weight: 600;
	font-stretch: normal;
	text-transform: none;
	font-variant: small-caps;
	letter-spacing: .03em;
	line-height: 1.04;
}
.gs-noir h3, .gs-noir h4, .gs-noir .mn-svc .elementor-heading-title, .gs-noir .mn-card .elementor-heading-title,
.gs-noir .mn-faq-item summary h3, .gs-noir ul.products li.product .woocommerce-loop-product__title { font-variant: normal; letter-spacing: .01em; }
.gs-noir .mn-faq-item summary h3 { font-family: var(--mn-serif); font-size: 1.3rem; font-weight: 600; }
.gs-noir .mn-title .elementor-heading-title { font-size: clamp(2.1rem, 4.6vw, 3.8rem); }
.gs-noir .mn-title-xl .elementor-heading-title { font-size: clamp(2.6rem, 6vw, 5.2rem); }
.gs-noir .mn-title-sm .elementor-heading-title { font-size: clamp(1.6rem, 2.8vw, 2.3rem); }
/* Accentul italic rămâne auriu, fără capitale mici */
.gs-noir .elementor-heading-title em, .gs-noir h1 em, .gs-noir h2 em, .gs-noir h3 em { font-variant: normal; font-weight: 400; }
/* Etichetele (kicker), numerele și grupurile rămân Archivo */
.gs-noir .mn-kicker, .gs-noir .mn-kicker .elementor-heading-title, .gs-noir .mn-num .elementor-heading-title,
.gs-noir .mn-group-title .elementor-heading-title, .gs-noir .mn-from .elementor-heading-title {
	font-family: var(--mn-disp); font-variant: normal; text-transform: uppercase;
}
.gs-noir .mn-group-title .elementor-heading-title { font-size: .78rem; letter-spacing: .26em; }
/* Citate și manifest: Cormorant italic */
.gs-noir .mn-manifest p, .gs-noir .mn-manifest .elementor-heading-title {
	font-family: var(--mn-serif); font-style: italic; font-weight: 400; font-variant: normal; letter-spacing: 0;
	font-size: clamp(1.7rem, 3.4vw, 2.9rem); line-height: 1.25; color: var(--mn-cream);
}
.gs-noir .mn-manifest em { color: var(--mn-gold); font-style: italic; }

/* Banda cu cursuri: serif, capitale mici */
.gs-noir .mn-marquee .mn-w { font-family: var(--mn-serif); font-weight: 600; font-variant: small-caps; text-transform: none; letter-spacing: .08em; font-size: clamp(1.1rem, 2vw, 1.5rem); }

/* Cifre (fapte) */
.gs-noir .mn-fact .elementor-counter-number-wrapper { font-family: var(--mn-serif); font-size: 2.2rem; }

/* --------------------------------------------------------------------------
   Trei drumuri (container mn-path)
   -------------------------------------------------------------------------- */
.gs-noir .mn-path { position: relative; border: 1px solid var(--mn-hair-soft); background: var(--mn-ink-3); transition: border-color .3s, transform .3s; }
.gs-noir .mn-path:hover { border-color: var(--mn-gold); transform: translateY(-4px); }
.gs-noir .mn-path .elementor-heading-title { font-size: clamp(1.6rem, 2.6vw, 2.1rem); }
.gs-noir .mn-path .elementor-widget-text-editor { color: var(--mn-stone); font-size: .95rem; }
.gs-noir .mn-path::after { content: "→"; position: absolute; right: 22px; top: 26px; color: var(--mn-gold); opacity: .6; transition: .3s; }
.gs-noir .mn-path:hover::after { opacity: 1; transform: translateX(4px); }
.gs-noir .mn-path-meta { border-top: 1px solid var(--mn-hair-soft); padding-top: 14px !important; margin-top: auto; }
.gs-noir .mn-path-meta .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.gs-noir .mn-path-meta .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.gs-noir .mn-path-meta .elementor-icon-list-text { font-family: var(--mn-disp); font-stretch: 115%; font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: var(--mn-mute); }
.gs-noir .mn-path-meta .elementor-icon-list-text b { color: var(--mn-gold-hi); font-weight: 600; }
.gs-noir .mn-path-meta .elementor-icon-list-icon { display: none; }

/* --------------------------------------------------------------------------
   Carduri de curs (container mn-course): imagine, etichetă, titlu, durată, preț
   -------------------------------------------------------------------------- */
.gs-noir .mn-course { background: var(--mn-ink-3); border: 1px solid var(--mn-hair-soft); overflow: hidden; transition: border-color .3s, transform .3s; }
.gs-noir .mn-course:hover { border-color: var(--mn-gold); transform: translateY(-4px); }
.gs-noir .mn-course .mn-course-img { position: relative; overflow: hidden; }
.gs-noir .mn-course .mn-course-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(.9); transition: transform .8s; }
.gs-noir .mn-course:hover .mn-course-img img { transform: scale(1.04); }
.gs-noir .mn-tag .elementor-heading-title, .gs-noir .mn-tag-acc .elementor-heading-title {
	display: inline-block; font-family: var(--mn-disp); font-variant: normal; font-stretch: 118%; font-weight: 600; font-size: .6rem; letter-spacing: .2em; text-transform: uppercase;
	padding: 6px 10px; border: 1px solid var(--mn-hair); background: rgba(14, 12, 11, .8); color: var(--mn-gold); line-height: 1.2;
}
.gs-noir .mn-tag-acc .elementor-heading-title { background: var(--mn-gold); color: var(--mn-ink); border-color: var(--mn-gold); }
.gs-noir .mn-course-img .mn-tag, .gs-noir .mn-course-img .mn-tag-acc { position: absolute !important; left: 14px; top: 14px; width: auto !important; z-index: 2; }
.gs-noir .mn-course .mn-course-body { padding: 20px 20px 18px !important; }
.gs-noir .mn-course .elementor-heading-title { font-size: 1.45rem; line-height: 1.1; }
.gs-noir .mn-course .mn-tag .elementor-heading-title, .gs-noir .mn-course .mn-tag-acc .elementor-heading-title { font-size: .6rem; line-height: 1.2; }
.gs-noir .mn-course .mn-dur .elementor-heading-title { font-size: .66rem; }
.gs-noir .mn-course .mn-price .elementor-heading-title { font-size: 1.05rem; }
.gs-noir .mn-course .mn-more .elementor-heading-title { font-size: .64rem; }
.gs-noir .mn-course .elementor-heading-title a { color: var(--mn-cream); }
.gs-noir .mn-course .elementor-heading-title a:hover { color: var(--mn-gold-hi); }
.gs-noir .mn-dur .elementor-heading-title { font-family: var(--mn-disp); font-variant: normal; font-stretch: 115%; font-weight: 500; font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: var(--mn-mute); }
.gs-noir .mn-course .elementor-widget-text-editor { color: var(--mn-stone); font-size: .92rem; }
.gs-noir .mn-course-foot { border-top: 1px solid var(--mn-hair-soft); padding-top: 14px !important; margin-top: auto; }
.gs-noir .mn-price .elementor-heading-title { font-family: var(--mn-disp); font-variant: normal; font-stretch: 112%; font-weight: 600; font-size: 1.05rem; color: var(--mn-gold-hi); font-variant-numeric: tabular-nums; }
.gs-noir .mn-more .elementor-heading-title { font-family: var(--mn-disp); font-variant: normal; font-size: .64rem; letter-spacing: .2em; text-transform: uppercase; color: var(--mn-gold); text-align: right; }
.gs-noir .mn-more .elementor-heading-title a { color: var(--mn-gold); }

/* --------------------------------------------------------------------------
   Listă de cursuri în catalog (container mn-rows → rânduri mn-row)
   -------------------------------------------------------------------------- */
.gs-noir .mn-rows { border-top: 1px solid var(--mn-hair); }
.gs-noir .mn-row { border-bottom: 1px solid var(--mn-hair-soft); padding: 18px 4px !important; transition: background .3s; }
.gs-noir .mn-row:hover { background: var(--mn-ink-2); }
.gs-noir .mn-row .elementor-heading-title { font-size: 1.35rem; transition: .3s; }
.gs-noir .mn-row:hover .mn-row-title .elementor-heading-title { color: var(--mn-gold-hi); padding-left: 6px; }
.gs-noir .mn-row .elementor-widget-text-editor { color: var(--mn-mute); font-size: .86rem; }
.gs-noir .mn-dip .elementor-heading-title, .gs-noir .mn-dip-acc .elementor-heading-title {
	display: inline-block; font-family: var(--mn-disp); font-variant: normal; font-stretch: 115%; font-weight: 500; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase;
	color: var(--mn-stone); border: 1px solid var(--mn-hair-soft); padding: 4px 8px; white-space: nowrap; line-height: 1.2;
}
.gs-noir .mn-dip-acc .elementor-heading-title { color: var(--mn-gold); border-color: var(--mn-hair); }
.gs-noir .mn-row .mn-price .elementor-heading-title { text-align: right; }
.gs-noir .mn-row .mn-dur .elementor-heading-title { white-space: nowrap; }
.gs-noir .mn-row > .e-con { min-width: 0; }
@media (max-width: 1024px) {
	.gs-noir .mn-row { flex-wrap: wrap !important; row-gap: 10px !important; }
	.gs-noir .mn-row > .e-con { width: auto !important; --width: auto; flex: 1 1 auto !important; }
	.gs-noir .mn-row > .mn-row-title { flex-basis: 100% !important; }
	.gs-noir .mn-row .mn-price .elementor-heading-title { text-align: left; }
}
.gs-noir .mn-legend, .gs-noir .mn-legend p { color: var(--mn-mute); font-size: .82rem; }
.gs-noir .mn-legend b { color: var(--mn-gold); font-weight: 500; }

/* --------------------------------------------------------------------------
   Palmares (galerie mn-awards: poze 4:5 cu legendă)
   -------------------------------------------------------------------------- */
.gs-noir .mn-awards .gallery { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 0 !important; }
.gs-noir .mn-awards .gallery-item { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; position: relative; overflow: hidden; border: 1px solid var(--mn-hair-soft); }
.gs-noir .mn-awards .gallery-item img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border: 0 !important; filter: saturate(.9); transition: transform .8s; display: block; }
.gs-noir .mn-awards .gallery-item:hover img { transform: scale(1.04); }
.gs-noir .mn-awards .gallery-caption {
	position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 40px 16px 14px; text-align: left;
	background: linear-gradient(transparent, rgba(14, 12, 11, .92));
	font-family: var(--mn-serif); font-weight: 600; font-size: 1.2rem; line-height: 1.15; color: var(--mn-cream);
}
.gs-noir .mn-awards .gallery br { display: none; }
@media (max-width: 1024px) { .gs-noir .mn-awards .gallery { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .gs-noir .mn-awards .gallery { grid-template-columns: 1fr; } }

/* Pașii (container mn-steps → mn-step) */
.gs-noir .mn-steps { border-top: 1px solid var(--mn-hair); border-left: 1px solid var(--mn-hair-soft); }
.gs-noir .mn-step { border-right: 1px solid var(--mn-hair-soft); padding: 30px 24px !important; }
.gs-noir .mn-step-n .elementor-heading-title { font-family: var(--mn-serif); font-variant: normal; font-size: 3rem; font-weight: 500; line-height: 1; color: transparent; -webkit-text-stroke: 1px var(--mn-gold); }
.gs-noir .mn-step .elementor-heading-title { font-size: 1.35rem; }
.gs-noir .mn-step .elementor-widget-text-editor { color: var(--mn-stone); font-size: .92rem; }

/* Legendă peste poza cu ramă aurie (container mn-frame-cap, absolut în interiorul ramei) */
.gs-noir .mn-frame-wrap { position: relative; }
.gs-noir .mn-frame-cap { position: absolute !important; right: 34px; bottom: 34px; left: 34px; width: auto !important; z-index: 2; background: rgba(14, 12, 11, .78); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); padding: 12px 16px !important; border: 1px solid var(--mn-hair); }
.gs-noir .mn-frame-cap .elementor-heading-title { font-family: var(--mn-disp); font-variant: normal; font-stretch: 118%; font-weight: 600; font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; }
.gs-noir .mn-frame-cap .elementor-widget-text-editor { font-family: var(--mn-serif); font-style: italic; color: var(--mn-gold); font-size: 1.05rem; text-align: right; }

/* --------------------------------------------------------------------------
   Pagina de curs: casetă de înscriere (container mn-enrol)
   -------------------------------------------------------------------------- */
.gs-noir .mn-enrol { position: sticky !important; top: 96px; border: 1px solid var(--mn-hair); background: var(--mn-ink-3); padding: 26px !important; }
.gs-noir .mn-enrol-price .elementor-heading-title { font-family: var(--mn-serif); font-variant: normal; font-weight: 600; font-size: 2.6rem; line-height: 1; color: var(--mn-gold-hi); }
.gs-noir .mn-enrol-price .elementor-heading-title small { display: block; font-family: var(--mn-disp); font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; color: var(--mn-mute); margin-top: 8px; font-weight: 500; }
.gs-noir .mn-enrol dl { display: grid; grid-template-columns: auto 1fr; gap: 10px 18px; margin: 22px 0; padding-block: 18px; border-block: 1px solid var(--mn-hair-soft); font-size: .92rem; }
.gs-noir .mn-enrol dt { font-family: var(--mn-disp); font-stretch: 115%; font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; color: var(--mn-mute); padding-top: 4px; }
.gs-noir .mn-enrol dd { margin: 0; color: var(--mn-cream); }
.gs-noir .mn-enrol .mn-btn .elementor-button, .gs-noir .mn-enrol .mn-btn-solid .elementor-button { width: 100%; justify-content: center; }
@media (max-width: 1024px) { .gs-noir .mn-enrol { position: static !important; } }
/* Variațiile WooCommerce (grupele) */
.gs-noir .woocommerce div.product form.cart .variations td.label { color: var(--mn-stone); font-family: var(--mn-disp); font-size: .64rem; letter-spacing: .2em; text-transform: uppercase; }
.gs-noir .woocommerce div.product form.cart .variations select { width: 100%; }
.gs-noir .woocommerce div.product form.cart .reset_variations { color: var(--mn-mute); }
.gs-noir .woocommerce-variation-availability .stock { color: var(--mn-gold); font-family: var(--mn-disp); font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; }
.gs-noir .woocommerce-variation-availability .out-of-stock { color: var(--mn-mute); }

/* Module de curs (widget Text cu <ol class="mn-mods">) */
.gs-noir .mn-mods { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--mn-hair); counter-reset: mn-m; }
.gs-noir .mn-mods > li { counter-increment: mn-m; display: grid; grid-template-columns: 3em 1fr; gap: 10px; padding: 16px 0; border-bottom: 1px solid var(--mn-hair-soft); }
.gs-noir .mn-mods > li::before { content: counter(mn-m, decimal-leading-zero); font-family: var(--mn-disp); font-stretch: 118%; font-size: .7rem; letter-spacing: .2em; color: var(--mn-gold); padding-top: 6px; }
.gs-noir .mn-mods strong { display: block; font-family: var(--mn-serif); font-weight: 600; font-size: 1.25rem; color: var(--mn-cream); }
.gs-noir .mn-mods span, .gs-noir .mn-mods p { color: var(--mn-stone); font-size: .92rem; margin: 4px 0 0; }

/* --------------------------------------------------------------------------
   Tutor LMS pe fundal închis (panoul cursantului, lecții)
   -------------------------------------------------------------------------- */
.gs-noir .tutor-wrap, .gs-noir .tutor-dashboard, .gs-noir .tutor-course-single-content-wrapper { color: var(--mn-cream); }
.gs-noir .tutor-card, .gs-noir .tutor-dashboard-left-menu, .gs-noir .tutor-dashboard-content-inner, .gs-noir .tutor-course-topic-item { background: var(--mn-ink-3) !important; border-color: var(--mn-hair-soft) !important; border-radius: 0 !important; }
.gs-noir .tutor-dashboard-menu-item-link { color: var(--mn-stone) !important; }
.gs-noir .tutor-dashboard-menu-item.active .tutor-dashboard-menu-item-link, .gs-noir .tutor-dashboard-menu-item-link:hover { color: var(--mn-gold) !important; background: transparent !important; }
.gs-noir .tutor-btn-primary, .gs-noir .tutor-btn.tutor-btn-primary { background: var(--mn-gold) !important; border-color: var(--mn-gold) !important; color: var(--mn-ink) !important; border-radius: 0 !important; font-family: var(--mn-disp); letter-spacing: .14em; text-transform: uppercase; font-size: .72rem; }
.gs-noir .tutor-progress-bar .tutor-progress-value, .gs-noir .tutor-progress-bar-fill { background: var(--mn-gold) !important; }
.gs-noir .tutor-color-black, .gs-noir .tutor-fs-5, .gs-noir .tutor-fs-6 { color: var(--mn-cream) !important; }
.gs-noir .tutor-color-secondary, .gs-noir .tutor-color-muted { color: var(--mn-stone) !important; }
.gs-noir .tutor-course-topic-item a { color: var(--mn-cream); }
.gs-noir .tutor-course-topic-title, .gs-noir .tutor-accordion-item-header { background: var(--mn-ink-2) !important; color: var(--mn-cream) !important; }
/* Formularele Tutor (autentificare, înregistrare) pe fundal închis */
.gs-noir .tutor-login-wrap, .gs-noir .tutor-login-wrap .tutor-fs-4, .gs-noir .tutor-login-wrap .tutor-fs-5, .gs-noir .tutor-login-wrap .tutor-fs-6,
.gs-noir .tutor-login-wrap .tutor-fs-7, .gs-noir .tutor-login-wrap label, .gs-noir .tutor-login-wrap .tutor-form-check-label,
.gs-noir .tutor-template-segment, .gs-noir .tutor-template-segment .tutor-fs-4, .gs-noir .tutor-template-segment .tutor-fs-6, .gs-noir .tutor-template-segment label { color: var(--mn-cream) !important; }
.gs-noir .tutor-login-wrap { font-family: var(--mn-body); }
.gs-noir .tutor-login-wrap div, .gs-noir .tutor-login-wrap p, .gs-noir .tutor-login-wrap span, .gs-noir .tutor-login-wrap label,
.gs-noir .tutor-login-wrap h1, .gs-noir .tutor-login-wrap h2, .gs-noir .tutor-login-wrap h3, .gs-noir .tutor-login-wrap h4 { color: var(--mn-cream) !important; }
.gs-noir .tutor-login-wrap button, .gs-noir .tutor-login-wrap button span { color: var(--mn-ink) !important; }
.gs-noir .tutor-login-wrap .tutor-fs-4 { font-family: var(--mn-serif); font-weight: 600; font-size: 1.8rem !important; }
.gs-noir .tutor-form-control, .gs-noir .tutor-template-segment input[type="text"], .gs-noir .tutor-template-segment input[type="password"], .gs-noir .tutor-template-segment input[type="email"] {
	background: var(--mn-ink-2) !important; color: var(--mn-cream) !important; border: 1px solid var(--mn-hair) !important; border-radius: 0 !important;
}
.gs-noir .tutor-login-wrap a { color: var(--mn-gold) !important; }
.gs-noir .tutor-btn-block, .gs-noir .tutor-login-wrap .tutor-btn { background: var(--mn-gold) !important; color: var(--mn-ink) !important; border-color: var(--mn-gold) !important; border-radius: 0 !important; font-family: var(--mn-disp); letter-spacing: .16em; text-transform: uppercase; font-size: .72rem; }
.gs-noir .woocommerce-form-login, .gs-noir .woocommerce-form-register { border-color: var(--mn-hair-soft) !important; border-radius: 0 !important; }
