/* Additional app styles are kept separate so child-theme overrides remain easy. */
.kl-login-box{max-width:520px;margin:20px auto;background:#fff;border:1px solid var(--kl-line);border-radius:24px;padding:30px;box-shadow:var(--kl-shadow)}
.kl-login-box h2{margin-top:0;color:var(--kl-navy)}
.kl-search-row{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.kl-search-row .kl-field{flex:1;min-width:220px}
.kl-patient-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.kl-patient-summary>div{background:#f8fcfc;border:1px solid var(--kl-line);border-radius:14px;padding:12px}.kl-patient-summary small{display:block;color:var(--kl-muted)}.kl-patient-summary strong{color:var(--kl-navy)}
.kl-subnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.kl-subnav a{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--kl-line);font-size:13px;font-weight:700}.kl-subnav a.is-active{background:var(--kl-primary);color:#fff;border-color:var(--kl-primary)}
.kl-empty{padding:24px;border:1px dashed #bfd6d6;border-radius:16px;text-align:center;color:var(--kl-muted);background:#fbfefe}
.kl-print-only{display:none}
@media print{.kl-no-print,.kl-site-header,.kl-site-footer{display:none!important}.kl-print-only{display:block}.kl-prescription-sheet{box-shadow:none!important;margin:0!important}}
@media(max-width:720px){.kl-patient-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.3 — premium gallery, map, billing, blog and communication UI */
.kl-gallery-shell{display:grid;gap:22px}.kl-gallery-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.kl-gallery-filters button{appearance:none;border:1px solid var(--kl-line);background:#fff;color:var(--kl-navy);padding:10px 16px;border-radius:999px;font-weight:800;cursor:pointer;transition:.2s}.kl-gallery-filters button:hover,.kl-gallery-filters button.is-active{background:var(--kl-primary);border-color:var(--kl-primary);color:#fff;box-shadow:0 8px 24px rgba(5,143,139,.15)}.kl-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.kl-gallery-card{position:relative;overflow:hidden;border-radius:20px;background:#fff;border:1px solid var(--kl-line);box-shadow:0 12px 30px rgba(10,47,60,.08)}.kl-gallery-card[hidden]{display:none}.kl-gallery-card img,.kl-gallery-placeholder{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#edf7f7}.kl-gallery-placeholder{display:grid;place-items:center;font-size:28px;font-weight:900;color:var(--kl-primary)}.kl-gallery-caption{padding:14px 16px}.kl-gallery-caption strong,.kl-gallery-caption span{display:block}.kl-gallery-caption span{margin-top:4px;color:var(--kl-muted);font-size:12px}
.kl-contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:24px;align-items:stretch}.kl-contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.kl-contact-cards .kl-card{margin:0}.kl-map-card{overflow:hidden;border-radius:24px;border:1px solid var(--kl-line);background:#fff;box-shadow:var(--kl-shadow);min-height:520px}.kl-map-card iframe{border:0;width:100%;height:100%;min-height:520px;display:block}
.kl-whatsapp-float{position:fixed;left:20px;bottom:20px;z-index:90;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #b7e4d3;color:#0d684d;border-radius:999px;padding:10px 15px 10px 10px;box-shadow:0 10px 35px rgba(0,0,0,.16);font-size:13px}.kl-whatsapp-float span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#20b86a;color:#fff;font-size:18px}.kl-whatsapp-float:hover{transform:translateY(-2px)}
.kl-consent-box{margin-top:14px;padding:14px;border:1px solid var(--kl-line);border-radius:16px;background:#f8fcfc;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.kl-check-row{display:flex;gap:8px;align-items:flex-start;margin:8px 0;color:var(--kl-muted);font-size:13px}.kl-check-row input{margin-top:3px}
.kl-billing-layout{grid-template-columns:minmax(0,1.55fr) minmax(320px,.7fr)}.kl-bill-items{display:grid;gap:12px;margin:12px 0}.kl-bill-item{display:grid;grid-template-columns:minmax(160px,1.35fr) minmax(160px,1.35fr) 75px 95px 95px 78px 105px 32px;gap:8px;align-items:end;padding:12px;border:1px solid var(--kl-line);border-radius:16px;background:#fbfefe}.kl-bill-item .kl-field{margin:0}.kl-bill-item label{font-size:11px}.kl-line-total{padding:0 4px 10px}.kl-line-total small,.kl-line-total strong{display:block}.kl-line-total small{font-size:10px;color:var(--kl-muted);text-transform:uppercase}.kl-line-total strong{color:var(--kl-primary);margin-top:4px}.kl-remove-line{width:30px;height:36px;border:0;border-radius:10px;background:#fff0f0;color:#b33232;font-size:20px;cursor:pointer;margin-bottom:2px}.kl-bill-summary{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin:15px 0}.kl-bill-summary>div{min-width:145px;padding:10px 14px;border-radius:12px;background:#f0f8f8;border:1px solid var(--kl-line)}.kl-bill-summary span,.kl-bill-summary strong{display:block}.kl-bill-summary span{font-size:11px;color:var(--kl-muted)}.kl-grand-total{display:flex;justify-content:space-between;align-items:center;margin:15px 0;padding:16px 18px;border-radius:16px;background:var(--kl-navy);color:#fff}.kl-grand-total strong{font-size:24px}.kl-bill-history{padding:14px 0;border-bottom:1px solid var(--kl-line)}.kl-bill-history small{display:block;color:var(--kl-muted);margin-top:3px}
.kl-blog-hero p,.kl-article-hero p{max-width:760px;color:var(--kl-muted);font-size:17px}.kl-blog-featured{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:38px;align-items:center;padding:24px;border:1px solid var(--kl-line);border-radius:28px;background:linear-gradient(135deg,#fff,#f2fbfb);box-shadow:var(--kl-shadow)}.kl-blog-featured-media{min-height:340px;border-radius:20px;overflow:hidden;background:#eaf7f7}.kl-blog-featured-media img{width:100%;height:100%;min-height:340px;object-fit:cover}.kl-blog-fallback{width:100%;height:100%;min-height:220px;display:grid;place-items:center;background:linear-gradient(135deg,#087f7c,#0ba5a1);color:#fff;font-weight:900;font-size:28px}.kl-blog-featured h2{font-size:clamp(28px,4vw,48px);margin:10px 0 12px;line-height:1.08}.kl-blog-featured h2 a,.kl-blog-card h3 a{color:var(--kl-navy)}.kl-blog-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:45px 0 20px}.kl-blog-toolbar h2{margin:0}.kl-blog-categories{display:flex;gap:8px;flex-wrap:wrap}.kl-blog-categories a{padding:8px 12px;border:1px solid var(--kl-line);border-radius:999px;background:#fff;font-size:12px;font-weight:800}.kl-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.kl-blog-card{background:#fff;border:1px solid var(--kl-line);border-radius:20px;overflow:hidden;box-shadow:0 10px 28px rgba(10,47,60,.07)}.kl-blog-card-media{display:block;aspect-ratio:16/10;background:#edf7f7;overflow:hidden}.kl-blog-card-media img{width:100%;height:100%;object-fit:cover}.kl-blog-card-body{padding:18px}.kl-blog-card-body small{color:var(--kl-muted)}.kl-blog-card h3{margin:8px 0 10px}.kl-text-link{font-weight:800;color:var(--kl-primary)}.kl-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px;align-items:start}.kl-article-card{background:#fff;border:1px solid var(--kl-line);border-radius:24px;overflow:hidden;box-shadow:var(--kl-shadow)}.kl-article-image img{width:100%;max-height:520px;object-fit:cover}.kl-article-content{padding:clamp(22px,4vw,50px);font-size:17px;line-height:1.8}.kl-article-content h2,.kl-article-content h3{color:var(--kl-navy)}.kl-clinical-note{margin-top:32px;padding:16px;border-left:4px solid var(--kl-primary);background:#f1f9f9}.kl-clinical-note p{margin-bottom:0}.kl-article-side{position:sticky;top:120px}.kl-article-side-logo{width:100%;max-height:100px;object-fit:contain;margin-bottom:15px}.kl-article-side .kl-btn{margin-top:8px}
@media(max-width:1180px){.kl-gallery-grid,.kl-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kl-contact-layout{grid-template-columns:1fr}.kl-map-card,.kl-map-card iframe{min-height:440px}.kl-billing-layout{grid-template-columns:1fr}.kl-bill-item{grid-template-columns:repeat(4,minmax(110px,1fr))}.kl-service-select{grid-column:span 2}.kl-line-total{align-self:end}.kl-article-layout{grid-template-columns:1fr}.kl-article-side{position:static}}
@media(max-width:720px){.kl-gallery-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}.kl-gallery-filters button{white-space:nowrap}.kl-gallery-grid,.kl-blog-grid,.kl-contact-cards{grid-template-columns:1fr}.kl-map-card,.kl-map-card iframe{min-height:360px}.kl-whatsapp-float{left:12px;bottom:12px;padding:8px}.kl-whatsapp-float strong{display:none}.kl-blog-featured{grid-template-columns:1fr;padding:14px;gap:20px}.kl-blog-featured-media,.kl-blog-featured-media img{min-height:230px}.kl-blog-toolbar{align-items:flex-start;flex-direction:column;margin-top:30px}.kl-bill-item{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.kl-service-select,.kl-bill-item .kl-field:nth-child(2){grid-column:1/-1}.kl-line-total{padding:8px 0}.kl-remove-line{justify-self:end}.kl-bill-summary{display:grid;grid-template-columns:1fr 1fr}.kl-bill-summary>div{min-width:0}.kl-grand-total{position:sticky;bottom:8px;z-index:3}.kl-consent-box{align-items:flex-start;flex-direction:column}.kl-article-content{font-size:16px}.kl-control-content .kl-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}

/* v1.3.1 — authentic right-side WhatsApp support control */
.kl-whatsapp-float{left:auto!important;right:20px!important;bottom:20px!important;padding:10px 16px 10px 10px!important;gap:10px!important;color:#086f50!important;background:#fff!important;border:1px solid #b9e5d5!important;box-shadow:0 14px 38px rgba(0,0,0,.16)!important}
.kl-whatsapp-float .kl-wa-icon{width:36px;height:36px;flex:0 0 36px;display:block;color:#20b86a;background:transparent!important;border-radius:0!important}
.kl-whatsapp-float strong{font-size:13px;font-weight:850;white-space:nowrap}
.kl-whatsapp-float:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(0,0,0,.19)!important}
@media(max-width:720px){.kl-whatsapp-float{left:auto!important;right:12px!important;bottom:12px!important;padding:8px!important}.kl-whatsapp-float .kl-wa-icon{width:38px;height:38px;flex-basis:38px}.kl-whatsapp-float strong{display:none!important}}
/* Keep WhatsApp support clear of common hosting/help widgets at the extreme bottom-right. */
.kl-whatsapp-float{bottom:88px!important}
@media(max-width:720px){.kl-whatsapp-float{bottom:78px!important}}


/* =========================================================
   v1.4.3 — Mobile polish: WhatsApp, cards, forms and safe viewport spacing
   ========================================================= */
.kl-whatsapp-float{
  position:fixed!important;
  left:auto!important;
  right:max(18px,env(safe-area-inset-right))!important;
  bottom:max(22px,env(safe-area-inset-bottom))!important;
  z-index:1400!important;
  isolation:isolate;
}
@media(max-width:720px){
  .kl-whatsapp-float{
    width:50px!important;height:50px!important;
    min-width:50px!important;min-height:50px!important;
    right:max(14px,env(safe-area-inset-right))!important;
    bottom:max(16px,env(safe-area-inset-bottom))!important;
    padding:7px!important;
    border-radius:50%!important;
    justify-content:center!important;
    box-shadow:0 12px 30px rgba(7,88,67,.24)!important;
  }
  .kl-whatsapp-float .kl-wa-icon{width:34px!important;height:34px!important;flex:0 0 34px!important}
  .kl-whatsapp-float strong{display:none!important}
  .kl-contact-layout,.kl-contact-cards,.kl-gallery-grid,.kl-blog-grid{min-width:0}
  .kl-map-card,.kl-map-card iframe{min-height:330px}
  .kl-gallery-card,.kl-blog-card,.kl-card{min-width:0}
  .kl-bill-summary{grid-template-columns:1fr}
  .kl-grand-total{position:static}
}
