/* ==========================================================
   FRACTION CALCULATOR
   Split from calc-datediff.css (lines 149-193)
   ========================================================== */

/* ----------------------------------------------------------
   FRACTION CALCULATOR — FULLY RESPONSIVE
   ---------------------------------------------------------- */
.ct-fr-panel{display:none}.ct-fr-panel-active{display:block;animation:ctFadeUp .3s var(--ct-ease)}

.ct-fr-eq{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:24px 16px;background:var(--ct-input-bg);border:2px solid var(--ct-input-border);border-radius:var(--ct-r-xl);margin-bottom:var(--ct-sp-md)}
.ct-fr-eq-center{justify-content:center}
.ct-fr-inp-grp{display:flex;align-items:center;gap:8px;flex-shrink:0}
.ct-fr-box{display:flex;flex-direction:column;align-items:center}
.ct-fr-box-lg .ct-fr-num,.ct-fr-box-lg .ct-fr-den{width:120px!important}
.ct-fr-num,.ct-fr-den{width:80px!important;height:42px!important;text-align:center!important;font-size:22px!important;font-weight:800!important;padding:6px 8px!important;border:2px solid var(--ct-primary-light)!important;color:var(--ct-primary)!important;background:#fff!important}
.ct-fr-num{border-radius:var(--ct-r-md) var(--ct-r-md) 0 0!important;border-bottom:none!important}
.ct-fr-den{border-radius:0 0 var(--ct-r-md) var(--ct-r-md)!important;border-top:none!important}
.ct-fr-num:focus,.ct-fr-den:focus{border-color:var(--ct-primary)!important;box-shadow:0 0 0 3px rgba(99,102,241,.12)!important;z-index:2}
.ct-fr-line{width:100%;height:3px;background:linear-gradient(90deg,var(--ct-primary),var(--ct-primary-light));border-radius:2px;position:relative;z-index:1}

.ct-fr-ops{display:flex;flex-direction:column;gap:4px;flex-shrink:0}
.ct-fr-op{width:44px;height:38px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;font-family:var(--ct-font);color:var(--ct-text-secondary);background:var(--ct-input-bg);border:2px solid var(--ct-input-border);border-radius:var(--ct-r-sm);cursor:pointer;transition:all .25s ease;padding:0;line-height:1}
.ct-fr-op:hover{border-color:var(--ct-primary-light);color:var(--ct-primary);transform:scale(1.08)}
.ct-fr-op-active,.ct-fr-op-active:hover{background:linear-gradient(135deg,var(--ct-primary),var(--ct-primary-hover))!important;color:#fff!important;border-color:var(--ct-primary)!important;box-shadow:0 3px 10px var(--ct-primary-glow)!important;transform:scale(1.08)!important}

.ct-fr-cmp-sym{width:50px;height:50px;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:900;color:var(--ct-primary);background:rgba(99,102,241,.08);border:2px solid rgba(99,102,241,.15);border-radius:50%;flex-shrink:0}

.ct-fr-answer{text-align:center;padding:20px var(--ct-sp-md);word-break:break-word}
.ct-fr-answer:empty{display:none}
.ct-fr-answer-label{display:inline-block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--ct-text-muted);margin-bottom:12px;padding:4px 16px;background:rgba(0,0,0,.03);border-radius:20px}
.ct-fr-answer-main{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:8px}

.ct-fr-disp{display:inline-flex;flex-direction:column;align-items:center}
.ct-fr-disp-num,.ct-fr-disp-den{font-size:clamp(20px,4vw,26px);font-weight:900;line-height:1.1;background:linear-gradient(135deg,var(--ct-primary),var(--ct-primary-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;padding:0 8px}
.ct-fr-disp-line{width:100%;height:4px;background:linear-gradient(90deg,var(--ct-primary),var(--ct-primary-light));border-radius:2px;margin:2px 0}
.ct-fr-disp-eq{font-size:clamp(18px,3.5vw,24px);font-weight:300;color:var(--ct-text-muted)}
.ct-fr-answer-sub{display:block;font-size:clamp(13px,2.5vw,16px);font-weight:600;color:var(--ct-text-secondary);margin-top:8px}

.ct-fr-step-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--ct-primary);color:#fff;font-size:12px;font-weight:800;flex-shrink:0;margin-right:6px}

.ct-tool-section[data-tool="fraction"] .ct-result-value{font-size:clamp(14px,2.8vw,20px);word-break:break-word;overflow-wrap:break-word;line-height:1.2;max-width:100%}
.ct-tool-section[data-tool="fraction"] .ct-result-card{min-width:0;overflow:hidden;word-break:break-word;padding:var(--ct-sp-md) var(--ct-sp-sm)}
.ct-tool-section[data-tool="fraction"] .ct-result-summary{word-break:break-word;font-size:clamp(12px,2.5vw,15px)}
.ct-tool-section[data-tool="fraction"] .ct-detail-val{word-break:break-word;overflow-wrap:break-word}

@media(max-width:768px){.ct-fr-eq{gap:10px;padding:16px 10px}.ct-fr-num,.ct-fr-den{width:65px!important;height:36px!important;font-size:18px!important}.ct-fr-box-lg .ct-fr-num,.ct-fr-box-lg .ct-fr-den{width:100px!important}.ct-fr-op{width:38px;height:32px;font-size:17px}.ct-fr-cmp-sym{width:40px;height:40px;font-size:22px}
.ct-tool-section[data-tool="fraction"] .ct-result-grid{grid-template-columns:1fr!important}.ct-tool-section[data-tool="fraction"] .ct-detail-item{flex-direction:column;align-items:flex-start;gap:2px}.ct-tool-section[data-tool="fraction"] .ct-detail-val{text-align:left;padding-left:28px}}
@media(max-width:480px){.ct-fr-eq{gap:8px;padding:12px 8px}.ct-fr-num,.ct-fr-den{width:55px!important;height:32px!important;font-size:16px!important;padding:4px 6px!important}.ct-fr-box-lg .ct-fr-num,.ct-fr-box-lg .ct-fr-den{width:80px!important}.ct-fr-op{width:34px;height:28px;font-size:15px}.ct-fr-line{height:2px}.ct-fr-cmp-sym{width:34px;height:34px;font-size:18px}}
