@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;1,400&family=DM+Sans:wght@300;400;500&display=swap');

/* ── RESET ───────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
img { display: block; max-width: 100%; }
a  { color: inherit; }
ul { list-style: none; }

/* ── TOKENS ──────────────────────────────── */
:root {
	--green:    #2d5a4e;
	--green-dk: #1e3d35;
	--green-lt: #8fbfb0;
	--accent:   #a8d5c5;
	--text:     #1a1a1a;
	--muted:    #666;
	--hint:     #aaa;
	--bg:       #f7f6f3;
	--white:    #ffffff;
	--border:   #e8e4de;
	--body:     'DM Sans', sans-serif;
	--display:  'Playfair Display', serif;
}

/* ── BASE ────────────────────────────────── */
html { scroll-behavior: smooth; }
body {
	font-family: var(--body);
	color: var(--text);
	background: var(--bg);
	-webkit-font-smoothing: antialiased;
}

/* ── NAV ─────────────────────────────────── */
.ld-nav {
	background: var(--white);
	border-bottom: 1px solid var(--border);
	height: 62px;
	padding: 0 2.5rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: sticky;
	top: 0;
	z-index: 200;
}

.ld-nav__logo {
	font-family: var(--display);
	font-size: 21px;
	font-weight: 400;
	text-decoration: none;
	color: var(--text);
	white-space: nowrap;
}

.ld-nav__menu {
	display: flex;
	gap: 2rem;
}

.ld-nav__menu a {
	font-size: 13px;
	color: var(--muted);
	text-decoration: none;
	letter-spacing: .3px;
	transition: color .2s;
}

.ld-nav__menu a:hover { color: var(--green); }

.ld-nav__actions {
	display: flex;
	gap: 1.1rem;
	align-items: center;
}

.ld-nav__actions a {
	color: var(--text);
	text-decoration: none;
	line-height: 1;
	position: relative;
	transition: color .2s;
}

.ld-nav__actions a:hover { color: var(--green); }

.ld-nav__actions svg { display: block; }

.ld-cart-count {
	position: absolute;
	top: -6px;
	right: -7px;
	background: var(--green);
	color: var(--white);
	font-size: 9px;
	font-weight: 500;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ── HERO ────────────────────────────────── */
.ld-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 420px;
	background: var(--green);
}

.ld-hero__content {
	padding: 4rem 3rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.ld-hero__tag {
	font-size: 11px;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--green-lt);
	margin-bottom: 1rem;
}

.ld-hero__title {
	font-family: var(--display);
	font-size: 40px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--white);
	margin-bottom: 1.1rem;
}

.ld-hero__title em {
	font-style: italic;
	color: var(--accent);
}

.ld-hero__sub {
	font-size: 14px;
	color: var(--green-lt);
	line-height: 1.7;
	font-weight: 300;
	margin-bottom: 2rem;
	max-width: 320px;
}

.ld-hero__btn {
	display: inline-block;
	background: var(--white);
	color: var(--green);
	padding: 13px 26px;
	font-family: var(--body);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .8px;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	width: fit-content;
	transition: background .2s, color .2s;
}

.ld-hero__btn:hover {
	background: var(--accent);
	color: var(--green-dk);
}

.ld-hero__visual {
	background: var(--green-dk);
	border-left: 1px solid rgba(0,0,0,.15);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.ld-hero__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ld-hero__placeholder {
	width: 220px;
	height: 270px;
	border: 1px solid rgba(255,255,255,.15);
	border-radius: 4px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.ld-hero__placeholder span {
	font-size: 11px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: rgba(255,255,255,.3);
}

/* ── PRODUTOS ────────────────────────────── */
.ld-products {
	padding: 3.5rem 2.5rem;
	background: var(--white);
}

.ld-products__header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 2rem;
}

.ld-products__title {
	font-family: var(--display);
	font-size: 26px;
	font-weight: 400;
}

.ld-products__link {
	font-size: 13px;
	color: var(--green);
	text-decoration: none;
}

.ld-products__link:hover { text-decoration: underline; }

.ld-products__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
}

/* ── CARD PRODUTO ────────────────────────── */
.ld-prod { cursor: pointer; }

.ld-prod__thumb {
	height: 180px;
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: .75rem;
	position: relative;
	overflow: hidden;
	transition: border-color .2s;
}

