/*!
Theme Name: _re
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: _re
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

_re is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/* 1. Global Reset
   ========================================================================== */

/**
 * 1. Use border-box by default for more predictable layouts.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Use a more readable line-height (1.5) than the browser default.
 */

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

html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  tab-size: 4;
}

/**
 * Remove default margin.
 */

body {
  margin: 0;
}

/* 2. Grouping Content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Correct the inheritance of color in Firefox.
 */

hr {
  height: 0;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Standardize monospace font stacking.
 */

pre, code, kbd, samp {
  font-family: ui-monospace, monospace;
  font-size: 1em;
}

/* 3. Text-level Semantics
   ========================================================================== */

/**
 * Add the correct text decoration in Chrome, Edge, and Safari.
 */

abbr[title] {
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b, strong {
  font-weight: bolder;
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in all browsers.
 */

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub { bottom: -0.25em; }
sup { top: -0.5em; }

/* 4. Forms
   ========================================================================== */

/**
 * Remove default margins and ensure font inheritance.
 */

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}


/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: black;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-weight: 600;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms - Modern, Elegant & Fluid (Optimized for CF7)
--------------------------------------------- */

/* 1. Fields: Inputs, Textarea, and Select */
input:is([type="text"], [type="email"], [type="url"], [type="password"], [type="search"], [type="number"], [type="tel"], [type="range"], [type="date"], [type="month"], [type="week"], [type="time"], [type="datetime"], [type="datetime-local"], [type="color"]),
textarea,
select {
	max-width: 100%;
	color: #333;
	background-color: #f9f9f9;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	padding: 12px 16px;
	font-size: 15px;
	line-height: 1.5;
	box-sizing: border-box;
	transition: all 0.3s ease;
}

/* Field Focus State */
input:is([type="text"], [type="email"], [type="url"], [type="password"], [type="search"], [type="number"], [type="tel"], [type="date"]):focus,
textarea:focus,
select:focus {
	color: #111;
	background-color: #fff;
	border-color: rgba(0, 0, 0, 0.8);
	outline: none;
}

/* Specific Textarea styling */
textarea {
	min-height: 120px;
	resize: vertical;
}

/* 2. Buttons: Submit, Reset, and Action Buttons */
button,
input:is([type="button"], [type="reset"], [type="submit"]) {
	display: inline-block;
	width: auto;
	background: rgba(0, 0, 0, 0.9);
	color: #fff;
	border: 1px solid transparent;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	line-height: 1;
	padding: 14px 28px;
	text-align: center;
	cursor: pointer;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	transition: all 0.3s ease;
	appearance: none;
	-webkit-appearance: none;
}

/* Button Hover State */
button:hover,
input:is([type="button"], [type="reset"], [type="submit"]):hover {
	background: rgba(0, 0, 0, 0.7);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Button Active & Focus State */
button:is(:active, :focus),
input:is([type="button"], [type="submit"]):is(:active, :focus) {
	background: #000;
	transform: translateY(0);
	outline: none;
}

/* 3. Contact Form 7 Specific Structural Fixes */
.wpcf7-form-control-wrap {
	display: block;
	margin-bottom: 15px;
}

/* CF7 Response/Success/Error Messages */
.wpcf7-response-output {
	margin: 20px 0 0 0 !important;
	padding: 12px 16px !important;
	border-radius: 6px !important;
	font-size: 14px;
	line-height: 1.4;
}


/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* HEADER  */

.header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	padding: 10px 20px;
}
.archive .site-header,
.single .site-header,
.page-template-default .site-header {
	background: white;
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	transition: all .3s;
}
.archive .site-content,
.single .site-content,
.page-template-default .site-content {
	margin-top: 150px;
}
.site-main {
	padding: 0 15px;
}

.header-container {
	padding: 15px;
	margin: 0 auto;
	display: flex;
    justify-content: space-between;
    -webkit-transition: all .3s;
	-moz-transition: all .3s;
	transition: all .3s;
}
.header-sticky {
	background: rgba(255,255,255,1);
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	transition: all .3s;
}
.header-sticky .header-container {
	padding: 0 15px;
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	transition: all .3s;
}

@media only screen and (max-width: 74em) {
	.header-widget {
		display: none;
	}
	.header-container {
    	flex-direction: column;
    	padding: 0;
	}
}



/* LOGO */
.site-logo img {
    display: block;
    height: 80px; /* provizoriu */
    width: auto;
}


/* -----------------------------------------
   NAVIGATION – GENERAL
------------------------------------------ */

.main-navigation ul {
	margin: 0;
	padding: 0;
}
.main-navigation li {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-navigation a {
    display: block;
    padding: 12px;
    text-transform: uppercase;
    color: black;
    font-weight: 600;
    letter-spacing: 1px;
    text-decoration: none;
}

.main-navigation .menu {
    display: flex;
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}
/* Link activ */
.main-navigation .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_ancestor > a {
    color: white;
    background: #191955;
}
.menu-toggle {
    display: none;
    background: transparent!important;
    border: 0;
    cursor: pointer;
    padding: 10px;
}

/* -----------------------------------------
   MAIN NAVIGATION – DESKTOP (>= 64em)
------------------------------------------ */

@media (min-width: 64em) {
    /* Show sub-menu on hover */
    .main-navigation .menu > .menu-item:hover > .sub-menu {
        display: flex;
        flex-direction: column;
        position: absolute;
        left: 0;
        top: 100%;
        background: grey;
        padding: 10px 5px 20px;
        min-width: 280px;
        border-radius: 0 0 15px 15px;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
        z-index: 9999;
    }

    .main-navigation .sub-menu {
        display: none;
        margin: 0;
        list-style: none;
    }

    .main-navigation .sub-menu a {
        padding: 10px;
        color: #fff;
        text-transform: none;
    }

    /* Hide mobile expand buttons on desktop */
    .main-navigation .expand-button {
        display: none !important;
    }
}

/* -----------------------------------------
   MAIN NAVIGATION – MOBILE (<= 64em)
------------------------------------------ */

@media (max-width: 64em) {
    .menu-toggle {
        display: block;
        position: absolute;
        top: 20px;
        right: 10px;
    }

    .main-navigation,
    .main-navigation .menu,
    .main-navigation .menu .menu-item {
        width: 100%;
    }

    .main-navigation .menu {
        display: none;
        flex-direction: column;
    }

    .main-navigation.toggled .menu {
        display: block;
    }

    .main-navigation .sub-menu {
        display: none;
        background: #68ab36;
        padding: 10px 5px 20px;
    }

    .main-navigation .sub-menu.show {
        display: block;
    }

    .main-navigation .sub-menu a {
        color: #fff;
    }

    .main-navigation .menu .sub-menu li {
        border: none;
    }

    /* Expand button (+/-) */
    .main-navigation .expand-button {
        display: block;
        position: absolute;
        right: 0;
        top: 0;
        padding: 15px;
        cursor: pointer;
        z-index: 9999;
        font-weight: bold;
        color: #000;
        background: transparent;
    }
}

/* -----------------------------------------
   MENU ICON
------------------------------------------ */

.ico-menu {
    width: 20px;
    height: 20px;
    display: block;
    background: url('images/icons/nav.svg') no-repeat center;
}


/* Home */

.hero-container {
	min-height: 640px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, .3);
}
.hero-content h2 {
	font-size: 2em;
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}
.home .page {
	margin: 0;
}
.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

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

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

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}


/* Site footer */
.site-footer {
	padding: 15px;
}
.footer-widgets {
	display: flex;
}
.footer-widgets .widget {
	min-width: 25%;
}
/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}
/* ==========================================================================
   SISTEM DE GRID SIMPLU & OPTIMIZAT PENTRU CLASSIC EDITOR
   ========================================================================== */

