/*
Theme Name: Complete Bathroom Remodeling
Theme URI: https://completebathroomremodeling.com
Author: Right Now Marketing Group
Author URI: https://rightnowmarketinggroup.com
Description: Standalone, plugin-free WordPress theme for Complete Bathroom Remodeling - a premium bathroom remodeling contractor serving Metro Detroit, Michigan. On activation it builds the full site (Home, About Us, Services, 11 service pages, Contact) from pure Gutenberg core blocks. Business details (phone, email, owner, hours, service area) resolve at render time through a {{token}} system driven by the admin settings page.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.6
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: complete-bathroom-remodeling
*/

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
    /* -- Primary Brand Colors -- */
    --mdhi-red:           #f61927;
    --mdhi-red-dark:      #c8111e;
    --mdhi-red-hover:     #d9152a;
    --mdhi-red-light:     #ff4d58;
    --mdhi-red-muted:     rgba(246, 25, 39, .12);

    /* -- Black Scale -- */
    --mdhi-black:         #000000;
    --mdhi-charcoal:      #1a1a1a;
    --mdhi-charcoal-mid:  #2d2d2d;
    --mdhi-charcoal-soft: #3d3d3d;

    /* -- Neutral / Supporting -- */
    --mdhi-white:         #ffffff;
    --mdhi-smoke:         #f4f4f4;
    --mdhi-grey-light:    #f0f0f0;
    --mdhi-grey-mid:      #e0e0e0;
    --mdhi-grey-text:     #5a5a5a;
    --mdhi-grey-dark:     #3a3a3a;
    --mdhi-text:          #111111;
    --mdhi-border:        #dedede;
    --mdhi-surface:       #f7f7f7;

    /* -- Semantic roles -- */
    --cbr-bg:             var(--mdhi-white);
    --cbr-surface:        var(--mdhi-surface);
    --cbr-surface-2:      var(--mdhi-smoke);
    --cbr-ink:            var(--mdhi-charcoal);
    --cbr-heading:        var(--mdhi-text);
    --cbr-body:           #4a4a4a;
    --cbr-muted:          var(--mdhi-grey-text);
    --cbr-border:         var(--mdhi-border);
    --cbr-hairline:       #ececec;
    --cbr-accent:         var(--mdhi-red);
    --cbr-accent-dark:    var(--mdhi-red-dark);
    --cbr-accent-hover:   var(--mdhi-red-hover);
    --cbr-on-dark:        rgba(255, 255, 255, .74);
    --cbr-dark:           var(--mdhi-charcoal);
    --cbr-darker:         #121212;

    /* -- Typography -- */
    --cbr-font-display: "Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
    --cbr-font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

    --cbr-h1: clamp(2.5rem, 1.55rem + 3.6vw, 4rem);
    --cbr-h2: clamp(1.95rem, 1.4rem + 2.1vw, 2.85rem);
    --cbr-h3: clamp(1.25rem, 1.12rem + 0.45vw, 1.5rem);
    --cbr-h4: 1.075rem;
    --cbr-lead: clamp(1.08rem, 1rem + 0.35vw, 1.28rem);
    --cbr-small: .875rem;

    /* -- Layout -- */
    --cbr-content: 1200px;
    --cbr-wide:    1360px;
    --cbr-narrow:  760px;
    --cbr-gutter:  clamp(1.15rem, 0.5rem + 2.4vw, 2.25rem);
    --cbr-section: clamp(4rem, 2.6rem + 5.8vw, 7rem);

    /* -- Shape -- */
    --cbr-r-xs:  6px;
    --cbr-r-sm:  9px;
    --cbr-r:     14px;
    --cbr-r-lg:  20px;
    --cbr-r-xl:  28px;
    --cbr-pill:  999px;

    /* -- Elevation -- */
    --cbr-shadow-xs: 0 1px 2px rgba(17, 17, 17, .05);
    --cbr-shadow-sm: 0 2px 6px rgba(17, 17, 17, .05), 0 10px 24px rgba(17, 17, 17, .05);
    --cbr-shadow-md: 0 8px 20px rgba(17, 17, 17, .07), 0 24px 50px rgba(17, 17, 17, .08);
    --cbr-shadow-lg: 0 20px 44px rgba(17, 17, 17, .13), 0 44px 96px rgba(17, 17, 17, .12);
    --cbr-shadow-accent: 0 12px 26px rgba(246, 25, 39, .26);
    --cbr-ring: 0 0 0 3px rgba(246, 25, 39, .32);

    /* -- Motion -- */
    --cbr-ease: cubic-bezier(.16, .84, .44, 1);
    --cbr-dur: .3s;
}

