/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* =============================================================
   CN BESTSELLER GRID — Griglia prodotti in evidenza homepage
   Sfondo sezione: #eef6f8 (azzurro-verde tenue, "acqua di sorgente")
   Diverso dal verde #f0f7f1 usato nelle sezioni adiacenti — mantiene
   armonia cromatica senza monotonia.
   ============================================================= */

/* Wrapper outer sezione Best Seller */
.cn-bestseller-section {
	background-color: #eef6f8;
	padding: 60px 20px;
}

/* Header titolo/sottotitolo dentro la sezione */
.cn-bestseller-header {
	text-align: center;
	margin-bottom: 40px;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 16px;
}

.cn-bestseller-header h2 {
	font-size: 32px;
	font-weight: 700;
	color: #2d4a36;
	margin: 0 0 10px;
}

.cn-bestseller-header p {
	font-size: 16px;
	color: #4a5568;
	margin: 0;
}

.cn-bestseller-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
}

/* Card */
.cn-product-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	border: 1px solid #cce3e8;
	border-radius: 8px;
	padding: 20px;
	background: #ffffff;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.cn-product-card:hover {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}

/* Badge */
.cn-product-badge {
	display: inline-block;
	align-self: flex-start;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-radius: 4px;
	padding: 4px 8px;
	margin-bottom: 10px;
	line-height: 1.2;
}

/* Immagine prodotto */
.cn-product-image-link {
	display: block;
	text-align: center;
	width: 100%;
}

.cn-product-card img {
	width: 150px;
	height: auto;
	object-fit: contain;
	display: block;
	margin: 0 auto;
}

/* Titolo */
.cn-product-title {
	font-size: 18px;
	font-weight: 600;
	text-align: center;
	margin: 15px 0 5px;
	line-height: 1.3;
}

.cn-product-title a {
	color: inherit;
	text-decoration: none;
}

.cn-product-title a:hover {
	color: #2d4a36;
}

/* Sottotitolo / icona */
.cn-product-subtitle {
	font-size: 13px;
	text-align: center;
	color: #2d4a36;
	margin: 0 0 15px;
}

/* Prezzo */
.cn-product-price {
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 15px;
}

.cn-product-price del {
	color: #a0aec0;
	font-weight: 400;
	margin-right: 5px;
}

.cn-product-price ins {
	text-decoration: none;
}

/* Pulsante aggiungi al carrello */
.cn-product-actions {
	width: 100%;
	margin-top: auto;
}

.cn-add-to-cart {
	display: block;
	width: 100%;
	text-align: center;
	background-color: #e6f0e9;
	color: #2d4a36;
	border-radius: 4px;
	padding: 10px 16px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: background-color 0.2s ease;
	box-sizing: border-box;
}

.cn-add-to-cart:hover,
.cn-add-to-cart:focus {
	background-color: #2d4a36;
	color: #ffffff;
	text-decoration: none;
}

/* =============================================================
   CN SECTION BADGE — Badge esclusiva sezione prodotto
   ============================================================= */

.cn-section-badge {
	display: inline-block;
	background-color: #2d4a36;
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	border-radius: 4px;
	padding: 5px 12px;
	margin-bottom: 20px;
}

/* Lista benefici sezione prodotto */
.cn-benefits-list {
	list-style: none;
	padding-left: 0;
}

.cn-benefits-list li {
	padding: 6px 0;
	font-size: 15px;
	line-height: 1.5;
	border-bottom: 1px solid #e2e8f0;
}

.cn-benefits-list li:last-child {
	border-bottom: none;
}

/* Immagine sezione Respira */
.cn-respira-image {
	margin: 0;
}

.cn-respira-image img {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 16px;
	display: block;
}

/* =============================================================
   CN TEAM CARD — Sezione team pagina Chi siamo
   ============================================================= */

.cn-team-card {
	background: #ffffff;
	border-radius: 16px;
	padding: 32px 24px;
	text-align: center;
	box-shadow: 0 2px 16px rgba(0,0,0,0.06);
	height: 100%;
}

.cn-team-photo {
	width: 160px;
	height: 160px;
	border-radius: 50%;
	background-color: #e2e8f0;
	margin: 0 auto 20px;
	overflow: hidden;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.cn-team-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}

.cn-team-photo img[src=""] {
	display: none;
}

.cn-team-placeholder {
	font-size: 13px;
	color: #a0aec0;
	position: absolute;
}

.cn-team-photo img[src=""]+.cn-team-placeholder {
	display: block;
}

.cn-team-name {
	font-size: 24px;
	font-weight: 700;
	margin: 0 0 8px;
	color: #2d4a36;
}