/* Containerul de rând */
.row {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    box-sizing: border-box;
}

/* Clasă utilitară pentru spațiere flexibilă */
.grid-gap {
    gap: 2.5rem; /* Pe mobil se poate reduce automat dacă adaugi media query */
}

/* Targetăm toate coloanele și clasa utilitară .half */
[class*="col-"],
.half {
    box-sizing: border-box;
    min-width: 0; /* Previne ruperea layout-ului dacă ai imagini sau tabele mari în coloană */
}

/* Întinderea coloanelor pe desktop */
.col-1  { grid-column: span 1; }
.col-2  { grid-column: span 2; }
.col-3  { grid-column: span 3; }
.col-4  { grid-column: span 4; }
.col-5  { grid-column: span 5; }
.col-6  { grid-column: span 6; }
.col-7  { grid-column: span 7; }
.col-8  { grid-column: span 8; }
.col-9  { grid-column: span 9; }
.col-10 { grid-column: span 10; }
.col-11 { grid-column: span 11; }
.col-12 { grid-column: span 12; }

.half {
    grid-column: span 6;
}

/*--------------------------------------------------------------
# Protecție anti-wpautop (Specific pentru WordPress Classic Editor)
--------------------------------------------------------------*/
/* Dacă WordPress introduce din greșeală paragrafe goale direct în .row, le forțăm să ocupe tot rândul sau le ascundem */
.row > p {
    grid-column: span 12;
    margin: 0;
    padding: 0;
}
.row > p:empty {
    display: none;
}

/*--------------------------------------------------------------
# Responsiveness (Mobil & Tablete)
--------------------------------------------------------------*/
@media only screen and (max-width: 48em) {
    /* Reducem spațiul dintre elemente pe ecrane mici pentru a nu risipi spațiu */
    .grid-gap {
        gap: 1.5rem; 
    }

    /* Toate coloanele devin pe un singur rând (full width) pe mobil */
    [class*="col-"],
    .half {
        grid-column: span 12;
    }
}


/* ==========================================================================
   LISTARE ARTICOLE: SISTEM DE GRILĂ PENTRU LOOP-UL WORDPRESS
   ========================================================================== */

