/*
Theme Name: The Glaziers Club - Modern
Theme URI: https://theglaziersclub.com
Author: The Glaziers Club
Description: Dark glassmorphic variant with gradient accents.
Version: 1.0
Text Domain: glaziers-club-modern
*/

:root{
  --bg:#0B0D14;
  --bg-2:#12141F;
  --glass-fill:rgba(255,255,255,0.05);
  --glass-border:rgba(255,255,255,0.10);
  --text-hi:#F5F6FA;
  --text-mid:#B4BACB;
  --text-low:#767E90;
  --grad-1:#5B8DEF;
  --grad-2:#8B6BF2;
  --grad-3:#2FD8C9;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Inter',sans-serif;color:var(--text-hi);background:var(--bg);line-height:1.55;}
h1,h2,h3,.brand{font-family:'Space Grotesk','Inter',sans-serif;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

.gradient-text{background:linear-gradient(90deg,var(--grad-1),var(--grad-2),var(--grad-3));-webkit-background-clip:text;background-clip:text;color:transparent;}
.glass{background:var(--glass-fill);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;}

/* NAV */
header.site-header{position:sticky;top:0;z-index:50;background:rgba(11,13,20,0.75);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--glass-border);padding:16px 48px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.brand{font-weight:600;font-size:18px;display:flex;align-items:center;gap:10px;}
.brand img{height:34px;width:auto;}
nav.primary-nav ul{list-style:none;display:flex;gap:30px;font-size:14px;font-weight:400;color:var(--text-mid);flex-wrap:wrap;}
nav.primary-nav ul li a:hover{color:var(--text-hi);}
.cta-btn{background:linear-gradient(90deg,var(--grad-1),var(--grad-2));color:#fff;padding:10px 22px;font-weight:600;font-size:14px;border-radius:100px;display:inline-block;}
.login-link{color:var(--text-mid);font-size:14px;font-weight:500;padding:8px 4px;}
.login-link:hover{color:var(--text-hi);}

/* HERO */
.hero{position:relative;padding:110px 48px 80px;overflow:hidden;}
.hero::before{content:"";position:absolute;top:-200px;left:-100px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(91,141,239,0.25),transparent 70%);filter:blur(10px);}
.hero::after{content:"";position:absolute;bottom:-220px;right:-100px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(47,216,201,0.2),transparent 70%);filter:blur(10px);}
.hero-inner{max-width:660px;position:relative;z-index:2;}
.eyebrow{display:inline-block;font-size:12px;letter-spacing:1.5px;font-weight:500;color:var(--grad-3);margin-bottom:18px;padding:6px 14px;border-radius:100px;border:1px solid var(--glass-border);background:var(--glass-fill);}
.hero h1{font-size:46px;font-weight:600;line-height:1.15;margin-bottom:18px;color:var(--text-hi);}
.hero p{font-size:17px;color:var(--text-mid);max-width:540px;margin-bottom:32px;}
.free-tag{margin-top:22px;font-size:13px;color:var(--text-mid);}
.free-tag b{color:var(--text-hi);}

/* PATH SELECTOR - three audiences */
.path-select{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 48px 64px;}
.path-card{padding:28px;border-radius:16px;background:var(--glass-fill);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.path-card.highlight{background:linear-gradient(135deg,rgba(91,141,239,0.18),rgba(139,107,242,0.18));border:1px solid rgba(139,107,242,0.4);}
.path-label{font-size:11px;letter-spacing:1.5px;font-weight:500;color:var(--grad-3);margin-bottom:12px;text-transform:uppercase;}
.path-card h3{font-size:19px;margin-bottom:8px;color:var(--text-hi);font-weight:600;}
.path-card p{font-size:13px;color:var(--text-mid);margin-bottom:18px;}
.path-link{font-size:13px;font-weight:600;color:var(--text-hi);}

/* FIND A COMPANY directory */
.directory{background:transparent;}
.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.company-card{border-radius:16px;overflow:hidden;background:var(--glass-fill);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.company-card .thumb{height:110px;background:linear-gradient(135deg,rgba(91,141,239,0.15),rgba(47,216,201,0.1));border-bottom:1px solid var(--glass-border);}
.company-card .body{padding:20px;}
.company-card h3{font-family:'Inter';font-size:16px;font-weight:600;margin-bottom:4px;color:var(--text-hi);}
.company-card .loc{font-size:12px;color:var(--text-low);margin-bottom:10px;}
.company-card .services{font-size:12px;color:var(--grad-3);font-weight:500;margin-bottom:16px;}
.quote-btn{display:inline-block;background:linear-gradient(90deg,var(--grad-1),var(--grad-2));color:#fff;font-size:12px;font-weight:600;padding:9px 16px;border-radius:100px;}

/* SECTION shell */
section.site-section{padding:64px 48px;}
.section-head{max-width:640px;margin-bottom:36px;}
.section-head .eyebrow{background:none;border:none;padding:0;color:var(--grad-3);}
.section-head h2{font-size:28px;color:var(--text-hi);margin-bottom:12px;font-weight:600;}
.section-head p{color:var(--text-mid);font-size:15px;}
.also-hiring{margin-top:22px;font-size:13px;color:var(--text-low);}

/* JOB BOARD PREVIEW */
.jobs-search-bar{display:flex;gap:10px;padding:20px;border-radius:16px;background:var(--glass-fill);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);margin-bottom:28px;flex-wrap:wrap;}
.jobs-search-bar input{flex:1;min-width:180px;background:rgba(255,255,255,0.06);border:1px solid var(--glass-border);border-radius:10px;padding:12px 16px;color:var(--text-hi);font-size:14px;font-family:'Inter',sans-serif;}
.jobs-search-bar input::placeholder{color:var(--text-low);}
.jobs-search-bar button{background:linear-gradient(90deg,var(--grad-1),var(--grad-2));color:#fff;border:none;padding:12px 26px;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;}
.jobs-layout{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start;}
.jobs-filters{padding:20px;border-radius:16px;background:var(--glass-fill);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.jobs-filters h4{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--text-mid);margin:16px 0 8px;}
.jobs-filters h4:first-child{margin-top:0;}
.jobs-filters label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-mid);margin-bottom:8px;cursor:pointer;}
.jobs-list{display:flex;flex-direction:column;gap:14px;}
.job-row{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;border-radius:14px;background:var(--glass-fill);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);gap:16px;}
.job-row .tag{font-size:11px;letter-spacing:1px;color:var(--grad-3);font-weight:500;margin-bottom:8px;}
.job-row h3{font-family:'Inter';font-size:16px;font-weight:600;margin-bottom:6px;color:var(--text-hi);}
.job-row .meta{font-size:13px;color:var(--text-low);}
.job-row .actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0;}
.save-btn{background:transparent;border:1px solid var(--glass-border);color:var(--text-mid);border-radius:100px;padding:8px 14px;font-size:12px;cursor:pointer;}
.apply-btn{background:linear-gradient(90deg,var(--grad-1),var(--grad-2));color:#fff;font-size:12px;font-weight:600;padding:9px 18px;border-radius:100px;white-space:nowrap;}
.jobs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.job-card{border-radius:16px;padding:22px;background:var(--glass-fill);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.job-card .tag{font-size:11px;letter-spacing:1px;color:var(--grad-3);font-weight:500;margin-bottom:10px;}
.job-card h3{font-family:'Inter';font-size:16px;font-weight:600;margin-bottom:6px;color:var(--text-hi);}
.job-card .meta{font-size:13px;color:var(--text-low);margin-bottom:16px;}
.job-card .apply{font-size:13px;font-weight:600;color:var(--text-hi);}

/* TRADE TOOLS */
.tools-band{background:transparent;}
.tools-band .section-head p{color:var(--text-mid);}
.tools-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.tool-card{background:var(--glass-fill);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:24px 18px;border-radius:16px;}
.tool-card .icon{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--grad-1),var(--grad-2));margin-bottom:16px;}
.tool-card h3{font-family:'Inter';font-size:15px;font-weight:600;margin-bottom:6px;color:var(--text-hi);}
.tool-card p{font-size:13px;color:var(--text-mid);}

