/* ============================================================================
   PSL Dental — стилі сторінок ПОСЛУГ (CPT services).  Скоуп: .psl-svc
   Тіло послуги обгортати у <div class="psl-svc"> … </div>.
   НЕ плутати з blog.css (.psl-article) — це окремий незалежний кіт.
   Підключення: enqueue psl-service.css коли is_singular('services') АБО
   контент містить 'psl-svc' (див. integrations/psl-service-css-setup.md).
   Палітра сервісних сторінок теми psl. Без червоного (застереження в беж-брунат).
   ============================================================================ */

.psl-svc{
  --pd:#604738;   /* акцент: бордер, цифри, номери, лінки-в-тексті */
  --h:#2c1810;    /* заголовки / назви карток */
  --tx:#4a3728;   /* основний текст */
  --mut:#6b5a50;  /* опис карток */
  --eye:#7a6a5c;  /* eyebrow / підписи (AA-контраст 5.2:1) */
  --bd:#E0D0C8;   /* нейтральний бордер */
  --cal:#FDF6F0;  /* callout / тег-фон */
  --badge:#F5EDE6;/* акцент-бейдж */
  --gold:#C8A96E; /* кінець градієнта таймлайну */
  box-sizing:border-box;
}
.psl-svc *{box-sizing:border-box}

/* ---- типографіка ---- */
.psl-svc h2{font-size:24px;font-weight:bold;color:var(--h);margin:28px 0 14px;line-height:1.25}
.psl-svc h3{margin:0;font-weight:bold;line-height:1.3}  /* картки-титули як h3: скидаємо тема-стилі, розмір задають .pd-*__title */
.psl-svc p{font-size:16px;color:var(--tx);line-height:1.7;margin:0 0 20px}
.psl-svc a{color:var(--pd);text-decoration:underline;white-space:normal;overflow-wrap:break-word;word-break:break-word}
.psl-svc img{max-width:100%;height:auto}

/* контентні зображення — на всю ширину контенту, клікабельні (лупа) */
.psl-svc .pd-img{display:block;margin:18px auto;width:100%;max-width:100%;height:auto;border-radius:12px;cursor:zoom-in}
.psl-svc .pd-img--w560,.psl-svc .pd-img--w640,.psl-svc .pd-img--w720{max-width:100%}
.psl-svc a:has(>.pd-img){display:block}

/* ---- сітка (flex-wrap; на мобільному — рівний стовпець) ---- */
.psl-svc .pd-grid{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 20px}
.psl-svc .pd-grid--g16{gap:16px}

