/* Consultation page only: other editorial pages keep their usual width. */
body.has-doctor-questions article.page { max-width:none; }
body.has-doctor-questions .page__content > .doctor-questions { max-width:none; }
.doctor-questions { --doctor-green:#527919; --doctor-line:#e3e8dc; color:#1e271a; }
#content .doctor-questions :where(h2,h3,p) { margin:0; }
#content .doctor-questions h2 { font-size:clamp(25px,2.7vw,36px); line-height:1.2; }
#content .doctor-questions h3 { font-size:20px; line-height:1.3; }
.doctor-questions__hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:40px; align-items:center; padding:24px 0 44px; }
.doctor-questions__intro { min-width:0; }
#content .doctor-questions__eyebrow { margin:0 0 14px; color:var(--doctor-green); font-size:12px; font-weight:800; line-height:1.5; letter-spacing:.08em; text-transform:uppercase; }
#content .doctor-questions__lead { margin:22px 0 28px; font-size:17px; line-height:1.75; color:#54604e; }
.doctor-questions__features { display:grid; gap:22px; }
.doctor-feature { display:flex; gap:16px; align-items:flex-start; }
.doctor-feature__icon { display:grid; place-items:center; width:48px; height:48px; flex:0 0 48px; border-radius:16px; background:#f0edf8; color:var(--doctor-green); }
.doctor-feature__icon svg { width:28px; height:28px; }
#content .doctor-feature h3 { font-size:17px; margin:0 0 6px; }
#content .doctor-feature p { font-size:15px; line-height:1.65; color:#54604e; }
.doctor-profile { min-width:0; overflow:hidden; border:1px solid var(--doctor-line); border-radius:24px; background:linear-gradient(145deg,#f1f6e8,#f5f2fb); }
.doctor-profile__photo { height:260px; background:#e9ece8; }
.doctor-profile__photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 25%; }
.doctor-profile__info { padding:28px; }
#content .doctor-profile h3 { font-size:27px; }
#content .doctor-profile__role { margin:12px 0 24px; font-size:16px; line-height:1.6; color:#54604e; }
#content .doctor-questions .doctor-questions__button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:48px; padding:13px 22px; border:0; border-radius:12px; background:#85ba26; color:#17250e; font:inherit; font-size:15px; font-weight:800; line-height:1.4; text-align:center; text-decoration:none; cursor:pointer; transition:background .15s; }
#content .doctor-questions .doctor-questions__button:hover { background:#76a820; }
#content .doctor-questions button:focus-visible, .doctor-questions input:focus-visible, .doctor-questions textarea:focus-visible, .doctor-questions select:focus-visible { outline:3px solid #527919; outline-offset:3px; }
#content .doctor-profile .doctor-questions__button { width:100%; justify-content:space-between; }
.doctor-questions__answers { border-top:1px solid var(--doctor-line); padding-top:36px; margin-bottom:24px; }
.doctor-questions__section-heading { display:flex; gap:16px; align-items:center; justify-content:space-between; margin-bottom:24px; }
#content .doctor-questions__section-heading h2 { font-size:28px; }
#content .doctor-questions__section-heading p { font-size:14px; color:#67715f; }
.doctor-answers-empty { display:flex; align-items:flex-start; gap:20px; padding:28px; border-radius:18px; background:#f6f8f2; }
.doctor-answers-empty > svg { width:32px; height:32px; flex:0 0 32px; color:var(--doctor-green); }
#content .doctor-answers-empty h3 { font-size:18px; margin-bottom:8px; }
#content .doctor-answers-empty p { color:#54604e; line-height:1.7; font-size:15px; }
#content .doctor-questions .question-search { display:grid; grid-template-columns:minmax(180px,2fr) minmax(140px,1fr) minmax(110px,.8fr) auto; align-items:end; gap:16px; max-width:none; margin:0 0 24px; }
.doctor-questions .question-search label { min-width:0; font-size:14px; font-weight:700; }
.doctor-questions .question-search input, .doctor-questions .question-search select { width:100%; min-width:0; min-height:48px; background:#fff; font:inherit; font-weight:400; }
.doctor-answer { padding:26px; border:1px solid var(--doctor-line); border-radius:16px; margin:0 0 16px; }
#content .doctor-answer h3 { margin-bottom:14px; }
#content .doctor-answer p + p { margin-top:12px; }
.doctor-questions__status { padding:18px; border:1px solid var(--doctor-line); border-radius:12px; background:#f6f8f2; }
html.doctor-dialog-open { overflow:hidden; }
.doctor-dialog { width:min(640px,calc(100% - 32px)); max-width:640px; max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:0; border-radius:22px; background:#fff; color:#1e271a; box-shadow:0 24px 90px #10200035; overflow:auto; overscroll-behavior:contain; }
.doctor-dialog::backdrop { background:rgba(22,29,18,.58); }
.doctor-dialog__body { position:relative; padding:36px; }
#content .doctor-dialog .doctor-questions__eyebrow { padding-right:36px; margin-bottom:10px; font-size:11px; }
#content .doctor-dialog h2 { font-size:28px; padding-right:20px; }
#content .doctor-dialog__intro { margin:14px 0 24px; color:#59634f; font-size:15px; line-height:1.6; }
#content .doctor-questions .doctor-dialog__close { display:grid; place-items:center; position:absolute; right:16px; top:16px; width:36px; height:36px; min-width:0; min-height:0; margin:0; padding:0; border:0; border-radius:50%; background:#f3f5ef; color:#54604e; font:26px/1 sans-serif; cursor:pointer; }
.doctor-form fieldset { display:grid; gap:18px; min-width:0; margin:0; padding:0; border:0; }
.doctor-form label:not(.doctor-form__check) { display:block; font-size:14px; font-weight:700; line-height:1.5; }
.doctor-form__optional { font-weight:400; color:#727969; }
.doctor-form input:not([type="checkbox"]), .doctor-form textarea { display:block; width:100%; max-width:100%; min-width:0; margin:7px 0 0; padding:12px 14px; border:1px solid #d8dfd0; border-radius:10px; background:#fff; font:inherit; font-size:16px; font-weight:400; line-height:1.5; color:#1e271a; box-sizing:border-box; }
.doctor-form textarea { min-height:112px; resize:vertical; }
.doctor-form__check { display:flex; align-items:flex-start; gap:10px; font-size:14px; font-weight:400; line-height:1.6; }
.doctor-form__check input { flex:0 0 18px; width:18px; height:18px; margin:3px 0 0; accent-color:#527919; }
.doctor-form__consent { font-size:12px; color:#59634f; }
.doctor-form a { color:#527919; text-decoration:underline; }
#content .doctor-form .doctor-questions__button { width:100%; margin-top:2px; }
.doctor-form fieldset:disabled input, .doctor-form fieldset:disabled textarea { background:#f7f8f5; color:#727969; opacity:1; }
#content .doctor-form .doctor-questions__button:disabled { background:#e5ebdc; color:#6b765e; cursor:default; }
@media (min-width:1100px) {
 .doctor-profile { display:grid; grid-template-columns:42% minmax(0,1fr); }
 .doctor-profile__photo { height:100%; min-height:340px; }
 .doctor-profile__photo img { object-position:50% 20%; }
 .doctor-profile__info { padding:30px 24px; align-self:center; }
 #content .doctor-profile h3 { font-size:25px; }
}
@media (max-width:800px) {
 .doctor-questions__hero { grid-template-columns:minmax(0,1fr); gap:28px; padding:10px 0 32px; }
 .doctor-profile { display:grid; grid-template-columns:38% minmax(0,1fr); }
 .doctor-profile__photo { height:100%; min-height:260px; }
 .doctor-profile__info { padding:24px; align-self:center; }
 #content .doctor-questions .question-search { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
}
@media (max-width:480px) {
 #content .doctor-questions h2 { font-size:26px; }
 #content .doctor-questions__lead { font-size:15px; margin:16px 0 24px; }
 .doctor-feature { gap:12px; }
 .doctor-feature__icon { width:42px; height:42px; flex-basis:42px; border-radius:13px; }
 #content .doctor-feature p { font-size:14px; }
 .doctor-profile { display:block; border-radius:18px; }
 .doctor-profile__photo { height:260px; min-height:0; }
 .doctor-profile__photo img { object-position:50% 23%; }
 .doctor-profile__info { padding:24px; }
 #content .doctor-profile h3 { font-size:25px; }
 .doctor-questions__section-heading { display:block; }
 #content .doctor-questions__section-heading p { margin-top:8px; }
 .doctor-answers-empty { gap:14px; padding:20px; }
 .doctor-answers-empty > svg { width:26px; height:26px; flex-basis:26px; }
 .doctor-dialog { width:calc(100% - 20px); max-height:calc(100dvh - 20px); border-radius:18px; }
 .doctor-dialog__body { padding:28px 20px; }
 #content .doctor-dialog h2 { font-size:24px; }
 .doctor-form fieldset { gap:16px; }
 .doctor-form__check { font-size:13px; }
 .doctor-form__consent { font-size:12px; }
}