/* ============================================================
   RESET / BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
    /* clip (not hidden) contains alignfull 100vw breakout WITHOUT
       breaking position:sticky on the header */
    overflow-x: clip;
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        animation-duration: .001ms !important;
        transition-duration: .001ms !important;
    }
}

body {
    margin: 0;
    font-family: var(--cbr-font-body);
    font-size: 1.0625rem;
    line-height: 1.72;
    color: var(--cbr-body);
    background: var(--cbr-bg);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    overflow-x: clip;
}

img, svg, video { max-width: 100%; height: auto; display: block; }
figure { margin: 0; }

a {
    color: var(--cbr-accent-dark);
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    transition: color var(--cbr-dur) var(--cbr-ease);
}
a:hover { color: var(--cbr-accent); }

h1, h2, h3, h4, h5 {
    font-family: var(--cbr-font-display);
    color: var(--cbr-heading);
    line-height: 1.12;
    letter-spacing: -0.015em;
    margin: 0 0 .55em;
    font-weight: 550;
    font-optical-sizing: auto;
}
h1 { font-size: var(--cbr-h1); font-weight: 500; letter-spacing: -0.02em; }
h2 { font-size: var(--cbr-h2); font-weight: 500; }
h3 {
    font-size: var(--cbr-h3);
    font-family: var(--cbr-font-body);
    font-weight: 650;
    letter-spacing: -0.01em;
}
h4 {
    font-size: var(--cbr-h4);
    font-family: var(--cbr-font-body);
    font-weight: 650;
    letter-spacing: 0;
}
p  { margin: 0 0 1.1em; }
p:last-child { margin-bottom: 0; }
strong { color: var(--cbr-heading); font-weight: 600; }

ul, ol { padding-left: 1.15rem; }
li { margin: .35rem 0; }

::selection { background: var(--cbr-accent); color: #fff; }

:where(a, button, input, textarea, select, summary):focus-visible {
    outline: none;
    box-shadow: var(--cbr-ring);
    border-radius: 6px;
}

.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    background: var(--cbr-dark);
    color: #fff;
    padding: .85rem 1.2rem;
    z-index: 2000;
    border-radius: 0 0 10px 0;
    font-weight: 600;
}
.skip-link:focus { left: 0; }

.screen-reader-text {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* ============================================================
   ALIGNFULL BREAKOUT  (classic / non-FSE theme)
   ============================================================ */
.wp-block-group.alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    box-sizing: border-box;
}
.wp-block-group.alignfull > * {
    max-width: var(--cbr-content);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--cbr-gutter);
    padding-right: var(--cbr-gutter);
}
.wp-block-group.alignfull > .wp-block-columns,
.wp-block-group.alignfull > .wp-block-heading,
.wp-block-group.alignfull > .wp-block-paragraph,
.wp-block-group.alignfull > .wp-block-buttons,
.wp-block-group.alignfull > .wp-block-query,
.wp-block-group.alignfull > .wp-block-details {
    width: 100%;
    max-width: var(--cbr-content);
    padding-left: var(--cbr-gutter);
    padding-right: var(--cbr-gutter);
}

/* ============================================================
   SECTION RHYTHM
   ============================================================ */
.cbr-main { display: block; }
.cbr-page .entry-content { margin: 0; }
.entry-content p:empty { display: none; }

.cbr-section {
    padding-top: var(--cbr-section);
    padding-bottom: var(--cbr-section);
    position: relative;
}
.entry-content > .wp-block-group.alignfull:first-child { margin-top: 0; }

