:root{
  --shook-cc-orange:var(--e-global-color-primary,#F66420);
  --shook-cc-blue:var(--e-global-color-secondary,#44AEDE);
  --shook-cc-link:var(--e-global-color-text,#0C499C);
  --shook-cc-yellow:var(--e-global-color-accent,#F7CC18);
  --shook-cc-white:var(--e-global-color-c5281b7,#FFFFFF);
  --shook-cc-light:var(--e-global-color-1a30766,#F2F4F9);
  --shook-cc-gray:var(--e-global-color-0b78146,#8C93A6);
  --shook-cc-navy:var(--e-global-color-0890d4f,#021040);
  --shook-cc-heading:var(--e-global-typography-primary-font-family,"Montserrat",Arial,sans-serif);
  --shook-cc-body:var(--e-global-typography-text-font-family,"Roboto",Arial,sans-serif);
}

/* Comfort Club-specific adaptation of Shook's shared ACF landing-page hero. */
.shook-comfort-club-page .elementor-element-5b5e60d{
  background-image:none!important;
  flex-direction:column!important;
}
.shook-comfort-club-page .elementor-element-5b5e60d:before{opacity:1!important}
.shook-comfort-club-page .elementor-element-fd0cf6f{
  width:min(1180px,calc(100% - 32px))!important;
  max-width:1180px!important;
  margin-inline:auto!important;
  align-items:stretch!important;
}
.shook-comfort-club-page .elementor-element-fd796f5,
.shook-comfort-club-page .elementor-element-d58c3c5,
.shook-comfort-club-page .elementor-element-7a0ea36,
.shook-comfort-club-page .elementor-element-e9cab2c{display:none!important}
.shook-comfort-club-page .elementor-element-4afe690,
.shook-comfort-club-page .elementor-element-b07146a{text-align:center!important}
.shook-comfort-club-page .shook-cc-hero-copy>h2{
  margin:0 auto 10px;
  color:var(--shook-cc-white)!important;
  text-align:center;
  font-family:var(--shook-cc-heading);
  font-size:clamp(1.1rem,2vw,1.55rem);
  line-height:1.25;
}
.shook-comfort-club-page .shook-cc-hero-copy>p{
  max-width:780px;
  margin:0 auto 26px;
  color:var(--shook-cc-white)!important;
  text-align:center;
  font-size:1.02rem;
  line-height:1.65;
}

.shook-cc{
  width:100%;
  margin:28px auto 8px;
  color:var(--shook-cc-navy);
  font-family:var(--shook-cc-body);
  line-height:1.5;
}
.shook-cc *{box-sizing:border-box}
.shook-cc__form{
  overflow:hidden;
  border:1px solid rgba(2,16,64,.08);
  border-radius:24px;
  background:var(--shook-cc-white);
  box-shadow:0 18px 52px rgba(0,0,0,.25);
}
.shook-cc__plans{
  padding:26px;
  background:linear-gradient(180deg,#fff 0%,#f7f8fb 100%);
  border-bottom:1px solid #e7e9ef;
}
.shook-cc__plans-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.shook-cc__plans-head h3,
.shook-cc__fields-wrap h3{
  margin:0;
  color:var(--shook-cc-navy)!important;
  font:800 1.35rem/1.15 var(--shook-cc-heading);
}
.shook-cc__plans-head p,
.shook-cc__fields-wrap>p{
  margin:5px 0 0;
  color:#697289!important;
  font-size:.93rem;
}
.shook-cc__price-toggle{
  display:inline-flex;
  padding:4px;
  border:1px solid #d8dde8;
  border-radius:999px;
  background:#eef1f6;
  white-space:nowrap;
}
.shook-cc__price-toggle button{
  border:0;
  border-radius:999px;
  padding:8px 12px;
  background:transparent;
  color:#59627a;
  font:700 .8rem/1 var(--shook-cc-body);
  cursor:pointer;
}
.shook-cc__price-toggle button.is-active{
  background:var(--shook-cc-navy);
  color:#fff;
}
.shook-cc__plan-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.shook-cc__plan{
  position:relative;
  display:block;
  cursor:pointer;
}
.shook-cc__plan>input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
}
.shook-cc__plan-card{
  position:relative;
  display:block;
  height:100%;
  padding:20px;
  border:2px solid #dfe3ec;
  border-radius:18px;
  background:#fff;
  transition:.18s ease;
}
.shook-cc__plan:hover .shook-cc__plan-card{
  transform:translateY(-2px);
  border-color:var(--shook-cc-blue);
}
.shook-cc__plan>input:focus-visible+.shook-cc__plan-card{
  outline:3px solid rgba(68,174,222,.35);
  outline-offset:2px;
}
.shook-cc__plan>input:checked+.shook-cc__plan-card{
  border-color:var(--shook-cc-orange);
  box-shadow:0 0 0 4px rgba(246,100,32,.12),0 12px 28px rgba(2,16,64,.08);
}
.shook-cc__plan>input:checked+.shook-cc__plan-card:after{
  content:"✓";
  position:absolute;
  top:14px;
  right:14px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--shook-cc-orange);
  color:#fff;
  font-weight:900;
}
.shook-cc__badge{
  position:absolute;
  z-index:2;
  top:-10px;
  left:18px;
  padding:5px 10px;
  border-radius:999px;
  background:var(--shook-cc-yellow);
  color:var(--shook-cc-navy);
  font:800 .7rem/1 var(--shook-cc-heading);
  text-transform:uppercase;
  letter-spacing:.05em;
}
.shook-cc__tier{
  display:block;
  margin-bottom:8px;
  color:var(--shook-cc-orange);
  font:800 .82rem/1.2 var(--shook-cc-heading);
  letter-spacing:.06em;
  text-transform:uppercase;
}
.shook-cc__price{
  display:flex;
  align-items:flex-end;
  gap:5px;
  margin-bottom:4px;
}
.shook-cc__price strong{
  color:var(--shook-cc-navy);
  font:800 2.35rem/.95 var(--shook-cc-heading);
}
.shook-cc__price>span{
  padding-bottom:3px;
  color:#626b82;
  font-weight:700;
  font-size:.9rem;
}
.shook-cc__price-note{
  display:block;
  margin-bottom:14px;
  color:#6b748a;
  font-size:.86rem;
}
.shook-cc__features{
  /*
   * Keep plan benefits compact and deterministic. Elementor/sitewide spacing
   * can otherwise stretch nested inline elements inside the pricing cards.
   */
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:7px!important;
  row-gap:7px!important;
  column-gap:0!important;
  margin:0!important;
  padding:0!important;
  color:#30384e;
  font-size:.9rem;
  line-height:1.35!important;
}
.shook-cc__features>span{
  position:relative;
  display:block!important;
  min-height:0!important;
  margin:0!important;
  padding:0 0 0 22px!important;
  line-height:1.35!important;
}
.shook-cc__features>span:before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--shook-cc-orange);
  font-weight:900;
}
.shook-cc__details{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(270px,.72fr);
  gap:28px;
  padding:30px;
}
.shook-cc__fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:20px;
}
.shook-cc__field{display:grid;gap:6px}
.shook-cc__field--full{grid-column:1/-1}
.shook-cc__field label{
  color:var(--shook-cc-navy)!important;
  font-size:.85rem;
  font-weight:800;
}
/*
 * Shook's Elementor Kit intentionally gives sitewide form controls a navy
 * background, white border, and 0px radius. These controls live inside a
 * white Comfort Club card, so explicitly override the Kit at component scope.
 */
.shook-comfort-club-page .shook-cc .shook-cc__field input:not([type="radio"]):not([type="checkbox"]),
.shook-comfort-club-page .shook-cc .shook-cc__field select,
.shook-comfort-club-page .shook-cc .shook-cc__field textarea{
  width:100%;
  min-height:46px;
  border:1px solid #cfd5e2!important;
  border-radius:12px!important;
  padding:11px 13px!important;
  background:#fff!important;
  background-color:#fff!important;
  color:var(--shook-cc-navy)!important;
  -webkit-text-fill-color:var(--shook-cc-navy);
  box-shadow:none!important;
  color-scheme:light;
  font:inherit;
  line-height:1.35;
  outline:none;
}
.shook-comfort-club-page .shook-cc .shook-cc__field textarea{
  min-height:96px;
  resize:vertical;
}
.shook-comfort-club-page .shook-cc .shook-cc__field input::placeholder,
.shook-comfort-club-page .shook-cc .shook-cc__field textarea::placeholder{
  color:#8c93a6!important;
  -webkit-text-fill-color:#8c93a6;
  opacity:1;
}
.shook-comfort-club-page .shook-cc .shook-cc__field input:focus,
.shook-comfort-club-page .shook-cc .shook-cc__field select:focus,
.shook-comfort-club-page .shook-cc .shook-cc__field textarea:focus{
  border-color:var(--shook-cc-blue)!important;
  background:#fff!important;
  background-color:#fff!important;
  box-shadow:0 0 0 3px rgba(68,174,222,.18)!important;
}
.shook-cc__submit{
  width:100%;
  margin-top:16px;
  border:0;
  border-radius:999px;
  padding:15px 20px;
  background:var(--shook-cc-orange);
  color:#fff;
  font:800 1rem/1 var(--shook-cc-heading);
  cursor:pointer;
}
.shook-cc__submit:hover{filter:brightness(.96);transform:translateY(-1px)}
.shook-cc__fineprint{
  margin:10px 0 0!important;
  color:#7a8398!important;
  text-align:center;
  font-size:.78rem!important;
}
.shook-cc__summary{
  align-self:start;
  padding:22px;
  border-radius:18px;
  background:var(--shook-cc-navy);
  color:#fff;
}
.shook-cc__summary small{
  display:block;
  margin-bottom:6px;
  color:#aeb9d7;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.shook-cc__summary h4{
  margin:0;
  color:#fff!important;
  font:800 1.35rem/1.2 var(--shook-cc-heading);
}
.shook-cc__summary-price{
  margin:5px 0 14px;
  color:#dce5ff;
  font-weight:700;
}
.shook-cc__summary ul{
  list-style:none;
  padding:15px 0 0;
  margin:0;
  border-top:1px solid rgba(255,255,255,.14);
  display:grid;
  gap:9px;
  color:#eef2ff;
  font-size:.9rem;
}
.shook-cc__summary li:before{
  content:"✓";
  margin-right:8px;
  color:var(--shook-cc-yellow);
  font-weight:900;
}
.shook-cc__followup{
  margin-top:16px;
  padding:12px;
  border:1px solid rgba(68,174,222,.35);
  border-radius:12px;
  background:rgba(68,174,222,.12);
  color:#f2f7ff;
  font-size:.85rem;
}
.shook-cc__hp{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.shook-cc__success,
.shook-cc__error{
  display:grid;
  gap:3px;
  margin:0 0 14px;
  padding:14px 16px;
  border-radius:12px;
  background:#edf9f1;
  border:1px solid #bfe5cb;
  color:#18552b;
}
.shook-cc__error{
  background:#fff2f0;
  border-color:#f0c2bc;
  color:#7a251c;
}

@media(max-width:900px){
  .shook-cc__plan-grid{grid-template-columns:1fr}
  .shook-cc__details{grid-template-columns:1fr}
  .shook-cc__summary{order:-1}
  .shook-cc__plans-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:767px){
  .shook-cc{margin-top:22px}
  .shook-cc__form{border-radius:20px}
  .shook-cc__plans{padding:18px}
  .shook-cc__details{padding:20px}
  .shook-cc__fields{grid-template-columns:1fr;gap:13px}
  .shook-cc__field--full{grid-column:auto}
  .shook-cc__plan-card{padding:18px}
  .shook-cc__price strong{font-size:2.15rem}
  .shook-cc__price-toggle{width:100%;justify-content:stretch}
  .shook-cc__price-toggle button{flex:1;min-height:40px;line-height:1.2}
  .shook-comfort-club-page .shook-cc .shook-cc__field input:not([type="radio"]):not([type="checkbox"]),
  .shook-comfort-club-page .shook-cc .shook-cc__field select,
  .shook-comfort-club-page .shook-cc .shook-cc__field textarea{
    min-height:48px;
    font-size:16px;
  }
  .shook-cc__summary{padding:20px}
}
@media(max-width:420px){
  .shook-cc__plans{padding:15px}
  .shook-cc__details{padding:16px}
  .shook-cc__plan-grid{gap:14px}
  .shook-cc__plan-card{padding:17px}
  .shook-cc__price-toggle button{padding:9px 8px;font-size:.76rem}
  .shook-cc__submit{padding:15px 16px;line-height:1.15}
}