.cn-team-role {
	font-size: 14px;
	font-weight: 600;
	color: #2d4a36;
	margin: 0 0 16px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.cn-team-bio {
	font-size: 15px;
	line-height: 1.7;
	color: #4a5568;
	margin: 0;
}

/* =============================================================
   CN CONTACT — Pagina Contatti
   ============================================================= */

.cn-contact-box {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.cn-contact-item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 16px 20px;
	background: #f8faf8;
	border-radius: 10px;
	border-left: 4px solid #2d4a36;
}

.cn-contact-icon {
	font-size: 22px;
	flex-shrink: 0;
	margin-top: 2px;
}

.cn-contact-item strong {
	display: block;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #2d4a36;
	margin-bottom: 4px;
}

.cn-contact-item p {
	margin: 0;
	font-size: 16px;
	color: #4a5568;
}

.cn-contact-item a {
	color: #2d4a36;
	text-decoration: none;
	font-weight: 600;
}

.cn-contact-item a:hover {
	text-decoration: underline;
}

/* Social box */
.cn-social-box {
	background: #f0f7f1;
	border-radius: 12px;
	padding: 28px 24px;
}

.cn-social-title,
.cn-newsletter-title {
	font-size: 20px;
	font-weight: 700;
	color: #2d4a36;
	margin: 0 0 8px;
}

.cn-social-links {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.cn-social-btn {
	display: inline-block;
	padding: 10px 20px;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: opacity 0.2s;
}

.cn-social-btn:hover {
	opacity: 0.85;
	text-decoration: none;
}

.cn-social-facebook {
	background: #1877f2;
	color: #ffffff;
}

.cn-social-instagram {
	background: #e1306c;
	color: #ffffff;
}

/* Newsletter box */
.cn-newsletter-box {
	background: #f0f7f1;
	border-radius: 12px 12px 0 0;
	padding: 28px 24px 0;
}

/* Chiusura box newsletter — il div di chiusura */
.cn-newsletter-box + .wp-block-shortcode,
.cn-newsletter-box ~ .wp-block-shortcode {
	background: #f0f7f1;
	border-radius: 0 0 12px 12px;
	padding: 0 24px 28px;
	margin-top: 0 !important;
}

/* =============================================================
   CN EVENTI GRID — Griglia articoli "In Erboristeria: Eventi & Incontri"
   Sfondo: #f0f7f1 (verde chiaro, stesso della sezione Respira)
   ============================================================= */

/* Wrapper outer — sfondo e padding di sezione */
.cn-eventi-section {
	background-color: #eef6f8;
	padding: 60px 20px;
	margin-top: 40px; /* spazio bianco sopra la sezione */
}

.cn-eventi-header {
	text-align: center;
	margin-bottom: 40px;
}

.cn-eventi-header h2 {
	font-size: 32px;
	font-weight: 700;
	color: #2d4a36;
	margin: 0 0 10px;
}

.cn-eventi-header p {
	font-size: 16px;
	color: #4a5568;
	margin: 0 0 20px;
}

.cn-eventi-cta-top {
	display: inline-block;
	background-color: #2d4a36;
	color: #ffffff;
	border-radius: 6px;
	padding: 10px 28px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.cn-eventi-cta-top:hover {
	background-color: #1e3326;
	color: #ffffff;
	text-decoration: none;
}

/* Wrapper bottone "Vedi tutti" in fondo alla griglia eventi */
.cn-eventi-cta-wrap {
	text-align: center;
	margin-top: 36px;
}

/* Griglia 3 colonne */
.cn-eventi-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
}

/* Card singolo articolo */
.cn-evento-card {
	background: #ffffff;
	border-radius: 12px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	border: 1px solid #ddeee2;
}

.cn-evento-card:hover {
	box-shadow: 0 6px 24px rgba(45, 74, 54, 0.12);
	transform: translateY(-3px);
}

/* Immagine */
.cn-evento-image-link {
	display: block;
	overflow: hidden;
	flex-shrink: 0;
}

.cn-evento-image {
	width: 100%;
	height: 200px;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.cn-evento-card:hover .cn-evento-image {
	transform: scale(1.03);
}

/* Placeholder immagine se assente */
.cn-evento-image-placeholder {
	width: 100%;
	height: 200px;
	background: #e8f3ec;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 48px;
}

/* Body testo */
.cn-evento-body {
	padding: 20px 22px 24px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

/* Badge categoria */
.cn-evento-category {
	display: inline-block;
	background-color: #e8f3ec;
	color: #2d4a36;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	border-radius: 4px;
	padding: 3px 8px;
	margin-bottom: 10px;
	align-self: flex-start;
}

/* Titolo articolo */
.cn-evento-title {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 10px;
	color: #1a2e1f;
}

.cn-evento-title a {
	color: inherit;
	text-decoration: none;
}

.cn-evento-title a:hover {
	color: #2d4a36;
}

/* Excerpt */
.cn-evento-excerpt {
	font-size: 14px;
	color: #4a5568;
	line-height: 1.6;
	margin: 0 0 16px;
	flex-grow: 1;
}

/* Footer card: data + link */
.cn-evento-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid #e2e8f0;
	gap: 8px;
}

.cn-evento-date {
	font-size: 12px;
	color: #718096;
}

.cn-evento-read-more {
	font-size: 13px;
	font-weight: 600;
	color: #2d4a36;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s;
}

.cn-evento-read-more:hover {
	color: #0f766e;
	text-decoration: underline;
}

/* Responsive — tablet: 2 colonne */
@media (max-width: 900px) {
	.cn-bestseller-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.cn-eventi-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Responsive — mobile: 1 colonna */
@media (max-width: 480px) {
	.cn-bestseller-grid {
		grid-template-columns: 1fr;
	}
	.cn-eventi-grid {
		grid-template-columns: 1fr;
	}
}

/* =============================================================
   CN FOOTER — Footer custom 4 colonne Erbanatura
   ============================================================= */

#cn-footer {
	background-color: #1e3326;
	color: #d4e8da;
	font-size: 14px;
	line-height: 1.7;
}

/* Griglia 4 colonne */
.cn-footer-inner {
	display: grid;
	grid-template-columns: 2fr 1fr 1.5fr 1.5fr;
	gap: 40px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 56px 24px 40px;
}

/* Titoli colonne */
.cn-footer-col-title {
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0 0 18px;
	padding-bottom: 10px;
	border-bottom: 2px solid #2d4a36;
}

/* ── Colonna 1: Brand ── */
.cn-footer-logo {
	margin-bottom: 16px;
}

.cn-footer-logo-img {
	max-height: 60px;
	width: auto;
	/*filter: brightness(0) invert(1); /* logo bianco su sfondo scuro */
}

.cn-footer-logo-text {
	font-size: 22px;
	font-weight: 700;
	color: #ffffff;
	letter-spacing: 0.5px;
}

.cn-footer-tagline {
	color: #a8c4b0;
	font-size: 14px;
	margin: 0 0 20px;
	line-height: 1.65;
}

/* Social icons */
.cn-footer-social {
	display: flex;
	gap: 10px;
	margin-top: 4px;
}

.cn-social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 8px;
	background-color: #2d4a36;
	color: #ffffff;
	text-decoration: none;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.cn-social-link:hover {
	background-color: #0f766e;
	transform: translateY(-2px);
	color: #ffffff;
	text-decoration: none;
}

/* ── Colonne 2 e 3: Link ── */
.cn-footer-nav {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cn-footer-nav li {
	margin-bottom: 10px;
}

.cn-footer-nav a {
	color: #a8c4b0;
	text-decoration: none;
	transition: color 0.2s ease;
	font-size: 14px;
}

.cn-footer-nav a:hover {
	color: #ffffff;
	text-decoration: none;
}

/* ── Newsletter box in colonna 3 ── */
.cn-footer-newsletter {
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid #2d4a36;
}

.cn-footer-newsletter h5 {
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
	margin: 0 0 6px;
}

.cn-footer-newsletter p {
	color: #a8c4b0;
	font-size: 13px;
	margin: 0 0 12px;
}

.cn-footer-newsletter-cta {
	display: inline-block;
	background-color: #2d4a36;
	color: #ffffff;
	border-radius: 6px;
	padding: 8px 18px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s;
}

.cn-footer-newsletter-cta:hover {
	background-color: #0f766e;
	color: #ffffff;
}

/* Override stile form Brevo nel footer */
#cn-footer .sib-form {
	background: transparent !important;
	padding: 0 !important;
}

#cn-footer .sib-form input[type="email"] {
	background: #2d4a36 !important;
	border: 1px solid #3d6b4a !important;
	color: #ffffff !important;
	border-radius: 6px !important;
	padding: 8px 12px !important;
	font-size: 13px !important;
	width: 100% !important;
	margin-bottom: 8px !important;
}

#cn-footer .sib-form input[type="email"]::placeholder {
	color: #7aaa8a !important;
}

#cn-footer .sib-form button,
#cn-footer .sib-form input[type="submit"] {
	background-color: #0f766e !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 6px !important;
	padding: 8px 18px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	width: 100% !important;
	transition: background-color 0.2s !important;
}

