/*
Theme Name: Smilelab
Theme URI: https://smilelab.co.za/
Author: Smilelab Dental Centre
Description: Minimal custom theme for Smilelab Dental Centre (Pretoria West and Centurion). Home, branch and service page templates built from the Smilelab redesign, with local SEO titles, meta descriptions and schema.org Dentist data.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: smilelab
*/

:root{--ink:#1A2733;--ink-soft:#52616F;--paper:#F2F5F7;--paper-dim:#E3E9ED;--teal:#3D5A70;--teal-deep:#131E28;--coral:#2E93D9;--coral-deep:#1C72B0;--accent-light:#8FD3FF;--line:#D3DBE1;--card:#FFFFFF;}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);font-family:'Manrope',system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block;}
h1,h2,h3,h4{font-family:'Manrope',system-ui,sans-serif;font-weight:800;margin:0;color:var(--ink);letter-spacing:-0.01em;}
a{color:inherit;text-decoration:none;}
a.link-under{text-decoration:underline;text-underline-offset:3px;}
a.link-under:hover{color:var(--coral-deep);}
:focus-visible{outline:3px solid var(--accent-light);outline-offset:2px;}

.site{width:100%;min-height:100vh;display:flex;flex-direction:column;background:var(--paper);}
.site-header{width:100%;background:var(--teal-deep);position:sticky;top:0;z-index:50;}
.admin-bar .site-header{top:32px;}
@media (max-width:782px){.admin-bar .site-header{top:46px;}}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:28px;}
.site-nav a{color:#C9D6DE;font-size:15px;font-weight:500;}
.site-nav a:hover,.site-nav .current-menu-item>a{color:#fff;}
.skip-link{position:absolute;left:-9999px;top:0;background:#fff;color:var(--ink);padding:10px 16px;z-index:100;}
.skip-link:focus{left:12px;top:12px;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 24px;border-radius:999px;font-weight:700;font-size:15px;border:1px solid transparent;cursor:pointer;font-family:'Manrope',system-ui,sans-serif;}
.btn-coral{background:var(--coral-deep);color:#fff;}
.btn-coral:hover{background:#155A8C;}
.btn-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.6);}
.btn-outline:hover{border-color:#fff;background:rgba(255,255,255,0.08);}
.btn-outline-dark{background:transparent;color:var(--teal-deep);border:1px solid var(--teal-deep);}
.btn-outline-dark:hover{background:var(--teal-deep);color:#fff;}
.eyebrow{font-size:13px;letter-spacing:0.14em;text-transform:uppercase;font-weight:700;color:var(--coral-deep);}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;}
.photo{width:100%;object-fit:cover;border-radius:20px;}
.photo-ph,.photo-ph-dark{flex-direction:column;}
.photo-ph{border:1.5px dashed #8C9DA9;border-radius:20px;background:repeating-linear-gradient(135deg,#E3E9ED 0 14px,#EBF0F3 14px 28px);display:flex;align-items:center;justify-content:center;text-align:center;color:#3E4C58;font-size:14px;font-weight:600;line-height:1.5;padding:24px;}
.photo-ph-dark{border:1.5px dashed rgba(143,211,255,0.55);border-radius:24px;background:rgba(255,255,255,0.05);display:flex;align-items:center;justify-content:center;text-align:center;color:#D5E0E6;font-size:14px;font-weight:600;line-height:1.5;padding:24px;}
body:not(.logged-in) .getting-here:has(p.sl-todo-block):not(:has(img)){display:none !important;}
.photo-slot:not(:has(img,.photo-ph,.photo-ph-dark)){display:none !important;}
.photo-ph small,.photo-ph-dark small{display:block;font-weight:500;opacity:0.8;margin-top:6px;}
details summary{cursor:pointer;list-style:none;}
details summary::-webkit-details-marker{display:none;}
details summary::after{content:"+";float:right;font-weight:800;color:var(--coral-deep);}
details[open] summary::after{content:"–";}

/* Placeholders still to be filled in: visible (highlighted) only to logged-in editors */
.sl-todo,.sl-todo-block{display:none !important;}
.logged-in .sl-todo{display:inline !important;background:#FFF1A8;color:#4A3B00;border-radius:4px;padding:0 4px;}
.logged-in .sl-todo-block{display:block !important;outline:2px dashed #E0B400;outline-offset:2px;}

/* Generic pages (privacy policy etc.) */
.entry{max-width:820px;margin:0 auto;padding:72px 24px 96px;line-height:1.75;font-size:16.5px;color:var(--ink-soft);}
.entry h1{font-size:40px;margin-bottom:24px;color:var(--ink);}
.entry h2{font-size:26px;margin:36px 0 12px;}
.entry a{color:var(--coral-deep);text-decoration:underline;}

.show-mobile{display:none !important;}
@media (max-width:900px){
  .hide-mobile{display:none !important;}
  .show-mobile{display:inline-flex !important;}
  .stack-mobile{flex-direction:column !important;align-items:stretch !important;}
  .grid-2,.grid-3,.grid-4,.grid-footer{grid-template-columns:minmax(0,1fr) !important;}
  .hero-pad{padding:56px 20px !important;}
  .section-pad{padding-left:20px !important;padding-right:20px !important;}
  .header-in{padding:14px 20px !important;}
  .h1-big{font-size:36px !important;}
}
