/*
Theme Name:   Hello Elementor Child — Choice Bristol
Theme URI:    https://beyondhsg.com
Description:  Child theme of Hello Elementor for the Choice Bristol website.
Author:       Beyond Housing
Author URI:   https://beyondhsg.com
Template:     hello-elementor
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  hello-elementor-child
*/

/* ── Brand variables ── */
:root {
  --cb-navy:      #1C376B;
  --cb-gold:      #FCB715;
  --cb-blue:      #69A9DC;
  --cb-gold-dark: #c9920e;
  --cb-navy-dark: #14305f;
}

/* ── Global resets / base ── */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  color: #333333;
  background-color: #ffffff;
  margin: 0;
  padding: 0;
}

a {
  color: var(--cb-navy);
  text-decoration: none;
}
a:hover {
  color: var(--cb-gold-dark);
  text-decoration: underline;
}

/* ── Typography ── */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-weight: 700;
  line-height: 1.25;
  color: var(--cb-navy);
  margin-top: 0;
}

p { line-height: 1.65; margin-top: 0; }

/* ── Hello Elementor overrides ── */
/* Remove default body padding Hello adds */
.elementor-page .elementor { padding-top: 0 !important; }

/* Make sure full-width sections truly go edge-to-edge */
.elementor-section.elementor-section-stretched {
  left: 0 !important;
  width: 100% !important;
}

/* ── Elementor global color hints ── */
/* These match what you set in Elementor → Site Settings → Global Colors */
.e-global__color--cb-navy   { color: var(--cb-navy); }
.e-global__color--cb-gold   { color: var(--cb-gold); }
.e-global__color--cb-blue   { color: var(--cb-blue); }

/* ── Utility classes used by HTML widgets ── */
.cb-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px;
}
.cb-nav a {
  color: rgba(255,255,255,0.85);
  font-size: 12px;
  padding: 5px 10px;
  border-radius: 4px;
  text-decoration: none;
  font-family: 'Helvetica Neue', Arial, sans-serif;
  transition: background 0.15s, color 0.15s;
}
.cb-nav a:hover {
  color: #ffffff;
  background: rgba(255,255,255,0.12);
  text-decoration: none;
}
.cb-nav .sep {
  color: rgba(255,255,255,0.25);
  padding: 0 4px;
  font-size: 11px;
}

/* ── Elementor widget tweaks ── */

/* Heading widget */
.elementor-widget-heading .elementor-heading-title {
  line-height: 1.25;
}

/* Icon-box widget */
.elementor-widget-icon-box .elementor-icon-box-wrapper {
  padding: 20px;
  border: 1px solid #eeeeee;
  border-radius: 10px;
  transition: box-shadow 0.2s;
}
.elementor-widget-icon-box .elementor-icon-box-wrapper:hover {
  box-shadow: 0 4px 20px rgba(28,55,107,0.10);
}

/* Counter widget */
.elementor-widget-counter .elementor-counter-number-wrapper {
  font-weight: 700;
}

/* Accordion widget */
.elementor-widget-accordion .elementor-accordion-item {
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  margin-bottom: 6px;
  overflow: hidden;
}
.elementor-widget-accordion .elementor-tab-title {
  background: #ffffff;
  padding: 14px 18px;
  font-weight: 500;
}
.elementor-widget-accordion .elementor-tab-title:hover {
  background: #f7f8fa;
}
.elementor-widget-accordion .elementor-tab-content {
  background: #f7f8fa;
  padding: 12px 18px;
  font-size: 13px;
  color: #555555;
  line-height: 1.6;
}

/* Button widget — pill style default */
.elementor-widget-button .elementor-button {
  border-radius: 30px !important;
  font-weight: 600;
  letter-spacing: 0.01em;
  transition: opacity 0.15s, transform 0.15s;
}
.elementor-widget-button .elementor-button:hover {
  opacity: 0.88;
  transform: translateY(-1px);
}

/* Image widget — no weird gaps */
.elementor-widget-image img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Google Maps widget */
.elementor-widget-google_maps iframe {
  border-radius: 8px;
  display: block;
}

/* Divider */
.elementor-widget-divider .elementor-divider-separator {
  border-color: rgba(255,255,255,0.15);
}

/* ── Responsive ── */

/* Tablet ≤ 1024px */
@media (max-width: 1024px) {
  .elementor-column.elementor-col-25 { width: 50% !important; }
}

/* Mobile ≤ 767px */
@media (max-width: 767px) {
  /* Stack all columns */
  .elementor-column {
    width: 100% !important;
    margin-bottom: 16px;
  }

  /* Reduce section padding */
  .elementor-section > .elementor-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Nav: stack vertically */
  .cb-nav {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  .cb-nav .sep { display: none; }

  /* Hero heading font size */
  .elementor-widget-heading h1.elementor-heading-title {
    font-size: 24px !important;
  }

  /* Counter: smaller on mobile */
  .elementor-widget-counter .elementor-counter-number-wrapper {
    font-size: 22px !important;
  }

  /* CTA banner: stack */
  .elementor-section .elementor-button { width: 100%; text-align: center; }
}