#cn-footer .sib-form button:hover,
#cn-footer .sib-form input[type="submit"]:hover {
	background-color: #0d5f58 !important;
}

/* ── Colonna 4: Contatti & Legale ── */
.cn-footer-contact-list {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
}

.cn-footer-contact-list li {
	display: flex;
	gap: 10px;
	margin-bottom: 12px;
	align-items: flex-start;
}

.cn-footer-icon {
	flex-shrink: 0;
	font-size: 16px;
	line-height: 1.6;
}

.cn-footer-contact-list a {
	color: #a8c4b0;
	text-decoration: none;
	transition: color 0.2s;
}

.cn-footer-contact-list a:hover {
	color: #ffffff;
}

.cn-footer-contact-list span {
	color: #a8c4b0;
	font-size: 14px;
}

/* Dati legali */
.cn-footer-legal {
	border-top: 1px solid #2d4a36;
	padding-top: 16px;
}

.cn-footer-legal p {
	color: #7aaa8a;
	font-size: 12px;
	margin: 0 0 4px;
}

/* ── Barra copyright ── */
.cn-footer-bar {
	background-color: #152a1c;
	border-top: 1px solid #2d4a36;
}

.cn-footer-bar-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 14px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.cn-footer-copyright {
	color: #7aaa8a;
	font-size: 13px;
}

.cn-footer-legal-links {
	display: flex;
	gap: 12px;
	align-items: center;
}

.cn-footer-legal-links a {
	color: #7aaa8a;
	font-size: 13px;
	text-decoration: none;
	transition: color 0.2s;
}

