/*
Theme Name: iGaming CMO
Theme URI: https://igamingcmo.com
Author: Daniel Nordahl
Description: Private members' club aesthetic for iGaming CMO. Near-black ground, cream text, gold hairlines. Cormorant Garamond + Archivo.
Version: 13.6.0
Requires at least: 6.2
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: igamingcmo
*/

/* --------------------------------------------------
   Tokens (self-contained, independent of theme.json)
-------------------------------------------------- */
:root{
  --igc-night:#16110D;
  --igc-cream:#EFE9DC;
  --igc-gold:#B99A5B;
  --igc-gold-line:rgba(185,154,91,.28);
  --igc-cream-line:rgba(239,233,220,.13);
  --igc-serif:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --igc-sans:'Archivo', Helvetica, Arial, sans-serif;
}

/* --------------------------------------------------
   Base
-------------------------------------------------- */
html, body{margin:0;padding:0}
body{
  background:var(--igc-night);
  color:var(--igc-cream);
  font-family:var(--igc-sans);
  font-weight:300;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
*{box-sizing:border-box}
a{color:var(--igc-cream);text-decoration:none}
a:hover{color:var(--igc-gold)}
h1,h2,h3,h4{font-family:var(--igc-serif);font-weight:300;margin:0}
h3,h4{font-weight:400}
::selection{background:var(--igc-gold);color:var(--igc-night)}

/* Kill WordPress auto block margins inside our custom components */
.igc-problem > *,
.igc-menu-head > *,
.igc-facts .wp-block-column > *,
.igc-divider > *{margin-top:0 !important;margin-bottom:0 !important}

/* --------------------------------------------------
   Labels
-------------------------------------------------- */
.igc-label{
  font-family:var(--igc-sans) !important;
  font-size:11px !important;
  line-height:1.6 !important;
  letter-spacing:.3em !important;
  text-transform:uppercase !important;
  color:var(--igc-gold) !important;
  font-weight:400 !important;
}

/* --------------------------------------------------
   Global horizontal padding + centering
-------------------------------------------------- */
.wp-site-blocks > * > .wp-block-group,
.wp-site-blocks > .wp-block-group,
.igc-header,
.igc-footer{
  padding-left:clamp(20px,5vw,48px);
  padding-right:clamp(20px,5vw,48px);
}
.wp-block-group.is-layout-constrained > *{margin-left:auto;margin-right:auto}
.igc-hero > *,
.igc-book > *{margin-left:auto !important;margin-right:auto !important}

/* --------------------------------------------------
   Header
-------------------------------------------------- */
.igc-header{border-bottom:1px solid var(--igc-gold-line)}
.igc-header-inner{
  max-width:1140px;
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.igc-wordmark{
  font-family:var(--igc-serif);
  font-size:21px;
  font-weight:400;
  line-height:1.2;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--igc-cream);
  white-space:nowrap;
  text-decoration:none;
}
.igc-wordmark span{color:var(--igc-gold)}
.igc-wordmark:hover{color:var(--igc-cream)}
.igc-wordmark:hover span{color:#C8AA6C}
.igc-header .wp-block-site-title{margin:0}
.igc-header .wp-block-site-title,
.igc-header .wp-block-site-title a{
  font-family:var(--igc-serif) !important;
  font-size:21px !important;
  font-weight:400 !important;
  line-height:1.2 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  color:var(--igc-cream) !important;
  white-space:nowrap;
}
.igc-header .wp-block-site-title a:hover{color:var(--igc-gold) !important}
.igc-nav{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(20px,3vw,38px);font-family:var(--igc-sans)}
.igc-nav a{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--igc-cream);text-decoration:none;white-space:nowrap}
.igc-nav a:hover{color:var(--igc-gold)}
.igc-nav a.igc-nav-cta{color:var(--igc-gold);border-bottom:1px solid rgba(185,154,91,.5);padding-bottom:3px}
.igc-header .wp-block-navigation{font-family:var(--igc-sans)}
.igc-header .wp-block-navigation a,
.igc-header .wp-block-navigation .wp-block-navigation-item__content{
  font-size:11px !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
  color:var(--igc-cream) !important;
  text-decoration:none !important;
  font-weight:400 !important;
}
.igc-header .wp-block-navigation a:hover{color:var(--igc-gold) !important}
.igc-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--igc-night) !important;color:var(--igc-cream)}

