/*
 * Premier Designs 702 — Sitewide Homepage-Matched Design System (DRAFT)
 * Scope: WordPress public pages only. The homepage is the design reference.
 * Visual-only. Never style wp-admin, external checkout embeds or plugin state.
 *
 * Brand palette from approved homepage direction:
 *   black #111217 | purple #a55fe5 / #7441d6 | cyan #4ce6f2 | white #fff
 * Remainder are tonal shades for contrast/accessibility, not new brand colors.
 */
body.page:not(.home){
  --pd702-black:#111217;--pd702-ink:#171722;--pd702-panel:#181925;
  --pd702-purple:#a55fe5;--pd702-purple-deep:#7441d6;
  --pd702-cyan:#4ce6f2;--pd702-white:#fff;
  --pd702-muted:#d9deed;--pd702-surface:#f7f7fc;
  --pd702-border:rgba(165,95,229,.24);
  --pd702-shadow:0 16px 42px rgba(17,18,23,.12);
  --pd702-radius:20px;--pd702-radius-sm:12px;
  --pd702-width:1180px;--pd702-content-width:820px;
  --pd702-space:clamp(36px,5vw,82px);
}
body.page:not(.home) #main-content{min-width:0;overflow-x:clip}
body.page:not(.home) #main-content :where(.vc_column_container,.vc_column-inner,.wpb_wrapper,.wpb-content-wrapper){min-width:0;box-sizing:border-box}
body.page:not(.home) #main-content :where(img,video,iframe){max-width:100%}
body.page:not(.home) #main-content img{height:auto}
body.page:not(.home) #main-content :where(p,li){overflow-wrap:break-word}
body.page:not(.home) #main-content :where(.wpb_text_column p,.entry-content p){line-height:1.75}
body.page:not(.home) #main-content :where(h2,h3){text-wrap:balance;overflow-wrap:break-word}
body.page:not(.home) #main-content :where(.wpb_text_column h2,.entry-content h2){
  font-size:clamp(28px,2.8vw,42px);line-height:1.19;letter-spacing:-.028em;
}
body.page:not(.home) #main-content :where(.wpb_text_column h3,.entry-content h3){
  font-size:clamp(20px,2.1vw,28px);line-height:1.3;letter-spacing:-.018em;
}
/* Unified internal-page hero: matching the homepage's black/cyan/purple language. */
body.page:not(.home) #main-content .page-primary-header{
 background:linear-gradient(108deg,var(--pd702-black) 10%,#231539 73%,#33205a)!important;
 padding:clamp(33px,5vw,66px) 24px!important;
 margin:0!important;border:0!important;box-sizing:border-box!important;
 text-align:center!important;position:relative;isolation:isolate;
}
body.page:not(.home) #main-content .page-primary-header:after{
 content:"";position:absolute;left:50%;bottom:0;width:min(130px,35vw);
 height:4px;border-radius:99px;transform:translateX(-50%);
 background:var(--pd702-cyan);
}
body.page:not(.home) #main-content .page-primary-header .page-title,
body.page:not(.home) #main-content .page-primary-header .page-title *,
body.page:not(.home) #main-content .page-title-container .page-title{
 color:var(--pd702-white)!important;border:0!important;box-shadow:none!important;
 background:none!important;text-transform:none!important;text-shadow:none!important;
 font-size:clamp(27px,3.15vw,48px)!important;font-weight:800!important;
 line-height:1.15!important;letter-spacing:-.038em!important;
}
body.page:not(.home) #main-content .page-primary-header .page-title{
 margin:0 auto!important;padding:0!important;max-width:1050px;width:100%!important;
 white-space:normal!important;text-wrap:balance!important;
}
body.page:not(.home) #main-content .page-primary-header .page-title:before,
body.page:not(.home) #main-content .page-primary-header .page-title:after{content:none!important}

