/* Holy Group — public website styles */

  :root{
    --navy:#0B1E3F; --navy-2:#132a54; --navy-3:#1c3766;
    --gold:#C9A227; --gold-light:#e7cb74; --teal:#1F8A8C; --brick:#A6402D;
    --paper:#F6F4EE; --ink:#1E2433; --muted:#68707F; --line:#E4E0D4; --white:#FFFFFF; --danger:#B23A48;
    --radius:10px; --shadow:0 1px 2px rgba(11,30,63,.06), 0 4px 14px rgba(11,30,63,.06);
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{font-family:'Inter',sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;}
  /* ===================== Front page (site-front) ===================== */
  /* Extra variables used only by the front page (backend already defines the shared ones like --navy, --gold, etc.) */
  :root{ --green:#2E9E56; }
  #site-front{font-family:'Libre Franklin',sans-serif;line-height:1.55;}
  #site-front h1, #site-front h2, #site-front h3{margin:0;font-family:'Marcellus','Libre Franklin',serif;font-weight:400;color:var(--navy);}
  #site-front p{margin:0;}
  #site-front a{color:inherit;text-decoration:none;}
  #site-front img{max-width:100%;display:block;}
  #site-front .wrap{max-width:1140px;margin:0 auto;padding:0 28px;}
  #site-front input,#site-front textarea{font-family:inherit;}

  /* ---------- Header ---------- */
  #site-front header{position:sticky;top:0;z-index:40;background:rgba(11,30,63,.97);border-bottom:1px solid rgba(255,255,255,.08);}
  .nav-row{display:flex;align-items:center;justify-content:space-between;padding:15px 0;gap:20px;}
  .brand{display:flex;align-items:center;gap:11px;flex-shrink:0;}
  .brand img{width:36px;height:36px;border-radius:8px;}
  .brand span{font-family:'Marcellus',serif;color:#fff;font-size:18px;}
  .brand span b{color:var(--gold-light);font-weight:400;}
  nav.links{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
  nav.links a.nav-link{color:#C7D1E6;font-size:13px;font-weight:500;white-space:nowrap;}
  nav.links a.nav-link:hover{color:#fff;}
  .login-btn{background:var(--gold);color:var(--navy);padding:9px 20px;border-radius:7px;font-weight:700;font-size:13.5px;white-space:nowrap;}
  .login-btn:hover{background:var(--gold-light);}
  .nav-links-wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap;row-gap:6px;}
  .nav-toggle{display:none;background:transparent;border:none;color:#fff;font-size:22px;cursor:pointer;padding:4px 6px;line-height:1;}
  @media (max-width:920px){
    .nav-toggle{display:inline-block;}
    .nav-links-wrap{position:fixed;top:66px;left:0;right:0;background:var(--navy);flex-direction:column;align-items:flex-start;
      padding:18px 24px;gap:16px;display:none;border-top:1px solid rgba(255,255,255,.1);box-shadow:0 12px 24px rgba(0,0,0,.25);z-index:39;}
    .nav-links-wrap.open{display:flex;}
    .nav-links-wrap a.nav-link{display:block;font-size:15px;}
  }

  /* ---------- Profile hero ---------- */
  .profile-hero{background:linear-gradient(175deg,var(--navy) 0%,#173463 100%);color:#fff;padding:64px 0 0;}
  .ph-top{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap;}
  .ph-mark{width:92px;height:92px;border-radius:20px;flex-shrink:0;box-shadow:0 0 0 6px rgba(255,255,255,.08);}
  .ph-top h1{color:#fff;font-size:36px;max-width:20ch;}
  .ph-top .tagline{margin-top:8px;color:#C7D1E6;font-size:15.5px;max-width:60ch;}
  .quick-facts{margin-top:40px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.14);}
  @media (max-width:760px){ .quick-facts{grid-template-columns:repeat(2,1fr);} }
  .qf-item{padding:22px 24px 22px 0;border-right:1px solid rgba(255,255,255,.14);}
  .qf-item:last-child{border-right:none;}
  .qf-item .label{font-size:11.5px;color:#93A3C7;text-transform:uppercase;letter-spacing:.06em;font-weight:600;}
  .qf-item .val{margin-top:8px;font-size:16.5px;color:#fff;font-family:'Marcellus',serif;}

  /* ---------- Sections ---------- */
  #site-front section{padding:76px 0;}
  .kicker-rule{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
  .kicker-rule .bar{width:34px;height:3px;background:var(--gold);border-radius:2px;}
  .kicker-rule span{font-size:12.5px;color:var(--muted);font-weight:600;letter-spacing:.03em;}
  h2.section-title{font-size:27px;max-width:24ch;}
  .section-lede{margin-top:12px;color:var(--muted);font-size:15px;max-width:64ch;}

  /* ---------- Company profile fact sheet ---------- */
  .profile-body{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;margin-top:40px;align-items:start;}
  @media (max-width:860px){ .profile-body{grid-template-columns:1fr;gap:32px;} }
  .profile-copy p{font-size:15.5px;max-width:58ch;}
  .profile-copy p + p{margin-top:14px;}
  .fill{background:#F1ECDC;padding:1px 6px;border-radius:3px;color:#8a6d1d;font-weight:600;}
  .fact-sheet{border-top:1px solid var(--line);}
  .fact-row{display:grid;grid-template-columns:1fr 1.3fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);}
  .fact-row .k{font-size:12.5px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em;}
  .fact-row .v{font-size:14.5px;color:var(--navy);font-weight:600;}

  /* ---------- Management ---------- */
  .lead-mgmt{display:flex;gap:24px;align-items:flex-start;margin-top:40px;padding:26px;background:#fff;border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;}
  .avatar{width:78px;height:78px;border-radius:50%;background:var(--navy);color:var(--gold-light);display:flex;align-items:center;justify-content:center;font-family:'Marcellus',serif;font-size:26px;flex-shrink:0;}
  .lead-mgmt h3{font-size:19px;}
  .lead-mgmt .title{color:var(--teal);font-size:13px;font-weight:700;margin-top:3px;}
  .lead-mgmt p.bio{margin-top:10px;color:var(--muted);font-size:14.5px;max-width:60ch;}
  .mgmt-grid{margin-top:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  @media (max-width:760px){ .mgmt-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:520px){ .mgmt-grid{grid-template-columns:1fr;} }
  .mgmt-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;text-align:left;}
  .mgmt-card .avatar{width:52px;height:52px;font-size:18px;margin-bottom:14px;}
  .mgmt-card h4{font-size:15px;color:var(--navy);font-family:'Libre Franklin',sans-serif;font-weight:700;}
  .mgmt-card .title{color:var(--teal);font-size:12px;font-weight:700;margin-top:3px;}

  /* ---------- Sister concerns ---------- */
  .sister-section{background:#F1ECDC;}
  .sister-grid{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  @media (max-width:860px){ .sister-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .sister-grid{grid-template-columns:1fr;} }
  .sister-card{background:#fff;border:1px solid #E1D9C0;border-radius:12px;padding:24px;}
  .mono{width:46px;height:46px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:'Marcellus',serif;color:#fff;font-size:19px;margin-bottom:16px;}
  .mono.m1{background:var(--teal);} .mono.m2{background:var(--gold);color:var(--navy);} .mono.m3{background:var(--brick);}
  .sister-card h3{font-size:16.5px;}
  .sister-card p{margin-top:8px;color:var(--muted);font-size:13.5px;}
  .sister-card .tag{display:inline-block;margin-top:14px;font-size:11.5px;font-weight:700;color:var(--navy);border:1px solid #D9CFA8;padding:4px 11px;border-radius:20px;}
  .sister-card.add-slot{border-style:dashed;color:var(--muted);}

  /* ---------- Location ---------- */
  .location-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;margin-top:40px;align-items:start;}
  @media (max-width:860px){ .location-grid{grid-template-columns:1fr;gap:26px;} }
  .addr-block{border-top:1px solid var(--line);}
  .addr-row{padding:16px 0;border-bottom:1px solid var(--line);}
  .addr-row .label{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em;}
  .addr-row .val{margin-top:6px;font-size:15.5px;color:var(--navy);}
  .map-frame{width:100%;aspect-ratio:4/3;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#EDEAE0;}
  .map-frame iframe{width:100%;height:100%;border:none;}

  /* ---------- Contact + callback ---------- */
  .contact-section{background:var(--navy);color:#fff;}
  .contact-section .kicker-rule span{color:#93A3C7;}
  .contact-section h2.section-title{color:#fff;}
  .contact-section .section-lede{color:#B9C4DE;}
  .contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;margin-top:40px;}
  @media (max-width:860px){ .contact-grid{grid-template-columns:1fr;gap:30px;} }
  .cinfo-row{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14);}
  .cinfo-row .label{font-size:11.5px;color:#93A3C7;text-transform:uppercase;letter-spacing:.04em;font-weight:600;}
  .cinfo-row .val{margin-top:6px;font-size:16px;}
  .callback-card{background:#fff;color:var(--ink);border-radius:12px;padding:30px;}
  .callback-card h3{font-size:18px;color:var(--navy);}
  .callback-card .sub{color:var(--muted);font-size:13.5px;margin-top:4px;}
  .cb-field{margin-top:16px;}
  .cb-field label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:6px;font-weight:600;}
  .cb-field input, .cb-field textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:8px;font-size:14.5px;background:#FCFBF8;}
  .cb-field input:focus, .cb-field textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold);}
  .cb-submit{margin-top:18px;width:100%;background:var(--gold);color:var(--navy);border:none;padding:13px;border-radius:8px;font-weight:700;font-size:14.5px;cursor:pointer;}
  .cb-submit:hover{background:var(--gold-light);}
  .cb-alt{margin-top:12px;font-size:12.5px;color:var(--muted);text-align:center;}
  .cb-alt a{color:var(--teal);font-weight:600;}
  .cb-note{margin-top:10px;font-size:12.5px;color:#215B34;background:#E9F5EE;border:1px solid #B7DFC4;padding:10px 12px;border-radius:8px;display:none;}

  #site-front footer{background:#0A1830;color:#8FA0C4;padding:26px 0;font-size:13px;}
  .foot-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
  .foot-row a{color:#C7D1E6;}

  /* ---------- Hero slider ---------- */
  .btn-gold{background:var(--gold);color:var(--navy);padding:11px 22px;border-radius:7px;font-size:14px;font-weight:700;display:inline-block;}
  .btn-gold:hover{background:var(--gold-light);}
  .hero-slider{position:relative;height:480px;overflow:hidden;}
  @media (max-width:700px){ .hero-slider{height:auto;min-height:420px;} }
  .hs-slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity .7s ease;background-size:cover;background-position:center;}
  .hs-slide.active{opacity:1;visibility:visible;position:relative;}
  .hs-1{background:radial-gradient(circle at 80% 20%, rgba(201,162,39,.22), transparent 45%),linear-gradient(135deg,#0B1E3F,#1c3766);}
  .hs-2{background:radial-gradient(circle at 80% 20%, rgba(31,138,140,.28), transparent 45%),linear-gradient(135deg,#0B1E3F,#123f4d);}
  .hs-3{background:radial-gradient(circle at 80% 20%, rgba(166,64,45,.28), transparent 45%),linear-gradient(135deg,#0B1E3F,#4a271c);}
  .hs-slide .wrap{color:#fff;}
  .hs-slide h2{color:#fff;font-size:38px;max-width:16ch;}
  @media (max-width:560px){ .hs-slide h2{font-size:28px;} }
  .hs-slide .hs-copy{color:#D6DEEF;margin-top:14px;font-size:16px;max-width:44ch;}
  .hs-slide .hs-cta{margin-top:26px;display:inline-block;}
  .hs-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);color:#fff;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:19px;z-index:5;}
  .hs-arrow:hover{background:rgba(255,255,255,.28);}
  .hs-arrow.prev{left:20px;} .hs-arrow.next{right:20px;}
  @media (max-width:560px){ .hs-arrow{display:none;} }
  .hs-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5;}
  .hs-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;border:none;padding:0;}
  .hs-dot.active{background:var(--gold);}

  /* ---------- Corporate brand strip ---------- */
  .brand-strip-section{padding:34px 0;background:#fff;border-bottom:1px solid var(--line);}
  .brand-strip{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:36px;color:var(--muted);font-family:'Marcellus',serif;font-size:15px;letter-spacing:.02em;}
  .brand-strip span{opacity:.85;}

  /* ---------- Corporate customers ---------- */
  .client-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px;}
  @media (max-width:760px){ .client-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:520px){ .client-grid{grid-template-columns:1fr;} }
  .client-card{background:#fff;border:1px solid #E1D9C0;border-radius:10px;padding:18px 20px;display:flex;align-items:center;gap:14px;}
  .client-card .mono{margin-bottom:0;flex-shrink:0;}
  .client-card span{color:var(--muted);font-weight:600;font-size:14px;}

  /* ---------- Happy users / testimonials ---------- */
  .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;}
  @media (max-width:860px){ .testi-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .testi-grid{grid-template-columns:1fr;} }
  .testi-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;}
  .testi-stars{color:var(--gold);font-size:15px;margin-bottom:12px;letter-spacing:2px;}
  .testi-card p.quote{font-size:14.5px;color:var(--ink);}
  .testi-who{margin-top:16px;font-size:13px;color:var(--navy);font-weight:700;}
  .testi-who span{display:block;color:var(--muted);font-weight:400;font-size:12px;margin-top:2px;}

  /* ---------- Front-page product cards (Popular Products) ---------- */
  #popular-products-slot{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin-top:36px;}

  /* ---- Product cards on the public site ---- */
  .product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;}
  .product-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;}
  .product-card .thumb{width:100%;aspect-ratio:4/3;object-fit:cover;background:#EDEAE0;display:block;}
  .product-card .thumb-placeholder{width:100%;aspect-ratio:4/3;background:#EDEAE0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px;}
  .product-card .body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1;}
  .product-card h4{font-size:15px;color:var(--navy);} .product-card .price{font-size:19px;font-weight:800;color:var(--brick);}
  .product-card p{font-size:12.5px;color:var(--muted);flex:1;margin:0;}
  .product-card .comm-line{font-size:11px;color:var(--muted);border-top:1px dashed var(--line);padding-top:8px;}
  .card-actions{display:flex;gap:8px;flex-wrap:wrap;}
  .product-card .price .unit{font-size:11px;color:var(--muted);font-weight:400;}
  .btn-gold{background:var(--gold);color:var(--navy);padding:11px 22px;border-radius:7px;font-size:14px;font-weight:700;display:inline-block;}

  /* ---- Login modal ---- */
  .hg-overlay{position:fixed;inset:0;background:rgba(11,30,63,.6);display:flex;align-items:center;justify-content:center;z-index:200;padding:16px;}
  .hg-overlay[hidden]{display:none;}
  .hg-modal{background:#fff;border-radius:14px;padding:28px;width:420px;max-width:100%;font-family:'Libre Franklin',sans-serif;}
  .hg-modal-head{display:flex;justify-content:space-between;align-items:center;}
  .hg-modal-head h3{margin:0;font-family:'Marcellus',serif;font-weight:400;font-size:22px;color:var(--navy);}
  .hg-modal-close{background:transparent;border:none;font-size:18px;cursor:pointer;color:var(--muted);}
  .hg-modal-sub{color:var(--muted);font-size:13.5px;margin:6px 0 20px;}
  .hg-field{margin-bottom:14px;}
  .hg-field label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:6px;font-weight:600;}
  .hg-field input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:8px;font-size:14.5px;background:#FCFBF8;}
  .hg-field input:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold);}
  .hg-err{color:var(--danger);font-size:13px;min-height:18px;margin-bottom:8px;}
  .hg-btn{width:100%;background:var(--gold);color:var(--navy);border:none;padding:12px;border-radius:8px;font-weight:700;font-size:14.5px;cursor:pointer;}
  .hg-btn:hover{background:var(--gold-light);}
  .hg-btn:disabled{opacity:.6;cursor:default;}

  /* ---- Generic pages / posts (index.php) ---- */
  .hg-page{padding:64px 0;min-height:50vh;}
  .hg-article{margin-bottom:44px;max-width:760px;}
  .hg-article-title{font-size:30px;margin-bottom:14px;}
  .hg-article-body{font-size:16px;color:var(--ink);}
  .hg-article-body p{margin:0 0 14px;}

  /* ---- Logged-in administrators: keep the sticky header below the WordPress toolbar ---- */
  .admin-bar #site-front header{top:32px;}
  @media (max-width:782px){ .admin-bar #site-front header{top:46px;} }
  @media (max-width:920px){ .admin-bar .nav-links-wrap{top:98px;} }
