/**
 * Professional BMI Calculator - Standard Layout Public Styles
 *
 * This file contains all public-facing styles exclusively for the "Standard"
 * calculator layout. It includes the enhanced slider design, general layout,
 * results display styling (featuring a flexbox-based BMI category bar with
 * distinct color segments for all categories including detailed thinness levels),
 * responsive adjustments, and RTL support.
 *
 * @package   Professional_BMI_Calculator
 * @version   1.1.6 (Updated for new thinness categories)
 */

/* @import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap"); */

/* --- Standard Layout Variables --- */
:root {
	/* Primary Color Scheme for Standard Layout */
	--pbc-primary-color: #6a11cb; /* يتم التحكم به من إعدادات الإضافة */
	--pbc-primary-color-rgb: 106, 17, 203; /* يتم التحكم به من إعدادات الإضافة */
	--pbc-secondary-color: #2575fc;       /* Accent color for gradients, etc. */

	/* Text & Labels for Standard Layout */
	--pbc-text-color: #333333;
	--pbc-label-color: #555555;
	--pbc-heading-color: var(--pbc-primary-color);

	/* Borders & Backgrounds for Standard Layout */
	--pbc-border-color: #e0e0e0;
	--pbc-input-bg: #f8f9fa;
	--pbc-white-bg: #ffffff;
	--pbc-standard-results-card-bg: #f8f9fa;

	/* Buttons for Standard Layout */
	--pbc-button-text-color: #ffffff;
	--pbc-bg-gradient: linear-gradient( 135deg, var(--pbc-secondary-color) 0%, var(--pbc-primary-color) 100% );

	/* Segmented button variables for Standard Layout */
	--pbc-standard-active-button-bg: var(--pbc-bg-gradient);
	--pbc-standard-active-button-text: #ffffff;
	--pbc-standard-inactive-button-bg: #e9ecef;
	--pbc-standard-inactive-button-text: #495057;

	/* Sliders for Standard Layout */
	--pbc-standard-slider-track-bg: #e0e0e0;
	--pbc-standard-slider-thumb-bg: var(--pbc-primary-color);
	--pbc-standard-slider-track-border-color: #cccccc;

	/* Font for Standard Layout */
	/* يتم التحكم بالخط الأساسي من إعدادات الإضافة، هذا متغير احتياطي أو خاص بهذا التصميم فقط */
	--pbc-standard-font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;

	/* BMI Gauge Colors for Standard Layout - UPDATED for new thinness categories */
	--pbc-standard-gauge-severe-thinness-color: #b3e5fc; /* Light Blue for Severe Thinness */
	--pbc-standard-gauge-moderate-thinness-color: #81d4fa;/* Medium Blue for Moderate Thinness */
	--pbc-standard-gauge-mild-thinness-color: #4fc3f7;  /* Darker Blue for Mild Thinness (was --pbc-standard-gauge-underweight-color) */
	--pbc-standard-gauge-normal-color: #5de2a1;         /* Green for Normal */
	--pbc-standard-gauge-overweight-color: #ffd359;     /* Yellow for Overweight */
	--pbc-standard-gauge-obese-color: #ff7b7b;          /* Red for Obese (all classes visually grouped) */
	--pbc-standard-gauge-marker-color: #4a148c;
	--pbc-standard-gauge-label-color: #909090;
}

/* Universal box-sizing for all elements within the Standard calculator wrapper */
.pbc-calculator-wrapper.pbc-layout-standard *,
.pbc-calculator-wrapper.pbc-layout-standard *::before,
.pbc-calculator-wrapper.pbc-layout-standard *::after {
	box-sizing: border-box;
}

