/* Doctor appointment block. Kept self-contained for promo/checkup partials. */
psdocslider{position:relative;padding:1.5rem 0}
psdocstage{display:grid}
psdocslide{grid-area:1/1;display:grid;grid-template-columns:20% 30% 50%;align-items:stretch;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
psdocslide.is-active{opacity:1;visibility:visible;pointer-events:auto}
psdocphoto{height:100%;min-height:18rem;box-sizing:border-box;border:.125rem dotted #2bb2a3;border-right:0;border-radius:1rem 0 0 1rem;background-color:#fff;background-position:top center;background-size:100% auto;background-repeat:no-repeat}
psdocinfo{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:18rem;box-sizing:border-box;padding:1.5rem 2rem;background:#2bb2a3;color:#fff}
psdoctext{display:grid;gap:.5rem;width:100%;min-width:0}
psdoctext h2{font-size:1.5rem;line-height:1.1}
psdoctext p{color:inherit;font-size:1rem;line-height:1.25}
psdoctext p span{font-weight:600}
psdoctext .specline{display:flex;align-items:center;gap:.75rem;box-sizing:border-box;width:100%;max-width:100%;margin:0;padding:.55rem .75rem;border-radius:.5rem;background:#fff;color:#2bb2a3;font-size:.9rem;line-height:1.2}
psdoctext .specline spmain{min-width:0;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
psdoctext .specline spdrop{margin-left:auto}
psdoctext .specline spdropbtn{display:block;border:1px solid rgb(43 178 163 / .35);border-radius:.35rem;padding:.2rem .45rem;color:#2bb2a3;font-size:.8rem;line-height:1.1;font-weight:600}
psdoctext .specline spdroppanel{display:none}
psdoctext .docpriemline{display:flex;align-items:center;justify-content:space-between;gap:.75rem;box-sizing:border-box;width:100%;max-width:100%;margin:0;padding:.55rem .75rem;border:1px solid rgb(255 255 255 / .45);border-radius:.5rem;background:rgb(255 255 255 / .12);color:#fff}
psdoctext .docpriemline priemlabel{font-size:.9rem;line-height:1.2;font-weight:400}
psdoctext .docpriemline priemval{font-size:.9rem;font-weight:800;line-height:1.2;white-space:nowrap}
psdocform{height:100%;min-height:18rem;box-sizing:border-box;padding:1.5rem 2rem 1.5rem 3rem;border:.125rem dotted #2bb2a3;border-left:.125rem dotted #2bb2a3;border-radius:0 1rem 1rem 0;background:#fff;display:flex;align-items:center}
psdocform h2{color:#2bb2a3;font-size:1.5rem;line-height:1.1;font-weight:600;text-align:left}
psdocform form{display:flex;flex-direction:column;justify-content:space-between;gap:1rem;width:100%}
psdocform fieldset{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:0;padding:0;border:0}
psdocform input{box-sizing:border-box;width:100%;min-height:2.5rem;border:1px solid rgb(43 178 163 / .55);border-radius:.4rem;padding:0 .75rem;color:#233742;font:inherit;text-align:left}
psdocform .psdocappo{display:grid;width:100%;gap:1rem;align-content:center}
psdocform .psdocappo[hidden],psdocform .psdocappo appobody [hidden],psdocform .psdocappo appobody[hidden],psdocform .psdocappo selects[hidden],psdocform .psdocappo appoempty[hidden],psdocform .psdocappo appoloading[hidden],psdocform .psdocappo appoform[hidden],psdocform .psdocappo appocontrols[hidden],psdocform .psdocappo appocaptcha[hidden],psdocform .psdocappo appostatus[hidden]{display:none!important}
psdocform .psdocappo appobody{display:grid;row-gap:1rem}
psdocform .psdocappo appoline{display:none}
psdocform .psdocappo selects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
psdocform .psdocappo selects select{box-sizing:border-box;width:100%;min-height:2.25rem;border:1px solid rgb(43 178 163 / .55);border-radius:.4rem;padding:0 2rem 0 .75rem;color:#233742;background:#fff;font:inherit;text-align:left;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.25 6.25 8 10l3.75-3.75' fill='none' stroke='%23405661' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:.95rem .95rem;background-position:right .65rem center}
psdocform .psdocappo selects select[data-single-option="1"],psdocform .psdocappo selects select:disabled[data-single-option="1"]{padding-right:.75rem;background-image:none;cursor:default}
psdocform .psdocappo appoempty,psdocform .psdocappo appoloading{margin:0;color:#66737b;font-size:.875rem;line-height:1.35}
psdocform .psdocappo appoform{display:grid;row-gap:1rem;align-content:center}
psdocform .psdocappo appoform>form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:.5rem;row-gap:1rem}
psdocform .psdocappo appocontrols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:.5rem;row-gap:1rem;align-items:stretch}
psdocform .psdocappo appocaptcha{min-width:0;display:grid;grid-column:1/span 2;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.5rem}
psdocform .psdocappo appocaptcha img[data-validator]{width:100%;max-width:100%;height:2.5rem;object-fit:cover;justify-self:start;border:1px solid rgb(43 178 163 / .35);border-radius:.4rem;background:#fff}
psdocform .psdocappo appocaptcha input{box-sizing:border-box;width:100%;min-height:2.5rem;border:1px solid rgb(43 178 163 / .55);border-radius:.4rem;padding:0 .75rem;text-align:left}
psdocform .psdocappo appocaptcha span{grid-column:1/-1;color:#66737b;font-size:.875rem;line-height:1.3}
psdocform .psdocappo button[data-infoclinica-send],psdocform .psdocappo form[data-infoclinica-code-form] button{min-height:2.5rem;border:0;border-radius:.4rem;padding:0 1rem;background:#e66775;color:#fff;font:inherit;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.01em;cursor:pointer}
psdocform .psdocappo button[data-infoclinica-send]{grid-column:3;width:100%}
psdocform .psdocappo appocaptcha button.captcha-reset{display:none!important}
psdocform .psdocappo button[data-infoclinica-send]:disabled{opacity:.5;cursor:default}
psdocform .psdocappo form[data-infoclinica-code-form]{display:grid;grid-template-columns:1fr auto;gap:.5rem}
psdocform .psdocappo form[data-infoclinica-code-form][hidden]{display:none!important}
psdocform .psdocappo appostatus{color:#66737b;font-size:.8125rem;line-height:1.35}
psdocform .psdocappo appostatus:empty{display:none}
psdocform .psdocappo appostatus.error{color:#c94a5a}
psdocform .psdocappo appostatus.success{color:#1b8b67}
psprivacy{position:relative;justify-self:start;max-width:28rem;margin:0;color:#66737b;font-size:.625rem;line-height:1.35;text-align:left;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.125rem;text-transform:none;cursor:help}
psprivacy span{position:absolute;left:50%;bottom:calc(100% + .5rem);width:min(24rem,80vw);box-sizing:border-box;padding:.75rem 1rem;border:1px solid #dce7e8;border-radius:1rem;background:#fff;color:#66737b;font-size:.8125rem;line-height:1.45;box-shadow:0 0 3rem rgb(0 0 0 / .1);opacity:0;visibility:hidden;transform:translateX(-50%) translateY(.25rem);transition:opacity .15s ease,transform .15s ease,visibility .15s ease;pointer-events:none}
psprivacy:hover span,psprivacy:focus span{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
psdocnav{position:absolute;top:0;bottom:0;left:50%;display:flex;flex-direction:column;align-items:center;width:4.5rem;transform:translateX(-50%);pointer-events:none}
psdocnav i{flex:1;width:.125rem;background:repeating-linear-gradient(to bottom,#2bb2a3 0 .125rem,transparent .125rem .25rem)}
psdocnav button{display:flex;align-items:center;justify-content:center;width:3.75rem;height:3.75rem;min-width:3.75rem;min-height:3.75rem;max-width:3.75rem;max-height:3.75rem;box-sizing:border-box;aspect-ratio:1/1;flex:0 0 3.75rem;padding:0;line-height:0;border:.125rem solid #2bb2a3;border-radius:50%;background:#fff;color:#2bb2a3;cursor:pointer;pointer-events:auto;appearance:none;-webkit-appearance:none}
psdocnav svg{display:block;width:1.75rem;height:1.75rem}
psdocnav path{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
docappo icpick,psdocform .psdocappo icpick{position:relative;z-index:3;display:block;width:100%}
docappo icpick>select,psdocform .psdocappo icpick>select{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
docappo icpick.is-open,psdocform .psdocappo icpick.is-open{z-index:20}
docappo icpick-btn,psdocform .psdocappo icpick-btn{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:2.5rem;padding:0 .75rem;border:1px solid rgb(43 178 163 / .7);border-radius:.4rem;background:#fff;color:#233742;font:inherit;font-size:.875rem;text-align:left;cursor:pointer}
docappo icpick-btn .icpick-arrow,psdocform .psdocappo icpick-btn .icpick-arrow{flex:0 0 .55rem;width:.55rem;height:.55rem;border-right:1.6px solid #66737b;border-bottom:1.6px solid #66737b;transform:rotate(45deg) translateY(-.12rem);box-sizing:border-box}
docappo icpick.is-open icpick-btn .icpick-arrow,psdocform .psdocappo icpick.is-open icpick-btn .icpick-arrow{transform:rotate(225deg) translate(-.08rem,-.04rem)}
docappo icpick-btn.is-placeholder,psdocform .psdocappo icpick-btn.is-placeholder{color:#7b8a91}
docappo icpick-btn.is-disabled,psdocform .psdocappo icpick-btn.is-disabled{opacity:.72;cursor:default}
docappo icpick-list,psdocform .psdocappo icpick-list{position:absolute;z-index:30;display:block;top:calc(100% + .25rem);left:0;right:0;max-height:14rem;overflow-y:auto;margin:0;padding:.25rem 0;border:1px solid rgb(43 178 163 / .35);border-radius:.4rem;background:#fff;box-shadow:0 .5rem 1.25rem rgb(35 55 66 / .14)}
docappo icpick:not(.is-open) icpick-list,psdocform .psdocappo icpick:not(.is-open) icpick-list{display:none}
docappo icpick-item,psdocform .psdocappo icpick-item{display:block;padding:.5rem .75rem;min-height:2rem;color:#233742;font-size:.875rem;line-height:1.3;cursor:pointer}
docappo icpick-item:hover,psdocform .psdocappo icpick-item:hover,docappo icpick-item.is-active,psdocform .psdocappo icpick-item.is-active{background:rgb(43 178 163 / .12);color:#1a8f82}
direct.promo>psdocslider,direct.promo article psdocslider{width:1180px;max-width:100%;margin-left:auto;margin-right:auto;box-sizing:border-box}
direct.promo>psdocslider{margin-top:-1.5rem;margin-bottom:-1.5rem}
direct.promo article psdocslider{margin-top:2rem;margin-bottom:2rem;display:block}
@media (max-width:980px){
  psdocslider{display:grid;gap:.875rem;padding:0}
  psdocslide{grid-template-columns:1fr;grid-template-rows:424px auto auto;min-height:0;border-radius:1rem;overflow:hidden}
  psdocphoto{min-height:0;height:100%;border-right:.125rem dotted #2bb2a3;border-bottom:0;border-radius:1rem 1rem 0 0;background-color:#fff;background-repeat:no-repeat;background-size:unset;background-position:top center}
  psdocinfo{justify-content:flex-start;justify-items:center;padding:1rem 1.25rem .875rem;text-align:center;min-height:0;height:auto;margin-top:0;overflow:visible}
  psdoctext{justify-items:center;align-content:start;height:auto;gap:.5rem}
  psdoctext h2{max-width:20rem;font-size:1.5rem}
  psdoctext .specline,psdoctext .docpriemline{max-width:20rem;justify-content:center;text-align:center}
  psdoctext .docpriemline{flex-wrap:wrap}
  psdoctext .docpriemline priemval{width:100%}
  psdocform{padding:1.25rem;border:.125rem dotted #2bb2a3;border-top:0;border-radius:0 0 1rem 1rem}
  psdocform h2{font-size:1.5rem;line-height:1.1;white-space:normal;text-align:left}
  psdocform fieldset{grid-template-columns:1fr}
  psdocform .psdocappo appobody{row-gap:.75rem}
  psdocform .psdocappo selects,psdocform .psdocappo appoform>form,psdocform .psdocappo form[data-infoclinica-code-form]{grid-template-columns:1fr}
  psdocform .psdocappo appocontrols{grid-template-columns:repeat(2,minmax(0,1fr))}
  psdocform .psdocappo appocaptcha{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}
  psdocform .psdocappo appocaptcha input,psdocform .psdocappo appocaptcha img[data-validator]{grid-column:auto}
  psdocform .psdocappo button[data-infoclinica-send]{grid-column:1/-1;width:100%}
  psdocform .psdocappo psprivacy{justify-self:center;text-align:center}
  psdocnav{position:absolute;left:0;right:0;top:calc(424px - 1.625rem);bottom:auto;transform:none;pointer-events:none;margin:0;width:100%;height:3.25rem}
  psdocnav i{display:none}
  psdocnav button{width:3.25rem;height:3.25rem;min-width:3.25rem;min-height:3.25rem;max-width:3.25rem;max-height:3.25rem;box-sizing:border-box;aspect-ratio:1/1;flex:0 0 3.25rem;position:absolute;top:0;pointer-events:auto;border-width:.125rem;background:#fff;border-radius:50%;padding:0;line-height:0}
  psdocnav button[data-ps-docprev]{left:0;justify-content:center}
  psdocnav button[data-ps-docnext]{right:0;justify-content:center}
}
