/*
Theme Name: Woo Wang Dental Migration
Description: A local migration theme using current rendered page content and original static design assets. External embeds and submissions are disabled for preview.
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.2
Text Domain: woo-wang-dental
*/
.wwd-skip-link{position:fixed;top:-100px;left:16px;z-index:100000;padding:10px 16px;background:#fff;color:#116c78;border:2px solid currentColor}
.wwd-skip-link:focus{top:12px}
.wwd-embed-preview{display:flex;align-items:center;justify-content:center;min-height:220px;height:100%;padding:30px;text-align:center;background:#edf4f3;color:#52676a;font:500 14px/1.6 Montserrat,sans-serif;border:1px solid #dbe7e6}
.embed-responsive>.wwd-embed-preview{position:absolute;inset:0}
.wwd-form-preview-note{padding:10px 12px!important;border:1px solid #ccdada;background:#f1f7f7;font-size:12px!important;line-height:1.5!important;color:#39575a!important;margin-bottom:15px!important}
form[data-wwd-preview-form] button[disabled]{opacity:.65;cursor:not-allowed}
.wwd-preview-modal-open{overflow:hidden}
.modal.wwd-open{display:block!important;opacity:1!important;overflow-y:auto;background:rgba(18,37,40,.55)}
.modal.wwd-open .modal-dialog{transform:none!important}
.wwd-lightbox{border:0;padding:0;background:transparent;max-width:90vw;max-height:94vh}
.wwd-lightbox::backdrop{background:rgba(0,0,0,.85)}
.wwd-lightbox img{max-width:90vw;max-height:85vh;object-fit:contain;background:#fff}
.wwd-lightbox button{display:block;margin-left:auto;background:white;color:#222;border:0;padding:5px 14px;font-size:24px;cursor:pointer}
.wwd-blog{padding-top:65px;padding-bottom:85px;color:var(--wwd-text)}
.wwd-blog-heading{margin-bottom:45px;text-align:center}
.wwd-blog h1{font-size:38px;line-height:1.3;color:var(--wwd-link);margin-bottom:22px}
.wwd-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.wwd-post-card{overflow:hidden;border:1px solid #e4ebed;background:#fff;box-shadow:0 4px 18px #243d4e08}
.wwd-post-card img{width:100%;height:210px;object-fit:cover}
.wwd-post-card-content{padding:24px}
.wwd-post-card h2{font-size:21px;line-height:1.4;margin-bottom:15px}
.wwd-post-card h2 a{color:var(--wwd-link)}
.wwd-post-card p{font-size:14px;line-height:1.8}
.wwd-read-post,.wwd-back-link{color:var(--wwd-link);font-weight:600;font-size:13px}
.wwd-article{max-width:920px}
.wwd-article header{margin-top:32px}
.wwd-article-content{font-size:17px;line-height:1.95}
.wwd-article-content h2{font-size:27px;color:var(--wwd-link);margin-top:32px}
.wwd-article-content h3{font-size:22px;color:var(--wwd-link);margin-top:26px}
.wwd-article-content img,.wwd-article-featured{max-width:100%;height:auto}
.wwd-article-featured{display:block;margin:30px auto}
.wwd-article-content p{margin-bottom:1.4em}
.wwd-article-content a{text-decoration:underline;color:var(--wwd-link)}
.wwd-blog .navigation{margin-top:45px}
.wwd-blog .nav-links{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
.wwd-blog .page-numbers{padding:9px 14px;border:1px solid #d3e5e6;color:var(--wwd-link)}
.wwd-blog .page-numbers.current{background:var(--wwd-link);color:#fff}
.wwd-post-categories{padding-top:25px;border-top:1px solid #ddd;margin-top:35px;font-size:13px}
@media(max-width:991px){.wwd-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wwd-blog h1{font-size:32px}}
@media(max-width:767px){.wwd-blog{padding-top:35px;padding-bottom:55px}.wwd-blog-grid{grid-template-columns:1fr}.wwd-blog h1{font-size:27px}.wwd-article-content{font-size:16px}.wwd-blog .nav-links{display:block}.wwd-blog .nav-next{margin-top:20px}.wwd-embed-preview{min-height:180px}}

/* Accessible text and actions retain the source site's turquoise decoration. */
body.wwd-wordpress{
  --wwd-text:#52627c;
  --wwd-ink:#102f3d;
  --wwd-link:#116879;
  --wwd-link-hover:#0b4e59;
  --wwd-action:#c33f0c;
  --wwd-action-hover:#a93109;
  color:var(--wwd-text);
}
.wwd-wordpress .wwd-blog a{color:var(--wwd-link)}
.wwd-wordpress .wwd-blog a:hover{color:var(--wwd-link-hover);text-decoration:underline}
.wwd-wordpress .wwd-blog a.page-numbers:hover{color:#fff;background:var(--wwd-link-hover);text-decoration:none}
.wwd-wordpress .wwd-blog .page-numbers.current{color:#fff}
/* The native contact page must remain readable outside private form testing. */
.wwd-wordpress .wwd-contact-page h1,
.wwd-wordpress .wwd-contact-page h2,
.wwd-wordpress .wwd-contact-page h3,
.wwd-wordpress .wwd-contact-page a:not(.btn){color:var(--wwd-link)}
.wwd-wordpress .wwd-contact-page a:not(.btn){text-decoration:underline}
.wwd-wordpress .wwd-contact-page a:not(.btn):hover,
.wwd-wordpress .wwd-contact-page a:not(.btn):focus-visible{color:var(--wwd-link-hover)}
.wwd-wordpress .service_container,
.wwd-wordpress .review-slider,
.wwd-wordpress .hero__footer,
.wwd-wordpress .request_appointment__call{color:var(--wwd-text)}
.wwd-wordpress .hero__title,
.wwd-wordpress .location__title,
.wwd-wordpress .specials__title,
.wwd-wordpress .wedo__title,
.wwd-wordpress .our_team__title,
.wwd-wordpress .services_page__title,
.wwd-wordpress .service_page__title,
.wwd-wordpress .centered-heading,
.wwd-wordpress .review-slider__title,
.wwd-wordpress .request_appointment__heading,
.wwd-wordpress .contact-modal__title,
.wwd-wordpress .contact-modal__with,
.wwd-wordpress .call-modal__heading,
.wwd-wordpress .call-modal__location,
.wwd-wordpress .spec-box__price{color:var(--wwd-link)}
.wwd-wordpress .hero__colored{color:var(--wwd-action)}
.wwd-wordpress .meet-single__wrapper,
.wwd-wordpress .meet-single__title,
.wwd-wordpress .office-tour-section__title,
.wwd-wordpress .saying__title,
.wwd-wordpress .spec-box__title{color:var(--wwd-ink);text-shadow:none}

/* Navigation text remains readable on white and on the mobile blue gradient. */
.wwd-wordpress .header .navbar button.nav-link,
.wwd-wordpress .header .navbar button.navbar-close{
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  cursor:pointer;
}
.wwd-wordpress .header .navbar button.nav-link{font:inherit;text-align:inherit}
.wwd-wordpress .header .navbar button.navbar-close{padding:0}
.wwd-wordpress #navbarNav .nav-item .nav-link,
.wwd-wordpress #navbarNav .nav-item.show .nav-link,
.wwd-wordpress #navbarNav .navbar-close{color:var(--wwd-ink)}
.wwd-wordpress #navbarNav .nav-link:hover{color:var(--wwd-link-hover);text-decoration:underline}
.wwd-wordpress .dropdown-menu .dropdown-item{color:var(--wwd-link)}
.wwd-wordpress .dropdown-menu .dropdown-item:hover,
.wwd-wordpress .dropdown-menu .dropdown-item:focus-visible{color:var(--wwd-link-hover);background:#e6f4f5}
.wwd-wordpress .header__phone,
.wwd-wordpress .header__addressinner a,
.wwd-wordpress .header__subfirst a,
.wwd-wordpress .header .header__buttonmob{color:var(--wwd-link)}
.wwd-wordpress .header__phone{border-color:var(--wwd-link)}
.wwd-wordpress .header__phone:hover{color:#fff;background:var(--wwd-link-hover);box-shadow:none}
.wwd-wordpress .footer,
.wwd-wordpress .footer-menu__link,
.wwd-wordpress .footer__tel,
.wwd-wordpress .footer__visit,
.wwd-wordpress .footer__social a,
.wwd-wordpress .footer__copyright a,
.wwd-wordpress .bottom-address a,
.wwd-wordpress .bottom-address a.location{color:var(--wwd-ink)}
.wwd-wordpress .footer a:hover{color:var(--wwd-ink);text-decoration:underline}

/* Orange stays the primary action color, with readable white text. */
.wwd-wordpress .btn-cta,
.wwd-wordpress .btn-submit,
.wwd-wordpress .btn-line{
  color:#fff;
  background:var(--wwd-action);
  text-shadow:none;
}
.wwd-wordpress .btn-cta:hover,
.wwd-wordpress .btn-cta:active,
.wwd-wordpress .btn-submit:hover,
.wwd-wordpress .btn-submit:active,
.wwd-wordpress .btn-line:hover,
.wwd-wordpress .btn-line:active{color:#fff;background:var(--wwd-action-hover);text-decoration:none}
.wwd-wordpress .footer .btn-cta:hover,
.wwd-wordpress .footer .btn-line:hover{color:#fff;text-decoration:none}

/* Appointment is the first hero action; doctors remains a clear secondary. */
.wwd-wordpress .wwd-hero-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:12px;
  width:calc(100% - 32px);
  max-width:590px;
  margin:0 auto 24px;
}
.wwd-wordpress .wwd-hero-actions .btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:48px;
  max-width:100%;
  margin:0;
  padding:11px 24px;
  font-size:16px;
  line-height:1.35;
  font-weight:600;
  white-space:normal;
  text-align:center;
  text-transform:none;
}
.wwd-wordpress .wwd-hero-actions .wwd-hero-secondary{
  color:var(--wwd-link);
  background:#fff;
  border:2px solid var(--wwd-link);
}
.wwd-wordpress .wwd-hero-actions .wwd-hero-secondary:hover,
.wwd-wordpress .wwd-hero-actions .wwd-hero-secondary:active{color:var(--wwd-link-hover);background:#e6f4f5;border-color:var(--wwd-link-hover)}
.wwd-wordpress button.hero__play{padding:0;border:0;background:transparent}
.wwd-wordpress .hero__play .video-play{display:block}

/* Persistent field labels replace the source's placeholder-only appearance. */
.wwd-wordpress form .wwd-field-label{
  display:block;
  position:static!important;
  float:none;
  width:auto;
  height:auto;
  margin:0 0 6px;
  padding:0;
  transform:none!important;
  color:var(--wwd-ink);
  font-size:13px;
  font-weight:600;
  line-height:1.4;
  text-align:left;
  white-space:normal;
}
.wwd-wordpress form .form-control,
.wwd-wordpress form select{color:var(--wwd-ink);border-color:#8297a1}
.wwd-wordpress form .form-control::placeholder{color:var(--wwd-text);opacity:1}
.wwd-wordpress form .form-row>[class*="col-"],
.wwd-wordpress form .request_appointment__form>[class*="col-"]{min-width:0}
.wwd-wordpress .contact-modal form .form-row>[class*="col-"]{margin-bottom:12px}
.wwd-wordpress form .wwd-field-label+.input-group{width:100%}
.wwd-wordpress .wwd-booking-note{color:var(--wwd-text);font-size:13px;line-height:1.6;margin:12px 0 18px}
.wwd-wordpress .book-modal__submit{
  /* The longer appointment label needs room inside the desktop half-width column. */
  padding:10px 12px;
  height:auto;
  min-height:47px;
  white-space:normal;
  text-align:center;
}
.wwd-wordpress .wwd-modal-title{color:var(--wwd-link);font-size:24px;line-height:1.3;margin:18px 48px 18px 20px}
.wwd-wordpress .contact-modal__title{overflow-wrap:anywhere;padding-right:48px;line-height:1.25!important}
.wwd-wordpress .hero__title{line-height:1.25!important}

/* A visible preference button stays clear of the mobile navigation and dialogs. */
.wwd-wordpress .onetap-toggle{
  min-width:44px!important;min-height:44px!important;margin:0!important;
  top:auto!important;left:auto!important;
  right:max(16px,env(safe-area-inset-right))!important;
  bottom:max(16px,env(safe-area-inset-bottom))!important;
}
body.wwd-wordpress nav.onetap-accessibility.onetap-plugin-onetap .onetap-container .onetap-accessibility-settings .onetap-header-top .onetap-languages.onetap-disable{display:none!important}
.wwd-accessibility-open{overflow:hidden}
@media(max-width:991.98px){
  .wwd-wordpress .onetap-toggle{
    top:max(7px,env(safe-area-inset-top))!important;
    right:max(8px,env(safe-area-inset-right))!important;
    bottom:auto!important;
  }
  .wwd-wordpress.wwd-preview-modal-open .onetap-toggle{
    top:calc(8px + env(safe-area-inset-top))!important;
    bottom:auto!important;
  }
  /* Give the floating control its own strip, outside the dialog's scroll area. */
  .wwd-wordpress.wwd-preview-modal-open{--wwd-modal-toolbar-height:calc(64px + env(safe-area-inset-top))}
  .wwd-wordpress.wwd-preview-modal-open::before{
    content:"";position:fixed;top:0;left:0;right:0;
    height:var(--wwd-modal-toolbar-height);z-index:1040;
    background:rgba(18,37,40,.55);
  }
  .wwd-wordpress.wwd-preview-modal-open .modal.wwd-open{
    top:var(--wwd-modal-toolbar-height);
    height:calc(100% - var(--wwd-modal-toolbar-height));
  }
}

/* Two-color focus treatment stays visible against white and blue surfaces. */
.wwd-wordpress :is(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid var(--wwd-ink)!important;
  outline-offset:3px;
  box-shadow:0 0 0 6px #fff!important;
}

@media(max-width:991.98px){
  .wwd-wordpress .header .navbar button.nav-link{width:100%;min-height:44px}
  .wwd-wordpress #navbarNav .nav-item .nav-link:hover,
  .wwd-wordpress #navbarNav .nav-item.show .nav-link{color:var(--wwd-ink)}
}
@media(max-width:767.98px){
  .wwd-wordpress .service_page__title{color:var(--wwd-ink)}
  .wwd-wordpress .wwd-hero-actions{order:3;gap:10px;margin-bottom:22px}
  .wwd-wordpress .hero .review-slider{order:4}
  .wwd-wordpress .hero__content{padding-bottom:20px}
  .wwd-wordpress .call-bar.call-bar-fixed{
    display:grid;
    grid-template-columns:.85fr 1fr .8fr 1fr 1.45fr;
    align-items:stretch;
    gap:3px;
    bottom:0;
    height:auto;
    padding:9px 8px calc(9px + env(safe-area-inset-bottom));
  }
  .wwd-wordpress .call-bar-fixed>a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:54px;
    width:auto;
    padding:2px;
    color:var(--wwd-link);
    border-radius:8px;
    text-decoration:none;
  }
  .wwd-wordpress .call-bar-fixed>a span{
    font-size:11px;
    font-weight:600;
    line-height:1.25;
    white-space:normal;
    overflow-wrap:anywhere;
    hyphens:none;
  }
  .wwd-wordpress .call-bar-fixed>a .icon:before{font-size:22px;line-height:1;margin-bottom:5px}
  .wwd-wordpress .call-bar-fixed>.call-bar--link-phone{color:var(--wwd-action)}
  .wwd-wordpress .call-bar-fixed>a:last-child{color:#fff;background:var(--wwd-action)}
  .wwd-wordpress .call-bar-fixed>a:hover{color:var(--wwd-link-hover);background:#e6f4f5}
  .wwd-wordpress .call-bar-fixed>a:last-child:hover{color:#fff;background:var(--wwd-action-hover)}
  .wwd-wordpress .footer__wrapper{padding-bottom:max(100px,calc(var(--wwd-mobile-bar-height,74px) + 20px))}
}
@media(max-width:479.98px){
  /* Enlarged text must reflow through office names, footer columns and old CTAs. */
  .wwd-wordpress{overflow-wrap:anywhere}
  .wwd-wordpress .btn,
  .wwd-wordpress .white_cta,
  .wwd-wordpress .wedo__link{max-width:100%;white-space:normal;height:auto;line-height:1.3}
  .wwd-wordpress .white_cta,
  .wwd-wordpress .wedo__link{display:inline-block;padding-inline:20px}
  /* Leave enough line width for the appointment heading and readable fields. */
  .wwd-wordpress .contact-modal__content{padding:24px}
  .wwd-wordpress .wwd-hero-actions{display:grid;grid-template-columns:1fr;max-width:310px;gap:8px}
  .wwd-wordpress .wwd-hero-actions .btn{width:100%;min-height:44px;font-size:15px;padding:10px 16px}
  .wwd-wordpress .hero__title{padding-inline:12px;margin-bottom:16px}
}
@media(max-width:359.98px){
  .wwd-wordpress .call-bar-fixed>a span{font-size:10px}
}

/* Appointment patient choice also works while submissions are disabled. */
.wwd-wordpress [data-wwd-insurance-field][hidden]{display:none!important}
.wwd-wordpress .wwd-patient-type{width:100%;text-align:left;margin-bottom:1rem}
.wwd-wordpress .wwd-patient-type select{width:100%;min-height:44px}

/* Keep optional patient details together without a native date control widening its column. */
.wwd-wordpress form .wwd-new-patient-details-row{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  min-width:0;
}
.wwd-wordpress form .wwd-new-patient-details-row[hidden]{display:none!important}
.wwd-wordpress form .wwd-new-patient-detail{
  flex:none;
  width:100%;
  min-width:0;
  max-width:100%;
}
.wwd-wordpress form .request_appointment__form>.wwd-new-patient-details-row{
  flex:0 0 100%;
  width:100%;
  max-width:100%;
  margin-left:0;
  margin-right:0;
}
.wwd-wordpress form input[type="date"].form-control{
  display:block;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  max-width:100%;
  inline-size:100%;
  min-inline-size:0;
  max-inline-size:100%;
  min-height:44px;
  -webkit-appearance:none;
  appearance:none;
}
.wwd-wordpress form input[type="date"]::-webkit-date-and-time-value{
  min-width:0;
  text-align:left;
}
.wwd-wordpress form input[type="date"]::-webkit-datetime-edit{
  min-width:0;
  padding:0;
}
@media(min-width:768px){
  .wwd-wordpress form .wwd-new-patient-details-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767.98px){
  .wwd-wordpress form input[type="date"].form-control{font-size:16px}
}
