/* dataRAT Wine Calc — frontend styles (v3.0.0). Scoped to .datarat-calc-page. */

.datarat-calc-page {
	--burgundy: #7d1a4a;
	--pink: #d51a68;
	--ink: #14141e;
	--mute: #56566a;
	--paper: #ffffff;
	--surface: #faf9f7;
	--border: #e6e3dc;
	--warn: #a3620d;
	--warn-bg: #fff5e6;
	--radius: 12px;
	--font-body: 'DM Sans', 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	--font-heading: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

	color: var(--ink);
	font-family: var(--font-body);
	line-height: 1.5;
	max-width: 1200px;
	margin: 0 auto;
	padding: 32px 24px 64px;
}

.datarat-calc-page * { box-sizing: border-box; }

.datarat-hero { text-align: left; padding: 8px 0 32px; }
.datarat-eyebrow {
	display: inline-block;
	font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
	color: var(--burgundy); padding: 4px 10px; border-radius: 999px;
	background: rgba(125,26,74,0.08); margin-bottom: 12px;
}
.datarat-hero h1 { font: 700 40px/1.15 var(--font-heading); margin: 0 0 12px; }
.datarat-hero p { color: var(--mute); max-width: 60ch; margin: 0; }

.datarat-calc { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 900px) { .datarat-calc { grid-template-columns: 1fr; } }

.datarat-panel, .datarat-res-card, .datarat-breakdown, .datarat-cashflow {
	background: var(--paper); border: 1px solid var(--border); border-radius: var(--radius);
	padding: 20px 22px;
}

.datarat-panel-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.datarat-panel-head h2 { font: 600 18px/1.2 var(--font-heading); margin: 0; }
.datarat-step { font-size: 12px; color: var(--mute); text-transform: uppercase; letter-spacing: 0.08em; }

.datarat-field { margin-bottom: 16px; }
.datarat-field > label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 14px; }
.datarat-hint { font-size: 12px; color: var(--mute); margin-top: 4px; }

.datarat-control {
	position: relative;
	border: 1px solid var(--border); border-radius: 10px;
	background: var(--surface); display: flex; align-items: center; overflow: hidden;
}
.datarat-control input, .datarat-control select {
	appearance: none;
	background: transparent; border: 0; outline: 0; padding: 12px 14px;
	font: inherit; color: var(--ink); width: 100%;
}
.datarat-control:focus-within { border-color: var(--pink); box-shadow: 0 0 0 3px rgba(213,26,104,0.15); }
.datarat-has-prefix .datarat-prefix { padding: 0 4px 0 12px; color: var(--mute); }
.datarat-control .datarat-unit { padding: 0 12px 0 4px; color: var(--mute); font-size: 13px; }

.datarat-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.datarat-row3 { display: grid; grid-template-columns: 2fr 1fr auto; gap: 8px; }
@media (max-width: 600px) { .datarat-row2, .datarat-row3 { grid-template-columns: 1fr; } }

.datarat-fx-row { margin-top: 8px; display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: center; }
.datarat-fx-row label { font-size: 13px; color: var(--mute); }