/* WOMEN IN GLASS + EVENTS split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 48px 64px;}
.panel{padding:36px;border-radius:16px;background:var(--glass-fill);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.panel .eyebrow{background:none;border:none;padding:0;color:var(--grad-3);font-size:12px;letter-spacing:1.5px;font-weight:500;margin-bottom:14px;display:inline-block;}
.panel h2{font-size:24px;margin-bottom:14px;color:var(--text-hi);font-weight:600;}
.panel p{font-size:15px;color:var(--text-mid);margin-bottom:20px;}
.link-out{font-size:14px;font-weight:600;color:var(--text-hi);}

/* SUPPLIERS - locked/coming soon */
.suppliers{text-align:center;padding:64px 48px;}
.lock-badge{display:inline-block;background:var(--glass-fill);border:1px solid var(--glass-border);color:var(--text-mid);font-size:12px;font-weight:500;letter-spacing:1px;padding:6px 16px;border-radius:100px;margin-bottom:18px;}
.suppliers h2{font-size:24px;margin-bottom:10px;color:var(--text-hi);font-weight:600;}
.suppliers p{max-width:480px;margin:0 auto;color:var(--text-mid);font-size:14px;}

footer.site-footer{border-top:1px solid var(--glass-border);color:var(--text-low);padding:36px 48px;font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}

