/* Droocy P15 unified readability/media rules */
:root{--droocy-text:#172033;--droocy-muted:#566273;--droocy-on-dark:#fff;--droocy-primary:#6847e8}
img,video{max-width:100%;object-fit:contain}
.droocy-fit-one-line{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;max-width:100%;line-height:1.25!important}
.droocy-media-choice{margin-top:8px;padding:10px;border:1px solid #e1e6ef;border-radius:12px;background:#fafbfe}.droocy-media-choice label{display:block;font-size:11px;font-weight:800;color:#344054!important;margin-bottom:5px}.droocy-media-choice input[type=url]{width:100%;min-height:42px;border:1px solid #d8dee9;border-radius:10px;padding:8px 10px;background:#fff;color:#172033!important}
/* contrast safety for common light panels */
.panel,.card,.field,.tp-panel,.course-card,.platform-card{color:var(--droocy-text)}
.panel p,.card p,.field small,.tp-panel p{color:var(--droocy-muted)}

/* P18: ordinary headings/descriptions may wrap; only explicit identity/title classes are auto-fitted. */
.why25-grid p,.why25-grid h3,.why26-cards p,.why26-cards strong,.section p,.card p{white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;text-overflow:clip!important;}

/* P19 — responsive containment: prevent long text/table content from widening the viewport. */
html,body{max-width:100%;overflow-x:hidden}
main,section,article,aside,.card,.panel,.box,.container,.page,.grid,.row{min-width:0;max-width:100%}
table{max-width:100%;width:100%;table-layout:auto;border-collapse:collapse}
th,td{min-width:0;max-width:100%;white-space:normal!important;overflow-wrap:anywhere;word-break:break-word;vertical-align:top}
/* Descriptions and ordinary card copy may wrap to as many lines as required. */
p,.description,.desc,.card p,.feature-card p,.platform-description,.course-description{white-space:normal!important;overflow-wrap:anywhere;word-break:normal;max-width:100%}
/* Inputs/URLs must never force their parent wider than the screen. */
input,select,textarea,pre,code{max-width:100%;min-width:0;box-sizing:border-box}
pre,code{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
img,video,iframe{max-width:100%}
@media(max-width:760px){table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}th,td{min-width:110px}.card,.panel,.box{min-width:0}}