/* Center and balance ordinary rows; preserve WPBakery full-width background rows. */
body.page:not(.home) #main-content .wpb-content-wrapper>.vc_row:not(.vc_row-has-fill):not([data-vc-full-width]),
body.page:not(.home) #main-content .wpb-content-wrapper>.vc_section>.vc_row:not(.vc_row-has-fill):not([data-vc-full-width]){
 box-sizing:border-box;max-width:var(--pd702-width);width:100%;
 margin-inline:auto;padding-inline:clamp(16px,3vw,34px);
}
body.page:not(.home) #main-content :where(.vc_row,.vc_row-fluid)>.vc_column_container{min-width:0}
body.page:not(.home) #main-content :where(.wpb_single_image,.wpb_gallery){max-width:100%}
body.page:not(.home) #main-content :where(.wpb_single_image img,.vc_single_image-img){
 border-radius:var(--pd702-radius-sm);
}
/* Consistent brand-styled components across otherwise distinct page layouts. */
body.page:not(.home) #main-content :where(.pd-contact-card,.pd702-card,.pd-service-card,.service-card,.pricing-card,.plan-card,.feature-card){
 box-sizing:border-box;border:1px solid var(--pd702-border)!important;
 border-radius:var(--pd702-radius)!important;background:var(--pd702-panel)!important;
 box-shadow:var(--pd702-shadow);
}
body.page:not(.home) #main-content :where(.pd-contact-card,.pd702-card,.pd-service-card,.service-card,.pricing-card,.plan-card,.feature-card) :where(h2,h3,h4){
 color:var(--pd702-white)!important;
}
body.page:not(.home) #main-content :where(.pd-contact-card,.pd702-card,.pd-service-card,.service-card,.pricing-card,.plan-card,.feature-card) :where(p,li,small){
 color:var(--pd702-muted)!important;
}
body.page:not(.home) #main-content :where(.pd-contact-card,.pd702-card,.pd-service-card,.service-card,.pricing-card,.plan-card,.feature-card) a:not(.pd-contact-btn){
 color:var(--pd702-cyan)!important;
}
body.page:not(.home) #main-content :where(.pd-contact-card,.pd702-card,.pd-service-card,.service-card,.pricing-card,.plan-card,.feature-card):hover{
 border-color:rgba(76,230,242,.5)!important;box-shadow:0 20px 50px rgba(17,18,23,.18);
}
/* Common CTA language: cyan primary actions and purple secondary buttons. */
body.page:not(.home) #main-content :where(.pd-contact-btn,.pd702-action-button,.pd702-74-btn--primary,.vc_btn3-color-turquoise,.vc_btn3-color-info){
 display:inline-flex;align-items:center;justify-content:center;
 border-radius:999px!important;min-height:44px;padding:11px 20px!important;
 background:var(--pd702-cyan)!important;border:1px solid var(--pd702-cyan)!important;
 color:var(--pd702-black)!important;font-weight:800!important;
 text-decoration:none!important;line-height:1.25!important;
 transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}
body.page:not(.home) #main-content :where(.pd-contact-btn,.pd702-action-button,.pd702-74-btn--primary,.vc_btn3-color-turquoise,.vc_btn3-color-info):hover{
 transform:translateY(-2px);box-shadow:0 10px 26px rgba(76,230,242,.18);
}
body.page:not(.home) #main-content a:focus-visible,
body.page:not(.home) #main-content button:focus-visible,
body.page:not(.home) #main-content input:focus-visible,
body.page:not(.home) #main-content select:focus-visible,
body.page:not(.home) #main-content textarea:focus-visible{
 outline:3px solid var(--pd702-cyan)!important;outline-offset:3px!important;
}
/* Responsive tables: black / purple header, white rows, cyan focus / links. */
body.page:not(.home) #main-content :where(.entry-content,.wpb_text_column) table:not(.iwq-table):not(.shop_table){
 width:100%;max-width:100%;border:1px solid var(--pd702-border)!important;
 border-collapse:separate;border-spacing:0;border-radius:var(--pd702-radius-sm);
 background:var(--pd702-white);box-shadow:0 8px 26px rgba(17,18,23,.07);
 overflow:hidden;
}
body.page:not(.home) #main-content :where(.entry-content,.wpb_text_column) table:not(.iwq-table):not(.shop_table) th{
 background:linear-gradient(120deg,var(--pd702-black),#3d2160)!important;
 color:var(--pd702-white)!important;font-weight:800!important;
 padding:13px 16px!important;text-align:left;border:0!important;
}
body.page:not(.home) #main-content :where(.entry-content,.wpb_text_column) table:not(.iwq-table):not(.shop_table) td{
 color:var(--pd702-ink);background:#fff;padding:13px 16px!important;
 border-bottom:1px solid #eae6f0!important;vertical-align:top;
}
body.page:not(.home) #main-content :where(.entry-content,.wpb_text_column) table:not(.iwq-table):not(.shop_table) tr:nth-child(even) td{background:var(--pd702-surface)}
body.page:not(.home) #main-content :where(.entry-content,.wpb_text_column) table:not(.iwq-table):not(.shop_table) a{color:var(--pd702-purple-deep)!important}

