/*
Theme Name: TVCC Clinical
Theme URI: https://theveincarecenter.com/
Author: UpRYT
Description: Block theme for The Vein Care Center. Clean Clinical design system, no page builder.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tvcc
*/

:root{
  --tv-navy:#1B3A5B; --tv-navy-deep:#12283F; --tv-teal:#0F766E; --tv-teal-dark:#0B5E58; --tv-teal-tint:#DDF1EE;
  --tv-ink:#1C2733; --tv-muted:#52606D; --tv-sky:#E4EFF8; --tv-sky-soft:#F3F8FC; --tv-line:#D5E2EE; --tv-star:#F2B632;
  --tv-head:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --tv-body:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
  --tv-shadow:0 10px 30px rgba(27,58,91,.08);
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--tv-body);font-size:18px;line-height:1.6;color:var(--tv-ink);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4,h5,h6{font-family:var(--tv-head);color:var(--tv-navy);line-height:1.15;margin:0 0 .4em;font-weight:700;letter-spacing:-.4px}
h1{font-size:48px}h2{font-size:38px}h3{font-size:22px}h4{font-size:20px}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
a{color:var(--tv-teal);text-decoration:none}
a:hover{text-decoration:underline}
ul,ol{margin:0 0 1em;padding-left:1.2em}

/* layout primitives emitted by the generator */
.tv-sec{width:100%;position:relative}
.tv-inner{width:100%;max-width:1140px;margin-inline:auto;position:relative}
.tv-box{position:relative}
.wp-block-group.tv-box,.wp-block-group.tv-inner,.wp-block-group.tv-sec{margin-block:0}
.tv-sec>.tv-inner{padding-inline:0}

/* buttons */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.wp-block-button__link,.wp-element-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--tv-body);font-weight:700;font-size:18px;line-height:1.2;padding:15px 28px;border-radius:10px;
  background:var(--tv-teal);color:#fff;text-decoration:none;border:0;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.wp-block-button__link:hover,.wp-element-button:hover{text-decoration:none;background:var(--tv-teal-dark)}
.wp-block-button__link svg{width:1em;height:1em}

/* icon helpers */
.tv-i{display:inline-block;vertical-align:middle}
.tv-iconlist{list-style:none;margin:0;padding:0}
.tv-iconlist li{display:flex;gap:10px;align-items:flex-start}
.tv-iconbox{display:flex}
.tv-ib-body{min-width:0}

/* rich text passthrough */
.tv-rt>*:last-child{margin-bottom:0}
.tv-rt table{border-collapse:collapse;width:100%}
.tv-rt iframe{max-width:100%}