/* --- Standard Layout General Wrapper --- */
.pbc-calculator-wrapper.pbc-layout-standard {
	font-family: var(--pbc-standard-font-family); /* Can be overridden by global font setting via inline style */
	font-size: 1em;
	max-width: 480px;
	margin: 3em auto;
	padding: 1.5em;
	background: var(--pbc-white-bg);
	color: var(--pbc-text-color);
	overflow: hidden;
	border-radius: 4px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* --- Standard Layout: Calculator Header --- */
.pbc-layout-standard .pbc-calculator-header {
	text-align: center;
	margin-bottom: 2em;
}
.pbc-layout-standard .pbc-calculator-header h2 {
	margin: 0 0 0.25em 0; font-size: 1.8em;
	font-weight: 700; color: var(--pbc-heading-color);
}
.pbc-layout-standard .pbc-calculator-header p {
	margin: 0; font-size: 1em; color: var(--pbc-label-color);
}

/* --- Standard Layout: General Field Styling --- */
.pbc-layout-standard .pbc-field {
	margin-top: 1.75em; margin-bottom: 1.75em;
}

.pbc-layout-standard .pbc-field label,
.pbc-layout-standard .pbc-field .pbc-main-label {
	display: block; margin-bottom: 0.6em; font-weight: 500;
	font-size: 0.95em; color: var(--pbc-label-color);
}

/* --- Segmented Buttons (Units & Gender) --- */
.pbc-layout-standard .pbc-segmented-buttons {
	display: flex;
	border-radius: 8px; /* More rounded than main wrapper for distinct feel */
	overflow: hidden;
	border: 1px solid var(--pbc-border-color);
	padding: 0;
	margin: 0;
}

.pbc-layout-standard .pbc-segmented-buttons .pbc-segmented-button-radio { display: none; }
.pbc-layout-standard .pbc-segmented-buttons .pbc-segmented-button-label {
	flex: 1; padding: 0.8em 1em; margin: 0 !important; border-right: 1px solid var(--pbc-border-color);
	display: flex; align-items: center; justify-content: center; gap: 0.5em;
	text-align: center; font-weight: 500; font-size: 1em;
	color: var(--pbc-standard-inactive-button-text); background-color: var(--pbc-standard-inactive-button-bg);
	cursor: pointer; transition: background-color 0.3s ease, color 0.3s ease;
	line-height: normal; background-clip: padding-box;
}

.pbc-layout-standard .pbc-segmented-buttons .pbc-segmented-button-label:last-of-type { border-right: none; }
.pbc-layout-standard .pbc-segmented-buttons .pbc-segmented-button-radio:checked + .pbc-segmented-button-label {
	background: var(--pbc-standard-active-button-bg); /* Uses gradient */
    color: var(--pbc-standard-active-button-text);
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
}
.pbc-layout-standard .pbc-segmented-buttons .pbc-segmented-button-label .pbc-icon,
.pbc-layout-standard .pbc-segmented-buttons .pbc-segmented-button-label span:not(.pbc-icon) {
	display: inline-block; vertical-align: middle; margin: 0;
}

/* --- SLIDER STYLES (For Standard Layout) --- */
.pbc-layout-standard .pbc-slider-field label { margin-bottom: 0.8em; }
.pbc-layout-standard .pbc-slider-container { display: flex; align-items: center; gap: 15px; }
.pbc-layout-standard input[type="range"] {
	flex-grow: 1; height: 20px; cursor: pointer;
	appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important;
	background: transparent; outline: none; padding: 0; margin: 0; vertical-align: middle;
}

.pbc-layout-standard input[type="range"]::-webkit-slider-runnable-track { width: 100%; height: 10px; cursor: pointer; background: var(--pbc-standard-slider-track-bg); border-radius: 5px; border: 1px solid var(--pbc-standard-slider-track-border-color); }
.pbc-layout-standard input[type="range"]::-webkit-slider-thumb { appearance: none !important; -webkit-appearance: none !important; width: 24px; height: 24px; background: var(--pbc-standard-slider-thumb-bg); border-radius: 50%; cursor: pointer; margin-top: -8px; box-shadow: 0 2px 5px rgba(0,0,0,.25); border: 2px solid var(--pbc-white-bg); transition: transform .1s ease-out,box-shadow .1s ease-out; }
.pbc-layout-standard input[type="range"]:hover::-webkit-slider-thumb { transform:scale(1.1); }
.pbc-layout-standard input[type="range"]:active::-webkit-slider-thumb { transform:scale(.95); box-shadow:0 1px 3px rgba(0,0,0,.2); }
.pbc-layout-standard input[type="range"]:focus::-webkit-slider-thumb { box-shadow:0 0 0 3px var(--pbc-white-bg),0 0 0 6px rgba(var(--pbc-primary-color-rgb),.5); }
.pbc-layout-standard input[type="range"]::-moz-range-track { width:100%; height:10px; cursor:pointer; background:var(--pbc-standard-slider-track-bg); border-radius:5px; border:1px solid var(--pbc-standard-slider-track-border-color); }
.pbc-layout-standard input[type="range"]::-moz-range-thumb { width:24px; height:24px; background:var(--pbc-standard-slider-thumb-bg); border-radius:50%; cursor:pointer; border:2px solid var(--pbc-white-bg); box-shadow:0 2px 5px rgba(0,0,0,.25); transition:transform .1s ease-out,box-shadow .1s ease-out; }
.pbc-layout-standard input[type="range"]:hover::-moz-range-thumb { transform:scale(1.1); }
.pbc-layout-standard input[type="range"]:active::-moz-range-thumb { transform:scale(.95); box-shadow:0 1px 3px rgba(0,0,0,.2); }
.pbc-layout-standard input[type="range"]:focus::-moz-range-thumb { box-shadow:0 0 0 3px var(--pbc-white-bg),0 0 0 6px rgba(var(--pbc-primary-color-rgb),.5); }
.pbc-layout-standard input[type="range"]::-moz-range-progress { background-color:var(--pbc-primary-color); height:10px; border-radius:5px; border:1px solid var(--pbc-primary-color); }
.pbc-layout-standard input[type="range"]::-ms-track { width:100%; height:10px; cursor:pointer; background:transparent; border-color:transparent; color:transparent; border-width:12px 0; }
.pbc-layout-standard input[type="range"]::-ms-fill-lower { background:var(--pbc-primary-color); border-radius:5px; border:1px solid var(--pbc-primary-color); }
.pbc-layout-standard input[type="range"]::-ms-fill-upper { background:var(--pbc-standard-slider-track-bg); border-radius:5px; border:1px solid var(--pbc-standard-slider-track-border-color); }
.pbc-layout-standard input[type="range"]::-ms-thumb { width:24px; height:24px; background:var(--pbc-standard-slider-thumb-bg); border-radius:50%; cursor:pointer; margin-top:0px; border:2px solid var(--pbc-white-bg); box-shadow:0 2px 5px rgba(0,0,0,.25); transition:transform .1s ease-out,box-shadow .1s ease-out; }
.pbc-layout-standard input[type="range"]:hover::-ms-thumb { transform:scale(1.1); }
.pbc-layout-standard input[type="range"]:active::-ms-thumb { transform:scale(.95); box-shadow:0 1px 3px rgba(0,0,0,.2); }
.pbc-layout-standard input[type="range"]:focus::-ms-thumb { box-shadow:0 0 0 3px var(--pbc-white-bg),0 0 0 6px rgba(var(--pbc-primary-color-rgb),.5); }

.pbc-layout-standard .pbc-slider-number-input { min-width:60px; max-width:75px; padding:.6em .5em; border:1px solid var(--pbc-border-color); border-radius:6px; background-color:var(--pbc-input-bg); text-align:center; font-weight:500; font-size:.95em; color:var(--pbc-text-color); appearance:textfield; -moz-appearance:textfield; transition:border-color .2s ease,box-shadow .2s ease; }
.pbc-layout-standard .pbc-slider-number-input:focus { outline:none; border-color:var(--pbc-primary-color); box-shadow:0 0 0 2px rgba(var(--pbc-primary-color-rgb),.25); }
.pbc-layout-standard .pbc-slider-number-input::-webkit-outer-spin-button,
.pbc-layout-standard .pbc-slider-number-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }

