/* Canada Create — universal brand layer (2026-09-23, per Amir).
 * Loaded on every page EXCEPT single blog posts (those get cc-blog.css).
 * Rules: 1) no rounded corners anywhere — cards, buttons, fields, images,
 * thumbnails, tables, badges, nav; 2) cards never carry a top bar, hover =
 * a thin brand-red outline; 3) CTAs on service pages are full-bleed bands,
 * never boxes; 4) card sections sit on navy (or a parallax photo) with
 * translucent cards; 5) the hero form is dark like the contact page.
 * Blog posts keep their own boxed/rounded look (right sidebar layout). */

/* 1. Square everything ------------------------------------------------- */
body:not(.single-post) :is(
  .cc-btn,.cc-svc-cta,.elementor-button,.elementor-button-link,.button,.wp-block-button__link,
  .cc-svc-card,.cc-svc-price,.cc-svc-work__item,.cc-svc-work__item img,.cc-svc-form,.cc-svc-lead__card,
  .cc-svc-faq__item,.cc-svc-related__list a,.cc-svc-checks li,.cc-svc-inline-cta,.cc-svc-callout,
  .cc-svc-prose .cc-svc-grid>div,.cc-svc-prose img,.cc-svc-prose figure,.cc-svc-hero__media img,
  .cc-table-wrap,.cc-table-3d,.cc-block,.cc-table-cta,.cc-gbadge,.cc-svc-lead__eyebrow,.cc-svc-proposal img,
  .gform_wrapper input:not([type=checkbox]):not([type=radio]),.gform_wrapper textarea,.gform_wrapper select,
  .gform_wrapper .gform_footer input[type=submit],.gform_wrapper .gform_footer button,
  .elementor-field,.elementor-field-group input,.elementor-field-group textarea,.elementor-field-group select,
  .elementor-widget-image img,.elementor-widget-image .elementor-widget-container,
  .elementor-post,.elementor-post__card,.elementor-post__thumbnail,.elementor-post__thumbnail img,.elementor-post__thumbnail__link,
  .elementor-portfolio-item,.elementor-portfolio-item__img,.elementor-portfolio-item__img img,.elementor-gallery-item,.elementor-gallery-item__image,
  .elementor-icon-box-wrapper,.elementor-image-box-img img,.elementor-testimonial-wrapper,.elementor-cta,.elementor-cta__bg-wrapper,
  .elementor-nav-menu a,.elementor-nav-menu--dropdown,.menu-item a,.cc-nav-cta,.cc-header-cta,
  .cc-card,.cc-cmp-card,.cc-cta,.cc-box,.cc-panel,.cc-svc-strip__badge
){border-radius:0!important}
body:not(.single-post) .ti-widget .ti-inner,body:not(.single-post) .ti-widget .ti-review-item{border-radius:0!important}