/* ---- trust-stats (плитки цифр) ---- */
.psl-svc .pd-stat{flex:1 1 180px;background:#fff;border:1.5px solid var(--bd);border-radius:12px;padding:20px 24px;text-align:center}
.psl-svc .pd-stat--accent{border-color:var(--pd)}
.psl-svc .pd-stat__num{font-size:32px;font-weight:800;color:var(--pd);line-height:1}
.psl-svc .pd-stat__unit{font-size:12px;color:var(--pd);font-weight:600;margin-top:4px}
.psl-svc .pd-stat__label{font-size:13px;color:var(--eye);margin-top:6px;line-height:1.4}

/* ---- картка на всю ширину (види вінірів) ---- */
.psl-svc .pd-card{background:#fff;border:1.5px solid var(--bd);border-radius:12px;padding:22px 24px;margin:30px 0 14px}
.psl-svc .pd-card + .pd-card{margin-top:14px}  /* картки поспіль — щільно (30px лише перед першою) */
.psl-svc .pd-card--accent{border-color:var(--pd)}
.psl-svc .pd-card>p{font-size:14px;color:var(--mut);line-height:1.7;margin:0 0 10px}
.psl-svc .pd-card__head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.psl-svc .pd-card__title{font-size:16px;font-weight:bold;color:var(--h)}

/* ---- картка-комірка сітки 2-в-ряд ---- */
.psl-svc .pd-cell{flex:1 1 calc(50% - 7px);min-width:260px;background:#fff;border:1.5px solid var(--bd);border-radius:12px;padding:20px 22px}
.psl-svc .pd-cell--accent{border-color:var(--pd)}
.psl-svc .pd-cell__title{font-size:15px;font-weight:bold;color:var(--h);margin-bottom:6px}
.psl-svc .pd-cell>p{font-size:14px;color:var(--mut);line-height:1.7;margin:0}

/* ---- бейдж ціни / eyebrow / теги-пігулки ---- */
.psl-svc .pd-badge{font-size:12px;color:var(--pd);background:var(--badge);border-radius:6px;padding:3px 10px;font-weight:bold;white-space:nowrap}
.psl-svc .pd-eyebrow{font-size:13px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--eye);margin-bottom:8px}
.psl-svc .pd-pills{display:flex;flex-wrap:wrap;gap:8px}
.psl-svc .pd-pill{font-size:12px;color:var(--mut);background:var(--cal);border-radius:5px;padding:3px 9px}

/* ---- список-пункти з лівим бордером ---- */
.psl-svc .pd-li{font-size:14px;color:var(--tx);padding-left:12px;border-left:2px solid var(--pd);line-height:1.5;margin-bottom:5px}
.psl-svc .pd-li--mut{color:var(--mut);border-left-color:var(--bd)}
.psl-svc .pd-li:last-child{margin-bottom:0}

/* ---- callout (без червоного) ---- */
.psl-svc .pd-callout{background:var(--cal);border-left:3px solid var(--pd);border-radius:0 8px 8px 0;padding:14px 18px;margin:14px 0}
.psl-svc .pd-callout>p{font-size:14px;color:var(--tx);line-height:1.7;margin:0}
.psl-svc .pd-callout strong{color:var(--h)}

/* ---- таймлайн етапів (кружечки + лінія) ---- */
.psl-svc .pd-steps{margin:22px 0}
.psl-svc .pd-step{display:flex;gap:18px;align-items:stretch}
.psl-svc .pd-step__rail{display:flex;flex-direction:column;align-items:center;flex-shrink:0}
.psl-svc .pd-step__num{width:40px;height:40px;border-radius:50%;background:var(--pd);color:#fff;font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center}
.psl-svc .pd-step__line{width:2px;flex:1;background:linear-gradient(var(--pd),var(--gold));margin:6px 0}
.psl-svc .pd-step__body{padding-bottom:22px}
.psl-svc .pd-step:last-child .pd-step__body{padding-bottom:0}
.psl-svc .pd-step__title{font-size:15px;font-weight:bold;color:var(--h);margin-bottom:4px}
.psl-svc .pd-step p{font-size:14px;color:var(--mut);line-height:1.7;margin:0}

/* ---- порівняльна таблиця (зі скролом на мобільному) ---- */
.psl-svc .pd-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:30px 0 16px}
.psl-svc .pd-table{width:100%;min-width:620px;border-collapse:collapse;font-size:14px;color:var(--tx);background:#fff;border:1.5px solid var(--bd);border-radius:12px;overflow:hidden}
.psl-svc .pd-table th{text-align:left;padding:12px 14px;border-bottom:1.5px solid var(--pd);color:var(--h);font-size:13px;background:var(--badge)}
.psl-svc .pd-table td{padding:11px 14px;border-bottom:1px solid var(--bd);color:var(--mut)}
.psl-svc .pd-table td:first-child{color:var(--h);font-weight:bold}
.psl-svc .pd-table tbody tr:last-child td{border-bottom:none}

/* ---- цитата лікаря ---- */
.psl-svc .pd-quote{background:#fff;border:1.5px solid var(--pd);border-radius:12px;padding:22px 24px;margin-bottom:20px}
.psl-svc .pd-quote__row{display:flex;gap:14px;align-items:flex-start}
.psl-svc .pd-quote img{border-radius:8px;object-fit:cover;width:64px;height:64px;flex-shrink:0}
.psl-svc .pd-quote__text{font-size:15px;color:var(--tx);line-height:1.7;margin:0 0 8px;font-style:italic}
.psl-svc .pd-quote__who{font-size:13px;color:var(--eye)}

/* ---- CTA-кнопка (тригер попапа лишається класом popmake-1351) ---- */
.psl-svc .pd-cta-wrap{text-align:center;margin:0 0 10px}
.psl-svc .pd-cta{display:inline-block;background:var(--pd);color:#fff;font-size:15px;font-weight:bold;border-radius:8px;padding:14px 28px;text-decoration:none;white-space:normal;max-width:100%;letter-spacing:.02em;line-height:1.3}
.psl-svc .pd-cta:hover{background:#4d3829}
.psl-svc .pd-cta-note{text-align:center;font-size:13px;color:var(--eye);margin:0 0 20px}

/* ---- блок автор + медична перевірка ---- */
.psl-svc .pd-author{background:#fff;border:1.5px solid var(--bd);border-radius:12px;padding:22px 24px;max-width:100%;overflow-wrap:break-word;margin-top:40px}
.psl-svc .pd-author__list{display:flex;flex-direction:column;gap:18px}
.psl-svc .pd-author__row{display:flex;gap:14px;align-items:flex-start}
.psl-svc .pd-author img{border-radius:8px;object-fit:cover;width:64px;height:64px;flex-shrink:0}
.psl-svc .pd-author__txt{min-width:0;overflow-wrap:break-word;word-break:break-word}
.psl-svc .pd-author__role{font-size:12px;color:var(--eye);font-weight:600}
.psl-svc .pd-author__name{font-size:15px;font-weight:bold;color:var(--h)}
.psl-svc .pd-author__name a{color:var(--h);text-decoration:none}
.psl-svc .pd-author__cred{font-size:13px;color:var(--mut);line-height:1.5}
.psl-svc .pd-author__upd{font-size:12px;color:var(--eye);margin-top:12px}

/* ---- джерела ---- */
.psl-svc .pd-sources{margin-top:28px}
.psl-svc .pd-sources__intro{font-size:14px;color:var(--mut);line-height:1.7;margin:0 0 12px}
.psl-svc .pd-sources__list{font-size:12px;color:var(--eye);line-height:1.8}
.psl-svc .pd-sources__list a{color:var(--pd)}

/* ---- медичний дисклеймер ---- */
.psl-svc .pd-disclaimer{background:var(--cal);padding:22px 20px;border-radius:12px;margin:24px 0 0;border:1.5px solid var(--bd)}
.psl-svc .pd-disclaimer__row{display:flex;align-items:flex-start;gap:14px}
.psl-svc .pd-disclaimer__icon{flex-shrink:0;color:var(--pd);font-weight:800;font-size:14px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:2px solid var(--pd);border-radius:50%}
.psl-svc .pd-disclaimer__title{margin:0 0 8px;color:var(--h);font-weight:bold;font-size:14px;text-transform:uppercase;letter-spacing:.6px}
.psl-svc .pd-disclaimer__text{margin:0;font-size:13px;color:var(--mut);line-height:1.7}

/* ---- кейс-фото до/після ---- */
.psl-svc .pd-figcol{flex:1 1 280px;min-width:240px}
.psl-svc .pd-figcap{font-size:13px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--eye);margin-bottom:8px;text-align:center}
.psl-svc .pd-figcap--accent{color:var(--pd)}
.psl-svc .pd-figcol img{display:block;width:100%;height:auto;border-radius:12px;border:1.5px solid var(--bd);cursor:zoom-in}
.psl-svc .pd-figcol a{display:block}
.psl-svc .pd-figcol--accent img{border-color:var(--pd)}
.psl-svc .pd-fignote{font-size:13px;color:var(--eye);text-align:center;margin:0 0 6px}

/* ---- мобільний адаптив: усі сітки в рівний стовпець ---- */
@media (max-width:600px){
  .psl-svc .pd-grid{flex-direction:column}
  .psl-svc .pd-grid>*{flex:1 1 auto !important;min-width:0 !important;max-width:100% !important}
}