/* --- Standard Layout: Imperial Unit Input Fields --- */
/* .pbc-imperial-fields-standard is controlled by JS by adding/removing .pbc-fields-active */
.pbc-layout-standard .pbc-imperial-fields-standard { display: none; }
.pbc-layout-standard .pbc-imperial-fields-standard.pbc-fields-active { display: block; }

.pbc-layout-standard .pbc-imperial-fields-standard input[type="number"] {
    background-color:var(--pbc-input-bg); text-align:center; padding:.8em;
    border:1px solid var(--pbc-border-color); border-radius:6px;
    width:100%; box-sizing:border-box; margin-bottom:1em; font-size:1em;
}
.pbc-layout-standard .pbc-height-imperial .pbc-height-inputs { display:flex; gap:10px; }
.pbc-layout-standard .pbc-height-imperial .pbc-height-inputs input { flex:1; margin-bottom:0; }


/* --- Standard Layout: Activity Level Select --- */
.pbc-layout-standard .pbc-activity-level select {
	width: 100%; padding: 0.8em 1em; border: 1px solid var(--pbc-border-color);
	border-radius: 8px; background-color: var(--pbc-input-bg);
	font-size: 1em; color: var(--pbc-text-color); cursor: pointer;
    transition: border-color .2s ease,box-shadow .2s ease;
}
.pbc-layout-standard .pbc-activity-level select:focus {
    outline:none; border-color:var(--pbc-primary-color);
    box-shadow:0 0 0 2px rgba(var(--pbc-primary-color-rgb),.25);
}