.ld-prod:hover .ld-prod__thumb { border-color: var(--green); }

.ld-prod__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ld-prod__badge {
	position: absolute;
	top: 10px;
	left: 10px;
	background: var(--green);
	color: var(--white);
	font-size: 10px;
	font-weight: 500;
	padding: 3px 9px;
	border-radius: 2px;
	letter-spacing: .4px;
	z-index: 1;
}

.ld-prod__cat {
	font-size: 11px;
	color: var(--hint);
	text-transform: uppercase;
	letter-spacing: .8px;
	margin-bottom: .2rem;
}

.ld-prod__name {
	font-size: 14px;
	font-weight: 500;
	color: var(--text);
	margin-bottom: .3rem;
	line-height: 1.3;
}

.ld-prod__name a {
	text-decoration: none;
	color: inherit;
}

.ld-prod__name a:hover { color: var(--green); }

.ld-prod__price { font-size: 14px; }

.ld-prod__price del { color: var(--hint); font-size: 12px; margin-left: 4px; }

/* ── FOOTER ──────────────────────────────── */
.ld-footer {
	background: var(--green);
	padding: 1.75rem 2.5rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.ld-footer__logo {
	font-family: var(--display);
	font-size: 17px;
	color: var(--white);
	text-decoration: none;
}

.ld-footer__copy {
	font-size: 12px;
	color: var(--green-lt);
}

.ld-footer__pay {
	display: flex;
	gap: .5rem;
}

.ld-footer__pay span {
	border: 1px solid rgba(255,255,255,.2);
	padding: 3px 10px;
	border-radius: 2px;
	font-size: 11px;
	color: var(--green-lt);
}

/* ── WOO OVERRIDES ───────────────────────── */
.woocommerce-notices-wrapper { padding: 1rem 2.5rem 0; }
.woocommerce-message,
.woocommerce-error,
.woocommerce-info { padding: .75rem 1.25rem; border-radius: 4px; margin-bottom: 1rem; }
.woocommerce-message { background: #e6f4ef; color: var(--green-dk); border-left: 3px solid var(--green); }
.woocommerce-error   { background: #fdecea; color: #7d1a1a; border-left: 3px solid #c0392b; }

/* ── RESPONSIVO ──────────────────────────── */
@media (max-width: 900px) {
	.ld-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
	.ld-nav__menu  { display: none; }
	.ld-nav__logo  { font-size: 18px; }

	.ld-hero { grid-template-columns: 1fr; }
	.ld-hero__visual { display: none; }
	.ld-hero__content { padding: 2.5rem 1.5rem; }
	.ld-hero__title { font-size: 30px; }

	.ld-products { padding: 2rem 1.25rem; }
	.ld-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }

	.ld-footer {
		flex-direction: column;
		gap: 1rem;
		text-align: center;
	}
}

/* ── PÁGINA INTERNA HEADER ───────────────── */
.ld-page-header {
	background: var(--green);
	padding: 3rem 2.5rem;
}
.ld-page-header__tag {
	font-size: 11px;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--green-lt);
	margin-bottom: .75rem;
}
.ld-page-header__title {
	font-family: var(--display);
	font-size: 34px;
	font-weight: 400;
	color: #fff;
	line-height: 1.2;
}
.ld-page-header__title em { font-style: italic; color: var(--accent); }

/* ── FILTROS ─────────────────────────────── */
.ld-filters {
	background: var(--white);
	border-bottom: 1px solid var(--border);
	padding: 1rem 2.5rem;
	display: flex;
	gap: .6rem;
	flex-wrap: wrap;
}
.ld-filter-btn {
	background: none;
	border: 1px solid var(--border);
	padding: 6px 16px;
	font-family: var(--body);
	font-size: 12px;
	color: var(--muted);
	border-radius: 2px;
	cursor: pointer;
	letter-spacing: .3px;
	transition: all .2s;
}
.ld-filter-btn:hover,
.ld-filter-btn.active {
	background: var(--green);
	border-color: var(--green);
	color: #fff;
}

/* ── GRID PRODUTOS (página loja) ─────────── */
.ld-shop {
	padding: 2.5rem;
	background: var(--white);
}
.ld-shop__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0,1fr));
	gap: 1.25rem;
}