/* --------------------------------------------------
   Buttons
-------------------------------------------------- */
.igc-btn-gold .wp-block-button__link,
.wp-block-button.igc-btn-gold .wp-block-button__link{
  background:transparent !important;
  background-color:transparent !important;
  border:1px solid var(--igc-gold) !important;
  color:var(--igc-gold) !important;
  border-radius:0 !important;
  padding:17px 40px !important;
  font-family:var(--igc-sans) !important;
  font-size:11px !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  font-weight:400 !important;
  line-height:1 !important;
  transition:background-color .2s ease, color .2s ease;
}
.igc-btn-gold .wp-block-button__link:hover{
  background:var(--igc-gold) !important;
  background-color:var(--igc-gold) !important;
  color:var(--igc-night) !important;
}

/* --------------------------------------------------
   Hero
-------------------------------------------------- */
.igc-hero h1{
  font-family:var(--igc-serif) !important;
  font-weight:300 !important;
  font-size:clamp(40px,6.6vw,86px) !important;
  line-height:1.04 !important;
  letter-spacing:-.005em !important;
  text-wrap:balance;
  max-width:900px;
  margin:0 auto !important;
}
.igc-tagline{
  font-family:var(--igc-sans) !important;
  font-size:12px !important;
  letter-spacing:.28em !important;
  text-transform:uppercase !important;
  color:var(--igc-gold) !important;
  margin-top:30px !important;
}
.igc-dim{
  font-size:17px !important;
  line-height:1.75 !important;
  color:rgba(239,233,220,.7) !important;
  max-width:560px;
  margin-left:auto !important;
  margin-right:auto !important;
}
.igc-dim-more{font-size:15px !important;line-height:1.7 !important;color:rgba(239,233,220,.55) !important;max-width:520px;margin-left:auto !important;margin-right:auto !important}
.igc-note{font-size:13px !important;color:rgba(239,233,220,.45) !important;letter-spacing:.04em !important;margin-top:22px !important}
.igc-hero{text-align:center}
.igc-hero > *{margin-left:auto;margin-right:auto}
.igc-who{text-align:center}
.igc-book{text-align:center}
.igc-book .igc-form{text-align:left}
.igc-ornament{margin:0 0 34px}
.igc-ornament svg{display:block;margin:0 auto}

/* --------------------------------------------------
   Fact strip
-------------------------------------------------- */
.igc-facts{
  max-width:1140px;
  margin-left:auto !important;
  margin-right:auto !important;
  border-top:1px solid var(--igc-gold-line);
  border-bottom:1px solid var(--igc-gold-line);
  margin:0 auto !important;
  gap:0 !important;
}
.igc-facts .wp-block-column{
  padding:clamp(34px,4vw,54px) clamp(24px,3vw,44px);
  border-right:1px solid var(--igc-gold-line);
  margin:0 !important;
}
.igc-facts .wp-block-column:last-child{border-right:none}
.igc-facts p{
  font-family:var(--igc-serif) !important;
  font-size:22px !important;
  line-height:1.5 !important;
  text-align:center;
  margin:0 !important;
}
@media(max-width:781px){
  .igc-facts .wp-block-column{border-right:none;border-bottom:1px solid var(--igc-gold-line)}
  .igc-facts .wp-block-column:last-child{border-bottom:none}
}

/* --------------------------------------------------
   Problem rows
-------------------------------------------------- */
.igc-problem{
  display:flex !important;
  gap:clamp(20px,4vw,44px);
  align-items:baseline;
  padding:clamp(26px,3.4vw,40px) 0;
  border-top:1px solid var(--igc-cream-line);
  margin:0 auto !important;
}
.igc-problem:last-of-type{border-bottom:1px solid var(--igc-cream-line)}
.igc-idx{
  font-family:var(--igc-serif) !important;
  font-size:26px !important;
  line-height:1.2 !important;
  color:var(--igc-gold) !important;
  min-width:44px;
  flex:0 0 auto;
  margin:0 !important;
}
.igc-statement{
  font-family:var(--igc-serif) !important;
  font-size:clamp(22px,2.6vw,31px) !important;
  line-height:1.45 !important;
  margin:0 !important;
}

/* --------------------------------------------------
   Divider
-------------------------------------------------- */
.igc-divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  max-width:520px;
  margin:clamp(56px,8vw,96px) auto 0;
  padding:0 clamp(20px,5vw,48px);
}
.igc-divider .line{flex:1;height:1px;background:rgba(185,154,91,.4)}
.igc-divider svg{flex:0 0 auto;display:block}