/* --- Standard Layout: Submit Button --- */
.pbc-layout-standard .pbc-submit-area { margin-top: 2.5em; }
.pbc-layout-standard .pbc-submit-button {
	display: flex; align-items: center; justify-content: center; gap: 0.5em;
	width: 100%; padding: 1em; font-size: 1.1em; font-weight: 700;
	color: var(--pbc-button-text-color);
    background: var(--pbc-primary-color); /* Solid primary color for Standard */
	border: none; border-radius: 4px;
    cursor: pointer;
	transition: opacity 0.3s ease, background-color 0.3s ease;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.pbc-layout-standard .pbc-submit-button:hover,
.pbc-layout-standard .pbc-submit-button:focus { opacity: 0.9; outline: none; }
.pbc-layout-standard .pbc-submit-button .dashicons { font-size: 1.2em; height: auto; width: auto; }


/* --- Standard Layout: Results Display Area --- */
.pbc-layout-standard .pbc-detailed-results-wrapper { margin-top: 3em; padding-top: 2em; border-top: 1px solid var(--pbc-border-color); }
.pbc-layout-standard .pbc-results-title { text-align:center; font-size:1.6em; font-weight:700; color:var(--pbc-text-color); margin-bottom:2em; }
.pbc-layout-standard .pbc-bmi-value-display { display:flex; justify-content:center; margin-bottom:3em; }
.pbc-layout-standard .pbc-bmi-value-circle {
    width:150px; height:150px; border-radius:50%;
    background:var(--pbc-standard-results-card-bg);
    display:flex; flex-direction:column; justify-content:center; align-items:center;
    border:1px solid var(--pbc-border-color); box-shadow:none;
}
.pbc-layout-standard .pbc-bmi-number { font-size:3em; font-weight:700; color:var(--pbc-primary-color); line-height:1.1; }
.pbc-layout-standard .pbc-bmi-label { font-size:.9em; font-weight:500; color:var(--pbc-label-color); margin-top:.3em; text-transform:uppercase; letter-spacing:.5px; }

.pbc-layout-standard .pbc-info-summary {
    background-color:transparent; padding:0; margin-bottom:3em; border:none;
}
.pbc-layout-standard .pbc-info-summary h4 { margin-top:0; margin-bottom:1.2em; font-size:1.1em; font-weight:600; color:var(--pbc-heading-color); text-align:left; border-bottom:1px solid #eee; padding-bottom:.6em; }
.pbc-layout-standard .pbc-info-summary ul { list-style:none; padding:0; margin:0; }
.pbc-layout-standard .pbc-info-summary li { display:flex; justify-content:space-between; padding:.6em 0; border-bottom:1px dashed #eee; font-size:1em; }
.pbc-layout-standard .pbc-info-summary li:last-child { border-bottom:none; }
.pbc-layout-standard .pbc-info-summary li strong { font-weight:500; color:var(--pbc-label-color); margin-right:1em; }
.pbc-layout-standard .pbc-info-summary li span { font-weight:500; color:var(--pbc-text-color); text-align:right; }

/* Standard Layout: BMI Category Bar Section */
.pbc-layout-standard .pbc-bmi-category-section { margin-bottom:3em; text-align:center; }
.pbc-layout-standard .pbc-bmi-category-section h4 { font-size:1.1em; margin-bottom:.8em; font-weight:500; color:var(--pbc-label-color); }
.pbc-layout-standard .pbc-bmi-category-section .pbc-category-emphasis { font-weight:700; }

/* Category Text Colors for Standard (Applied via JS by adding class to .pbc-detailed-results-wrapper) - UPDATED */
.pbc-layout-standard .pbc-detailed-results-wrapper.pbc-category-severe-thinness .pbc-category-emphasis { color: var(--pbc-standard-gauge-severe-thinness-color); }
.pbc-layout-standard .pbc-detailed-results-wrapper.pbc-category-moderate-thinness .pbc-category-emphasis { color: var(--pbc-standard-gauge-moderate-thinness-color); }
.pbc-layout-standard .pbc-detailed-results-wrapper.pbc-category-mild-thinness .pbc-category-emphasis { color: var(--pbc-standard-gauge-mild-thinness-color); }
.pbc-layout-standard .pbc-detailed-results-wrapper.pbc-category-normal .pbc-category-emphasis { color: var(--pbc-standard-gauge-normal-color); }
.pbc-layout-standard .pbc-detailed-results-wrapper.pbc-category-overweight .pbc-category-emphasis { color: var(--pbc-standard-gauge-overweight-color); }
.pbc-layout-standard .pbc-detailed-results-wrapper.pbc-category-obesity_class_1 .pbc-category-emphasis,
.pbc-layout-standard .pbc-detailed-results-wrapper.pbc-category-obesity_class_2 .pbc-category-emphasis,
.pbc-layout-standard .pbc-detailed-results-wrapper.pbc-category-obesity_class_3 .pbc-category-emphasis { color:var(--pbc-standard-gauge-obese-color); }

.pbc-layout-standard .pbc-bmi-gauge {
    position:relative; width:100%; margin-top:.5em;
    margin-bottom:2.5em; height:12px; /* Adjusted height for better visual */
}

.pbc-layout-standard .pbc-gauge-bar {
    display: flex;
    height: 100%;
    border-radius: 6px; /* Slightly more rounded */
    overflow: hidden;
    width: 100%;
    background-color: var(--pbc-input-bg);
}

/* BMI Gauge Sections - UPDATED for new thinness categories */
.pbc-layout-standard .pbc-gauge-section { height: 100%; } /* Children take full height */
/* Note: The HTML for these sections in class-pbc-shortcode.php needs to be updated accordingly */
.pbc-layout-standard .pbc-gauge-section.pbc-gauge-severe-thinness  { background-color: var(--pbc-standard-gauge-severe-thinness-color);  flex-basis: 3.9%; } /* Example: 11.7% / 3 */
.pbc-layout-standard .pbc-gauge-section.pbc-gauge-moderate-thinness{ background-color: var(--pbc-standard-gauge-moderate-thinness-color);flex-basis: 3.9%; } /* Example: 11.7% / 3 */
.pbc-layout-standard .pbc-gauge-section.pbc-gauge-mild-thinness    { background-color: var(--pbc-standard-gauge-mild-thinness-color);    flex-basis: 3.9%; } /* Example: 11.7% / 3 */
.pbc-layout-standard .pbc-gauge-section.pbc-gauge-normal           { background-color: var(--pbc-standard-gauge-normal-color);           flex-basis: 21.3%; }
.pbc-layout-standard .pbc-gauge-section.pbc-gauge-overweight       { background-color: var(--pbc-standard-gauge-overweight-color);       flex-basis: 16.3%; }
.pbc-layout-standard .pbc-gauge-section.pbc-gauge-obese            { background-color: var(--pbc-standard-gauge-obese-color);            flex-basis: 50.7%; } /* Visually groups all obesity classes */

.pbc-layout-standard .pbc-gauge-marker { /* Renamed from #pbc-gauge-marker to class for potential multiple instances */
    display: block; position: absolute; bottom: -5px; width: 12px; height: 22px;
    background-color: var(--pbc-standard-gauge-marker-color);
    /* Teardrop shape */
    border-top-left-radius: 50%;
    border-top-right-radius: 50%;
    border-bottom-left-radius: 50%;
    border-bottom-right-radius: 50%;
    transform: rotate(45deg) translateX(-8.5px) translateY(-8.5px); /* Centering a rotated teardrop is tricky, adjust as needed */
    transform-origin: center center;
    /* Original attempt at centering: transform: translateX(-50%); */
    border: 2px solid var(--pbc-white-bg); box-shadow: 0 1px 3px rgba(0,0,0,.4);
    transition: left .5s ease-out; z-index: 10;
    visibility: visible; opacity: 1;
    /* Ensure marker is above the bar */
    left: 0%; /* Initial position, JS will update this */
}
/* Simpler circle marker if teardrop is too complex */
/* .pbc-layout-standard .pbc-gauge-marker {
    display: block; position: absolute; bottom: -5px; width: 12px; height: 22px;
    background-color: var(--pbc-standard-gauge-marker-color); border-radius: 3px;
    border: 2px solid var(--pbc-white-bg); box-shadow: 0 1px 3px rgba(0,0,0,.4);
    transform: translateX(-50%); transition: left .5s ease-out; z-index: 10;
    visibility: visible; opacity: 1;
} */


/* BMI Gauge Labels - UPDATED for new thinness categories */
/* Note: The HTML for these labels in class-pbc-shortcode.php needs to be updated accordingly */
.pbc-layout-standard .pbc-gauge-labels { display:flex; justify-content:space-between; padding:0; margin-top:.8em; }
.pbc-layout-standard .pbc-gauge-labels span { font-size:.7em; color:var(--pbc-standard-gauge-label-color); text-align:center; line-height: 1.2; }
.pbc-layout-standard .pbc-gauge-labels .pbc-label-severe-thinness  { width: 3.9%; text-align:left; }
.pbc-layout-standard .pbc-gauge-labels .pbc-label-moderate-thinness{ width: 3.9%; }
.pbc-layout-standard .pbc-gauge-labels .pbc-label-mild-thinness    { width: 3.9%; text-align:right; } /* End of original underweight block */
.pbc-layout-standard .pbc-gauge-labels .pbc-label-normal           { width: 21.3%;}
.pbc-layout-standard .pbc-gauge-labels .pbc-label-overweight       { width: 16.3%;}
.pbc-layout-standard .pbc-gauge-labels .pbc-label-obese            { width: 50.7%; text-align:right; }


/* BMR & TDEE Result Areas */
.pbc-layout-standard .pbc-results-area {
	text-align: center; font-size: 1.05em; color: var(--pbc-text-color); padding: 1em;
	margin-bottom: 1.5em; background-color: var(--pbc-input-bg); border-radius: 8px;
	border: 1px solid var(--pbc-border-color); margin-top: 0;
    /* Removed border-top: none; to keep a consistent card look if sections are stacked */
}
.pbc-layout-standard .pbc-results-area strong { font-weight: 700; color: var(--pbc-primary-color); }

/* Standard Layout: Text Sections (Interpretation, Age Info, etc.) */
.pbc-layout-standard .pbc-interpretation-section,
.pbc-layout-standard .pbc-age-info-section,
.pbc-layout-standard .pbc-healthy-range-section {
	margin-bottom: 1.5em; padding: 1.5em; border-radius: 8px;
	border: 1px solid var(--pbc-border-color); font-size: 0.95em; line-height: 1.6;
}
.pbc-layout-standard .pbc-interpretation-section { background-color: #e6e6fa; /* Lavender Lighter */ }
.pbc-layout-standard .pbc-age-info-section { background-color: #fffacd; /* Lemon Chiffon Lighter */ }
.pbc-layout-standard .pbc-healthy-range-section { background-color: #f0fff0; /* Honeydew Lighter */ }

.pbc-layout-standard .pbc-interpretation-section h4,
.pbc-layout-standard .pbc-age-info-section h4,
.pbc-layout-standard .pbc-healthy-range-section h4 {
	margin-top:0; margin-bottom:.8em; font-size:1.1em; font-weight:700;
}
.pbc-layout-standard .pbc-interpretation-section h4 { color: #5a5acd; } /* Darker Lavender */
.pbc-layout-standard .pbc-age-info-section h4 { color: #b8860b; } /* Dark Goldenrod */
.pbc-layout-standard .pbc-healthy-range-section h4 { color: #2e8b57; } /* Sea Green */

.pbc-layout-standard .pbc-disclaimer-section {
    background-color:transparent; border:none; text-align:center;
    font-size:.85em; color:#777; padding:.5em; margin-top:2em;
}

/* --- Error Display Area --- */
.pbc-layout-standard .pbc-error-area {
	font-weight:500; font-size:1em; color:#c62828; background-color:#ffebee;
    border:1px solid #e57373; padding:1em; margin-top:1.5em;
    border-radius:8px; text-align:center;
}
.pbc-layout-standard .pbc-error-area p { margin: .5em 0; }


/* --- Screen Reader Text (Globally applicable styling) --- */
.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;
}

/* --- Specific Layout Styles & Overrides (Redundant if main styles are already specific enough) --- */
/* The following rules seem to reiterate styles already applied with .pbc-layout-standard specificity. */
/* Consider removing them if they don't add new overrides or are covered by the initial selectors. */
/* Example: .pbc-calculator-wrapper.pbc-layout-standard is already styled at the top. */

/* .pbc-calculator-wrapper.pbc-layout-standard { ... } */
/* .pbc-layout-standard .pbc-segmented-buttons { ... } */
/* .pbc-layout-standard .pbc-submit-button { ... } */
/* .pbc-layout-standard .pbc-bmi-value-circle { ... } */
/* .pbc-layout-standard .pbc-info-summary { ... } */


/* --- Responsiveness for Standard Layout --- */
@media (max-width: 520px) {
	.pbc-calculator-wrapper.pbc-layout-standard {
        padding: 1.2em; /* Slightly reduced padding */
        margin: 1.5em auto;
        font-size: 0.9em; /* Adjusted base font size */
    }
	.pbc-layout-standard .pbc-calculator-header h2 { font-size: 1.5em; } /* Adjusted */
	.pbc-layout-standard .pbc-calculator-header p { font-size: 0.85em; } /* Adjusted */

	.pbc-layout-standard .pbc-segmented-buttons .pbc-segmented-button-label { font-size: 0.85em; padding: 0.7em 0.5em; }

    /* Ensure gender buttons stack nicely */
	.pbc-layout-standard .pbc-gender-buttons.pbc-segmented-buttons { flex-direction:column; }
    .pbc-layout-standard .pbc-gender-buttons.pbc-segmented-buttons .pbc-segmented-button-label { border-right: none; border-bottom: 1px solid var(--pbc-border-color); }
    .pbc-layout-standard .pbc-gender-buttons.pbc-segmented-buttons .pbc-segmented-button-label:last-of-type { border-bottom: none; }

	.pbc-layout-standard .pbc-height-imperial .pbc-height-inputs { flex-direction: column; gap: 8px; /* Increased gap slightly */ }
    .pbc-layout-standard .pbc-height-imperial .pbc-height-inputs input[type="number"] { margin-bottom: 0; } /* Removed bottom margin as gap handles it */

	.pbc-layout-standard .pbc-bmi-value-circle { width: 130px; height: 130px; } /* Adjusted */
	.pbc-layout-standard .pbc-bmi-number { font-size: 2.6em; } /* Adjusted */

	.pbc-layout-standard .pbc-gauge-labels span { font-size: 0.65em; } /* Adjusted for potentially more labels */

	.pbc-layout-standard .pbc-info-summary li { flex-direction: column; align-items: flex-start; }
	.pbc-layout-standard .pbc-info-summary li span { text-align: left; margin-top: 0.2em; }
}

/* --- RTL Adjustments for Standard Layout --- */
html[dir="rtl"] .pbc-layout-standard .pbc-calculator-header,
html[dir="rtl"] .pbc-layout-standard .pbc-field label, /* Align labels to the right */
html[dir="rtl"] .pbc-layout-standard .pbc-field .pbc-main-label,
html[dir="rtl"] .pbc-layout-standard .pbc-info-summary h4,
html[dir="rtl"] .pbc-layout-standard .pbc-bmi-category-section h4,
html[dir="rtl"] .pbc-layout-standard .pbc-interpretation-section h4,
html[dir="rtl"] .pbc-layout-standard .pbc-age-info-section h4,
html[dir="rtl"] .pbc-layout-standard .pbc-healthy-range-section h4 {
    text-align: right;
}

html[dir="rtl"] .pbc-layout-standard .pbc-segmented-buttons .pbc-segmented-button-label {
    border-left: 1px solid var(--pbc-border-color);
    border-right: none;
}
html[dir="rtl"] .pbc-layout-standard .pbc-segmented-buttons .pbc-segmented-button-label:last-of-type {
    border-left: none;
}

html[dir="rtl"] .pbc-layout-standard .pbc-submit-button {
    flex-direction: row-reverse; /* Icon on the left in RTL */
}
html[dir="rtl"] .pbc-layout-standard .pbc-submit-button .dashicons {
    margin-right: 0;
    margin-left: 0.5em;
}

html[dir="rtl"] .pbc-layout-standard .pbc-info-summary li strong {
    margin-left: 1em; /* Space between strong and value */
    margin-right: 0;
}
html[dir="rtl"] .pbc-layout-standard .pbc-info-summary li span {
    text-align: left; /* Value aligned to the left */
}
/* Responsive adjustment for RTL info summary */
@media (max-width: 520px) {
    html[dir="rtl"] .pbc-layout-standard .pbc-info-summary li span {
        text-align: right; /* Stacked items, value aligns right */
    }
}

html[dir="rtl"] .pbc-layout-standard .pbc-gauge-bar {
    flex-direction: row-reverse; /* Reverse the visual order of segments */
}
html[dir="rtl"] .pbc-layout-standard .pbc-gauge-labels {
    flex-direction: row-reverse; /* Reverse the order of labels */
}
/* Adjust text-align for first/last labels in RTL to prevent overflow */
html[dir="rtl"] .pbc-layout-standard .pbc-gauge-labels .pbc-label-severe-thinness { text-align: right; } /* Was pbc-label-underweight */
html[dir="rtl"] .pbc-layout-standard .pbc-gauge-labels .pbc-label-obese       { text-align: left; }

/* Marker in RTL. JS should calculate the 'right' property instead of 'left', or 'left' with 100% - value. */
/* CSS can only flip the transform if 'left' is still used. */
html[dir="rtl"] .pbc-layout-standard .pbc-gauge-marker {
    /* If JS sets 'left', this transform helps visually if it's not 0% or 100% */
    transform: translateX(50%) rotate(45deg) translateY(-50%); 
    /* For teardrop, it's more complex. Best if JS handles RTL positioning directly. */
}

/* --- Responsive Desktop Columns for Standard Layout --- */
@media (min-width: 821px) {
    .pbc-calculator-wrapper.pbc-layout-standard {
        max-width: 1150px;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
        padding: 2.2em;
        margin: 5em auto 3em auto !important;
    }
    .pbc-layout-standard .pbc-calculator-header {
        width: 100%;
        margin-bottom: 2em;
    }
    .pbc-layout-standard #pbc-form-standard {
        flex: 0 0 52%;
        width: 52%;
        margin: 0;
        order: 2; /* Inputs on the right in LTR */
    }
    .pbc-layout-standard #pbc-detailed-results-standard {
        flex: 0 0 44%;
        width: 44%;
        margin: 0;
        padding-top: 0;
        border-top: none;
        order: 1; /* Results on the left in LTR */
    }
    .pbc-layout-standard #pbc-error-display-standard {
        width: 100%;
        margin-top: 1em;
    }
    
    /* RTL adjustments for Standard layout */
    html[dir="rtl"] .pbc-layout-standard #pbc-form-standard,
    .pbc-layout-standard[dir="rtl"] #pbc-form-standard {
        order: 1; /* Inputs on the right in RTL */
    }
    html[dir="rtl"] .pbc-layout-standard #pbc-detailed-results-standard,
    .pbc-layout-standard[dir="rtl"] #pbc-detailed-results-standard {
        order: 2; /* Results on the left in RTL */
    }

    /* Redesigned Compact Results Layout on Desktop */
    .pbc-layout-standard .pbc-results-title {
        font-size: 1.3em;
        font-weight: 700;
        margin-top: 0;
        margin-bottom: 1em;
        text-align: center;
        border-bottom: 2px solid var(--pbc-primary-color);
        display: inline-block;
        padding-bottom: 0.3em;
    }
    .pbc-layout-standard .pbc-detailed-results-wrapper {
        margin-top: 0;
        padding-top: 0;
        border-top: none;
    }
    
    .pbc-layout-standard .pbc-results-grid-standard {
        display: flex;
        gap: 1em;
        margin-bottom: 1.2em;
        text-align: right; /* Match Arabic layout */
    }
    
    .pbc-layout-standard .pbc-results-main-card {
        flex: 1 1 50%;
        background-color: var(--pbc-white-bg, #ffffff);
        border: 1px solid var(--pbc-border-color);
        border-radius: 12px;
        padding: 1em;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    }
    
    .pbc-layout-standard .pbc-bmi-display {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: 0.5em;
    }
    .pbc-layout-standard .pbc-bmi-number {
        font-size: 2.8em !important;
        font-weight: 800;
        color: var(--pbc-primary-color);
        line-height: 1;
    }
    .pbc-layout-standard .pbc-bmi-label {
        font-size: 0.75em;
        font-weight: 600;
        color: var(--pbc-label-color);
        text-transform: uppercase;
        letter-spacing: 1px;
        margin-top: 0.2em;
    }
    
    .pbc-layout-standard .pbc-bmi-category-section {
        margin-bottom: 0;
        text-align: center;
    }
    .pbc-layout-standard .pbc-bmi-category-section h4 {
        font-size: 0.8em;
        margin-top: 0;
        margin-bottom: 0.2em;
        color: var(--pbc-label-color);
        font-weight: 500;
    }
    .pbc-layout-standard .pbc-bmi-category-section .pbc-category-emphasis {
        font-size: 1.15em;
        font-weight: 700;
    }
    
    .pbc-layout-standard .pbc-info-summary {
        flex: 1 1 50%;
        background-color: var(--pbc-white-bg, #ffffff);
        border: 1px solid var(--pbc-border-color);
        border-radius: 12px;
        padding: 1em;
        margin-bottom: 0;
        box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    }
    .pbc-layout-standard .pbc-info-summary h4 {
        font-size: 0.9em;
        font-weight: 700;
        margin-top: 0;
        margin-bottom: 0.5em;
        padding-bottom: 0.3em;
        border-bottom: 1px solid var(--pbc-border-color);
        color: var(--pbc-heading-color);
        text-align: right;
    }
    .pbc-layout-standard .pbc-info-summary li {
        padding: 0.35em 0;
        font-size: 0.85em;
        border-bottom: 1px dashed var(--pbc-border-color);
        flex-direction: row;
        align-items: center;
    }
    .pbc-layout-standard .pbc-info-summary li strong {
        font-weight: 600;
        color: var(--pbc-label-color);
        margin-right: 0;
    }
    .pbc-layout-standard .pbc-info-summary li span {
        text-align: left;
        margin-top: 0;
    }
    
    /* Gauge Section */
    .pbc-layout-standard .pbc-gauge-section {
        margin-bottom: 1.2em;
    }
    .pbc-layout-standard .pbc-bmi-gauge {
        margin-top: 0;
        margin-bottom: 1.2em;
        height: 10px;
    }
    
    /* BMR & TDEE side-by-side */
    .pbc-layout-standard .pbc-results-additional-cards {
        display: flex;
        gap: 0.8em;
        margin-bottom: 1.2em;
    }
    .pbc-layout-standard .pbc-result-card {
        flex: 1;
        font-size: 0.85em;
        padding: 0.8em 0.5em;
        background-color: var(--pbc-input-bg, #f5f4ef);
        border-radius: 10px;
        border: 1px solid var(--pbc-border-color);
        margin: 0 !important;
        text-align: center;
        box-shadow: 0 3px 10px rgba(0,0,0,0.02);
    }
    
    /* Accordion styling for standard layout */
    .pbc-layout-standard .pbc-collapsible-results {
        margin-top: 0.5em;
        text-align: right;
    }
    .pbc-layout-standard .pbc-collapsible-item {
        margin-bottom: 0.5em;
        border: 1px solid var(--pbc-border-color);
        border-radius: 8px;
        background-color: var(--pbc-white-bg, #ffffff);
        overflow: hidden;
        box-shadow: 0 2px 6px rgba(0,0,0,0.02);
    }
    .pbc-layout-standard .pbc-collapsible-trigger {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 0.6em 0.8em;
        border: none;
        background: transparent;
        font-size: 0.8em;
        font-weight: 600;
        color: var(--pbc-text-color);
        cursor: pointer;
        transition: background-color 0.2s ease;
    }
    .pbc-layout-standard .pbc-collapsible-trigger:hover {
        background-color: var(--pbc-input-bg);
    }
    .pbc-layout-standard .pbc-collapsible-trigger .dashicons {
        color: var(--pbc-primary-color);
        margin-left: 6px;
        font-size: 1.2em;
        width: 1.2em;
        height: 1.2em;
    }
    .pbc-layout-standard .pbc-collapsible-trigger .pbc-collapsible-icon {
        color: var(--pbc-label-color);
        margin-right: auto;
        margin-left: 0;
    }
    .pbc-layout-standard .pbc-collapsible-content {
        display: none;
        padding: 0.8em 1em;
        border-top: 1px solid var(--pbc-border-color);
        background-color: var(--pbc-input-bg);
        font-size: 0.8em;
        line-height: 1.5;
        color: var(--pbc-text-color);
    }
    .pbc-layout-standard .pbc-collapsible-content p {
        margin: 0;
    }
    
    .pbc-layout-standard .pbc-disclaimer-section {
        margin-top: 0.8em;
        font-size: 0.7em;
        color: var(--pbc-label-color);
        padding: 0;
    }
}

/* --- Premium Interactive Muscle Map & Blood Diet Layout Styles --- */
.pbc-muscle-map-card, .pbc-blood-diet-card {
    background-color: var(--pbc-white-bg, #ffffff) !important;
    border: 1px solid var(--pbc-border-color, #e1e4e8) !important;
    border-radius: 16px !important;
    padding: 1.5em !important;
    margin-bottom: 1.5em !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04) !important;
    text-align: right !important; /* Right align for Arabic */
}
html[dir="rtl"] .pbc-muscle-map-card, html[dir="rtl"] .pbc-blood-diet-card {
    text-align: right !important;
}

.pbc-card-desc {
    font-size: 0.85em;
    color: var(--pbc-label-color, #7f8c8d);
    margin-top: -0.5em;
    margin-bottom: 1.5em;
}

.pbc-muscle-map-container {
    display: flex;
    gap: 1.5em;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
}
@media (max-width: 520px) {
    .pbc-muscle-map-container {
        flex-direction: column;
    }
}

.pbc-muscle-map-svg-wrapper {
    flex: 0 0 160px;
    width: 160px;
    height: 320px;
    background-color: var(--pbc-input-bg, #f5f4ef);
    border-radius: 12px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--pbc-border-color, #e1e4e8);
}

.pbc-muscle-map-svg {
    width: 100%;
    height: 100%;
}

.pbc-muscle-head {
    fill: #e1e4e8;
    stroke: #ffffff;
    stroke-width: 1.5;
}
.pbc-muscle-group {
    fill: #d1d5db;
    stroke: #ffffff;
    stroke-width: 1.5;
    cursor: pointer;
    transition: fill 0.3s ease, filter 0.3s ease;
}

.pbc-muscle-group.pbc-muscle-upper:hover,
.pbc-muscle-group.pbc-muscle-upper.active {
    fill: #d4af37;
    filter: drop-shadow(0 0 6px rgba(212, 175, 55, 0.6));
}
.pbc-muscle-group.pbc-muscle-core:hover,
.pbc-muscle-group.pbc-muscle-core.active {
    fill: #b8860b;
    filter: drop-shadow(0 0 6px rgba(184, 134, 11, 0.6));
}
.pbc-muscle-group.pbc-muscle-lower:hover,
.pbc-muscle-group.pbc-muscle-lower.active {
    fill: #aa7c11;
    filter: drop-shadow(0 0 6px rgba(170, 124, 17, 0.6));
}

.pbc-muscle-map-legend {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.pbc-muscle-stats-box {
    display: flex;
    flex-direction: column;
    gap: 0.8em;
}

.pbc-stat-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6em 0.8em;
    background-color: var(--pbc-input-bg, #f5f4ef);
    border-radius: 8px;
    font-size: 0.85em;
    border: 1px solid transparent;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}
.pbc-stat-item.pbc-highlight-row {
    background-color: #fffbf0;
    border-color: #d4af37;
}

.pbc-stat-color {
    width: 12px;
    height: 12px;
    border-radius: 3px;
    margin-left: 8px;
    display: inline-block;
}
.pbc-stat-color.upper { background-color: #d4af37; }
.pbc-stat-color.core { background-color: #b8860b; }
.pbc-stat-color.lower { background-color: #aa7c11; }

.pbc-stat-label {
    flex-grow: 1;
    text-align: right;
    font-weight: 500;
}

.pbc-stat-value {
    font-weight: 700;
    color: var(--pbc-primary-color, #6a11cb);
}

.pbc-body-totals-box {
    margin-top: 0.5em;
    padding-top: 0.8em;
    border-top: 1px solid var(--pbc-border-color, #e1e4e8);
    display: flex;
    justify-content: space-between;
    font-size: 0.85em;
    color: var(--pbc-text-color, #2c3e50);
}
.pbc-body-totals-box strong {
    color: var(--pbc-primary-color, #6a11cb);
    font-weight: 700;
}

.pbc-modern-blood-selector {
    display: flex !important;
    gap: 1.5em !important;
    justify-content: center !important;
    margin-top: 1.2em !important;
    margin-bottom: 0.5em !important;
}

.pbc-modern-blood-option {
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.pbc-modern-blood-circle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 56px !important;
    height: 56px !important;
    border-radius: 50% !important;
    border: 2px solid var(--pbc-border-color, #e1e4e8) !important;
    background-color: var(--pbc-white-bg, #ffffff) !important;
    font-size: 1.2em !important;
    font-weight: 700 !important;
    color: var(--pbc-text-color, #2c3e50) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03) !important;
}

.pbc-modern-blood-option:hover .pbc-modern-blood-circle {
    border-color: #d4af37 !important;
    color: #b8860b !important;
    box-shadow: 0 6px 15px rgba(212, 175, 55, 0.15) !important;
    transform: translateY(-2px) !important;
}

input[name="pbc_modern_blood"]:checked + .pbc-modern-blood-option .pbc-modern-blood-circle {
    border-color: #d4af37 !important;
    background: linear-gradient(135deg, #fffbf0 0%, #fff8e7 100%) !important;
    color: #b8860b !important;
    box-shadow: 0 8px 20px rgba(212, 175, 55, 0.25) !important;
    transform: scale(1.1) translateY(-2px) !important;
}

/* Fallbacks for Standard Layout */
.pbc-blood-selector {
    display: flex;
    gap: 0.8em;
    justify-content: center;
    margin-top: 0.5em;
}
.pbc-blood-selector .pbc-segmented-button-label {
    cursor: pointer;
    transition: all 0.2s ease;
}
input[name="pbc_standard_blood"]:checked + .pbc-segmented-button-label {
    border-color: #d4af37 !important;
    background-color: #fffbf0 !important;
    color: #b8860b !important;
    box-shadow: 0 4px 10px rgba(212, 175, 55, 0.15) !important;
    transform: scale(1.05);
}

.pbc-blood-diet-lists {
    display: flex;
    gap: 1.2em;
    margin-bottom: 1.2em;
}
@media (max-width: 520px) {
    .pbc-blood-diet-lists {
        flex-direction: column;
    }
}

.pbc-diet-list-box {
    flex: 1;
    padding: 1.2em;
    border-radius: 12px;
    border: 1px solid var(--pbc-border-color, #e1e4e8);
    box-shadow: 0 3px 10px rgba(0,0,0,0.01);
}
.pbc-diet-list-box.beneficial {
    background-color: #f6fff6;
    border-color: #c2eec2;
}
.pbc-diet-list-box.avoid {
    background-color: #fff5f5;
    border-color: #fecaca;
}

.pbc-diet-list-box h5, .pbc-diet-list-box h4 {
    margin-top: 0;
    margin-bottom: 0.8em;
    font-size: 0.95em;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 6px;
}
.pbc-diet-list-box.beneficial h5, .pbc-diet-list-box.beneficial h4 { color: #2e7d32; }
.pbc-diet-list-box.avoid h5, .pbc-diet-list-box.avoid h4 { color: #c62828; }

.pbc-diet-list-box ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

.pbc-diet-list-box li {
    font-size: 0.85em;
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--pbc-text-color, #2c3e50);
}

.pbc-diet-list-box li .dashicons-yes-alt {
    color: #2e7d32;
    font-size: 1.3em;
}
.pbc-diet-list-box li .dashicons-dismiss {
    color: #c62828;
    font-size: 1.3em;
}

.pbc-blood-exercise-box {
    background-color: #fffbf0;
    border: 1px solid #ffe29a;
    border-radius: 12px;
    padding: 1.2em;
    margin-top: 0.5em;
}
.pbc-blood-exercise-box h5, .pbc-blood-exercise-box h4 {
    margin-top: 0;
    margin-bottom: 0.5em;
    font-size: 0.95em;
    font-weight: 700;
    color: #aa7c11;
    display: flex;
    align-items: center;
    gap: 6px;
}
.pbc-blood-exercise-box p {
    margin: 0;
    font-size: 0.85em;
    line-height: 1.5;
    color: var(--pbc-text-color, #2c3e50);
}