.cn-footer-legal-links a:hover {
	color: #ffffff;
}

.cn-footer-legal-links span {
	color: #3d6b4a;
}

/* ── Responsive Tablet: 2 colonne ── */
@media (max-width: 900px) {
	.cn-footer-inner {
		grid-template-columns: 1fr 1fr;
		gap: 32px;
		padding: 40px 20px 32px;
	}
	.cn-footer-brand {
		grid-column: 1 / -1; /* brand occupa tutta la larghezza */
	}
}

/* ── Responsive Mobile: 1 colonna ── */
@media (max-width: 540px) {
	.cn-footer-inner {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 32px 16px 24px;
	}
	.cn-footer-bar-inner {
		flex-direction: column;
		text-align: center;
		gap: 8px;
	}
}

/* =============================================================
   CN SHOP — Catalogo WooCommerce personalizzato
   Layout con sidebar filtri a sinistra + griglia prodotti a destra
   ============================================================= */

/* ── Categoria shop: card compatta con immagine tonda ── */

/* Card categoria */
.woocommerce ul.products li.product-category,
.woocommerce ul.products li.cn-cat-item {
	text-align: center;
	padding: 20px 16px !important;
	background: #ffffff;
	border: 1px solid #e2e8f0 !important;
	border-radius: 10px;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	/* Rimuove qualsiasi outline/box di Astra */
	outline: none;
}

.woocommerce ul.products li.product-category:hover,
.woocommerce ul.products li.cn-cat-item:hover {
	box-shadow: 0 4px 16px rgba(45,74,54,0.10);
	transform: translateY(-2px);
}

/* Wrapper immagine — cerchio 120px, bordo, overflow hidden per taglio netto */
.woocommerce ul.products li.product-category .cn-cat-img-wrapper,
.woocommerce ul.products li.cn-cat-item .cn-cat-img-wrapper {
	display: block;
	width: 120px;
	height: 120px;
	margin: 0 auto 14px;
	border-radius: 50%;
	overflow: hidden;
	border: 3px solid #e2e8f0;
	transition: border-color 0.2s ease;
	flex-shrink: 0;
	background: #f0f7f1;
}

.woocommerce ul.products li.product-category:hover .cn-cat-img-wrapper,
.woocommerce ul.products li.cn-cat-item:hover .cn-cat-img-wrapper {
	border-color: #2d4a36;
}

/* Immagine dentro il wrapper: riempie il cerchio */
.woocommerce ul.products li.product-category .cn-cat-img-wrapper img,
.woocommerce ul.products li.cn-cat-item .cn-cat-img-wrapper img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	border-radius: 50%;
	margin: 0 !important;
	display: block;
	border: none !important;
}

/* Titolo categoria */
.woocommerce ul.products li.cn-cat-item .cn-cat-title {
	font-size: 15px;
	font-weight: 700;
	color: #2d4a36;
	margin: 0 0 6px;
	line-height: 1.3;
}

.woocommerce ul.products li.cn-cat-item .cn-cat-title a {
	color: inherit;
	text-decoration: none;
}

.woocommerce ul.products li.cn-cat-item .cn-cat-title a:hover {
	color: #1e3326;
}

/* Conteggio prodotti */
.woocommerce ul.products li.product-category .cn-cat-count,
.woocommerce ul.products li.cn-cat-item .cn-cat-count {
	font-size: 12px;
	color: #718096;
	background: #f0f7f1;
	border-radius: 20px;
	padding: 2px 10px;
	display: inline-block;
	margin-top: 2px;
}

/* ── Layout shop con sidebar ── */

/* Contenitore principale pagina shop */
.woocommerce-page .cn-shop-layout,
body.post-type-archive-product .cn-shop-layout,
body.tax-product_cat .cn-shop-layout,
body.tax-cn_esigenza .cn-shop-layout {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 32px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px 60px;
	align-items: start;
}

/* Sidebar filtri */
.cn-shop-sidebar {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 24px 20px;
	position: sticky;
	top: 100px;
}

.cn-shop-sidebar-title {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #2d4a36;
	margin: 0 0 16px;
	padding-bottom: 10px;
	border-bottom: 2px solid #e2e8f0;
}

/* Sezione filtro singola */
.cn-filter-group {
	margin-bottom: 28px;
}

.cn-filter-group:last-child {
	margin-bottom: 0;
}

.cn-filter-group-title {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	color: #718096;
	margin: 0 0 10px;
}

/* Lista filtri */
.cn-filter-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.cn-filter-list a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	border-radius: 7px;
	font-size: 14px;
	color: #4a5568;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
	line-height: 1.3;
}

.cn-filter-list a:hover {
	background-color: #f0f7f1;
	color: #2d4a36;
	text-decoration: none;
}

.cn-filter-list a.cn-filter-active {
	background-color: #2d4a36;
	color: #ffffff;
	font-weight: 600;
}

.cn-filter-list a .cn-filter-count {
	margin-left: auto;
	font-size: 11px;
	color: #a0aec0;
	background: #f0f0f0;
	border-radius: 20px;
	padding: 1px 7px;
	flex-shrink: 0;
}

