/* Product descriptions (.pd-* blocks, shared markup) — Espai Oleum: cream, brass, deep green, Bodoni elegance.
   Generated by docs/seo/tools/build-pd-css.py; edit the generator, not this file. */
@font-face { font-family: "PD Bodoni"; src: url(../fonts/bodoni-normal.woff2) format("woff2"); font-weight: 300 900; font-style: normal; font-display: swap; }
@font-face { font-family: "PD Bodoni"; src: url(../fonts/bodoni-italic.woff2) format("woff2"); font-weight: 300 900; font-style: italic; font-display: swap; }

.woocommerce-Tabs-panel--description:has(.pd-lead) {
	--pd-ink: #1f2a20; --pd-text: #4a5348; --pd-muted: #6f7468; --pd-accent: #a07f34; --pd-accent-2: #c2a15a;
	--pd-deep: #13301f; --pd-on-deep: rgb(255 255 255 / .82); --pd-soft: #fbf8f2; --pd-line: #ddd2bd; --pd-radius: 7px;
	--pd-display: "PD Bodoni", Georgia, "Times New Roman", serif; --pd-sans: var(--sans);
	counter-reset: pd;
	max-width: 860px;
	margin-inline: auto;
	display: grid;
	gap: clamp(44px, 6vw, 80px);
	color: var(--pd-text);
	font: 400 17px/1.8 var(--sans);
	text-wrap: pretty;
}
.woocommerce-Tabs-panel--description:has(.pd-lead) > section { counter-increment: pd; min-width: 0; }
.woocommerce-Tabs-panel--description:has(.pd-lead) p { margin: 0 0 1em; }
.woocommerce-Tabs-panel--description:has(.pd-lead) p:last-child { margin-bottom: 0; }
.woocommerce-Tabs-panel--description:has(.pd-lead) strong { color: var(--pd-ink); font-weight: 600; }
.woocommerce-Tabs-panel--description:has(.pd-lead) a { color: var(--pd-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }

/* Section titles: italic numeral eyebrow + large display serif */
.woocommerce-Tabs-panel--description:has(.pd-lead) > section > h2 {
	font-family: var(--pd-display);
	font-weight: 500;
	font-size: clamp(30px, 1rem + 2.3vw, 46px);
	line-height: 1.06;
	letter-spacing: -.012em;
	color: var(--pd-ink);
	margin: 0 0 22px;
	text-wrap: balance;
}
.woocommerce-Tabs-panel--description:has(.pd-lead) > section > h2::before {
	content: counter(pd, decimal-leading-zero);
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 14px;
	font: italic 500 21px/1 var(--pd-display);
	letter-spacing: .04em;
	color: var(--pd-accent);
}
.woocommerce-Tabs-panel--description:has(.pd-lead) h3 { font: 600 11px/1.3 var(--pd-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--pd-accent); margin: 0 0 8px; }

/* Lead: editorial opening with drop cap */
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-lead { position: relative; padding-top: 34px; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-lead::before {
	content: "";
	position: absolute; top: 0; left: 0;
	width: 72px; height: 1px;
	background: linear-gradient(90deg, var(--pd-accent), transparent);
}
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-lead p:first-child {
	font-family: var(--pd-display);
	font-weight: 400;
	font-size: clamp(24px, 1rem + 1.3vw, 32px);
	line-height: 1.32;
	letter-spacing: -.006em;
	color: var(--pd-ink);
	margin-bottom: 22px;
}
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-lead p:first-child::first-letter {
	float: left;
	font: italic 500 3.15em/.82 var(--pd-display);
	color: var(--pd-accent);
	padding: .07em .1em 0 0;
}
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-lead p + p { font-size: 18px; color: var(--pd-muted); max-width: 60ch; }

/* Key facts: a spec label — ruled rows, small caps over display values */
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-facts { background: var(--pd-soft); border: 1px solid var(--pd-line); border-radius: var(--pd-radius); padding: clamp(24px, 4vw, 44px); position: relative; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-facts::after { content: ""; position: absolute; inset: 7px; border: 1px solid var(--pd-line); border-radius: calc(var(--pd-radius) - 4px); pointer-events: none; opacity: .7; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-facts h2 { font-size: clamp(24px, 1rem + 1vw, 30px); }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-facts dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(18px, 3vw, 40px); margin: 0; border-top: 2px solid var(--pd-ink); }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-facts dl > div { padding: 16px 0 14px; border-bottom: 1px solid var(--pd-line); min-width: 0; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-facts dt { font: 600 10.5px/1.3 var(--pd-sans); letter-spacing: .22em; text-transform: uppercase; color: var(--pd-muted); }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-facts dd { margin: 6px 0 0; font: 500 clamp(19px, 1rem + .4vw, 23px)/1.25 var(--pd-display); color: var(--pd-ink); overflow-wrap: anywhere; }

.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-facts table { width: 100%; border-collapse: collapse; border-top: 2px solid var(--pd-ink); margin: 0 0 1em; background: none; border-left: 0; border-right: 0; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-facts th, .woocommerce-Tabs-panel--description:has(.pd-lead) .pd-facts td { padding: 14px 0; border: 0; border-bottom: 1px solid var(--pd-line); text-align: left; vertical-align: top; background: none; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-facts tr > :first-child { width: 38%; font: 600 10.5px/1.5 var(--pd-sans); letter-spacing: .22em; text-transform: uppercase; color: var(--pd-muted); padding-right: 16px; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-facts tr > :last-child { font: 500 clamp(17px, 1rem + .3vw, 20px)/1.35 var(--pd-display); color: var(--pd-ink); }

/* Tasting: first paragraph as a pull quote */
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-tasting > p:first-of-type {
	font: italic 400 clamp(21px, 1rem + .8vw, 26px)/1.45 var(--pd-display);
	color: var(--pd-ink);
	border-left: 2px solid var(--pd-accent);
	padding-left: clamp(18px, 3vw, 28px);
	margin-bottom: 1.2em;
}
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-notes { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); margin-bottom: 22px; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-notes > div { background: var(--pd-soft); border: 1px solid var(--pd-line); border-radius: var(--pd-radius); padding: 20px 22px; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-notes p { font: italic 400 19px/1.45 var(--pd-display); color: var(--pd-ink); }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-scale { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; max-width: 480px; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-scale li { display: grid; grid-template-columns: 7rem 1fr; align-items: center; gap: 14px; font-size: 15px; color: var(--pd-ink); }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-scale li::after { content: ""; height: 4px; border-radius: 99px; background: linear-gradient(90deg, var(--pd-accent) var(--pd-v, 0%), var(--pd-line) var(--pd-v, 0%)); }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-scale [data-v="1"] { --pd-v: 20%; } .woocommerce-Tabs-panel--description:has(.pd-lead) .pd-scale [data-v="2"] { --pd-v: 40%; } .woocommerce-Tabs-panel--description:has(.pd-lead) .pd-scale [data-v="3"] { --pd-v: 60%; } .woocommerce-Tabs-panel--description:has(.pd-lead) .pd-scale [data-v="4"] { --pd-v: 80%; } .woocommerce-Tabs-panel--description:has(.pd-lead) .pd-scale [data-v="5"] { --pd-v: 100%; }

/* Origin: deep full panel with a drawn olive branch */
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-origin {
	background: var(--pd-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.2' opacity='.18'%3E%3Cpath d='M10 110C40 80 70 50 110 10'/%3E%3Cpath d='M38 82c-14-4-22-16-20-30 14 2 24 12 20 30z'/%3E%3Cpath d='M58 62c-12-6-18-18-14-32 13 4 21 16 14 32z'/%3E%3Cpath d='M78 42c-10-7-14-19-9-31 12 5 18 18 9 31z'/%3E%3Cpath d='M46 74c4 14 16 22 30 20-2-14-12-24-30-20z'/%3E%3Cpath d='M66 54c6 12 18 18 32 14-4-13-16-21-32-14z'/%3E%3C/g%3E%3C/svg%3E") no-repeat right -24px bottom -24px / clamp(180px, 30vw, 300px);
	color: var(--pd-on-deep);
	border-radius: var(--pd-radius);
	padding: clamp(32px, 6vw, 72px) clamp(24px, 6vw, 72px);
}
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-origin h2 { color: #fff; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-origin h2::before { color: var(--pd-accent-2); }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-origin p { max-width: 62ch; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-origin strong, .woocommerce-Tabs-panel--description:has(.pd-lead) .pd-origin a { color: #fff; }

/* Pairing: a menu card — roman numerals, ruled rows */
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-pairing ul { counter-reset: pdi; list-style: none; padding: 0; margin: 0 0 28px; display: grid; gap: 0 clamp(24px, 4vw, 48px); grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); border-top: 2px solid var(--pd-ink); }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-pairing li {
	counter-increment: pdi;
	position: relative;
	padding: 16px 0 16px 50px;
	border-bottom: 1px solid var(--pd-line);
	font: 400 clamp(18px, 1rem + .35vw, 21px)/1.4 var(--pd-display);
	color: var(--pd-ink);
}
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-pairing li::before {
	content: counter(pdi, lower-roman) ".";
	position: absolute; left: 0; top: 17px;
	font: italic 500 20px/1.2 var(--pd-display);
	color: var(--pd-accent);
	background: none; width: auto; height: auto; border: 0; border-radius: 0; transform: none;
}

/* Format: title beside text on wide screens */
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-format { border-top: 1px solid var(--pd-line); padding-top: clamp(28px, 4vw, 44px); }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-figure { margin: 0 auto 26px; max-width: 340px; background: var(--pd-soft); border: 1px solid var(--pd-line); border-radius: var(--pd-radius); padding: 18px; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-figure img { display: block; width: 100%; height: auto; max-height: 380px; object-fit: contain; margin: 0 auto; mix-blend-mode: multiply; }

/* Fact icons: small line pictograms before each label (decorative) */
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-facts dt .pd-ic, .woocommerce-Tabs-panel--description:has(.pd-lead) .pd-facts th .pd-ic { display: inline-block; width: 17px; height: 17px; margin: -3px 9px 0 0; vertical-align: middle; border: 0; box-shadow: none; }

/* FAQ */
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-faq details { border-bottom: 1px solid var(--pd-line); }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-faq details:first-of-type { border-top: 2px solid var(--pd-ink); }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-faq summary {
	cursor: pointer; list-style: none; position: relative;
	padding: 20px 52px 20px 0;
	font: 500 clamp(19px, 1rem + .5vw, 23px)/1.3 var(--pd-display);
	color: var(--pd-ink);
	transition: color .2s ease;
}
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-faq summary:hover { color: var(--pd-accent); }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-faq summary::-webkit-details-marker { display: none; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-faq summary::after {
	content: ""; position: absolute; right: 8px; top: 50%;
	width: 10px; height: 10px; margin-top: -8px;
	border-right: 1.5px solid var(--pd-accent); border-bottom: 1.5px solid var(--pd-accent);
	transform: rotate(45deg); transition: transform .25s ease, margin .25s ease;
}
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-faq details[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-faq details > p { padding: 0 0 22px; margin: 0; max-width: 64ch; color: var(--pd-text); }

/* Legal: quiet small print */
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-legal { font-size: 14px; line-height: 1.65; color: var(--pd-muted); border-top: 1px solid var(--pd-line); padding-top: 26px; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-legal h2 { font: 600 11px/1.3 var(--pd-sans); letter-spacing: .22em; text-transform: uppercase; color: var(--pd-ink); margin-bottom: 14px; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-legal h2::before { content: none; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-legal ul { list-style: none; margin: 0 0 16px; padding: 0; columns: 2 260px; column-gap: 40px; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-legal li { break-inside: avoid; padding: 0 0 6px 16px; position: relative; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-legal li::before { content: ""; position: absolute; left: 0; top: .72em; width: 7px; height: 1px; background: var(--pd-accent); }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-nutri { width: 100%; border-collapse: collapse; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-nutri th, .woocommerce-Tabs-panel--description:has(.pd-lead) .pd-nutri td { padding: 8px 0; border-bottom: 1px solid var(--pd-line); text-align: left; font-weight: 400; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-nutri td { text-align: right; color: var(--pd-ink); font-weight: 600; }
.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-nutri tr.pd-sub th { padding-left: 16px; }

@media (min-width: 760px) {
	.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-facts dl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-format { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.55fr); gap: 0 48px; align-items: start; }
	.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-format h2 { margin: 0; }
	.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-format:has(> .pd-figure) { display: flow-root; }
	.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-format:has(> .pd-figure) h2 { margin: 0 0 22px; }
	.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-format > .pd-figure { float: left; width: min(36%, 290px); margin: 4px 44px 18px 0; }
}
@media (max-width: 520px) {
	.woocommerce-Tabs-panel--description:has(.pd-lead) { font-size: 16px; }
	.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-lead p:first-child::first-letter { font-size: 2.7em; }
	.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-facts { padding: 22px 18px; }
	.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-facts::after { inset: 5px; }
	.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-pairing li { padding-left: 42px; }
	.woocommerce-Tabs-panel--description:has(.pd-lead) .pd-origin { background-size: 160px; padding: 30px 20px; }
}