/* HivePress compatibility - restyle native HP elements to match theme */
.hp-page{max-width:1100px;margin:0 auto;padding:0;}
.hivepress-wrap{background:transparent;}
.hp-listing{background:var(--glass-fill);border:1px solid var(--glass-border);border-radius:16px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden;}
.hp-listing__title, .hp-listing__title a{color:var(--text-hi);font-family:'Inter',sans-serif;font-weight:600;}
.hp-listing__attributes, .hp-listing__description{color:var(--text-mid);}
.hp-listing__attribute--price{color:var(--grad-3);font-weight:600;}
.hp-form input, .hp-form select, .hp-form textarea{background:rgba(255,255,255,0.06)!important;border:1px solid var(--glass-border)!important;color:var(--text-hi)!important;border-radius:10px!important;}
.hp-form label{color:var(--text-mid)!important;}
.hp-block--sticky, .hp-widget{background:var(--glass-fill);border:1px solid var(--glass-border);border-radius:16px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.button, .hp-block button, a.button{background:linear-gradient(90deg,var(--grad-1),var(--grad-2))!important;color:#fff!important;border:none!important;border-radius:100px!important;font-weight:600!important;}
.button.alt, .button--outline{background:transparent!important;border:1px solid var(--glass-border)!important;color:var(--text-hi)!important;}
.hivepress-header-menu{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--text-mid);}
.hivepress-header-menu a{color:var(--text-mid);}
.hivepress-header-menu a:hover{color:var(--text-hi);}

/* WP Job Manager forms need a light wrapper - the plugin's native
   form markup isn't designed for a dark theme and reads as
   unreadable/dark-on-dark without this */
.wpjm-light-form-wrap{background:#FFFFFF;border-radius:16px;padding:32px;color:#1A1A1A;}
.wpjm-light-form-wrap h2, .wpjm-light-form-wrap h3{color:#1A1A1A;text-transform:none;font-family:'Inter',sans-serif;}
.wpjm-light-form-wrap label{color:#333333;font-weight:500;display:block;margin:16px 0 6px;font-size:14px;}
.wpjm-light-form-wrap p{color:#555555;}
.wpjm-light-form-wrap input[type="text"],
.wpjm-light-form-wrap input[type="email"],
.wpjm-light-form-wrap input[type="password"],
.wpjm-light-form-wrap input[type="number"],
.wpjm-light-form-wrap input[type="url"],
.wpjm-light-form-wrap input[type="tel"],
.wpjm-light-form-wrap select,
.wpjm-light-form-wrap textarea{
  width:100%;padding:10px 14px;border:1px solid #DDDDDD;border-radius:8px;
  background:#FAFAFA;color:#1A1A1A;font-family:'Inter',sans-serif;font-size:14px;
}
.wpjm-light-form-wrap textarea{min-height:160px;}
.wpjm-light-form-wrap button,
.wpjm-light-form-wrap input[type="submit"]{
  background:linear-gradient(90deg,var(--grad-1),var(--grad-2));color:#fff;border:none;
  padding:12px 26px;border-radius:100px;font-weight:600;cursor:pointer;font-size:14px;
}
.wpjm-light-form-wrap .job-manager-form-fields{margin-bottom:18px;}
.wpjm-light-form-wrap table{color:#1A1A1A;}
.wpjm-light-form-wrap a{color:var(--grad-1,#5B8DEF);}

/* WP Job Manager listings - the plugin's own CSS is built for light
   sites and its default hover state turns the row white, which then
   collides with our white/light text and disappears. Force it to
   match the dark theme instead. */
ul.job_listings{background:transparent!important;list-style:none!important;padding:0!important;margin:0!important;}
ul.job_listings li.job_listing{
  background:var(--glass-fill)!important;
  border:1px solid var(--glass-border)!important;
  border-radius:14px!important;
  margin-bottom:10px!important;
  padding:16px 20px!important;
  transition:background 0.15s ease!important;
}
ul.job_listings li.job_listing:hover,
ul.job_listings li.job_listing:focus-within{
  background:rgba(91,141,239,0.14)!important;
  border-color:rgba(91,141,239,0.4)!important;
}
ul.job_listings li.job_listing a,
ul.job_listings li.job_listing a:link,
ul.job_listings li.job_listing a:visited,
ul.job_listings li.job_listing a:hover,
ul.job_listings li.job_listing a:active,
ul.job_listings li.job_listing a:focus{
  color:#FFFFFF!important;
  background:transparent!important;
  background-color:transparent!important;
  text-decoration:none!important;
}
ul.job_listings li.job_listing .position h3,
ul.job_listings li.job_listing .position h3 a,
ul.job_listings li.job_listing .position{
  color:#FFFFFF!important;
  background:transparent!important;
  font-family:'Inter',sans-serif!important;
  font-weight:600!important;
  font-size:16px!important;
}
ul.job_listings li.job_listing .company,
ul.job_listings li.job_listing .company strong{
  color:var(--text-mid)!important;
  font-weight:400!important;
}
ul.job_listings li.job_listing .location,
ul.job_listings li.job_listing .date,
ul.job_listings li.job_listing .meta{
  color:var(--text-low)!important;
  font-size:13px!important;
}

/* Ultimate Member forms - same issue as WP Job Manager: built for
   light sites, so force it to read clearly on the dark theme */
.um{background:transparent!important;}
.um .um-form{background:var(--glass-fill)!important;border:1px solid var(--glass-border)!important;border-radius:16px!important;padding:24px!important;}
.um-field-label label,
.um-field-label{color:var(--text-hi)!important;font-family:'Inter',sans-serif!important;}
.um-field-area input[type="text"],
.um-field-area input[type="email"],
.um-field-area input[type="password"],
.um-field-area input[type="number"],
.um-field-area select,
.um-field-area textarea{
  background:rgba(255,255,255,0.06)!important;
  border:1px solid var(--glass-border)!important;
  color:var(--text-hi)!important;
  border-radius:10px!important;
}
.um-field-area input::placeholder{color:var(--text-low)!important;}
.um-button, .um a.um-button{
  background:linear-gradient(90deg,var(--grad-1),var(--grad-2))!important;
  color:#fff!important;border:none!important;border-radius:100px!important;
}
.um p, .um span, .um a{color:var(--text-mid)!important;}
.um a{color:var(--grad-3)!important;}

/* Generic page content (page.php) */
.page-content{padding:64px 48px;max-width:800px;margin:0 auto;}
.page-content h1{font-size:32px;margin-bottom:24px;color:var(--text-hi);font-weight:600;}
.page-content p{margin-bottom:16px;color:var(--text-mid);font-size:16px;}

@media (max-width: 900px){
  .path-select, .jobs-grid, .directory-grid, .tools-grid, .split{grid-template-columns:1fr;}
  header.site-header{padding:14px 24px;}
  section.site-section, .hero, .path-select, .split, .suppliers{padding-left:24px;padding-right:24px;}
}
