/**
 * UC BRAND CSS v2 — based on Aziz Belkharmoudi guidelines
 * Path: /var/www/unitedcultures/shared/uc-brand.css
 *
 * Colors (locked):
 *   White       #f7f7f7  (page bg, light grey areas)
 *   Blue        #003399  (page elements, links, accents)
 *   Light grey  #cccccc  (borders)
 *   Dark grey   #333333  (body text)
 *   Black       #000000  (titles, headings, hover)
 *
 * Type: Open Sans  (Bold / Semibold / Regular)
 * Body: 18px / line-height 150% / max 60-80 chars
 * Buttons: 46px high, flat, black hover
 */

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap');

:root{
  --uc-white:#f7f7f7;
  --uc-blue:#003399;
  --uc-grey:#cccccc;
  --uc-dark:#333333;
  --uc-black:#000000;
  --uc-bg:#ffffff;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Open Sans',-apple-system,system-ui,sans-serif;
  font-size:18px;
  line-height:1.5;
  color:var(--uc-dark);
  background:var(--uc-bg);
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5{font-weight:700;color:var(--uc-black);letter-spacing:0.5px;margin:0 0 12px}
h1{font-size:32px;line-height:1.2}
h2{font-size:24px;line-height:1.3}
h3{font-size:20px;line-height:1.3}
h4{font-size:16px;line-height:1.4}

p{margin:0 0 16px;max-width:80ch}

a{color:var(--uc-blue);text-decoration:none}
a:hover{color:var(--uc-black);text-decoration:underline}

/* SECTION TITLES with blue underline */
.uc-title{
  display:inline-block;
  border-bottom:2px solid var(--uc-blue);
  padding-bottom:6px;
  margin-bottom:24px;
  font-weight:700;
  color:var(--uc-black);
}

/* WRAPS / PAGES */
.uc-page{padding:46px 92px;min-height:60vh;background:var(--uc-bg)}
.uc-page-light{background:var(--uc-white)}
.uc-section{padding:46px 92px}
.uc-section-light{background:var(--uc-white);padding:46px 92px}
.uc-container{max-width:1200px;margin:0 auto}

@media(max-width:760px){
  .uc-page,.uc-section,.uc-section-light{padding:24px 16px}
}

/* CARDS */
.uc-card{background:var(--uc-bg);border:1px solid var(--uc-grey);padding:24px;margin-bottom:16px}
.uc-card-light{background:var(--uc-white);padding:24px;margin-bottom:16px}
.uc-card-blue{background:var(--uc-blue);color:#ffffff;padding:24px;margin-bottom:16px}
.uc-card-blue h2,.uc-card-blue h3,.uc-card-blue h4{color:#ffffff}

/* BUTTONS — exact 46px height, flat */
.uc-btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:46px;padding:0 24px;
  background:var(--uc-blue);color:#ffffff;
  font-family:'Open Sans',sans-serif;font-size:13px;font-weight:700;letter-spacing:1px;
  text-decoration:none;border:none;cursor:pointer;
  transition:background 0.15s;
  min-width:160px;
  white-space:nowrap;
}
.uc-btn:hover{background:var(--uc-black);color:#ffffff;text-decoration:none}

.uc-btn-black{background:var(--uc-black);color:#ffffff}
.uc-btn-black:hover{background:var(--uc-blue);color:#ffffff}

.uc-btn-outline{background:transparent;color:var(--uc-black);border:1px solid var(--uc-grey)}
.uc-btn-outline:hover{background:var(--uc-black);color:#ffffff;border-color:var(--uc-black)}

.uc-btn-tall{height:60px;font-size:14px;letter-spacing:1.5px}
.uc-btn-search{height:44px;min-width:120px}

/* INPUTS */
.uc-input,.uc-select,.uc-textarea{
  width:100%;box-sizing:border-box;
  padding:12px 16px;height:46px;
  background:var(--uc-bg);
  border:1px solid var(--uc-grey);
  font-family:'Open Sans',sans-serif;font-size:15px;color:var(--uc-black);
}
.uc-input:focus,.uc-select:focus,.uc-textarea:focus{
  outline:none;border-color:var(--uc-blue);
}
.uc-textarea{height:auto;min-height:90px;resize:vertical}

.uc-pin-input{
  font-family:'Courier New',monospace;
  font-size:24px;letter-spacing:14px;text-align:center;
  height:60px;
}

.uc-label{
  display:block;font-size:11px;letter-spacing:1.2px;font-weight:700;
  color:var(--uc-black);margin-bottom:6px;text-transform:uppercase;
}

/* MESSAGES */
.uc-msg{padding:14px 18px;margin-bottom:16px;border-left:4px solid var(--uc-blue);background:var(--uc-white)}
.uc-msg-error{border-left-color:#000000;background:#f7f7f7;color:#000000}
.uc-msg-ok{border-left-color:var(--uc-blue);background:var(--uc-white)}

/* TABLES */
.uc-table{width:100%;border-collapse:collapse;font-size:14px}
.uc-table th{text-align:left;padding:12px 16px;background:var(--uc-white);font-weight:700;color:var(--uc-black);font-size:11px;letter-spacing:1.2px;border-bottom:2px solid var(--uc-blue)}
.uc-table td{padding:12px 16px;border-bottom:1px solid var(--uc-grey);color:var(--uc-dark)}
.uc-table tr:hover{background:var(--uc-white)}

/* STAT BLOCK */
.uc-stat{background:var(--uc-white);padding:18px 22px;border-left:4px solid var(--uc-blue)}
.uc-stat-label{font-size:11px;letter-spacing:1.2px;color:var(--uc-dark);text-transform:uppercase}
.uc-stat-value{font-size:28px;font-weight:700;color:var(--uc-black);line-height:1.1;margin-top:4px}
.uc-stat-sub{font-size:12px;color:var(--uc-dark);margin-top:4px}

/* GRID UTILS */
.uc-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.uc-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.uc-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:760px){
  .uc-grid-2,.uc-grid-3,.uc-grid-4{grid-template-columns:1fr;gap:12px}
}

/* CARD VISUAL — Silver / Gold */
.uc-visa{
  padding:24px;min-height:200px;position:relative;color:#1a1a1a;
  font-family:'Open Sans',sans-serif;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.4);
}
.uc-visa-silver{background:#b8b8b8;background-image:linear-gradient(135deg,#d4d4d4 0%,#a0a0a0 50%,#c8c8c8 100%)}
.uc-visa-gold{background:#c8a96b;background-image:linear-gradient(135deg,#e8c889 0%,#b8965a 50%,#d4ae73 100%);color:#2a1f0a}
.uc-visa-num{font-family:'Courier New',monospace;font-size:18px;letter-spacing:3px;font-weight:700;margin-top:36px}
.uc-visa-row{display:flex;justify-content:space-between;align-items:flex-end;margin-top:24px}
.uc-visa-label{font-size:9px;letter-spacing:1px;opacity:0.85}
.uc-visa-val{font-size:13px;font-weight:700;margin-top:2px}