/* --------------------------------------------------
   Services (menu style)
-------------------------------------------------- */
.igc-menu-head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:6px 14px;
  margin:0 0 14px;
}
.igc-menu-head h3{
  font-family:var(--igc-serif) !important;
  font-weight:400 !important;
  font-size:clamp(26px,3.2vw,36px) !important;
  line-height:1.2 !important;
  margin:0 !important;
}
.igc-leader{
  flex:1 1 24px;
  min-width:24px;
  border-bottom:1px dotted rgba(185,154,91,.45);
  transform:translateY(-6px);
}
.igc-menu-price{
  font-family:var(--igc-sans) !important;
  font-size:11px !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
  color:var(--igc-gold) !important;
  text-align:right;
  margin:0 !important;
  flex:0 0 auto;
}
.igc-menu-desc{
  font-size:16px !important;
  line-height:1.8 !important;
  color:rgba(239,233,220,.66) !important;
  max-width:640px;
  margin:0 !important;
}
.igc-menu-tags{
  margin:20px 0 0 !important;
  padding:0 !important;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:10px 32px;
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(239,233,220,.5);
}
.igc-menu-tags li{margin:0}

/* --------------------------------------------------
   Capabilities grid
-------------------------------------------------- */
.igc-caps-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--igc-gold-line);
  border:1px solid var(--igc-gold-line);
}
.igc-caps-grid > div{
  background:var(--igc-night);
  padding:26px 22px;
  min-height:104px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  font-family:var(--igc-sans);
  font-size:12px;
  font-weight:400;
  line-height:1.6;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(239,233,220,.78);
  transition:color .2s ease, background-color .2s ease;
}
.igc-caps-grid > div:hover{color:var(--igc-gold)}
.igc-caps-grid > div.igc-caps-more{
  grid-column:1 / -1;
  min-height:0;
  padding:20px;
  color:var(--igc-gold);
  letter-spacing:.28em;
}
.igc-caps-grid > div.igc-caps-more:hover{color:var(--igc-gold)}
.igc-caps-grid > div span{
  display:block;
  font-size:10px;
  letter-spacing:.18em;
  color:rgba(239,233,220,.38);
  text-transform:uppercase;
}
@media(max-width:900px){.igc-caps-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.igc-caps-grid{grid-template-columns:1fr}.igc-caps-grid > div{min-height:0;padding:20px}}

/* --------------------------------------------------
   Who this is for
-------------------------------------------------- */
.igc-who-strip{border-top:1px solid var(--igc-gold-line);border-bottom:1px solid var(--igc-gold-line)}
.igc-who h3{
  font-family:var(--igc-serif) !important;
  font-weight:400 !important;
  font-size:26px !important;
  line-height:1.3 !important;
  margin:0 0 14px !important;
}
.igc-who p{font-size:15px !important;line-height:1.75 !important;color:rgba(239,233,220,.6) !important;margin:0 auto !important}
.igc-who > p.igc-label{margin-left:auto !important;margin-right:auto !important}

/* --------------------------------------------------
   Images
-------------------------------------------------- */
.igc-frame img{border:1px solid var(--igc-gold-line);display:block}
.igc-frame figure{margin:0}
.igc-portrait{margin:28px auto 32px !important}
.igc-portrait img{border:1px solid var(--igc-gold-line);display:block}

/* --------------------------------------------------
   About
-------------------------------------------------- */
.igc-bio{font-size:17px !important;line-height:1.85 !important;color:rgba(239,233,220,.72) !important;margin:0 auto 20px !important}
.igc-rule-top{border-top:1px solid var(--igc-gold-line)}
.igc-scope{margin:0 !important;padding:0 !important;list-style:none}
.igc-scope li{
  padding:13px 0;
  border-bottom:1px solid rgba(239,233,220,.11);
  font-size:15px;
  letter-spacing:.03em;
  margin:0;
}
.igc-scope li:last-child{border-bottom:none}