.cn-filter-list a.cn-filter-active .cn-filter-count {
	background: rgba(255,255,255,0.25);
	color: #ffffff;
}

.cn-filter-list .cn-filter-emoji {
	font-size: 16px;
	flex-shrink: 0;
}

/* Link "Tutti i prodotti" reset filtri */
.cn-filter-reset {
	display: inline-block;
	margin-top: 16px;
	font-size: 13px;
	color: #718096;
	text-decoration: underline;
	cursor: pointer;
}

.cn-filter-reset:hover {
	color: #2d4a36;
}

/* ── Responsive sidebar ── */
@media (max-width: 860px) {
	.cn-shop-layout {
		grid-template-columns: 1fr !important;
	}
	.cn-shop-sidebar {
		position: static;
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		padding: 16px;
	}
	.cn-filter-group {
		margin-bottom: 0;
		min-width: 160px;
		flex: 1;
	}
	.cn-shop-sidebar-title {
		display: none;
	}
}

/* ── Stile card prodotto shop (coerente con homepage bestseller) ── */
.woocommerce ul.products li.product:not(.product-category) {
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 16px !important;
	background: #ffffff;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	display: flex;
	flex-direction: column;
}

.woocommerce ul.products li.product:not(.product-category):hover {
	box-shadow: 0 4px 20px rgba(45,74,54,0.10);
	transform: translateY(-2px);
}

/* Immagine prodotto shop */
.woocommerce ul.products li.product:not(.product-category) img {
	border-radius: 6px;
	margin-bottom: 12px !important;
}

/* Titolo prodotto shop */
.woocommerce ul.products li.product:not(.product-category) .woocommerce-loop-product__title {
	font-size: 15px !important;
	font-weight: 600;
	color: #1a2e1f;
	line-height: 1.35;
	margin-bottom: 6px !important;
}

/* Prezzo prodotto shop */
.woocommerce ul.products li.product:not(.product-category) .price {
	color: #2d4a36;
	font-weight: 700;
	font-size: 16px !important;
}

/* Pulsante "Aggiungi al carrello" shop — stile coerente con homepage */
.woocommerce ul.products li.product:not(.product-category) .button {
	background-color: #e6f0e9 !important;
	color: #2d4a36 !important;
	border: none !important;
	border-radius: 5px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	padding: 9px 14px !important;
	width: 100% !important;
	text-align: center !important;
	transition: background-color 0.2s ease !important;
	margin-top: auto !important;
}

.woocommerce ul.products li.product:not(.product-category) .button:hover {
	background-color: #2d4a36 !important;
	color: #ffffff !important;
}

/* Badge "Offerta" sui prodotti shop:
   Il template sale-flash.php è stato svuotato (override nel child theme),
   il badge viene iniettato via hook dopo il titolo in functions.php.
   Stile del badge cn-onsale-badge */
.cn-onsale-badge {
	display: inline-block;
	background-color: #2d4a36;
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	border-radius: 4px;
	padding: 3px 9px;
	line-height: 1.4;
	margin: 0 0 6px 0;
	text-align: left;
}

/* Nasconde l'eventuale .onsale residuo di WooCommerce (sicurezza) */
.woocommerce ul.products li.product .onsale {
	display: none !important;
}

/* ── Form ricerca prodotti nella sidebar shop ── */
.cn-search-form {
	display: flex;
	align-items: center;
	gap: 0;
	background: #f7faf8;
	border: 1.5px solid #e2e8f0;
	border-radius: 8px;
	overflow: hidden;
	transition: border-color 0.2s ease;
	width: 100%;
	max-width: 100%; /* si adatta alla sidebar, non all'header */
	margin-bottom: 20px;
}

.cn-search-form:focus-within {
	border-color: #2d4a36;
}

.cn-search-form .search-field {
	flex: 1;
	border: none !important;
	outline: none !important;
	padding: 10px 14px !important;
	font-size: 14px !important;
	background: transparent !important;
	color: #2d3748;
	box-shadow: none !important;
	min-width: 0;
}

.cn-search-form .search-field::placeholder {
	color: #a0aec0;
}

.cn-search-submit {
	background: none;
	border: none;
	padding: 8px 12px;
	cursor: pointer;
	color: #718096;
	display: flex;
	align-items: center;
	transition: color 0.2s ease;
	flex-shrink: 0;
}

.cn-search-submit:hover {
	color: #2d4a36;
}

/* =============================================================
   PRODOTTO SINGOLO — WooCommerce single product page
   ============================================================= */

/* ── Riga prezzo + badge disponibilità ── */
.cn-price-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 16px;
}

.cn-price-row .price {
	font-size: 26px !important;
	font-weight: 700;
	color: #2d4a36;
	margin: 0 !important;
}

.cn-availability-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #f0f7f1;
	border: 1px solid #b7d8be;
	color: #2d6a3f;
	font-size: 12.5px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 20px;
	white-space: nowrap;
}

.cn-avail-dot {
	width: 8px;
	height: 8px;
	background: #38a169;
	border-radius: 50%;
	flex-shrink: 0;
	animation: cn-pulse 2s infinite;
}

