/* Genesis integration only. Reviewed visual CSS is generated separately. */
.tcg-v66 .site-container,.tcg-v66 .site-inner,.tcg-v66 .content-sidebar-wrap,.tcg-v66 .content{width:100%;max-width:none;margin:0;padding:0;float:none}
.tcg-v66.home .content>.entry,.tcg-v66.home .content>.entry-content,.tcg-v66 .imported-page-content,.tcg-v66 .imported-page-content>.entry-content{margin:0;padding:0;width:100%;max-width:none}
.tcg-v66 .content-sidebar-wrap:before,.tcg-v66 .content-sidebar-wrap:after{content:none}
.tcg-v66 .entry-content a.booking-cta{color:#fff;text-decoration:none}
.hours-row dd{margin:0}.integration-mount .widget{margin:0}.integration-mount[hidden]{display:none!important}
.footer-policies{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.footer-policies .footer-menu{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.footer-policies .footer-menu a{font-size:var(--step0)}
.source-content>*{min-width:0}.source-content iframe{max-width:100%}.source-content iframe[src*="youtube"]{width:100%;height:auto;aspect-ratio:16/9}
.page-content-package{width:100%}.provider-route .entry-content{margin:0}.provider-route .content{padding:0}
.tcg-v66:not(.home):not(.imported-content-page):not(.provider-route):not(.campaign-landing) .entry{max-width:1280px;width:calc(100% - 64px);margin:0 auto;padding:56px 0}
.tcg-v66 .screen-reader-text,.tcg-v66 .genesis-skip-link a:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.tcg-v66 .screen-reader-text:focus,.tcg-v66 .genesis-skip-link a:focus{position:fixed;width:auto;height:auto;clip-path:none;top:8px;left:8px;z-index:1000;background:#fff;color:#111;padding:12px}
@media(max-width:767px){.tcg-v66:not(.home):not(.imported-content-page):not(.provider-route):not(.campaign-landing) .entry{width:calc(100% - 40px);padding:40px 0}.footer-policies{gap:12px}}

/* GotchaLocal 7.3.4 */
.nb{white-space:nowrap}
.tcg-v66 ul.genesis-skip-link{list-style:none;margin:0;padding:0;height:0;overflow:visible}
.tcg-v66 #after_header_area,.tcg-v66 #front_page_background_video,.tcg-v66 .vidbg-container{display:none!important}
.hours-table{width:100%;border-collapse:collapse;font-size:var(--step0);line-height:1.35}
.hours-table th,.hours-table td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle;white-space:nowrap}
.hours-table thead th{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-bottom:2px solid var(--line)}
.hours-table tbody th{text-align:left;font-weight:650}
.hours-table tbody tr:last-child th,.hours-table tbody tr:last-child td{border-bottom:0}
.hours-table .hours-closed{color:var(--muted)}
.office-hours-panel .hours-table{max-width:560px}
.footer-hours{margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.footer-hours h2{font-size:var(--step2);margin:0 0 18px;font-weight:650;text-align:center}
.footer-hours .hours-table{max-width:560px;margin:0 auto;color:#ddd}
.footer-hours .hours-table thead th{color:#fff}
.footer-hours .hours-table .hours-closed{color:#999}
@media(max-width:480px){.hours-table th,.hours-table td{padding:8px 4px;font-size:13px;white-space:normal}.hours-table thead th{font-size:11px;letter-spacing:.02em}}

/* GotchaLocal 7.3.4: review row cards (7.3.9: flat, no card shadow or box; the --color-* vars never existed in this theme). Google from GL Google Reviews (.tcr-), Yelp and Facebook from ReviewWave (.rw-).
   The theme prints its own h2 above each row, so the widget's own title and rule are hidden. */
.review-section .google-places-title-text,.review-section hr.google-places-hr{display:none}
.review-section .google-places-title-1-wrap{text-align:left;font-size:inherit;color:inherit;padding:0}
.review-section .tcr-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);align-items:stretch}
.review-section .tcr-review{text-align:left;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.review-section .tcr-who,.review-section .tcr-meta{justify-content:flex-start}
.review-section .tcr-name{font-family:var(--font-family);font-size:var(--step-1);line-height:var(--lh-heading);color:var(--color-text)}
.review-section .tcr-when{font-family:var(--font-family);font-size:var(--step-0);line-height:1.4;color:var(--color-muted)}
.review-section .tcr-review p,.review-section .tcr-text,.review-section .tcr-review .tcr-q{font-family:var(--font-family);font-size:var(--step-0);line-height:var(--lh-body);color:var(--color-text);text-align:left}
.review-section .tcr-more,.review-section .tcr-review button,.review-section .tcr-review .tcr-toggle{font-family:var(--font-family);font-size:var(--step-0);color:var(--color-focus);text-align:left}
.review-section .rw-review-wrap{width:auto!important;max-width:none!important;display:block;padding:0!important;margin:0!important}
.review-section .rw-review{display:block;width:auto!important;max-width:none!important;height:100%;margin:0!important;padding:0!important;background:transparent;border:0;border-radius:0;box-sizing:border-box;box-shadow:none}
.review-section .rw-review-body{width:auto!important;max-width:none!important;font-family:var(--font-family);font-size:var(--step-0);line-height:var(--lh-body);color:var(--color-text);font-style:normal}
.review-section .rw-review-header,.review-section .reviewer-name{font-family:var(--font-family);font-size:var(--step-1);font-weight:700;color:var(--color-text)}
.review-section .rw-reviews-subheader,.review-section .rw-rating-date{font-family:var(--font-family);font-size:var(--step-0);color:var(--color-muted)}
.review-section .widget_text .rw-reviews-wrap .rw-review-wrap .rw-review{display:block!important;width:auto!important;max-width:none!important}
.review-section .widget_text .rw-reviews-wrap .rw-review .rw-review-body{display:block!important;width:auto!important;max-width:none!important}
@media(max-width:1023px){.review-section .tcr-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.review-section .tcr-cols,.review-section .rw-reviews-wrap{grid-template-columns:1fr}}

/* GotchaLocal 7.3.4: phone-only services */
.tcg-phone-only .sticky-offer{display:none!important}
.tcg-no-header-booking .site-header .booking-cta{display:none!important}
.phone-booking-cta{text-align:center}
.phone-booking-cta h2{margin-bottom:12px}
.phone-booking-cta p{margin:0 auto 20px;max-width:60ch}
.phone-booking-cta p:last-child{display:flex;gap:20px;justify-content:center;align-items:center;flex-wrap:wrap;margin-bottom:0}
.phone-booking-cta .booking-cta::after{content:none}
.phone-booking-cta .phone-booking-number{font-weight:750;font-size:var(--step2);text-decoration:none;white-space:nowrap}

/* GotchaLocal 7.3.4: UserWay trigger sat on top of the header Book button. Park it bottom right, clear of the sticky offer. */
.uwy .uai{top:calc(100vh - 170px)!important;right:12px!important}

/* GotchaLocal 7.3.5: the sticky offer copy is a <p>, so the base p{margin-bottom:20px} pushed its text 10px above the button. Zero it so the flex centering holds. */
.sticky-offer .sticky-copy{margin:0}

/* GotchaLocal 7.3.10: pages still on the 2026 tc-page landing design (Stretch Therapy 1329, Tightest Spots 1449) were built
   for the white dentist theme. Give them a white canvas, full width, no entry padding, and drop the 89px nav offset. */
.tcg-v66 .entry:has(.tc-page){max-width:none!important;width:100%!important;padding:0!important;margin:0!important;background:#fff;color:#202b31}
.tcg-v66 .tc-page{background:#fff;color:#202b31}
.tcg-v66 .tc-page p{max-width:none}
.tcg-v66 .site-inner{margin-top:0!important}

/* GotchaLocal 7.3.11: leftovers found in the full visual pass after launch. */
/* Genesis Extender "location_pages_banner" area (old video + $95 optin, widget text-32) printed above the hero on /kearny-mesa/. */
.tcg-v66 #location_pages_banner{display:none!important}
/* Genesis Primary Sidebar (2018 Kearny Mesa banner, widget text-3) still rendered under the content on sidebar-layout pages (contact, privacy). */
.tcg-v66 .sidebar-primary{display:none!important}
/* Provider routes (patient forms, scheduling, thank you) sat flush against the left edge with no container. */
.tcg-v66.provider-route .content{width:calc(100% - 64px);max-width:1280px;margin:0 auto;padding:40px 0}
.tcg-v66.provider-route .provider-embed{padding:32px}.tcg-v66.provider-route .provider-embed>*:first-child{margin-top:0}
/* Inline links inside imported copy read as plain text. */
.tcg-v66 .imported-page-content p a:not(.booking-cta):not(.text-link){text-decoration:underline;text-underline-offset:3px}
/* Breadcrumb on phones broke "Stretch Therapy" over two lines. */
.tcg-v66 .breadcrumb ol{flex-wrap:wrap;row-gap:4px}.tcg-v66 .breadcrumb a,.tcg-v66 .breadcrumb li{white-space:nowrap}
/* Logged-in edit link on tc-page pages. */
.tcg-v66 .entry:has(.tc-page) .edit-link{display:none}
@media(max-width:767px){.tcg-v66.provider-route .content{width:calc(100% - 40px);padding:28px 0}.tcg-v66.provider-route .provider-embed{padding:20px}}

/* GotchaLocal 7.3.12: provider routes (patient forms, scheduling, thank you) are all white edge to edge, embeds centered. */
.tcg-v66.provider-route .site-inner{background:#fff;color:#111}
.tcg-v66.provider-route .provider-embed{padding:32px 0;background:transparent}
.tcg-v66.provider-route .provider-embed a{color:#15788f}
.tcg-v66.provider-route .provider-embed .rw-embed-wrap,.tcg-v66.provider-route .provider-embed .rw-form-wrap,.tcg-v66.provider-route .provider-embed .rw-scheduler-wrap,.tcg-v66.provider-route .provider-embed iframe{margin-left:auto!important;margin-right:auto!important;display:block}
.tcg-v66.provider-route .provider-embed>br:first-child{display:none}
.tcg-v66.provider-route .provider-embed>p{max-width:none;margin:0}
.tcg-v66.provider-route .provider-embed .rw-embed-wrap{max-width:760px;width:100%}
