/* ===========================================
Ovulation Calculator - Tool Specific Styles
=========================================== */

/* Tool Layout */
.oc-box {
 max-width: 850px;
 margin: 0 auto;
}

/* Controls and Inputs */
.oc-controls {
 display: flex;
 gap: 25px;
 background: #fdf2f8; /* Light Pink/Rose BG */
 padding: 30px;
 border-radius: 12px;
 border: 1px solid #fbcfe8;
 margin-bottom: 30px;
 flex-wrap: wrap;
 align-items: flex-end; /* Align inputs and button at the bottom */
}

.oc-input-group {
 flex: 1;
 min-width: 250px;
 display: flex;
 flex-direction: column;
}

.oc-label {
 font-size: 0.95rem;
 font-weight: 600;
 color: #9d174d; /* Dark Rose Label */
 margin-bottom: 6px;
}

.oc-input {
 padding: 10px;
 border: 1px solid #ec4899; /* Medium Pink Border */
 border-radius: 6px;
 font-size: 1.1rem;
 color: #1f2937;
 width: 100%;
 height: 40px;
}

.oc-help-text {
 font-size: 0.8rem;
 color: #be185d;
 margin-top: 5px;
}

/* Calculate Button */
.oc-btn-calc {
 padding: 10px 20px;
 font-size: 1.1rem;
 font-weight: 700;
 border: none;
 border-radius: 8px;
 cursor: pointer;
 background: #db2777; /* Primary Rose Button */
 color: white;
 transition: background 0.2s;
 height: 40px;
}
.oc-btn-calc:hover {
 background: #be185d;
}

/* --- Results Section (Breakdown) --- */

.oc-results-section {
 margin-top: 30px;
 text-align: center;
}

.oc-result-box {
 background: #ffffff;
 padding: 30px 15px;
 border-radius: 10px;
 box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

.oc-card-title {
 font-size: 1.2rem;
 text-transform: uppercase;
 color: #9d174d;
 margin-bottom: 25px;
 font-weight: 700;
}

/* Breakdown Display */
.oc-breakdown {
 display: flex;
 justify-content: space-around;
 gap: 15px;
 flex-wrap: wrap;
}

.oc-breakdown-item {
 text-align: center;
 flex: 1;
 min-width: 200px;
 padding: 20px;
 border-radius: 10px;
 border: 1px solid #fbcfe8;
 background: #fdf2f8;
}

.oc-breakdown-unit {
 font-size: 0.9rem;
 color: #4b5563;
 text-transform: uppercase;
 margin-bottom: 10px;
 font-weight: 600;
}

.oc-breakdown-number, .oc-breakdown-date-range {
 font-size: 1.6rem;
 font-weight: 800;
 line-height: 1.3;
}

/* Specific item styling */
.oc-breakdown-item.fertile {
 background: #fff7ed; /* Lightest Orange */
 border-color: #fdba74;
}
.oc-breakdown-item.fertile .oc-breakdown-date-range {
 color: #ea580c; /* Dark Orange */
}

.oc-breakdown-item.ovulation {
 background: #fef2f2; /* Light Red */
 border-color: #fca5a5;
}
.oc-breakdown-item.ovulation .oc-breakdown-number {
 color: #ef4444; /* Dark Red */
}

.oc-breakdown-item.period {
 background: #f5f3ff; /* Light Violet */
 border-color: #c4b5fd;
}
.oc-breakdown-item.period .oc-breakdown-number {
 color: #8b5cf6; /* Dark Violet */
}

.oc-note {
 font-size: 0.8rem;
 color: #6b7280;
 font-style: italic;
 margin-top: 10px;
}


/* Responsive Styling */
@media (max-width: 850px) {
 .oc-controls {
  align-items: stretch;
 }
 .oc-input-group {
  flex-basis: 100%;
 }
 .oc-btn-calc {
  flex: 1 1 100%;
  height: auto;
  padding: 12px 20px;
 }
 .oc-breakdown-item {
  flex-basis: 100%;
 }
}