/* ── COLEÇÕES ────────────────────────────── */
.ld-collections {
	padding: 3rem 2.5rem;
	background: var(--white);
}
.ld-col-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 1.25rem;
	margin-bottom: 3rem;
}
.ld-col-card {
	border: 1px solid var(--border);
	border-radius: 4px;
	overflow: hidden;
	cursor: pointer;
	transition: border-color .2s;
}
.ld-col-card:hover { border-color: var(--green); }
.ld-col-card__thumb {
	height: 180px;
	background: var(--bg);
	display: flex;
	align-items: center;
	justify-content: center;
}
.ld-col-card__body { padding: 1.1rem 1.25rem; }
.ld-col-card__name {
	font-family: var(--display);
	font-size: 18px;
	font-weight: 400;
	margin-bottom: .35rem;
}
.ld-col-card__desc { font-size: 13px; color: var(--muted); line-height: 1.6; margin-bottom: .75rem; }
.ld-col-card__link { font-size: 12px; color: var(--green); text-decoration: none; letter-spacing: .3px; }
.ld-col-highlight {
	background: var(--green);
	border-radius: 4px;
	padding: 3rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	align-items: center;
}
.ld-col-highlight__tag { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--green-lt); margin-bottom: .75rem; }
.ld-col-highlight__title { font-family: var(--display); font-size: 28px; font-weight: 400; color: #fff; margin-bottom: .75rem; line-height: 1.2; }
.ld-col-highlight__title em { font-style: italic; color: var(--accent); }
.ld-col-highlight__sub { font-size: 14px; color: var(--green-lt); line-height: 1.6; margin-bottom: 1.5rem; font-weight: 300; }
.ld-col-highlight__prods { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.ld-col-highlight__prods .ld-prod__thumb { height: 120px; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.15); }
.ld-col-highlight__prods .ld-prod__cat { color: var(--green-lt); }
.ld-col-highlight__prods .ld-prod__name { color: #fff; font-size: 13px; }
.ld-col-highlight__prods .ld-prod__price { color: var(--accent); font-size: 13px; }

/* ── CONTATO ─────────────────────────────── */
.ld-contact {
	padding: 3rem 2.5rem;
	background: var(--white);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	align-items: start;
}
.ld-contact__info-title {
	font-family: var(--display);
	font-size: 24px;
	font-weight: 400;
	margin-bottom: 1rem;
}
.ld-contact__info-sub { font-size: 14px; color: var(--muted); line-height: 1.7; margin-bottom: 2rem; }
.ld-contact__item { display: flex; gap: 1rem; margin-bottom: 1.25rem; align-items: flex-start; }
.ld-contact__icon {
	width: 40px; height: 40px; flex-shrink: 0;
	background: #eef7f4; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
}
.ld-contact__icon svg { display: block; }
.ld-contact__label { font-size: 12px; color: var(--hint); text-transform: uppercase; letter-spacing: .6px; margin-bottom: .2rem; }
.ld-contact__value { font-size: 14px; font-weight: 500; }
.ld-form { display: flex; flex-direction: column; gap: 1rem; }
.ld-form label { font-size: 12px; color: var(--muted); letter-spacing: .3px; display: block; margin-bottom: .3rem; }
.ld-form input,
.ld-form textarea,
.ld-form select {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--border);
	border-radius: 3px;
	font-family: var(--body);
	font-size: 14px;
	color: var(--text);
	background: var(--white);
	outline: none;
	transition: border-color .2s;
}
.ld-form input:focus,
.ld-form textarea:focus { border-color: var(--green); }
.ld-form textarea { resize: vertical; min-height: 120px; }
.ld-form__btn {
	background: var(--green);
	color: #fff;
	border: none;
	padding: 13px 28px;
	font-family: var(--body);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .6px;
	text-transform: uppercase;
	border-radius: 2px;
	cursor: pointer;
	width: fit-content;
	transition: background .2s;
}
.ld-form__btn:hover { background: var(--green-dk); }

@media (max-width: 768px) {
	.ld-shop__grid,
	.ld-col-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.ld-col-highlight { grid-template-columns: 1fr; }
	.ld-contact { grid-template-columns: 1fr; }
}