/* Shared contact & callback form surface. Avoid overriding quote pricing logic and CRM portal. */
body.page:not(.home) #main-content :where(.pd702-callback-card,.pd702-leadform,.wpcf7-form){
 box-sizing:border-box;background:linear-gradient(145deg,#121319,#21182e)!important;
 border:1px solid rgba(165,95,229,.4)!important;border-radius:var(--pd702-radius)!important;
 color:var(--pd702-white)!important;box-shadow:0 18px 38px rgba(17,18,23,.2);
}
body.page:not(.home) #main-content :where(.pd702-callback-card,.pd702-leadform,.wpcf7-form) :where(label,h2,h3,h4){
 color:var(--pd702-white)!important;
}
body.page:not(.home) #main-content :where(.pd702-callback-form,.wpcf7-form,.pd702-leadform) :where(input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea){
 background:#272833!important;border:1px solid #595066!important;
 color:var(--pd702-white)!important;border-radius:10px!important;
 box-sizing:border-box;min-height:45px;max-width:100%;
}
body.page:not(.home) #main-content :where(.pd702-callback-form,.wpcf7-form,.pd702-leadform) :where(input,textarea)::placeholder{color:#cbccde;opacity:1}
body.page:not(.home) #main-content :where(.pd702-callback-form,.wpcf7-form,.pd702-leadform) :where(button[type=submit],input[type=submit],.pd702-action-button){
 min-height:45px;background:var(--pd702-cyan)!important;color:var(--pd702-black)!important;
 border:1px solid var(--pd702-cyan)!important;border-radius:999px!important;
 font-weight:800!important;padding:11px 20px!important;
}
/* #705: single centered, intentional form composition. */
body.page-id-705 #main-content .pd-contact-form-area{
 width:min(100%,1000px)!important;margin-inline:auto!important;
 border-radius:var(--pd702-radius)!important;
}
body.page-id-705 #main-content .pd-contact-options{gap:clamp(14px,2vw,22px)!important;align-items:stretch}
body.page-id-705 #main-content .pd-contact-card{min-height:100%}
body.page-id-705 #main-content .pd702-callback-card{max-width:900px;margin-inline:auto!important}
body.page-id-705 #main-content .pd-contact-form-area .pd702-callback-form{max-width:100%}
body.page-id-764 #main-content :where(.wpb_text_column,.wpb_single_image){min-width:0}
body.page-id-77 #main-content .wpb_text_column> .wpb_wrapper{max-width:100%}
/* Content groups have distinct choreography and composition, one system. */
body.page:not(.home) #main-content :where(.vc_separator,.wpb_separator){border-color:var(--pd702-border)}
body.page:not(.home) #main-content :where(.vc_tta-panel-heading,.vc_tta-accordion .vc_tta-panel-heading){
 border-radius:var(--pd702-radius-sm)!important;
}
body.page:not(.home) #main-content :where(.vc_tta-panel-title,.vc_toggle_title) a{color:var(--pd702-purple-deep)}
/* Soft, optional, JS-enhanced section reveal on non-P0 pages; never blank content by default. */
@media(prefers-reduced-motion:no-preference){
 body.page:not(.home).pd702-site-reveal-ready :is([data-pd702-site-reveal]):not(.pd702-site-visible){
  opacity:0;transform:translateY(15px);
 }
 body.page:not(.home) [data-pd702-site-reveal]{
  transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1);
 }
}
@media(max-width:767px){
 body.page:not(.home) #main-content .page-primary-header{padding:32px 16px!important}
 body.page:not(.home) #main-content :where(.vc_row,.vc_row-fluid)>.vc_column_container{min-width:0}
 body.page:not(.home) #main-content .entry-content table:not(.shop_table){font-size:14px}
 body.page:not(.home) #main-content :where(.pd-contact-card,.pd702-card,.pd-service-card,.service-card,.pricing-card,.plan-card,.feature-card){border-radius:16px!important}
}
@media(prefers-reduced-motion:reduce){
 body.page:not(.home) #main-content *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
 body.page:not(.home) [data-pd702-site-reveal]{opacity:1!important;transform:none!important}
}