/* 2. Cards: no top bars, thin red outline on hover ----------------------- */
body:not(.single-post) :is(.cc-svc-card,.cc-svc-cards--why .cc-svc-card,.cc-svc-price,.cc-svc-work__item,.cc-svc-related__list a,.cc-svc-checks li,.cc-svc-faq__item,.cc-svc-prose .cc-svc-grid>div){border-width:1px;border-style:solid;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
body:not(.single-post) :is(.cc-svc-card,.cc-svc-price,.cc-svc-work__item,.cc-svc-related__list a,.cc-svc-checks li,.cc-svc-prose .cc-svc-grid>div):hover,
body:not(.single-post) .cc-svc-faq__item[open],body:not(.single-post) .cc-svc-faq__item:hover{border-color:var(--cc-red,#e31507)!important}

/* 3. Service-page CTAs are full-bleed bands, never boxes ---------------- */
body.cc-service-v2 .cc-svc-prose .cc-svc-inline-cta{width:auto;max-width:none;margin:clamp(40px,5vw,64px) calc(50% - 50vw);padding:clamp(44px,5vw,64px) max(var(--cc-content-gutter,32px),calc(50vw - 570px));box-sizing:border-box;background:var(--cc-grad-dark,linear-gradient(135deg,#050f1f 0%,#071b38 60%,#0e2c55 100%))}
body.cc-service-v2 .cc-svc-prose .cc-svc-inline-cta__copy p:first-child{font-size:clamp(22px,2vw,28px);line-height:1.25}
body.cc-service-v2 .cc-svc-prose .cc-svc-inline-cta__copy p+p{font-size:17px;max-width:60ch}
@media(max-width:767px){body.cc-service-v2 .cc-svc-prose .cc-svc-inline-cta{padding:40px var(--cc-content-gutter,16px)}}

/* 4. Section backgrounds: navy or parallax photo, translucent cards ------ */
.cc-svc-band--navy,.cc-svc-band--img{color:#fff;background:var(--cc-grad-dark,linear-gradient(135deg,#050f1f 0%,#071b38 60%,#0e2c55 100%))}
.cc-svc-band--img{overflow:hidden}
.cc-svc-band--img::before{content:"";position:absolute;inset:-12% 0;background:var(--cc-svc-bg) center/cover no-repeat;z-index:0;transform:translate3d(0,var(--py,0px),0);will-change:transform}
.cc-svc-band--img::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(4,0,42,.82) 0%,rgba(7,27,56,.7) 55%,rgba(7,27,56,.6) 100%);z-index:0}
:is(.cc-svc-band--navy,.cc-svc-band--img) .cc-svc-inner{position:relative;z-index:1}
body[class] :is(.cc-svc-band--navy,.cc-svc-band--img) :is(h2,h3,.cc-svc-head h2,.cc-svc-faq__title,.cc-svc-card h3,.cc-svc-work__item h3,.cc-svc-checks strong,.cc-svc-related__list strong,.cc-svc-faq__item summary){color:#fff!important}
:is(.cc-svc-band--navy,.cc-svc-band--img) :is(.cc-svc-head__intro,.cc-svc-card p,.cc-svc-work__item p,.cc-svc-checks span,.cc-svc-related__list span,.cc-svc-faq__a,.cc-svc-reviews__link){color:#d7e3f4}
:is(.cc-svc-band--navy,.cc-svc-band--img) .cc-svc-eyebrow{color:#ffb3ab}
:is(.cc-svc-band--navy,.cc-svc-band--img) :is(.cc-svc-card,.cc-svc-work__item,.cc-svc-checks li,.cc-svc-related__list a,.cc-svc-faq__item){background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none;color:#fff}
:is(.cc-svc-band--navy,.cc-svc-band--img) .cc-svc-work__item>div{background:transparent}
:is(.cc-svc-band--navy,.cc-svc-band--img) .cc-svc-work__client{color:#ff8a7c}
:is(.cc-svc-band--navy,.cc-svc-band--img) .cc-svc-faq__item summary:hover{color:#ffb3ab}
:is(.cc-svc-band--navy,.cc-svc-band--img) .cc-svc-faq__a a,:is(.cc-svc-band--navy,.cc-svc-band--img) .cc-svc-reviews__link a{color:#ff8a7c}
:is(.cc-svc-band--navy,.cc-svc-band--img) .cc-svc-checks li::before{background:var(--cc-grad-cta,#e31507)}
/* the pricing band never changes: same navy gradient, same cards, now square */
.cc-svc-pricing{background:var(--cc-grad-dark,linear-gradient(135deg,#050f1f 0%,#071b38 60%,#0e2c55 100%))}
.cc-svc-pricing .cc-svc-inner{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.cc-svc-band--img::before{transform:none}}
/* constellation canvas (cc-constellation.js) sits under the content on the home hero */
body.home .elementor-element-3a7ebf5>.e-con-inner{position:relative;z-index:2}

/* 5. Hero form: dark card, dark fields (contact-page values) ------------- */
body[class] .cc-svc-form{background:#06172f;color:#fff;border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 48px rgba(0,0,0,.35)}
body[class] .cc-svc-form .cc-svc-form__title{color:#fff}
body[class] .cc-svc-form .cc-svc-form__text{color:#d7e3f4}
body[class] .cc-svc-form .gform_wrapper .gfield_label{color:#d7e3f4!important}
body[class] .cc-svc-form .gform_wrapper input:not([type=submit]),body[class] .cc-svc-form .gform_wrapper textarea,body[class] .cc-svc-form .gform_wrapper select{background:#0b2344!important;border:1px solid rgba(255,255,255,.32)!important;color:#fff!important}
body[class] .cc-svc-form .gform_wrapper input::placeholder,body[class] .cc-svc-form .gform_wrapper textarea::placeholder{color:rgba(255,255,255,.85)}
body[class] .cc-svc-form .gform_wrapper input:focus,body[class] .cc-svc-form .gform_wrapper textarea:focus,body[class] .cc-svc-form .gform_wrapper select:focus{border-color:var(--cc-red,#e31507)!important;box-shadow:0 0 0 3px rgba(227,21,7,.25)!important}
body[class] .cc-svc-form .gform_wrapper .gfield_description,body[class] .cc-svc-form .gform_wrapper .ginput_counter{color:#9fb3cc!important}
body[class] .cc-svc-form .cc-svc-form__privacy{color:#9fb3cc!important}
body[class] .cc-svc-form .gform_wrapper .gform_footer input[type=submit],body[class] .cc-svc-form .gform_wrapper .gform_footer button{background:var(--cc-red,#e31507)!important;box-shadow:none!important;font-weight:800!important}

/* 6. Google reviews: a 3 × 2 grid of the six newest, one column on phones -- */
.cc-svc-reviews .ti-widget .ti-controls,.cc-svc-reviews .ti-widget .ti-next,.cc-svc-reviews .ti-widget .ti-prev{display:none!important}
.cc-svc-reviews .ti-widget .ti-reviews-container{overflow:visible!important;height:auto!important}
.cc-svc-reviews .ti-widget .ti-reviews-container-wrapper{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;transform:none!important;width:auto!important;height:auto!important;position:static!important}
.cc-svc-reviews .ti-widget .ti-review-item{width:auto!important;max-width:none!important;margin:0!important;padding:0!important;transform:none!important;position:static!important;height:auto!important;display:block!important}
.cc-svc-reviews .ti-widget .ti-review-item:nth-child(n+7){display:none!important}
.cc-svc-reviews .ti-widget .ti-inner{height:100%;box-sizing:border-box;border:1px solid rgba(7,27,56,.1);transition:border-color .18s ease}
.cc-svc-reviews .ti-widget .ti-review-item:hover .ti-inner{border-color:var(--cc-red,#e31507)}
@media(max-width:1024px){.cc-svc-reviews .ti-widget .ti-reviews-container-wrapper{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:767px){.cc-svc-reviews .ti-widget .ti-reviews-container-wrapper{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}}
/* the footer copy of the same widget is redundant on service pages */
body.cc-service-v2 .elementor-location-footer .elementor-element-6c2d3c4{display:none!important}

/* 7. Flip-flop rules (2026-09-23, per Amir) ------------------------------- */
/* what's included: navy band, WHITE cards inside */
body[class] .cc-svc-included .cc-svc-checks li{background:#fff;border-color:rgba(7,27,56,.1);color:var(--cc-midnight,#071b38)}
body[class] .cc-svc-included .cc-svc-checks strong{color:var(--cc-midnight,#071b38)!important}
body[class] .cc-svc-included .cc-svc-checks span{color:var(--cc-slate,#545454)}
/* the feature-card band cut out of the prose: navy, white type, translucent cards */
body[class] .cc-svc-features .cc-svc-prose :is(h2,h3){color:#fff!important}
body[class] .cc-svc-features .cc-svc-prose :is(p,li){color:#d7e3f4}
body[class] .cc-svc-features .cc-svc-prose a{color:#ff8a7c}
body[class] .cc-svc-features .cc-svc-prose h2{margin-top:0}
body[class] .cc-svc-features .cc-svc-prose .cc-svc-grid>div{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none}
body[class] .cc-svc-features .cc-svc-prose .cc-svc-grid p{color:#d7e3f4}
body[class] .cc-svc-features .cc-svc-prose>:last-child{margin-bottom:0}
/* industries × cities: one 12-track grid, spans chosen by item count so no row is ever short
   3/6/9 → 3 per row · 4/8 → 4 per row · 5 → 3 + 2 · 7 → 3 + 2 + 2 · 2 → 2 · 1 → full */
body[class] .cc-svc-related__list{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
body[class] .cc-svc-related__list>li{grid-column:span 4;min-width:0}
body[class] .cc-svc-related__list:has(>li:nth-child(4n):last-child)>li{grid-column:span 3}
body[class] .cc-svc-related__list:has(>li:nth-child(2):last-child)>li{grid-column:span 6}
body[class] .cc-svc-related__list:has(>li:first-child:last-child)>li{grid-column:span 12}
body[class] .cc-svc-related__list:has(>li:nth-child(5):last-child)>li:nth-last-child(-n+2){grid-column:span 6}
body[class] .cc-svc-related__list:has(>li:nth-child(7):last-child)>li:nth-last-child(-n+4){grid-column:span 6}
body[class] .cc-svc-related__list li>div,body[class] .cc-svc-related__list li>a{display:flex;flex-direction:column;gap:6px;height:100%;box-sizing:border-box;padding:18px 20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff;text-decoration:none;transition:border-color .18s ease}
body[class] .cc-svc-related__list li>div:hover,body[class] .cc-svc-related__list li>a:hover{border-color:var(--cc-red,#e31507)}
body[class] .cc-svc-related__list--industries strong{font-size:18px}
body[class] .cc-svc-related__list--industries span{font-size:15px;line-height:1.5}
body[class] .cc-svc-related__list--industries span p{margin:0 0 8px;color:#d7e3f4;font-size:15px}
body[class] .cc-svc-related__list--industries span p:last-child{margin:0}
body[class] .cc-svc-related__list--industries span a{display:inline!important;padding:0!important;border:0!important;background:none!important;box-shadow:none;color:#ff8a7c!important;text-decoration:underline;text-underline-offset:3px;font:inherit}
body[class] .cc-svc-related__list--industries span a:hover{color:#fff!important}
body[class] .cc-svc-related__sub{margin:36px 0 14px;color:#fff;font-size:22px;text-align:center}
@media(max-width:1024px){
  body[class] .cc-svc-related__list>li,body[class] .cc-svc-related__list:has(>li:nth-child(4n):last-child)>li{grid-column:span 6}
  body[class] .cc-svc-related__list:has(>li:nth-child(odd):last-child)>li:last-child{grid-column:span 12}
}
@media(max-width:767px){body[class] .cc-svc-related__list>li,body[class] .cc-svc-related__list li{grid-column:1/-1!important}}
/* FAQ: one open at a time (cc-constellation.js), glow like the hero */
.cc-svc-faq .cc-svc-glow__fx{z-index:0}