/* accordion */
.tv-accordion{display:flex;flex-direction:column;gap:12px}
details.tv-details{background:#fff;border:1px solid var(--tv-line);border-radius:12px;overflow:hidden}
details.tv-details>summary{list-style:none;cursor:pointer;padding:20px 24px;font-family:var(--tv-head);font-weight:700;
  font-size:18px;color:var(--tv-navy);display:flex;justify-content:space-between;align-items:center;gap:16px}
details.tv-details>summary::-webkit-details-marker{display:none}
details.tv-details>summary::after{content:"";width:10px;height:10px;border-right:2px solid var(--tv-teal);
  border-bottom:2px solid var(--tv-teal);transform:rotate(45deg);transition:transform .2s ease;flex:0 0 auto;margin-top:-4px}
details.tv-details[open]>summary{color:var(--tv-teal)}
details.tv-details[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
details.tv-details .tv-rt{padding:0 24px 20px}

/* header nav */
.tv-header{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 2px 16px rgba(27,58,91,.08)}
.tv-nav-primary ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;flex-wrap:nowrap;white-space:nowrap;align-items:center}
.tv-nav-primary a{font-family:var(--tv-head);font-size:15px;font-weight:600;color:var(--tv-navy);padding:12px 11px;display:block}
.tv-nav-primary a:hover{color:var(--tv-teal);text-decoration:none}
.tv-nav-primary .wp-block-navigation__submenu-container{border-radius:12px;box-shadow:0 12px 30px rgba(27,58,91,.12);
  border:1px solid var(--tv-line);overflow:hidden;background:#fff;min-width:240px;padding:6px 0}
.tv-nav-primary .wp-block-navigation__submenu-container a{font-family:var(--tv-body);font-size:17px;font-weight:400;padding:9px 18px}
.tv-nav-primary .wp-block-navigation__submenu-container a:hover{background:var(--tv-sky-soft)}
.tv-nav-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.tv-nav-footer a{color:#C3D1DE;font-size:16px}
.tv-nav-footer a:hover{color:#fff}
.wp-block-navigation__responsive-container.is-menu-open{background:#fff;padding:32px 24px}
.wp-block-navigation__responsive-container.is-menu-open a{color:var(--tv-navy);font-size:20px}
.wp-block-navigation__responsive-container-open svg,.wp-block-navigation__responsive-container-close svg{fill:var(--tv-navy)}

/* forms */
.tv-form{display:flex;flex-wrap:wrap;gap:16px;width:100%}
.tv-f{flex:1 1 100%;min-width:0}
.tv-f-50{flex:1 1 calc(50% - 8px)}
.tv-f-33{flex:1 1 calc(33.333% - 11px)}
.tv-f-25{flex:1 1 calc(25% - 12px)}
.tv-form label{display:block;font-size:16px;font-weight:600;color:var(--tv-ink);margin-bottom:6px}
.tv-form input[type=text],.tv-form input[type=email],.tv-form input[type=tel],.tv-form input[type=number],
.tv-form select,.tv-form textarea{width:100%;font-family:var(--tv-body);font-size:17px;color:var(--tv-ink);background:#fff;
  border:1px solid #B9C8D6;border-radius:10px;padding:12px 14px}
.tv-form textarea{min-height:120px;resize:vertical}
.tv-form input:focus,.tv-form select:focus,.tv-form textarea:focus{outline:2px solid var(--tv-teal);outline-offset:1px;border-color:var(--tv-teal)}
.tv-form .tv-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:16px;color:var(--tv-muted)}
.tv-form .tv-check input{margin-top:4px}
.tv-form .tv-f-submit button{width:100%}
.tv-hp{position:absolute!important;left:-9999px!important;height:0;overflow:hidden}
.tv-notice{padding:14px 18px;border-radius:10px;margin-bottom:18px;font-weight:600}
.tv-notice-ok{background:var(--tv-teal-tint);color:#0B5E58}
.tv-notice-err{background:#FDE8E8;color:#8A2222}

/* blog */
.tv-postcard{background:#fff;border:1px solid var(--tv-line);border-radius:16px;padding:18px;box-shadow:var(--tv-shadow)}
.tv-postcard h3{font-size:20px;margin-top:14px}
.tv-postmeta{gap:16px;color:var(--tv-muted);font-size:16px}
.tv-authorbox{background:var(--tv-sky-soft);border-radius:16px;padding:24px;margin-top:32px}
.wp-block-query .wp-block-post-template{list-style:none;margin:0;padding:0}

/* misc */
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
@media (max-width:767px){
  h1{font-size:34px}h2{font-size:28px}
  body{font-size:17px}
}

/* templates */
.tv-archive-head{background:linear-gradient(135deg,var(--tv-sky-soft) 0%,var(--tv-sky) 100%);padding:64px 24px}
.tv-archive-body,.tv-404{padding:80px 24px}

.wp-block-query-pagination{margin-top:40px;display:flex;gap:12px;flex-wrap:wrap}
.wp-block-post-title a{color:var(--tv-navy)}

/* core image block: let generated width/height rules drive the figure */
figure.wp-block-image{margin:0;display:block;max-width:100%}
figure.wp-block-image img{display:block}
.wp-block-image.aligncenter{margin-inline:auto}
.tv-form .tv-fstep{flex:1 1 100%;font-size:19px;margin:8px 0 0;color:var(--tv-navy)}
.tv-form .tv-fstep:first-child{margin-top:0}
.tv-rt:has(> table){overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:767px){.tv-rt > table:has(tr > :nth-child(3)){min-width:560px}}

/* ---- responsive pass, 2026-09-16 ---- */

/* flex and grid children must be allowed to shrink (build standards §1) */
.wp-block-group.tv-box,.wp-block-group.tv-inner,.wp-block-group.tv-sec{min-width:0}

/* header utility bar: wrap the phone line rather than overflow at 320 */
@media (max-width:560px){
  .tv-header-wrap .tv-inner{flex-wrap:wrap}
  .tv-header-wrap .tv-inner > *{flex:0 1 auto;min-width:0}
  .tv-header-wrap .tv-rt,.tv-header-wrap .tv-rt p{max-width:100%;white-space:normal}
}

/* tap targets: 44px minimum on touch widths */
@media (max-width:1024px){
  .wp-block-navigation__responsive-container-open,
  .wp-block-navigation__responsive-container-close{min-width:44px;min-height:44px;
    display:inline-flex;align-items:center;justify-content:center}
  .wp-block-navigation-item__content{min-height:44px;display:flex;align-items:center}
  .wp-block-button__link,.wp-element-button{min-height:44px}
  a[href^="tel:"]{display:inline-block;padding-block:11px}
  .tv-rt p > a:only-child{display:inline-block;padding-block:10px}
  details.tv-details > summary{min-height:44px}
}
/* the tel padding must not stretch the buttons that contain one */
@media (max-width:1024px){
  .wp-block-button__link[href^="tel:"]{display:inline-flex;padding-block:15px}
  .tv-form a[href^="tel:"]{padding-block:0}
}

/* hand-written templates share the generated gutter */
@media (max-width:767px){
  .tv-archive-head{padding:48px 20px}
  .tv-archive-body,.tv-404{padding:56px 20px}
}

/* tap targets, second pass */
@media (max-width:1024px){
  a[href^="tel:"],a[href^="mailto:"]{display:inline-block;padding-block:11px}
  p > a:only-child,.tv-toc li > a,.tv-related li > a,nav li > a,.tv-iconlist li > a:only-child{display:inline-block;padding-block:10px}
  .single-post .wp-block-post-content p > a:not([href^="tel:"]),.single-post .wp-block-post-content .wp-block-list li > a{display:inline;padding-block:0}
  nav[aria-label="Breadcrumb"] a{display:inline-block;padding-block:11px}
  footer a{display:inline-block;padding-block:10px}
  nav button,.wp-block-navigation button{min-height:44px;min-width:44px}
  .tv-form a,.tv-iconlist a{padding-block:0}
  .tv-iconlist a[href^="tel:"],.tv-iconlist a[href^="mailto:"]{display:inline-block;padding-block:10px;margin-block:-10px}
  .wp-block-button__link[href^="tel:"],.wp-block-button__link[href^="mailto:"]{display:inline-flex;padding-block:15px}
  footer .wp-block-button__link{padding-block:12px}
}

/* collapse the primary nav to the overlay menu below 1024, not just below 600 */
@media (max-width:1023px){
  .tv-nav-primary .wp-block-navigation__responsive-container:not(.is-menu-open){
    display:none;position:static;width:auto;height:auto;background-color:inherit}
  .tv-nav-primary .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex}
  .tv-nav-primary .wp-block-navigation__responsive-container.is-menu-open{
    display:flex;position:fixed;inset:0;z-index:200;background:#fff;padding:32px 24px;
    flex-direction:column;overflow:auto}
  .tv-nav-primary .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    flex-direction:column;align-items:flex-start;gap:4px;white-space:normal}
  .tv-nav-primary .wp-block-navigation__responsive-container.is-menu-open a{font-size:20px;padding:10px 0}
  .tv-nav-primary .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{
    position:static;box-shadow:none;border:0;padding-left:14px;min-width:0}
  .tv-nav-primary .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a{font-size:17px}
}

@media (max-width:1023px){
  .tv-nav-primary{margin-left:auto}
  .tv-nav-primary .wp-block-navigation__responsive-container-open{margin-left:auto}
}

/* homepage stats card */
.tv-stats{flex:0 0 44%;width:44%;max-width:100%;box-sizing:border-box;padding:44px 44px 40px;border-radius:24px;
  background:linear-gradient(160deg,#1B3A5B 0%,#12283F 100%);box-shadow:0 20px 50px rgba(18,40,63,.22);color:#fff}
.tv-stats-list{list-style:none;margin:0;padding:0}
.tv-stat{display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto auto;column-gap:18px;row-gap:2px;align-items:center;
  padding:22px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.tv-stat:first-child{padding-top:0}
.tv-stat:last-child{border-bottom:0}
.tv-stat-ic{grid-row:1/3;width:56px;height:56px;border-radius:999px;background:rgba(127,211,198,.16);color:#7FD3C6;
  display:inline-flex;align-items:center;justify-content:center}
.tv-stat-num{grid-column:2;font-family:var(--tv-head);font-size:48px;font-weight:800;line-height:1;letter-spacing:-1.5px;color:#fff}
.tv-stat-cap{grid-column:2;font-size:17px;line-height:1.35;color:#C9DAE8}
.tv-stats-line{margin:26px 0 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);
  font-family:var(--tv-head);font-weight:700;font-size:18px;line-height:1.4;color:#9FD9CF}
@media (max-width:1024px){.tv-stats{padding:36px 32px 32px}.tv-stat-num{font-size:42px}}
@media (max-width:767px){.tv-stats{flex-basis:100%;width:100%;padding:30px 24px 26px}.tv-stat{padding:18px 0}
  .tv-stat-num{font-size:38px}.tv-stat-cap{font-size:16px}.tv-stat-ic{width:48px;height:48px}}

/* blog post components */
.tv-ph{color:#7A4E00;background:#FFF4D6;border:1px dashed #D9A21B;padding:12px 16px;border-radius:10px;font-size:16px;margin:0 0 20px}
.tv-readtime{color:var(--tv-muted);font-size:15px;margin:0 0 20px;text-transform:uppercase;letter-spacing:.6px;font-weight:600}
.tv-takeaways{background:var(--tv-sky-soft);border-left:4px solid var(--tv-teal);border-radius:0 16px 16px 0;padding:24px 28px;margin:8px 0 28px}
.tv-takeaways h2{font-size:22px;margin:0 0 12px}
.tv-takeaways ul{margin:0;padding-left:22px}
.tv-takeaways li{margin:0 0 8px}
.tv-toc{border:1px solid var(--tv-line);border-radius:12px;padding:18px 22px;margin:0 0 32px}
.tv-toc-h{display:block;font-family:var(--tv-head);font-weight:700;color:var(--tv-navy);margin:0 0 8px}
.tv-toc ol{margin:0;padding:0;list-style:none;counter-reset:tvtoc;columns:2;column-gap:28px}
.tv-toc li{margin:0 0 6px;break-inside:avoid;display:flex;gap:8px;align-items:baseline;counter-increment:tvtoc}
.tv-toc li::before{content:counter(tvtoc) ".";color:var(--tv-muted);flex:0 0 auto}
.tv-svg-m{display:none}
.tv-visual{margin:28px 0 32px}
.tv-visual .tv-svg{display:block;width:100%;height:auto}
.tv-visual-title{font-family:var(--tv-head);font-weight:700;color:var(--tv-navy);font-size:19px;margin:0 0 10px}
.tv-visual-src{color:var(--tv-muted);font-size:14px;margin:8px 0 0}
.wp-block-post-content h2{font-size:30px;margin-top:40px}
.wp-block-post-content h3{font-size:22px;margin-top:28px}
.wp-block-post-content .wp-block-table{margin:20px 0 28px;overflow-x:auto}
.wp-block-post-content table{border-collapse:collapse;width:100%;font-size:17px;table-layout:auto}
.wp-block-post-content th,.wp-block-post-content td{border:1px solid var(--tv-line);padding:10px 12px;text-align:left;vertical-align:top}
.wp-block-post-content th{background:var(--tv-sky-soft);font-family:var(--tv-head);color:var(--tv-navy)}
.wp-block-post-content .tv-accordion{margin:8px 0 8px}
.wp-block-post-featured-image img{width:100%;height:auto;display:block}
@media (max-width:767px){.tv-toc ol{columns:1}.wp-block-post-content h2{font-size:26px}.wp-block-post-content table:has(tr > :nth-child(3)){min-width:520px}.wp-block-post-content table{font-size:15px}.wp-block-post-content th,.wp-block-post-content td{padding:8px 10px}.tv-svg-d{display:none}.tv-svg-m{display:block}}
.tv-related{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.tv-related li{background:var(--tv-sky-soft);border:1px solid var(--tv-line);border-radius:12px;padding:14px 18px}
.tv-related a{font-family:var(--tv-head);font-weight:700;color:var(--tv-navy);display:block}
.tv-related a:hover{color:var(--tv-teal)}


/* Mobile call sheet: both offices from the sticky Call button, 24 Sep 2026 */
.tv-callsheet{display:none;flex-direction:column;gap:8px;padding:2px 0 10px}
.tv-callsheet.is-open,#call-us:target{display:flex}
.tv-callsheet a{display:block;min-height:44px;padding:10px 14px;border:2px solid #1B3A5B;border-radius:10px;background:#FFFFFF;color:#1B3A5B;font-weight:700;font-size:17px;line-height:1.3;text-decoration:none}
.tv-callsheet a span{display:block;font-weight:400;font-size:15px;color:#52606D}
.tv-callsheet a:focus-visible{outline:3px solid #0F766E;outline-offset:2px}


/* Footer navigation readable on the deep navy footer (was ink on navy, 1.01:1), 24 Sep 2026 */
footer .tv-nav-footer .wp-block-navigation-item__content{color:#C3D1DE}
footer .tv-nav-footer .wp-block-navigation-item__content:hover,footer .tv-nav-footer .wp-block-navigation-item__content:focus-visible{color:#FFFFFF;text-decoration:underline}
footer .tv-nav-footer .wp-block-navigation-item__content:focus-visible{outline:3px solid #7FD3C6;outline-offset:2px}
footer .tv-nav-footer{color:#C3D1DE} /* core nav sets links to inherit at higher specificity, so colour the nav itself */

/* Booking chooser: call to book or request a call back, 24 Sep 2026 */
.tv-book{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}
.tv-book[hidden]{display:none}
.tv-book__scrim{position:absolute;inset:0;background:rgba(18,40,63,.55)}
.tv-book__panel{position:relative;width:100%;max-width:480px;max-height:calc(100vh - 32px);overflow-y:auto;background:#FFFFFF;border-radius:16px;box-shadow:0 20px 50px rgba(18,40,63,.25);padding:28px 24px 24px}
.tv-book-open{overflow:hidden}
.tv-book__x{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;background:none;font-size:30px;line-height:1;color:#1B3A5B;cursor:pointer;border-radius:10px}
.tv-book__h{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:26px;line-height:1.2;color:#1B3A5B;margin:0 44px 8px 0}
.tv-book__lead,.tv-book__addr{color:#52606D;margin:0 0 18px}
.tv-book__office{display:block;width:100%;text-align:left;background:#F3F8FC;border:2px solid #D5E2EE;border-radius:12px;padding:14px 16px;margin:0 0 12px;cursor:pointer;font:inherit;color:#1C2733;min-height:44px}
.tv-book__office:hover,.tv-book__office:focus-visible{border-color:#0F766E}
.tv-book__office strong{display:block;font-size:19px;color:#1B3A5B}
.tv-book__office span{display:block;font-size:16px;color:#52606D}
.tv-book__office em{display:block;font-style:normal;font-size:15px;color:#0F766E;margin-top:4px}
.tv-book__back{border:0;background:none;color:#0F766E;font:inherit;font-weight:600;padding:10px 0;margin:0 0 6px;cursor:pointer;min-height:44px}
.tv-book__card{background:#F3F8FC;border-radius:12px;padding:18px 18px 20px;margin:0 0 16px}
.tv-book__label{text-transform:uppercase;letter-spacing:.06em;font-size:14px;font-weight:700;color:#0F766E;margin:0 0 4px}
.tv-book__phone{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:30px;font-weight:800;color:#1B3A5B;margin:0 0 4px}
.tv-book__note{font-size:15px;color:#52606D;margin:0 0 14px}
.tv-book__call,.tv-book__cb{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 26px;border-radius:10px;font-weight:700;text-decoration:none}
.tv-book__call{background:#0F766E;color:#FFFFFF}
.tv-book__call:hover,.tv-book__call:focus-visible{background:#0B5E58;color:#FFFFFF}
.tv-book__alt p{margin:0 0 12px;color:#1C2733}
.tv-book__cb{border:2px solid #1B3A5B;color:#1B3A5B;background:#FFFFFF}
.tv-book__cb:hover,.tv-book__cb:focus-visible{background:#1B3A5B;color:#FFFFFF}
.tv-book button:focus-visible,.tv-book a:focus-visible{outline:3px solid #0F766E;outline-offset:2px}
@media (max-width:420px){.tv-book__panel{padding:24px 18px 20px}.tv-book__h{font-size:23px}.tv-book__phone{font-size:26px}.tv-book__call,.tv-book__cb{width:100%}}

/* Row alignment, 24 Sep 2026: these groups are flex/grid rows but keep WordPress flow-layout margins on non-first children, which pushed items 5 to 24px out of line (utility bar, trust badges, office badges, footer bottom row). Their own gap handles spacing. */
.tv-e5739ba1>*,.tv-bf55a15e>*,.tv-a646861a>*,.tv-d06c1311>*{margin-block-start:0}
/* Keep the page from shifting sideways when the booking dialog locks scrolling */
html{scrollbar-gutter:stable}


/* 2026-09-24 UPRYT: button wrappers carried the same border/background as the link (double borders, oversized fills). Style lives on the link only; link fills its wrapper; centered labels. */
:is(.tv-a7acb895,.tv-e0056e4f,.tv-3db4b53c,.tv-faef4507,.tv-7c1d2b97,.tv-39dcaf41,.tv-a696e0a5,.tv-88eace6d,.tv-2132a323){border:0!important;background-color:transparent!important}
:is(.tv-a7acb895,.tv-e0056e4f,.tv-3db4b53c,.tv-faef4507,.tv-7c1d2b97,.tv-39dcaf41,.tv-a696e0a5,.tv-88eace6d,.tv-2132a323) .wp-block-button__link{display:flex;width:100%;min-height:100%;box-sizing:border-box;justify-content:center;align-items:center;text-align:center}
.wp-block-button__link{text-align:center}
@media (max-width:430px){:is(.tv-a7acb895,.tv-e0056e4f,.tv-3db4b53c,.tv-faef4507,.tv-7c1d2b97,.tv-39dcaf41,.tv-a696e0a5,.tv-88eace6d,.tv-2132a323) .wp-block-button__link{padding-left:16px;padding-right:16px;font-size:17px}}
/* 2026-09-24 UPRYT: raise specificity over generated.css (loads later) and let the single button fill its styled row. */
.wp-block-buttons:is(.tv-a7acb895,.tv-e0056e4f,.tv-3db4b53c,.tv-faef4507,.tv-7c1d2b97,.tv-39dcaf41,.tv-a696e0a5,.tv-88eace6d,.tv-2132a323)>.wp-block-button{flex:1 1 auto}
.wp-block-buttons:is(.tv-a7acb895,.tv-e0056e4f,.tv-3db4b53c,.tv-faef4507,.tv-7c1d2b97,.tv-39dcaf41,.tv-a696e0a5,.tv-88eace6d,.tv-2132a323)>.wp-block-button>.wp-block-button__link{justify-content:center;text-align:center}
@media (max-width:430px){.wp-block-buttons:is(.tv-a7acb895,.tv-e0056e4f,.tv-3db4b53c,.tv-faef4507,.tv-7c1d2b97,.tv-39dcaf41,.tv-a696e0a5,.tv-88eace6d,.tv-2132a323)>.wp-block-button>.wp-block-button__link{padding-left:16px;padding-right:16px;font-size:17px}}
.wp-block-buttons:is(.tv-a7acb895,.tv-e0056e4f,.tv-3db4b53c,.tv-faef4507,.tv-7c1d2b97,.tv-39dcaf41,.tv-a696e0a5,.tv-88eace6d,.tv-2132a323)>.wp-block-button>.wp-block-button__link{min-height:44px}
@media (max-width:360px){.wp-block-buttons:is(.tv-a7acb895,.tv-e0056e4f,.tv-3db4b53c,.tv-faef4507,.tv-7c1d2b97,.tv-39dcaf41,.tv-a696e0a5,.tv-88eace6d,.tv-2132a323)>.wp-block-button>.wp-block-button__link{padding-left:12px;padding-right:12px;font-size:16px}}
/* 2026-09-24 UPRYT: utility phone bar wrapped mid-line on phones; one line at 375+, one office per row below 375. Mobile bar buttons equal width. */
@media (max-width:430px){.tv-1ad35f85.tv-1ad35f85>p{font-size:14px!important;white-space:nowrap!important}.tv-1ad35f85.tv-1ad35f85>p>span:nth-of-type(2){margin:0 6px!important}}
@media (max-width:374px){.tv-1ad35f85.tv-1ad35f85>p{white-space:normal!important;display:flex;flex-wrap:wrap;align-items:center;column-gap:6px;row-gap:0}.tv-1ad35f85.tv-1ad35f85>p>span:nth-of-type(2){flex-basis:100%;height:0;margin:0!important;overflow:hidden;font-size:0}.tv-1ad35f85.tv-1ad35f85>p>a{padding-top:4px;padding-bottom:4px}}
.wp-block-buttons.tv-a7acb895,.wp-block-buttons.tv-e0056e4f{flex:1 1 0}
/* 2026-09-24 UPRYT: booking dialog Call now label was left-aligned (tel link rule forced inline-block). */
.tv-book a.tv-book__call,.tv-book a.tv-book__cb{display:flex!important;text-align:center}


/* 2026-09-24 UPRYT call-only launch: phone number inside the booking dialog is itself a tel: link. */
.tv-book .tv-book__phone a{color:inherit;text-decoration:none;padding-block:0;display:inline}

/* 2026-09-24 UPRYT launch QA: the 560px min-width was meant for the multi-column comparison table; two-column hours tables now fit the phone width instead of clipping the closing time. */