.cbr-section--surface { background: var(--cbr-surface); }
.cbr-section--smoke { background: var(--cbr-surface-2); }
.cbr-section--dark { background: var(--cbr-dark); color: var(--cbr-on-dark); }
.cbr-section--dark :is(h1, h2, h3, h4) { color: #fff; }
.cbr-section--dark strong { color: #fff; }
.cbr-section--dark a:not(.wp-block-button__link) { color: #fff; text-decoration-color: var(--cbr-accent); }

/* Hairline between two adjacent plain light sections */
.cbr-section + .cbr-section:not(.cbr-section--dark):not(.cbr-section--surface):not(.cbr-section--smoke) {
    border-top: 1px solid var(--cbr-hairline);
}

.cbr-section > .wp-block-heading,
.cbr-section > .wp-block-paragraph,
.cbr-section > p { max-width: var(--cbr-content); }

.cbr-section--prose > * { max-width: var(--cbr-narrow); }

.cbr-section .has-text-align-center { margin-left: auto; margin-right: auto; }
.cbr-section h2.has-text-align-center + p.has-text-align-center,
.cbr-section .has-text-align-center.cbr-lead {
    max-width: 660px;
    color: var(--cbr-muted);
    font-size: var(--cbr-lead);
}

/* ============================================================
   EYEBROW LABEL
   ============================================================ */
.cbr-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    font-family: var(--cbr-font-body);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--cbr-accent-dark);
    margin: 0 0 1.1rem;
}
.cbr-eyebrow::before {
    content: "";
    width: 30px;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
}
.cbr-eyebrow.has-text-align-center {
    display: flex;
    justify-content: center;
    text-align: center;
}
.cbr-section--dark .cbr-eyebrow,
.cbr-hero .cbr-eyebrow,
.cbr-pagehero .cbr-eyebrow,
.cbr-cta .cbr-eyebrow { color: var(--mdhi-red-light); }

/* ============================================================
   HEADINGS INSIDE CONTENT
   ============================================================ */
.wp-block-heading { scroll-margin-top: 130px; }
.cbr-section > h2,
.cbr-section > .wp-block-heading[class*="has-text-align"] { margin-bottom: .5em; }

/* ============================================================
   BUTTON SYSTEM
   ============================================================ */
.wp-block-buttons { gap: .85rem; }
.wp-block-button { margin: 0; }

.wp-block-button__link,
.cbr-btn {
    --btn-bg: var(--cbr-accent);
    --btn-fg: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    font-family: var(--cbr-font-body);
    font-weight: 650;
    font-size: .98rem;
    line-height: 1;
    letter-spacing: .005em;
    text-decoration: none;
    padding: 1.05rem 1.75rem;
    border-radius: var(--cbr-r-sm);
    border: 1.5px solid transparent;
    background: var(--btn-bg);
    color: var(--btn-fg);
    cursor: pointer;
    transition: transform var(--cbr-dur) var(--cbr-ease),
                box-shadow var(--cbr-dur) var(--cbr-ease),
                background-color var(--cbr-dur) var(--cbr-ease),
                border-color var(--cbr-dur) var(--cbr-ease),
                color var(--cbr-dur) var(--cbr-ease);
    will-change: transform;
}
.wp-block-button__link { box-shadow: var(--cbr-shadow-accent); }
.wp-block-button__link:hover,
.cbr-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(246, 25, 39, .3);
    background: var(--cbr-accent-hover);
    color: #fff;
}
.wp-block-button__link:active,
.cbr-btn:active { transform: translateY(0); }