.datarat-seg { display: inline-flex; gap: 0; background: var(--surface); border: 1px solid var(--border); border-radius: 999px; padding: 3px; }
.datarat-seg button {
	background: transparent; border: 0; font: 500 13px/1 var(--font-body);
	color: var(--mute); padding: 8px 14px; border-radius: 999px; cursor: pointer;
}
.datarat-seg button.datarat-on { background: var(--ink); color: #fff; }

.datarat-adv { margin-top: 12px; border-top: 1px solid var(--border); padding-top: 12px; }
.datarat-adv-toggle {
	display: flex; align-items: center; justify-content: space-between;
	background: none; border: 0; padding: 8px 0; width: 100%; text-align: left;
	font: 600 14px/1 var(--font-heading); cursor: pointer;
}
.datarat-adv-toggle .datarat-arw { transition: transform 0.2s ease; display: inline-block; color: var(--mute); }
.datarat-adv.datarat-open .datarat-adv-toggle .datarat-arw { transform: rotate(90deg); }
.datarat-adv-body { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; }
.datarat-adv.datarat-open .datarat-adv-body { max-height: 2000px; }
.datarat-adv-inner { padding-top: 12px; }
.datarat-sub-label { font-size: 12px; text-transform: uppercase; color: var(--mute); margin: 16px 0 8px; letter-spacing: 0.08em; }
.datarat-mini-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
@media (max-width: 600px) { .datarat-mini-grid { grid-template-columns: 1fr; } }
.datarat-mini label { display: block; font-size: 12px; color: var(--mute); margin-bottom: 4px; }
.datarat-checkbox { display: flex; align-items: center; }
.datarat-checkbox label { display: flex; gap: 6px; align-items: center; font-size: 13px; margin: 0; color: var(--ink); }

.datarat-results { display: flex; flex-direction: column; gap: 24px; }

.datarat-res-top { display: flex; justify-content: space-between; align-items: start; }
.datarat-res-label { font-size: 13px; color: var(--mute); line-height: 1.35; }
.datarat-badge {
	display: inline-block; font: 500 11px/1 var(--font-body); text-transform: uppercase;
	letter-spacing: 0.08em; padding: 6px 10px; border-radius: 999px;
	background: rgba(20,20,30,0.10); color: var(--ink);
}
.datarat-big { font: 700 56px/1 var(--font-heading); margin: 12px 0 4px; letter-spacing: -0.02em; }
.datarat-big .datarat-cur { color: var(--mute); font-size: 32px; vertical-align: top; margin-right: 4px; }
.datarat-big-sub { color: var(--mute); font-size: 14px; margin-bottom: 12px; }
.datarat-est-tag { font-size: 12px; color: var(--mute); margin-bottom: 14px; }
.datarat-res-split { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.datarat-res-mini { background: var(--surface); border-radius: 10px; padding: 12px; text-align: center; }
.datarat-res-mini .datarat-v { font: 600 20px/1.2 var(--font-heading); }
.datarat-res-mini .datarat-l { font-size: 12px; color: var(--mute); margin-top: 2px; }
.datarat-res-foot { margin-top: 14px; font-size: 12px; color: var(--mute); }
.datarat-warnings { margin-top: 12px; }
.datarat-warn {
	background: var(--warn-bg); color: var(--warn);
	border-left: 3px solid var(--warn); border-radius: 6px;
	padding: 8px 12px; font-size: 13px; margin-top: 6px;
}

.datarat-bd-head h3 { font: 600 16px/1.25 var(--font-heading); margin: 0 0 4px; }
.datarat-bd-head p { font-size: 13px; color: var(--mute); margin: 0 0 14px; }
.datarat-bd-bar { display: flex; height: 8px; border-radius: 6px; overflow: hidden; background: var(--surface); margin-bottom: 12px; }
.datarat-bd-bar span { display: block; min-width: 1px; }
.datarat-bd-rows { display: grid; gap: 4px; }
.datarat-bd-row { display: grid; grid-template-columns: 12px 1fr auto; align-items: center; gap: 10px; padding: 6px 0; font-size: 13px; }
.datarat-bd-row.datarat-bd-negative .datarat-bd-v { color: #4a8f5a; }
.datarat-bd-dot { width: 8px; height: 8px; border-radius: 50%; }
.datarat-bd-dot.datarat-dot-goods { background: var(--burgundy); }
.datarat-bd-dot.datarat-dot-freight { background: #c98a2e; }
.datarat-bd-dot.datarat-dot-tax { background: var(--pink); }
.datarat-bd-dot.datarat-dot-margin { background: #6b8e6b; }
.datarat-bd-total { display: flex; justify-content: space-between; border-top: 1px solid var(--border); margin-top: 12px; padding-top: 12px; font-weight: 600; }
.datarat-bd-legend { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; font-size: 12px; color: var(--mute); }
.datarat-bd-legend .datarat-lg { display: inline-flex; align-items: center; gap: 6px; }
.datarat-bd-legend i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; }
.datarat-bd-legend i.datarat-dot-goods { background: var(--burgundy); }
.datarat-bd-legend i.datarat-dot-freight { background: #c98a2e; }
.datarat-bd-legend i.datarat-dot-tax { background: var(--pink); }
.datarat-bd-legend i.datarat-dot-margin { background: #6b8e6b; }

.datarat-cf-head h3 { font: 600 16px/1.25 var(--font-heading); margin: 0 0 4px; }
.datarat-cf-head p { font-size: 13px; color: var(--mute); margin: 0 0 14px; }
.datarat-cf-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.datarat-cf-cell { background: var(--surface); border-radius: 8px; padding: 10px 12px; }
.datarat-cf-label { font-size: 11px; color: var(--mute); text-transform: uppercase; letter-spacing: 0.05em; }
.datarat-cf-value { font: 600 16px/1.2 var(--font-heading); margin-top: 4px; }

/* ============================================================
 * Guide (v3.1.0) — `[datarat_wine_calculator_guide]` shortcode.
 * Reuses the tokens defined at the top of this file.
 * ============================================================ */

.datarat-guide { padding-top: 32px; }
.datarat-guide-hero { padding: 24px 0 32px; border-bottom: 1px solid var(--border); margin-bottom: 32px; }
.datarat-guide-hero h2 { font: 700 32px/1.15 var(--font-heading); margin: 12px 0 12px; letter-spacing: -0.01em; }
.datarat-guide-hero p { color: var(--mute); max-width: 62ch; margin: 0; }

.datarat-guide h3 { font: 600 22px/1.25 var(--font-heading); margin: 0 0 16px; }
.datarat-guide h4 { font: 600 16px/1.3 var(--font-heading); margin: 0 0 8px; }
.datarat-guide p { margin: 0 0 12px; line-height: 1.6; }
.datarat-guide ul { margin: 8px 0 12px; padding-left: 20px; }
.datarat-guide li { margin-bottom: 6px; line-height: 1.55; }
.datarat-guide .datarat-note { font-size: 13px; color: var(--mute); font-style: italic; }

.datarat-guide-prep {
	background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
	padding: 20px 24px; margin-bottom: 40px;
}
.datarat-guide-prep h3 { margin-bottom: 8px; }

.datarat-guide-steps { display: grid; gap: 16px; margin-bottom: 40px; }

.datarat-step-card {
	display: grid; grid-template-columns: 56px 1fr; gap: 20px;
	background: var(--paper); border: 1px solid var(--border); border-radius: var(--radius);
	padding: 24px;
}
@media (max-width: 600px) {
	.datarat-step-card { grid-template-columns: 44px 1fr; gap: 14px; padding: 18px; }
}
.datarat-step-num {
	width: 44px; height: 44px; border-radius: 50%;
	background: var(--burgundy); color: #fff;
	display: flex; align-items: center; justify-content: center;
	font: 700 18px/1 var(--font-heading);
}
.datarat-step-body h3 { font-size: 18px; margin-bottom: 10px; }
.datarat-step-tip {
	margin-top: 12px; padding: 10px 14px;
	background: rgba(125, 26, 74, 0.05); border-left: 3px solid var(--burgundy);
	border-radius: 4px; font-size: 13px; color: var(--ink);
}
.datarat-step-tip strong { color: var(--burgundy); }

.datarat-guide-results { margin-bottom: 40px; }
.datarat-results-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 900px) { .datarat-results-grid { grid-template-columns: 1fr; } }
.datarat-result-card-guide {
	background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
	padding: 18px 20px;
}

.datarat-guide-tips { margin-bottom: 40px; }
.datarat-tips-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (max-width: 700px) { .datarat-tips-grid { grid-template-columns: 1fr; } }
.datarat-tip {
	background: var(--paper); border: 1px solid var(--border); border-radius: var(--radius);
	padding: 18px 20px;
}
.datarat-tip h4 { color: var(--burgundy); }

.datarat-guide-scenarios { margin-bottom: 32px; }
.datarat-scenario {
	background: var(--surface); border-left: 3px solid var(--pink); border-radius: 6px;
	padding: 14px 18px; margin-bottom: 12px;
}
.datarat-scenario h4 { margin-bottom: 6px; }

.datarat-guide-foot {
	border-top: 1px solid var(--border); padding-top: 20px; margin-top: 24px;
}
.datarat-guide-foot p { font-size: 13px; color: var(--mute); margin: 0; }

.datarat-guide--compact .datarat-step-card { padding: 18px; }
.datarat-guide--compact .datarat-step-num { width: 36px; height: 36px; font-size: 16px; }

/* v4.2.0 — verification footer + sources modal */
.datarat-verified {
	display: inline-block; margin-top: 6px;
	font-size: 11px; color: var(--mute); letter-spacing: 0.02em;
}
.datarat-verified a {
	color: var(--burgundy); text-decoration: underline; text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}
.datarat-modal-overlay {
	position: fixed; inset: 0; background: rgba(20,20,30,0.45);
	display: flex; align-items: center; justify-content: center;
	z-index: 9999; padding: 24px;
}
.datarat-modal {
	background: var(--paper); border-radius: var(--radius);
	max-width: 540px; width: 100%; max-height: 80vh; overflow-y: auto;
	padding: 28px; position: relative; box-shadow: 0 20px 60px rgba(0,0,0,0.2);
}
.datarat-modal h3 { font: 600 20px/1.2 var(--font-heading); margin: 0 0 16px; }
.datarat-modal p { margin: 0 0 12px; font-size: 14px; line-height: 1.55; }
.datarat-modal strong { color: var(--burgundy); }
.datarat-src-date { font-size: 12px; color: var(--mute); font-style: italic; }
.datarat-src-disclaimer {
	margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--border);
	font-size: 12px; color: var(--mute);
}
.datarat-modal-close {
	position: absolute; top: 12px; right: 16px;
	background: none; border: 0; font-size: 24px; color: var(--mute);
	cursor: pointer; padding: 4px 8px; line-height: 1;
}
.datarat-modal-close:hover { color: var(--ink); }