/* Containerul principal al listei */
.articles {
    display: grid;
    gap: 1.5rem;
    width: 100%;
    box-sizing: border-box;
}

/* Variante de coloane pe Desktop (se aplică direct pe containerul .articles) */
.articles.grid-3 {
    grid-template-columns: repeat(3, 1fr);
}
.articles.grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

/* Structura fiecărui articol individual (.post este generat de post_class()) */
.articles .post {
    display: flex;
    flex-direction: column; /* Forțează conținutul să se alinieze de sus în jos */
    height: 100%; /* Forțează toate cardurile dintr-un rând să aibă aceeași înălțime */
    box-sizing: border-box;
    min-width: 0; /* Previne ruperea layout-ului în caz de titluri foarte lungi */
    background: #ffffff;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Imaginea reprezentativă (Featured Image / the_post_thumbnail) */
.articles img {
    display: block;
    width: 100%;
    height: 220px; /* Înălțime fixă pentru uniformizarea imaginilor asimetrice */
    object-fit: cover; /* Taie și încadrează imaginea perfect, fără să o deformeze */
    margin: 0 auto;
}

/* Titlul articolului (.entry-title este standard în Underscores) */
.articles .entry-title {
    font-size: 1.35rem; /* Ajustat ușor pentru un raport mai bun în carduri mici */
    font-weight: 600;
    line-height: 1.2; /* Line-height 1 tăia adesea literele cu codiță precum g, j, p */
    margin: 0 0 0.75rem 0;
}
.articles .entry-title a {
    color: #111111;
    text-decoration: none;
}
.articles .entry-title a:hover {
    color: rgba(0, 0, 0, 0.6);
}

/* Containerul de text (Sumar / the_excerpt sau the_content) */
.articles .entry-content {
    padding: 1.5rem; /* Modificat la o spațiere mai echilibrată (2.5em era prea mult lateral) */
    flex-grow: 1;    /* Împinge eventualele butoane sau subsoluri de card perfect jos */
    display: flex;
    flex-direction: column;
}

/*--------------------------------------------------------------
# Stiluri specifice pe categorii / secțiuni (.news și .team)
--------------------------------------------------------------*/

/* Secțiunea de Știri / Blog */
.news .post {
    border: 1px solid #e2e8f0; /* Înlocuit #ddd cu un gri mai fin, în ton cu formularele */
    border-radius: 6px; /* Sincronizat cu border-radius-ul de la formulare */
}
.news .post:hover {
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
}

/* Secțiunea de Echipă (Team Members) */
.team .entry-content,
.team .entry-title {
    text-align: center;
}
.team img {
    border-radius: 50%; /* Transformă pozele membrilor de echipă în cercuri perfecte */
    width: 150px;       /* Dimensiune specifică pentru portret de echipă */
    height: 150px;
    margin-top: 1.5rem;
}

/*--------------------------------------------------------------
# Responsiveness (Media Queries)
--------------------------------------------------------------*/
@media (max-width: 64em) { /* Tablete (1024px) */
    .articles.grid-3,
    .articles.grid-4 {
        grid-template-columns: repeat(2, 1fr); /* Trecem automat la 2 coloane */
    }
}

@media (max-width: 48em) { /* Telefoane mobile (768px) */
    .articles.grid-3,
    .articles.grid-4 {
        grid-template-columns: 1fr; /* O singură coloană, lățime completă */
    }
    .articles img {
        height: auto; /* Pe mobil lăsăm imaginea să se desfășoare natural */
        max-height: 250px;
    }
}


.home-latest-posts {
    padding: 60px 0;
}

.section-header {
    text-align: center;
    margin-bottom: 45px;
    position: relative;
}
.section-subtitle {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #888888;
    margin-bottom: 8px;
}

.section-title {
    font-size: 2rem;
    font-weight: 700;
    color: #111111;
    margin: 0;
    padding-bottom: 15px;
    position: relative;
    display: inline-block;
}

.section-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 2px; /* Subtire */
    background-color: rgba(0, 0, 0, 0.8);
}

@media (max-width: 48em) {
    .home-latest-posts {
        padding: 40px 0;
    }
    .section-title {
        font-size: 1.65rem;
    }
}

/* Woo  */

/* Plus Minus on Add to cart*/
.woocommerce div.product form.cart div.quantity {
    float:left;
    margin-left: 4px;

}
.woocommerce button.plus,
.woocommerce button.minus {
    float: left;
}

/* Hide HTML5 Up and Down arrows. */
.woocommerce  .quantity input[type="number"]::-webkit-outer-spin-button, 
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
 
.woocommerce .quantity { margin-right:1rem; }
.woocommerce .quantity .qty {
	 -moz-appearance: textfield;
    font-weight: bold;
    border: none;
  width: 3.631em;
  text-align: center;
}

/* Product meta */
.woocommerce .product_meta {
	margin: 1rem 0;
}
.woocommerce form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}