@keyframes cn-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50%       { opacity: 0.6; transform: scale(0.85); }
}

/* ── Pulsante Aggiungi al Carrello — verde scuro con testo bianco ── */
.woocommerce div.product form.cart .cn-atc-button,
.woocommerce div.product .cn-atc-button.single_add_to_cart_button {
	background-color: #2d4a36 !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 8px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	padding: 14px 32px !important;
	letter-spacing: 0.3px;
	transition: background-color 0.2s ease, transform 0.1s ease !important;
	box-shadow: 0 2px 8px rgba(45,74,54,0.25) !important;
	width: auto;
	min-width: 220px;
}

.woocommerce div.product form.cart .cn-atc-button:hover,
.woocommerce div.product .cn-atc-button.single_add_to_cart_button:hover {
	background-color: #1e3326 !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
}

.woocommerce div.product form.cart .cn-atc-button:active {
	transform: translateY(0) !important;
}

/* ── Blocco Pagamenti Sicuri ── */
.cn-secure-payments {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid #edf2f7;
}

.cn-secure-label {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	color: #718096;
	font-weight: 600;
	white-space: nowrap;
}

.cn-secure-label svg {
	color: #38a169;
	flex-shrink: 0;
}

.cn-payment-icons {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.cn-pay-icon {
	width: 38px;
	height: 24px;
	border-radius: 4px;
	display: block;
	flex-shrink: 0;
	filter: drop-shadow(0 1px 2px rgba(0,0,0,0.10));
}

/* ── Prodotti correlati — dimensioni ridotte, subito dopo i tab ── */
.woocommerce div.product .related.products {
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid #e2e8f0;
}

.woocommerce div.product .related.products h2 {
	font-size: 18px !important;
	font-weight: 700;
	color: #2d4a36;
	margin-bottom: 20px;
}

/* Card correlati: più piccole rispetto alle normali shop */
.woocommerce div.product .related.products ul.products li.product {
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 12px !important;
	background: #ffffff;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.woocommerce div.product .related.products ul.products li.product:hover {
	box-shadow: 0 3px 12px rgba(45,74,54,0.09);
	transform: translateY(-2px);
}

.woocommerce div.product .related.products ul.products li.product img {
	border-radius: 5px;
	margin-bottom: 8px !important;
}

.woocommerce div.product .related.products ul.products li.product .woocommerce-loop-product__title {
	font-size: 13px !important;
	font-weight: 600;
	color: #1a2e1f;
	line-height: 1.3;
	margin-bottom: 5px !important;
}

.woocommerce div.product .related.products ul.products li.product .price {
	font-size: 14px !important;
	font-weight: 700;
	color: #2d4a36;
}

.woocommerce div.product .related.products ul.products li.product .button {
	font-size: 12px !important;
	padding: 7px 10px !important;
	background-color: #e6f0e9 !important;
	color: #2d4a36 !important;
	border: none !important;
	border-radius: 5px !important;
	width: 100% !important;
	text-align: center !important;
	font-weight: 600 !important;
}

.woocommerce div.product .related.products ul.products li.product .button:hover {
	background-color: #2d4a36 !important;
	color: #ffffff !important;
}

/* ── Sticky Cart (SOLO MOBILE) ── */
.cn-sticky-cart {
	display: none; /* nascosto di default, JS lo mostra su mobile */
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	background: #ffffff;
	border-top: 2px solid #a8c5da;
	box-shadow: 0 -4px 20px rgba(0,0,0,0.12);
	padding: 10px 16px;
	transform: translateY(100%);
	transition: transform 0.3s ease;
}

.cn-sticky-cart.cn-sticky-visible {
	transform: translateY(0);
}

/* Mostra solo su mobile */
@media (max-width: 768px) {
	.cn-sticky-cart {
		display: block;
	}
}

.cn-sticky-cart-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	max-width: 600px;
	margin: 0 auto;
}

.cn-sticky-product-info {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	flex: 1;
}

.cn-sticky-thumb {
	width: 48px;
	height: 48px;
	object-fit: cover;
	border-radius: 6px;
	flex-shrink: 0;
	border: 1px solid #e2e8f0;
}

.cn-sticky-name {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #1a2e1f;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 160px;
}

.cn-sticky-price {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: #2d4a36;
}

.cn-sticky-price .woocommerce-Price-amount {
	font-size: inherit !important;
}

.cn-sticky-atc-btn {
	background-color: #a8c5da;
	color: #1a3a4a;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 700;
	padding: 12px 18px;
	cursor: pointer;
	flex-shrink: 0;
	transition: background-color 0.2s ease;
	white-space: nowrap;
}

.cn-sticky-atc-btn:hover {
	background-color: #7aaec8;
	color: #0f2a38;
}

/* =============================================================
   CARRELLO — Blocco "Ti può Interessare" (prodotti sotto 5€)
   ============================================================= */

/* Layout carrello: affianca il blocco promo al blocco totali
   Il blocco totali DEVE allinearsi in cima (align-items: start)
   e stare VICINO al form carrello sopra → margin-top: 0 */
