/* CC Waterproofing — Chemicals4Construction matched visual system, 07 Oct 2026.
   Additive only: no routes, PHP logic, DB queries or form names changed. */
:root{
 --cc-navy:#073b61;--cc-navy-deep:#052c49;--cc-blue:#0d668f;--cc-cyan:#0c83b8;
 --cc-orange:#f36b2b;--cc-orange-dark:#d9551b;--cc-ink:#132f43;--cc-text:#385365;
 --cc-muted:#718695;--cc-line:#dce6ec;--cc-soft:#f4f7f9;--cc-pale:#eef5f8;--cc-white:#fff;
 --cc-shadow:0 12px 32px rgba(5,44,73,.08);--cc-shadow-lg:0 22px 60px rgba(5,44,73,.13);
 --cc-radius:10px;--cc-radius-lg:16px
}
html{scroll-behavior:smooth}body{background:#fff;color:var(--cc-ink);font-family:Inter,Arial,sans-serif;line-height:1.55}
a{transition:color .18s,background-color .18s,border-color .18s,transform .18s,box-shadow .18s}
.container,.uc-wrap{width:min(1380px,calc(100% - 40px));max-width:1380px;margin-left:auto;margin-right:auto}
.utility{background:var(--cc-navy-deep)!important;border:0!important}.utility .container>div:first-child{text-transform:uppercase;letter-spacing:.75px;color:#dceaf2}.utility-links a{border-radius:4px!important;text-transform:uppercase;letter-spacing:.35px}
header.top{background:#fff!important;border-bottom:1px solid var(--cc-line)!important;box-shadow:0 5px 18px rgba(5,44,73,.055)!important}
header.top .nav{min-height:72px!important}.service-brand{border-left:2px solid var(--cc-orange)!important}.service-brand small{color:var(--cc-orange)!important}.service-brand strong{color:var(--cc-navy)!important;text-transform:uppercase;letter-spacing:.2px}
header.top .primary-nav>a{border-radius:4px!important;text-transform:uppercase;letter-spacing:.15px;color:#28495f!important}header.top .primary-nav>a:hover{background:var(--cc-pale)!important;color:var(--cc-navy)!important}
header.top .primary-nav .btn.orange{border-radius:4px!important;background:var(--cc-orange)!important;box-shadow:none!important}.mobile-nav-toggle{border-radius:5px!important}
.member-subnav-wrap{background:var(--cc-navy)!important;border-top:3px solid var(--cc-orange)!important}.member-subnav-label:before{border-radius:3px!important}.member-subnav a{border-radius:4px!important}
.admin-nav-wrap{background:var(--cc-navy-deep)!important}.admin-nav-label,.admin-nav a{border-radius:3px!important}
main.container{padding-top:30px;padding-bottom:42px}
/* Typography */
h1,h2,h3,.page-head h1,.hero h1,.uc-hero h1,.cc-footer-brand strong{font-family:'Barlow Condensed','Arial Narrow',Inter,sans-serif}h1,.page-head h1{font-size:clamp(36px,4.3vw,62px);line-height:.98;letter-spacing:.1px;text-transform:uppercase;color:var(--cc-navy)!important}h2{font-size:clamp(28px,3vw,42px);line-height:1.05;text-transform:uppercase;letter-spacing:.15px}h3{letter-spacing:.05px}.eyebrow,.uc-kicker{font-family:Inter,Arial,sans-serif!important;color:var(--cc-orange)!important;font-size:11px!important;font-weight:800!important;letter-spacing:1.45px!important;text-transform:uppercase!important}
/* Buttons */
.btn,.button,button[type=submit],input[type=submit],.uc-btn{border-radius:4px!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.35px;box-shadow:none!important}.btn:hover,.button:hover,button[type=submit]:hover,input[type=submit]:hover,.uc-btn:hover{transform:translateY(-1px)}.btn,.uc-btn-primary{background:var(--cc-navy)!important;border-color:var(--cc-navy)!important;color:#fff!important}.btn:hover,.uc-btn-primary:hover{background:var(--cc-navy-deep)!important;border-color:var(--cc-navy-deep)!important}.btn.orange{background:var(--cc-orange)!important;border-color:var(--cc-orange)!important}.btn.orange:hover{background:var(--cc-orange-dark)!important}.btn.secondary,.uc-btn-outline{background:#fff!important;color:var(--cc-navy)!important;border:1px solid #bfcfd9!important}
/* Hero and page intros */
.hero{position:relative;overflow:hidden;border-radius:0!important;border:1px solid var(--cc-line)!important;border-left:4px solid var(--cc-orange)!important;background-color:#f7fafb!important;background-image:linear-gradient(rgba(7,59,97,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(7,59,97,.035) 1px,transparent 1px)!important;background-size:24px 24px!important;box-shadow:none!important}.hero:after{content:"CC / WATERPROOFING";position:absolute;right:20px;top:16px;color:rgba(7,59,97,.09);font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:42px;font-weight:700;letter-spacing:1px;pointer-events:none}.hero h1{color:var(--cc-navy)!important}.hero-card{border-radius:6px!important;border-top:3px solid var(--cc-orange)!important;box-shadow:var(--cc-shadow)!important}.page-head{padding:20px 0 16px;border-bottom:1px solid var(--cc-line)}
/* Cards / catalogue / vendors / dashboards */
.card,.panel,.stat,.kpi,.tile,.service-card,.vendor-card,.catalog-card,.catalog-master{border:1px solid var(--cc-line)!important;border-radius:6px!important;background:#fff;box-shadow:none!important}.card:hover,.service-card:hover,.vendor-card:hover,.catalog-card:hover{border-color:#b9ccd8!important;box-shadow:var(--cc-shadow)!important;transform:translateY(-2px)}.catalog-card{position:relative;overflow:hidden}.catalog-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--cc-cyan)}.catalog-icon{border-radius:4px!important;background:var(--cc-navy)!important}.taxonomy-chip,.badge{border-radius:3px!important}.grid,.grid3,.grid4,.catalog-grid{gap:16px!important}.section{margin-top:48px!important}.section>h2:first-child{padding-bottom:10px;border-bottom:1px solid var(--cc-line)}
/* Forms */
.field label{font-size:12px!important;text-transform:uppercase;letter-spacing:.4px;color:#365267!important}input:not([type=checkbox]):not([type=radio]),select,textarea,.field input,.field select,.field textarea{border-radius:4px!important;border:1px solid #cbd9e2!important;background:#fff!important;min-height:44px}input:focus,select:focus,textarea:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cc-cyan)!important;box-shadow:0 0 0 3px rgba(12,131,184,.1)!important}.form-card{border-top:3px solid var(--cc-navy)!important}
/* Tables */
.table-wrap{border:1px solid var(--cc-line);border-radius:6px;background:#fff}.table th,th{background:var(--cc-pale)!important;color:var(--cc-navy)!important;font-size:11px!important;letter-spacing:.45px;text-transform:uppercase}.table td,.table th,td,th{border-bottom:1px solid #e6edf1!important}.table tbody tr:hover td{background:#fbfdfe}
/* Homepage UC layer remapped to CC */
.uc-hero:before{background-color:#f5f8fa!important;background-image:linear-gradient(rgba(7,59,97,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(7,59,97,.04) 1px,transparent 1px)!important;background-size:24px 24px!important}.uc-hero h1{color:var(--cc-navy)!important}.uc-hero h1 span{color:var(--cc-cyan)!important}.uc-hero-visual>img{border-radius:5px!important;box-shadow:var(--cc-shadow-lg)!important}.uc-hero-visual:before{border-color:var(--cc-orange)!important}.uc-service-card,.uc-card,.uc-step,.uc-promo{border-radius:6px!important}.uc-service-card:hover,.uc-card:hover{transform:translateY(-2px);box-shadow:var(--cc-shadow)!important}.uc-promo.navy{background:var(--cc-navy)!important}.uc-section.uc-band:before{background:#f5f8fa!important}
/* Alerts */
.alert,.notice{border-radius:4px!important}.alert.success{border-left:3px solid #167044}.alert.error{border-left:3px solid #b42318}.notice{border-left:3px solid var(--cc-orange)!important}
/* Footer */
.cc-footer-modern{background-color:var(--cc-navy-deep)!important;border-top:4px solid var(--cc-orange)!important}.cc-footer-brand strong:before{border-radius:3px!important;background:var(--cc-orange)!important}.cc-footer-links a:before{background:var(--cc-cyan)!important}.cc-contact-float a{border-radius:6px!important}
@media(max-width:980px){.container,.uc-wrap{width:min(100% - 28px,1380px)}header.top .primary-nav>a{text-transform:none!important;letter-spacing:0!important}.hero:after{display:none}}
@media(max-width:680px){.container,.uc-wrap{width:min(100% - 24px,1380px)}main.container{padding-top:20px}.hero{padding:25px 19px!important}.hero h1,.page-head h1{font-size:36px!important}.catalog-grid{gap:12px!important}.card,.catalog-card{padding:17px!important}.cc-footer-main{padding-left:0!important;padding-right:0!important}}

/* =========================================================
   CC UI NORMALIZATION PASS 2 — 07 OCT 2026
   Resolves legacy button/text/component collisions site-wide.
   ========================================================= */
:root{
 --cc-primary:#073b61;--cc-primary-hover:#052d4a;--cc-accent:#f36b2b;--cc-accent-hover:#dc571c;
 --cc-info:#0b78a8;--cc-success:#147a4b;--cc-danger:#b42318;--cc-warning:#a95f00;
 --cc-control-h:44px;--cc-control-r:7px;--cc-focus:0 0 0 3px rgba(12,131,184,.14)
}
/* Consistent action system, including all legacy generations */
.btn,.cc-btn,.uc-btn,.ucd-btn,.cc-mini-btn,.mini-btn,.linkbtn,.mark-btn,.location-btn,.cc-location-btn,
a.btn,a.cc-btn,a.uc-btn,a.ucd-btn,button.btn,button.cc-btn,button.uc-btn,button.ucd-btn,
button[type="submit"],input[type="submit"]{
 box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
 gap:7px!important;min-height:var(--cc-control-h)!important;padding:10px 17px!important;border:1px solid var(--cc-primary)!important;
 border-radius:var(--cc-control-r)!important;background:var(--cc-primary)!important;color:#fff!important;
 font:800 12px/1.15 Inter,Arial,sans-serif!important;letter-spacing:.38px!important;text-transform:uppercase!important;
 text-decoration:none!important;white-space:normal!important;text-align:center!important;vertical-align:middle!important;
 cursor:pointer;box-shadow:0 3px 10px rgba(5,44,73,.10)!important;transition:.18s ease!important
}
.btn:hover,.cc-btn:hover,.uc-btn:hover,.ucd-btn:hover,.cc-mini-btn:hover,.mini-btn:hover,.linkbtn:hover,.mark-btn:hover,.location-btn:hover,.cc-location-btn:hover,
button[type="submit"]:hover,input[type="submit"]:hover{background:var(--cc-primary-hover)!important;border-color:var(--cc-primary-hover)!important;color:#fff!important;transform:translateY(-1px)!important;box-shadow:0 6px 16px rgba(5,44,73,.15)!important}
.btn:focus-visible,.cc-btn:focus-visible,.uc-btn:focus-visible,.ucd-btn:focus-visible,button:focus-visible,a:focus-visible{outline:0!important;box-shadow:var(--cc-focus)!important}
/* Orange = high-intent CTA */
.btn.orange,.cc-btn.orange,.cc-btn.primary,.uc-btn-primary,.ucd-btn-primary,.uc-promo-btn,.btn.ok,.btn.greenbtn{
 background:var(--cc-accent)!important;border-color:var(--cc-accent)!important;color:#fff!important
}
.btn.orange:hover,.cc-btn.orange:hover,.cc-btn.primary:hover,.uc-btn-primary:hover,.ucd-btn-primary:hover,.uc-promo-btn:hover,.btn.ok:hover,.btn.greenbtn:hover{background:var(--cc-accent-hover)!important;border-color:var(--cc-accent-hover)!important}
/* Secondary / outline actions */
.btn.secondary,.btn.light,.btn.blue,.cc-btn.light,.cc-btn.dark,.uc-btn-outline,.uc-btn-ghost,.ucd-btn-outline,.btn.receipt,.btn.verify{
 background:#fff!important;border-color:#b9cbd6!important;color:var(--cc-primary)!important;box-shadow:none!important
}
.btn.secondary:hover,.btn.light:hover,.btn.blue:hover,.cc-btn.light:hover,.cc-btn.dark:hover,.uc-btn-outline:hover,.uc-btn-ghost:hover,.ucd-btn-outline:hover,.btn.receipt:hover,.btn.verify:hover{background:#eef5f8!important;border-color:var(--cc-primary)!important;color:var(--cc-primary)!important}
/* Destructive */
.btn.danger,.btn.reject,.btn.no{background:#fff!important;border-color:#e4b5b1!important;color:var(--cc-danger)!important;box-shadow:none!important}
.btn.danger:hover,.btn.reject:hover,.btn.no:hover{background:#fff2f1!important;border-color:var(--cc-danger)!important;color:var(--cc-danger)!important}
/* Compact actions */
.btn.small,.btn-sm,.cc-mini-btn,.mini-btn,.mark-btn,.ucd-btn-sm{min-height:34px!important;padding:7px 11px!important;border-radius:6px!important;font-size:10.5px!important;letter-spacing:.25px!important}
.btn.disabled,.btn[disabled],button[disabled],input[disabled]{opacity:.48!important;pointer-events:none!important;transform:none!important;box-shadow:none!important}
.actions,.toolbar-actions,.filter-actions,.hero-actions,.cc-actions,.action-row{display:flex;flex-wrap:wrap;align-items:center;gap:9px!important}
/* Headings and copy: remove legacy oversized/uneven treatment */
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;flex-wrap:wrap;padding:22px 0 18px!important;margin-bottom:22px!important}
.page-head h1{margin:4px 0 0!important;font-size:clamp(32px,3.3vw,48px)!important;line-height:1.02!important}
.page-head p,.page-head .muted{max-width:780px;margin:8px 0 0!important;color:var(--cc-muted)!important;font-size:14px!important;line-height:1.55!important}
h2{font-size:clamp(25px,2.5vw,34px)!important}h3{line-height:1.25!important}.muted{color:var(--cc-muted)!important}
/* Cards: consistent density and hover, but don't force motion on functional panels */
.card,.panel,.stat,.kpi,.tile,.service-card,.vendor-card,.catalog-card,.catalog-master,.form-card{border-radius:9px!important}
.card,.panel,.form-card{padding:20px}.card:hover,.panel:hover,.form-card:hover{transform:none!important}
/* Inputs and selects */
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea{box-sizing:border-box!important;width:100%;min-height:44px!important;padding:9px 12px!important;border:1px solid #c8d7e0!important;border-radius:7px!important;color:var(--cc-ink)!important;font:500 14px/1.35 Inter,Arial,sans-serif!important}
textarea{min-height:110px!important;resize:vertical}.field{min-width:0}.field label{display:block;margin:0 0 6px!important;font-size:11px!important;font-weight:800!important}
/* Tables */
.table-wrap{overflow:auto!important;border-radius:9px!important}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 14px!important;vertical-align:middle!important}.table th{white-space:nowrap}
/* Badges/statuses */
.badge,.status,.chip,.taxonomy-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 8px!important;border-radius:999px!important;font-size:10.5px!important;font-weight:800!important;line-height:1.1!important;letter-spacing:.2px!important}
/* Prevent long labels and URLs from breaking cards */
.card,.panel,.service-card,.vendor-card,.catalog-card,.page-head,.table td{overflow-wrap:anywhere}.card img,.panel img,.service-card img,.vendor-card img{max-width:100%;height:auto}
/* Mobile action buttons become touch-friendly and predictable */
@media(max-width:680px){
 .page-head{align-items:flex-start!important;padding-top:12px!important}.page-head h1{font-size:32px!important}
 .page-head>.actions,.toolbar-actions,.filter-actions,.hero-actions,.cc-actions,.action-row{width:100%}
 .page-head>.actions>.btn,.toolbar-actions>.btn,.hero-actions>.btn,.cc-actions>.btn{flex:1 1 145px}
 .btn,.cc-btn,.uc-btn,.ucd-btn,button[type="submit"],input[type="submit"]{min-height:46px!important;padding:10px 14px!important}
 .btn.small,.btn-sm,.cc-mini-btn,.mini-btn,.mark-btn,.ucd-btn-sm{min-height:38px!important}
 .card,.panel,.form-card{padding:16px!important}.table th,.table td{padding:10px 11px!important}
}

/* =========================================================
   CC ADMIN TABLE + ACTION NORMALIZATION v10
   Prevents vertical buttons, split currency and desktop overflow bugs.
   ========================================================= */
@media (min-width:681px){
  .table-wrap{overflow-x:auto!important;overflow-y:visible!important;-webkit-overflow-scrolling:touch}
  .table{width:100%!important;min-width:900px!important;table-layout:auto!important}
  .table th,.table td{word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
  .table th{white-space:nowrap!important}
  .table td{white-space:normal!important}
  .table td:first-child{min-width:38px!important}
  .table td:last-child,.table th:last-child{min-width:92px!important;white-space:nowrap!important;text-align:center}
  .table td:last-child .btn,.table td:last-child a.btn,.table td:last-child button,
  .table .actions .btn,.table .actions button,.table .actions a{
    width:auto!important;min-width:74px!important;max-width:none!important;min-height:38px!important;
    padding:8px 12px!important;white-space:nowrap!important;word-break:keep-all!important;
    overflow-wrap:normal!important;line-height:1.1!important
  }
  .table .actions{flex-wrap:nowrap!important;justify-content:flex-start!important}
  .table .badge,.table .status,.table .chip{white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important}
}
/* Currency, dates and compact codes must never split character-by-character. */
.table td .money,.table td .amount,.table td .price,.table td .currency,
.table td code,.table td .code,.table td .badge,.table td .status{
  word-break:keep-all!important;overflow-wrap:normal!important
}
/* Generic action cells used by legacy admin pages. */
td.actions,td.action,td[class*="action"],.action-cell{
  white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important
}
td.actions .btn,td.action .btn,td[class*="action"] .btn,.action-cell .btn{
  width:auto!important;max-width:none!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important
}
/* Stronger, consistent destructive action. */
.btn.danger,.btn.reject,.btn.no{background:#c9362c!important;border-color:#c9362c!important;color:#fff!important}
.btn.danger:hover,.btn.reject:hover,.btn.no:hover{background:#a92b23!important;border-color:#a92b23!important;color:#fff!important}
/* Admin navigation: clear active page and cleaner desktop spacing. */
@media (min-width:981px){
  .admin-nav{justify-content:flex-start!important;gap:3px!important;overflow-x:auto!important}
  .admin-nav a{white-space:nowrap!important}
  .admin-nav a.is-active{background:#fff!important;color:#073b61!important;box-shadow:inset 0 -2px 0 #f36b2b!important}
  .admin-nav a.admin-logout{margin-left:auto!important}
}
/* Mobile: retain horizontal table access without crushing content. */
@media (max-width:680px){
  .table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .table{min-width:760px!important}
  .table th,.table td{word-break:normal!important;overflow-wrap:normal!important}
  .table td:last-child,.table th:last-child{white-space:nowrap!important;min-width:88px!important}
  .table td:last-child .btn,.table td:last-child button,.table td:last-child a.btn{white-space:nowrap!important;width:auto!important;min-width:72px!important}
}