/* --------------------------------------------------
   Contact form
-------------------------------------------------- */
.igc-form-wrap{max-width:520px;margin:0 auto}
.igc-form{display:grid;gap:22px;text-align:left;margin:0}
.igc-form label{display:grid;gap:9px;margin:0}
.igc-form label span{
  font-family:var(--igc-sans);
  font-size:10px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(239,233,220,.55);
  line-height:1.4;
}
.igc-form input[type="text"],
.igc-form input[type="email"],
.igc-form textarea{
  display:block;
  width:100%;
  background:transparent;
  border:1px solid rgba(239,233,220,.22);
  color:var(--igc-cream);
  font-family:var(--igc-sans);
  font-size:16px;
  font-weight:300;
  line-height:1.5;
  padding:15px 16px;
  border-radius:0;
  -webkit-appearance:none;
  appearance:none;
  margin:0;
}
.igc-form textarea{resize:vertical;min-height:120px}
.igc-form input:focus,
.igc-form textarea:focus{outline:none;border-color:var(--igc-gold)}
.igc-form ::placeholder{color:rgba(239,233,220,.35)}
.igc-form button{
  margin-top:8px;
  background:var(--igc-gold);
  color:var(--igc-night);
  border:none;
  border-radius:0;
  padding:18px 24px;
  font-family:var(--igc-sans);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:400;
  cursor:pointer;
  width:100%;
  transition:background-color .2s ease;
}
.igc-form button:hover{background:#C8AA6C}
.igc-form-note{margin:0 !important;text-align:center;font-size:13px !important;color:rgba(239,233,220,.42) !important}
.igc-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.igc-form-success{
  border-top:1px solid rgba(185,154,91,.4);
  border-bottom:1px solid rgba(185,154,91,.4);
  padding:44px 24px;
  text-align:center;
}
.igc-form-success .big{font-family:var(--igc-serif);font-size:30px;color:var(--igc-gold);margin:0 0 12px}
.igc-form-success .sub{font-size:16px;line-height:1.75;color:rgba(239,233,220,.66);margin:0}

/* --------------------------------------------------
   Footer
-------------------------------------------------- */
.igc-footer{
  border-top:1px solid var(--igc-gold-line);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(239,233,220,.42);
}
.igc-footer-inner{
  max-width:1140px;
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px 32px;
}
.igc-footer p{margin:0 !important;font-size:11px !important;letter-spacing:.18em}
.igc-social{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.igc-social a{border-bottom:1px solid rgba(185,154,91,.35);padding-bottom:2px}
.igc-social a:hover{color:var(--igc-gold);border-bottom-color:var(--igc-gold)}
.igc-dot{color:rgba(239,233,220,.3)}
.igc-footer-legal{
  max-width:1140px;
  margin:18px auto 0;
  padding-top:16px;
  border-top:1px solid rgba(185,154,91,.16);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.igc-footer-legal a{color:rgba(239,233,220,.42);text-decoration:none}
.igc-footer-legal a:hover{color:var(--igc-gold)}

/* --------------------------------------------------
   Cookie banner
-------------------------------------------------- */
.igc-cookie{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:9999;
  background:#100C09;
  border-top:1px solid var(--igc-gold-line);
  transform:translateY(100%);
  transition:transform .25s ease;
}
.igc-cookie.is-open{transform:translateY(0)}
.igc-cookie-inner{
  max-width:1140px;
  margin:0 auto;
  padding:20px clamp(20px,5vw,48px);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:16px 32px;
}
.igc-cookie-text{
  margin:0;
  font-family:var(--igc-sans);
  font-size:13px;
  line-height:1.6;
  color:rgba(239,233,220,.72);
  max-width:640px;
}
.igc-cookie-text a{color:var(--igc-gold);text-decoration:underline;text-underline-offset:3px}
.igc-cookie-actions{display:flex;flex-wrap:wrap;gap:12px}
.igc-cookie-btn{
  font-family:var(--igc-sans);
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  padding:12px 24px;
  border-radius:0;
  cursor:pointer;
  transition:background-color .2s ease,color .2s ease;
}
.igc-cookie-decline{background:transparent;border:1px solid rgba(239,233,220,.3);color:rgba(239,233,220,.8)}
.igc-cookie-decline:hover{border-color:var(--igc-cream);color:var(--igc-cream)}
.igc-cookie-accept{background:var(--igc-gold);border:1px solid var(--igc-gold);color:var(--igc-night)}
.igc-cookie-accept:hover{background:#C8AA6C;border-color:#C8AA6C}
@media(max-width:700px){
  .igc-cookie-inner{flex-direction:column;align-items:stretch}
  .igc-cookie-actions{justify-content:stretch}
  .igc-cookie-btn{flex:1}
}
.igc-footer a{color:rgba(239,233,220,.42)}
.igc-footer a:hover{color:var(--igc-gold)}