/* Variants driven by className on wp:button */
.cbr-btn--primary .wp-block-button__link {
    background: var(--cbr-accent);
    color: #fff;
    box-shadow: var(--cbr-shadow-accent);
}
.cbr-btn--dark .wp-block-button__link {
    background: var(--cbr-dark);
    color: #fff;
    box-shadow: 0 12px 26px rgba(17, 17, 17, .25);
}
.cbr-btn--dark .wp-block-button__link:hover { background: #000; color: #fff; }

.cbr-btn--light .wp-block-button__link {
    background: #fff;
    color: var(--cbr-dark);
    box-shadow: var(--cbr-shadow-sm);
}
.cbr-btn--light .wp-block-button__link:hover {
    background: #fff;
    color: var(--cbr-accent-dark);
    box-shadow: var(--cbr-shadow-md);
}

.cbr-btn--ghost .wp-block-button__link {
    background: transparent;
    color: var(--cbr-dark);
    border-color: rgba(17, 17, 17, .22);
    box-shadow: none;
}
.cbr-btn--ghost .wp-block-button__link:hover {
    background: var(--cbr-dark);
    color: #fff;
    border-color: var(--cbr-dark);
    box-shadow: var(--cbr-shadow-md);
}
.cbr-section--dark .cbr-btn--ghost .wp-block-button__link,
.cbr-hero .cbr-btn--ghost .wp-block-button__link,
.cbr-cta .cbr-btn--ghost .wp-block-button__link {
    color: #fff;
    border-color: rgba(255, 255, 255, .38);
}
.cbr-section--dark .cbr-btn--ghost .wp-block-button__link:hover,
.cbr-hero .cbr-btn--ghost .wp-block-button__link:hover,
.cbr-cta .cbr-btn--ghost .wp-block-button__link:hover {
    background: #fff;
    color: var(--cbr-dark);
    border-color: #fff;
}

/* Arrow affordance */
.cbr-btn--arrow .wp-block-button__link::after {
    content: "";
    width: 17px; height: 17px;
    background: currentColor;
    -webkit-mask: var(--cbr-ico-arrow) center / contain no-repeat;
            mask: var(--cbr-ico-arrow) center / contain no-repeat;
    transition: transform var(--cbr-dur) var(--cbr-ease);
}
.cbr-btn--arrow .wp-block-button__link:hover::after { transform: translateX(4px); }

/* ============================================================
   ICON SYSTEM  (CSS mask, no dependency)
   ============================================================ */
:root {
    --cbr-ico-arrow:   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
    --cbr-ico-shower:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V9a5 5 0 0 1 5-5h1'/%3E%3Cpath d='M10 4a2 2 0 1 1 4 0'/%3E%3Ccircle cx='16.5' cy='7.5' r='3'/%3E%3Cpath d='M12 13v.01M9 16v.01M15 16v.01M12 19v.01M7 19v.01M17 19v.01'/%3E%3C/svg%3E");
    --cbr-ico-tub:     url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16v3a4 4 0 0 1-4 4H8a4 4 0 0 1-4-4z'/%3E%3Cpath d='M4 12V6a2 2 0 0 1 2-2 2 2 0 0 1 2 2'/%3E%3Cpath d='M7 6h1'/%3E%3Cpath d='M6 19l-1 2M18 19l1 2'/%3E%3C/svg%3E");
    --cbr-ico-walkin:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='1'/%3E%3Cpath d='M12 3v18'/%3E%3Cpath d='M8.5 11.5v.01'/%3E%3Cpath d='M15 7c1.5 1.5 1.5 8 0 10'/%3E%3C/svg%3E");
    --cbr-ico-tile:    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7.5' height='7.5' rx='1'/%3E%3Crect x='13.5' y='3' width='7.5' height='7.5' rx='1'/%3E%3Crect x='3' y='13.5' width='7.5' height='7.5' rx='1'/%3E%3Crect x='13.5' y='13.5' width='7.5' height='7.5' rx='1'/%3E%3C/svg%3E");
    --cbr-ico-floor:   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7l9-4 9 4-9 4z'/%3E%3Cpath d='M3 12l9 4 9-4'/%3E%3Cpath d='M3 17l9 4 9-4'/%3E%3C/svg%3E");
    --cbr-ico-vanity:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='9' width='18' height='12' rx='1'/%3E%3Cpath d='M12 9v12M3 15h18'/%3E%3Cpath d='M12 6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2'/%3E%3C/svg%3E");
    --cbr-ico-cabinet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='1'/%3E%3Cpath d='M12 3v18'/%3E%3Cpath d='M9.5 11v2M14.5 11v2'/%3E%3C/svg%3E");
    --cbr-ico-light:   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4'/%3E%3Cpath d='M12 3a6 6 0 0 1 4 10.5c-.7.6-1 1.2-1 2.5H9c0-1.3-.3-1.9-1-2.5A6 6 0 0 1 12 3z'/%3E%3C/svg%3E");
    --cbr-ico-access:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='4' r='2'/%3E%3Cpath d='M12 7v6h4l3 6'/%3E%3Cpath d='M12 10H7'/%3E%3Cpath d='M9 13a5 5 0 1 0 5 6'/%3E%3C/svg%3E");
    --cbr-ico-senior:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10' cy='4' r='2'/%3E%3Cpath d='M10 7c-1.5 0-2 1-2 2l-1 5 2 1 1 6'/%3E%3Cpath d='M8 15h3l2 5'/%3E%3Cpath d='M16 8v13'/%3E%3C/svg%3E");
    --cbr-ico-aging:   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-4.5-9-9a5 5 0 0 1 9-2 5 5 0 0 1 9 2c-2 4.5-9 9-9 9z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
    --cbr-ico-ruler:   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='10' rx='1'/%3E%3Cpath d='M6 7v3M10 7v5M14 7v3M18 7v5'/%3E%3C/svg%3E");
    --cbr-ico-chat:    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.5 7.2L3 21l1.8-6.5A8 8 0 1 1 21 12z'/%3E%3C/svg%3E");
    --cbr-ico-hammer:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 3.5 21 10l-3 3-6.5-6.5z'/%3E%3Cpath d='M12 8 4 16v4h4l8-8'/%3E%3C/svg%3E");
    --cbr-ico-shield:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v5c0 5 3.4 8.5 7 10 3.6-1.5 7-5 7-10V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
    --cbr-ico-eye:     url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
    --cbr-ico-user:    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-6 8-6s8 2 8 6'/%3E%3C/svg%3E");
    --cbr-ico-clipboard: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='3' width='8' height='4' rx='1'/%3E%3Cpath d='M9 5H6a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-3'/%3E%3Cpath d='M8 12h8M8 16h6'/%3E%3C/svg%3E");
    --cbr-ico-layout:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M9 21V9'/%3E%3C/svg%3E");
    --cbr-ico-sparkle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v6M12 15v6M3 12h6M15 12h6'/%3E%3Cpath d='m6 6 3 3M15 15l3 3M18 6l-3 3M9 15l-3 3'/%3E%3C/svg%3E");
    --cbr-ico-mail:    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
    --cbr-ico-phone:   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h4l2 5-2.4 1.5a12 12 0 0 0 5.9 5.9L16 14l5 2v4a2 2 0 0 1-2 2A17 17 0 0 1 2 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
    --cbr-ico-pin:     url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-5.5 7-11a7 7 0 0 0-14 0c0 5.5 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
    --cbr-ico-clock:   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E");
    --cbr-ico-check:   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 13 4 4 10-11'/%3E%3C/svg%3E");
    --cbr-ico-award:   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='6'/%3E%3Cpath d='m9 14-1.5 7L12 19l4.5 2L15 14'/%3E%3C/svg%3E");
}

.cbr-ico {
    display: inline-block;
    width: 1.25em;
    height: 1.25em;
    background: currentColor;
    -webkit-mask: var(--cbr-ico-arrow) center / contain no-repeat;
            mask: var(--cbr-ico-arrow) center / contain no-repeat;
    flex: none;
}

/* ============================================================
   FAQ ACCORDION  (wp:details / wp:summary)
   ============================================================ */
.wp-block-details {
    border: 1px solid var(--cbr-border);
    border-radius: var(--cbr-r);
    padding: 1.2rem 1.4rem;
    margin-bottom: .8rem;
    background: #fff;
    box-shadow: var(--cbr-shadow-xs);
    transition: box-shadow var(--cbr-dur) var(--cbr-ease), border-color var(--cbr-dur) var(--cbr-ease);
}
.wp-block-details:hover { border-color: #cfcfcf; box-shadow: var(--cbr-shadow-sm); }
.wp-block-details[open] { border-color: rgba(246, 25, 39, .4); box-shadow: var(--cbr-shadow-sm); }
.wp-block-details summary {
    font-family: var(--cbr-font-body);
    font-weight: 650;
    font-size: 1.05rem;
    color: var(--cbr-heading);
    cursor: pointer;
    list-style: none;
    display: block;
    padding-right: 2.6rem;
    position: relative;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
    content: "";
    position: absolute;
    right: 0; top: -2px;
    width: 28px; height: 28px;
    border-radius: 8px;
    background: var(--mdhi-red-muted) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f61927' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / 14px no-repeat;
    transition: transform var(--cbr-dur) var(--cbr-ease);
}
.wp-block-details[open] summary::after { transform: rotate(135deg); }
.wp-block-details[open] summary { margin-bottom: .9rem; }
.wp-block-details > :not(summary) { color: var(--cbr-body); }

/* ============================================================
   IMAGES INSIDE CONTENT
   ============================================================ */
.wp-block-image img { border-radius: var(--cbr-r); }
.wp-block-image.is-style-rounded img { border-radius: var(--cbr-r-lg); }
figcaption {
    font-size: var(--cbr-small);
    color: var(--cbr-muted);
    margin-top: .6rem;
    text-align: center;
}

/* ============================================================
   CONTACT FORM  (core wp:html)
   ============================================================ */
.cbr-form { display: grid; gap: 1.15rem; }
.cbr-form > div { display: grid; }
.cbr-form label {
    font-family: var(--cbr-font-body);
    font-weight: 650;
    margin-bottom: .45rem;
    color: var(--cbr-heading);
    font-size: .92rem;
}
.cbr-form input,
.cbr-form textarea,
.cbr-form select {
    width: 100%;
    padding: .95rem 1.05rem;
    border: 1.5px solid var(--cbr-border);
    border-radius: var(--cbr-r-sm);
    font: inherit;
    font-size: 1rem;
    color: var(--cbr-heading);
    background: #fff;
    transition: border-color var(--cbr-dur) var(--cbr-ease), box-shadow var(--cbr-dur) var(--cbr-ease);
}
.cbr-form input:focus,
.cbr-form textarea:focus,
.cbr-form select:focus {
    outline: none;
    border-color: var(--cbr-accent);
    box-shadow: 0 0 0 3px rgba(246, 25, 39, .13);
}
.cbr-form input:user-invalid,
.cbr-form textarea:user-invalid {
    border-color: var(--cbr-accent-dark);
}
.cbr-form textarea { min-height: 150px; resize: vertical; }
.cbr-form button {
    justify-self: start;
    background: var(--cbr-accent);
    color: #fff;
    border: 0;
    padding: 1.1rem 2.1rem;
    border-radius: var(--cbr-r-sm);
    font-family: var(--cbr-font-body);
    font-weight: 650;
    font-size: 1rem;
    cursor: pointer;
    box-shadow: var(--cbr-shadow-accent);
    transition: transform var(--cbr-dur) var(--cbr-ease), background-color var(--cbr-dur) var(--cbr-ease), box-shadow var(--cbr-dur) var(--cbr-ease);
}
.cbr-form button:hover { background: var(--cbr-accent-hover); transform: translateY(-2px); box-shadow: 0 16px 32px rgba(246, 25, 39, .3); }
.cbr-form-notice {
    padding: 1rem 1.25rem;
    border-radius: var(--cbr-r-sm);
    margin-bottom: 1.35rem;
    font-weight: 600;
    border: 1px solid transparent;
}
.cbr-form-notice.is-ok  { background: #e9f7ee; color: #14532d; border-color: #b7e4c7; }
.cbr-form-notice.is-err { background: #fdecec; color: #7f1d1d; border-color: #f5c2c2; }

.cbr-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.15rem; }
@media (max-width: 560px) { .cbr-form-row { grid-template-columns: 1fr; } }

.cbr-map { border-radius: var(--cbr-r); overflow: hidden; border: 1px solid var(--cbr-border); box-shadow: var(--cbr-shadow-xs); }
.cbr-map iframe { display: block; }

/* ============================================================
   404
   ============================================================ */
.cbr-404 { max-width: var(--cbr-content); margin: 0 auto; padding: clamp(4.5rem, 9vw, 8rem) var(--cbr-gutter); text-align: center; }
.cbr-404 h1 { margin-bottom: .3em; }
.cbr-404 .cbr-btn { margin: .3rem; }

/* ============================================================
   SCROLL REVEAL  (progressive enhancement)
   ============================================================ */
.cbr-js .cbr-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .65s var(--cbr-ease), transform .65s var(--cbr-ease);
}
.cbr-js .cbr-reveal.is-in { opacity: 1; transform: none; }
.cbr-js .cbr-reveal-stagger > * {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .55s var(--cbr-ease), transform .55s var(--cbr-ease);
}
.cbr-js .cbr-reveal-stagger.is-in > * { opacity: 1; transform: none; }
.cbr-js .cbr-reveal-stagger.is-in > *:nth-child(2) { transition-delay: .07s; }
.cbr-js .cbr-reveal-stagger.is-in > *:nth-child(3) { transition-delay: .14s; }
.cbr-js .cbr-reveal-stagger.is-in > *:nth-child(4) { transition-delay: .21s; }
.cbr-js .cbr-reveal-stagger.is-in > *:nth-child(5) { transition-delay: .28s; }
.cbr-js .cbr-reveal-stagger.is-in > *:nth-child(6) { transition-delay: .35s; }
@media (prefers-reduced-motion: reduce) {
    .cbr-js .cbr-reveal,
    .cbr-js .cbr-reveal-stagger > * { opacity: 1 !important; transform: none !important; }
}

/* ============================================================
   RESPONSIVE BASE
   ============================================================ */
@media (max-width: 900px) {
    .wp-block-columns { flex-wrap: wrap !important; gap: 1.15rem; }
    .wp-block-column { flex-basis: 100% !important; }
}
@media (max-width: 600px) {
    body { font-size: 1rem; }
    .wp-block-buttons {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }
    .wp-block-button { width: 100%; }
    .wp-block-button__link, .cbr-btn { width: 100%; }
    .cbr-cta-band__buttons { flex-direction: column; }
}