.woocommerce-cart .cart-collaterals {
	display: grid;
	grid-template-columns: 1fr 1.6fr; /* promo più stretta, totali più larghi */
	gap: 32px;
	align-items: start;
	margin-top: 0 !important;
	padding-top: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* Totale carrello — visivamente a destra, allineato in cima */
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart_totals h2,
.woocommerce .cart_totals,
.woocommerce .cart_totals > * {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.woocommerce-cart .cart_totals {
	order: 2;
}

/* Il blocco cn-cart-upsell va a sinistra (ordine 1) */
.cn-cart-upsell {
	order: 1; /* visivamente a sinistra */
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 22px 20px;
	margin-top: 0 !important;
}

.cn-cart-upsell-title {
	font-size: 16px !important;
	font-weight: 700;
	color: #2d4a36;
	margin: 0 0 4px !important;
}

.cn-cart-upsell-subtitle {
	font-size: 12.5px;
	color: #718096;
	margin: 0 0 18px !important;
}

/* Lista prodotti promo */
.cn-cart-upsell-list {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* Singolo item promo */
.cn-cart-upsell-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	background: #f7faf8;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cn-cart-upsell-item:hover {
	border-color: #b7d8be;
	box-shadow: 0 2px 8px rgba(45,74,54,0.07);
}

/* Immagine prodotto promo */
.cn-upsell-img-link {
	flex-shrink: 0;
}

.cn-upsell-thumb {
	width: 56px !important;
	height: 56px !important;
	object-fit: cover;
	border-radius: 6px;
	border: 1px solid #e2e8f0;
	display: block;
}

/* Testo: nome + prezzo */
.cn-upsell-info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.cn-upsell-name {
	font-size: 13px;
	font-weight: 600;
	color: #1a2e1f;
	text-decoration: none;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.cn-upsell-name:hover {
	color: #2d4a36;
	text-decoration: underline;
}

.cn-upsell-price {
	font-size: 14px;
	font-weight: 700;
	color: #2d4a36;
}

.cn-upsell-price .woocommerce-Price-amount {
	font-size: inherit !important;
}

/* Pulsante "+ Aggiungi" */
.cn-upsell-add-btn {
	flex-shrink: 0;
	background-color: #2d4a36;
	color: #ffffff !important;
	font-size: 12px;
	font-weight: 700;
	padding: 7px 12px;
	border-radius: 6px;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background-color 0.2s ease;
	display: inline-block;
}

.cn-upsell-add-btn:hover {
	background-color: #1e3326;
	color: #ffffff !important;
}

/* Responsive: su mobile torna a colonna singola — totali prima */
@media (max-width: 768px) {
	.woocommerce-cart .cart-collaterals {
		grid-template-columns: 1fr;
	}
	.woocommerce-cart .cart_totals {
		order: 1; /* totali in cima su mobile */
	}
	.cn-cart-upsell {
		order: 2; /* promo sotto su mobile */
	}
}

/* =============================================================
   HERO HOMEPAGE — Pulsante "Vai allo Shop" arancione
   Si applica ai wp:button dentro il blocco Image con overlay
   ============================================================= */

/* Wrapper pulsanti dentro l'overlay dell'immagine hero */
.wp-block-image .wp-block-buttons,
.wp-block-cover .wp-block-buttons {
	display: flex;
	justify-content: center;
	margin-top: 24px;
}

/* Pulsante arancione primario hero */
.wp-block-image .wp-block-button__link,
.wp-block-cover .wp-block-button__link,
.cn-hero-btn {
	display: inline-block;
	background-color: #e07b35;
	color: #ffffff !important;
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 14px 36px;
	border-radius: 4px;
	border: none;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.15s ease;
}

.wp-block-image .wp-block-button__link:hover,
.wp-block-cover .wp-block-button__link:hover,
.cn-hero-btn:hover {
	background-color: #c46825;
	color: #ffffff !important;
	transform: translateY(-2px);
}

/* Fallback: pulsante standalone subito sotto l'immagine hero
   (se il button è fuori dall'overlay, lo stile si applica
   al primo .wp-block-buttons subito dopo .wp-block-image) */
.wp-block-image + .wp-block-buttons .wp-block-button__link {
	background-color: #e07b35;
	color: #ffffff !important;
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 14px 36px;
	border-radius: 4px;
	transition: background-color 0.2s ease, transform 0.15s ease;
}

.wp-block-image + .wp-block-buttons .wp-block-button__link:hover {
	background-color: #c46825;
	transform: translateY(-2px);
}

/* =============================================================
   CN FORM RESO — Richiesta reso ordine ([form_reso])
   Palette: verde scuro #2d4a36, grigio testo #4a5568, bordi #e2e8f0
   ============================================================= */

.cn-reso {
	max-width: 640px;
	margin: 0 auto;
	padding: 48px 20px;
}

.cn-reso-title {
	font-size: 28px;
	font-weight: 700;
	color: #2d4a36;
	margin: 0 0 12px;
}

.cn-reso-intro {
	font-size: 15px;
	line-height: 1.7;
	color: #4a5568;
	margin: 0 0 28px;
}

.cn-reso-form {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.cn-reso-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.cn-reso-field label {
	font-size: 14px;
	font-weight: 600;
	color: #2d4a36;
}

.cn-reso-field input {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	font-size: 15px;
	font-family: 'Montserrat', sans-serif;
	color: #2d3748;
	background: #ffffff;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cn-reso-field input:focus {
	outline: none;
	border-color: #2d4a36;
	box-shadow: 0 0 0 3px rgba(45, 74, 54, 0.15);
}

.cn-reso-submit {
	align-self: flex-start;
	margin-top: 6px;
	background-color: #2d4a36;
	color: #ffffff !important;
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.03em;
	padding: 13px 32px;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.15s ease;
}

.cn-reso-submit:hover {
	background-color: #1e3326;
	transform: translateY(-1px);
}

.cn-reso-submit:disabled {
	opacity: 0.6;
	cursor: wait;
	transform: none;
}

.cn-reso-messages {
	margin-top: 20px;
}

.cn-reso-msg {
	padding: 14px 16px;
	border-radius: 6px;
	font-size: 14px;
	line-height: 1.6;
	border: 1px solid transparent;
}

.cn-reso-msg-error {
	background-color: #fef2f2;
	border-color: #fecaca;
	color: #991b1b;
}

.cn-reso-msg-success {
	background-color: #f0fdf4;
	border-color: #bbf7d0;
	color: #166534;
}

/* ── Modal ── */
.cn-reso-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 99999;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.cn-reso-modal.cn-reso-open {
	display: flex;
}

.cn-reso-modal-backdrop {
	position: absolute;
	inset: 0;
	background-color: rgba(20, 33, 24, 0.55);
	backdrop-filter: blur(2px);
}

.cn-reso-modal-box {
	position: relative;
	width: 100%;
	max-width: 560px;
	max-height: 85vh;
	overflow-y: auto;
	background: #ffffff;
	border-radius: 10px;
	padding: 32px 28px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
}

.cn-reso-modal-box h3 {
	font-size: 22px;
	font-weight: 700;
	color: #2d4a36;
	margin: 0 0 16px;
}

.cn-reso-modal-close {
	position: absolute;
	top: 12px;
	right: 14px;
	width: 32px;
	height: 32px;
	border: none;
	background: none;
	font-size: 26px;
	line-height: 1;
	color: #4a5568;
	cursor: pointer;
	border-radius: 50%;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.cn-reso-modal-close:hover {
	background-color: #f1f5f9;
	color: #1e3326;
}

.cn-reso-modal-note {
	font-size: 14px;
	color: #4a5568;
	margin: 0 0 16px;
}

.cn-reso-riepilogo {
	background: #f0f7f1;
	border: 1px solid #d9e9db;
	border-radius: 8px;
	padding: 14px 16px;
	margin-bottom: 16px;
}

.cn-reso-riepilogo p {
	margin: 4px 0;
	font-size: 14px;
	color: #2d3748;
}

.cn-reso-riepilogo strong {
	color: #2d4a36;
}

.cn-reso-modal-subtitle {
	font-size: 14px;
	font-weight: 700;
	color: #2d4a36;
	margin: 0 0 8px;
}

.cn-reso-prodotti {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	overflow: hidden;
}

.cn-reso-prodotti li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	font-size: 14px;
	color: #2d3748;
	border-bottom: 1px solid #eef2f6;
}

.cn-reso-prodotti li:last-child {
	border-bottom: none;
}

.cn-reso-prodotto-nome {
	flex: 1;
}

.cn-reso-prodotto-qta {
	color: #4a5568;
	font-weight: 600;
	white-space: nowrap;
}

.cn-reso-prodotto-totale {
	font-weight: 700;
	color: #2d4a36;
	white-space: nowrap;
}

.cn-reso-modal-actions {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	margin-top: 8px;
}

.cn-reso-cancel {
	background: none;
	border: 1px solid #e2e8f0;
	color: #4a5568;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 600;
	padding: 11px 22px;
	border-radius: 6px;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.cn-reso-cancel:hover {
	background-color: #f8fafc;
	border-color: #cbd5e1;
}

.cn-reso-confirm {
	background-color: #2d4a36;
	color: #ffffff !important;
	border: none;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 700;
	padding: 11px 24px;
	border-radius: 6px;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.15s ease;
}

.cn-reso-confirm:hover {
	background-color: #1e3326;
	transform: translateY(-1px);
}

.cn-reso-confirm:disabled {
	opacity: 0.6;
	cursor: wait;
	transform: none;
}

.cn-reso-hidden {
	display: none !important;
}

.cn-reso-success {
	background-color: #f0fdf4;
	border: 1px solid #bbf7d0;
	border-radius: 8px;
	color: #166534;
	padding: 16px 18px;
	font-size: 15px;
	line-height: 1.7;
}

@media (max-width: 480px) {
	.cn-reso {
		padding: 32px 16px;
	}
	.cn-reso-modal-box {
		padding: 26px 20px;
	}
	.cn-reso-modal-actions {
		flex-direction: column-reverse;
	}
	.cn-reso-modal-actions button {
		width: 100%;
	}
}