/*
Theme Name: rb
Author: David Whitehead
Version: 1.0
*/

body {
    margin: 0;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Header background + border */
.site-header .navbar {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    background: var(--White, #FFF) !important;
    border-bottom: 1px solid var(--Field-Outline, #E3E3E3) !important;
}

/* WordPress menu -> Bootstrap-like navbar */
.main-menu,
.main-menu li {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Horizontal alignment for desktop */
.main-menu {
    display: flex;
    gap: 1.5rem;
}

/* Menu link styling */
.main-menu li a {
    display: block;
    color: var(--Deep-Ocean-Blue, #2C5F8A) !important;
    font-family: Inter, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 2.1px;
    text-transform: uppercase;
    text-align: center;
    padding: 0.5rem 0.75rem;
    text-decoration: none;
}

/* Hover state (optional) */
.main-menu li a:hover {
    opacity: 0.8;
    text-decoration: none;
}


/* Desktop CTA button (Book a Session) */
.primaryBookings {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 218px;
    height: 50px;
    flex-shrink: 0;
    border-radius: 10000px;
    border: 2px solid var(--Throat-Chakra-Blue, #4FA3E3);
    background: var(--Throat-Chakra-Blue, #4FA3E3);
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none;
	padding-top: 14px;
}

.primaryBookings:hover {    
    text-decoration: none;
	background-color: #2C5F8A;
	border: 2px solid #2C5F8A;
}

.primaryBookingsPage {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 218px;
    height: 50px;
    flex-shrink: 0;
    border-radius: 10000px;
    border: 2px solid var(--Throat-Chakra-Blue, #4FA3E3);
    background: var(--Throat-Chakra-Blue, #4FA3E3);
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none;
}

.primaryBookingsPage:hover {    
    text-decoration: none;
	background-color: #2C5F8A;
	border: 2px solid #2C5F8A;
}


/* FOOTER STYLING */
.site-footer {
    background: var(--Soft-Mist, #E6F2FA);
    border-top: 1px solid var(--Field-Outline, #E3E3E3);
    color: var(--Deep-Ocean-Blue, #2C5F8A);
    font-family: Inter, sans-serif;
}

/* Footer logo sizing */
.footer-logo img {
    width: 230px;
    height: 38px;
    flex-shrink: 0;
    aspect-ratio: 115 / 19;
    object-fit: contain;
}

.footer-nav {
	padding-top: 18px;
}

.footer-menu li {
	list-style: none;	
}

/* Footer menu links */
.footer-menu li a {
    color: var(--Deep-Ocean-Blue, #2C5F8A) !important;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none;
    font-size: 14px;
}

.footer-menu li a:hover {
    opacity: 0.7;
}

.footer-cta .primaryBookings {	
	padding-top:2px;
}

.footer-cta .primaryBookings:hover {	    
    text-decoration: none !important;
	background-color: #2C5F8A !important;
	border: 2px solid #2C5F8A !important;
}

/* Social icons */
.footer-social .social-icon {
    color: var(--Deep-Ocean-Blue, #2C5F8A);
}

.footer-social .social-icon:hover {
    opacity: 0.7;
}

.footer-smallprint {
    color: var(--Secondary-Text, #959595);
    font-family: Inter, sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    letter-spacing: 0.39px;
    text-align: left;
    max-width: 100%;
    margin: 0 auto;
    padding-top: 48px;	
	padding-bottom:48px;
}



/* Contact blocks layout */

.footer-contact {
	padding-top: 54px;
}

.contact-block {
    display: flex;
    flex-direction: column;
}

/* Label styling */
.contact-label {
    color: var(--Throat-Chakra-Blue, #4FA3E3);
    font-family: Inter, sans-serif;
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
    line-height: 180%;
    letter-spacing: 1.65px;
    text-transform: uppercase;
}

/* Value styling */
.contact-value a {
    color: var(--Deep-Ocean-Blue, #2C5F8A);
    font-family: Inter, sans-serif;
    font-size: 17px;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    letter-spacing: 0.51px;
    text-decoration: none;
}

/* Hover on the value */
.contact-value a:hover {
    opacity: 0.7;
}

.footer-social .social-icon i {
    color: var(--Throat-Chakra-Blue, #4FA3E3) !important;
}

.footer-social .social-icon i:hover {
    opacity: 0.7;
}


/* Desktop: keep menu centered, CTA on the right */
@media (min-width: 992px) {
    .navbar .navbar-collapse {
        flex: 1 1 auto;
    }

    .header-cta {
        margin-left: 1rem;
    }
}

/* Mobile only */
@media (max-width: 991px) {
	/* Stack elements vertically */
    .navbar .container {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 0px;
    }

    /* Center the logo */
    .navbar-brand {
        margin: 0 auto 5px auto;
        display: block;
    }
	
	.footer-logo {
        margin: 0 auto 5px auto;
        display: block;
    }
	
	.footer-cta {
		margin-left:auto;
		margin-right:auto;
	}
	
	.footer-contact {
		padding-top: 15px;
		padding-left: 20px;
		padding-right: 20px;
	}
	
	.footer-smallprint {
		padding-top: 24px;
		padding-bottom: 24px;
		padding-left: 20px;
		padding-right: 20px;
	}
		
    .navbar-toggler {
        margin-left: auto;
        margin-right: auto;
        margin-top: 5px;
		margin-bottom: 5px;
    }
	
	#primaryMenu .main-menu {        
        gap: 0.25rem;         
        flex-direction: column;
        align-items: stretch;
    }

    #primaryMenu .main-menu li a {
        padding-top: 0.3rem;   /* was 0.5rem */
        padding-bottom: 0.3rem;
    }
	
	.navbar-toggler[aria-expanded="true"] {
        margin-bottom: 15px; 
    }
	
	.primaryBookings {
		padding-top: 5px;
	}
}


/* page content */

.rb-blue-container {
	border-radius: 50px;
	background: var(--Soft-Mist, #E6F2FA);
	padding: 50px 50px !important;
}

@media (max-width: 991px) {
	.rb-blue-container {
		border-radius: 50px;
		background: var(--Soft-Mist, #E6F2FA);
		padding: 50px 25px !important;
	}	
}

@media (max-width: 746px) {
	.rb-blue-container {
		border-radius: 30px;
		background: var(--Soft-Mist, #E6F2FA);
		padding: 25px 20px !important;
	}	
}

.rb-button-small {
	width: 254px !important;	
	flex-shrink: 0;
}

.rb-meditation-logo {
	padding-top: 50px;
}

.rb-st1 {
	padding-top: 50px;
}

.rb-s1 {
	padding-bottom: 50px;
}

.rb-s2 {
	padding-bottom: 50px;
}

.rb-pd1 {
	padding-top: 50px !important;
}

@media (max-width: 746px) {
	.rb-pd1 {
		padding-top: 20px !important;
	}
}

.rb-subt {
	color: var(--Throat-Chakra-Blue, #4FA3E3);
	font-family: Inter;
	font-size: 14px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	letter-spacing: 2.1px;
}

.rb-benefit-text {
	color: var(--Deep-Ocean-Blue, #2C5F8A);
	text-align: center;
	font-family: "Libre Baskerville";
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 27px */
	padding-top: 10px;
}

.rb-benefit-icons {
	width: 111.826px;
	height: 100px;
	flex-shrink: 0;	
}

.rb-h0 {
	color: var(--Deep-Ocean-Blue, #2C5F8A);	
	font-family: "Libre Baskerville";
	font-size: 60px;
	font-style: normal;
	font-weight: 400;
	line-height: 140%; /* 84px */
	letter-spacing: 1.2px;
}

.rb-h1 {	
	color: var(--Deep-Ocean-Blue, #2C5F8A);
	font-family: "Libre Baskerville";
	font-size: 42px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 63px */
	letter-spacing: 0.84px;
}

.rb-h2 {
	color: var(--Deep-Ocean-Blue, #2C5F8A);
	text-align: center;
	font-family: "Libre Baskerville";
	font-size: 35px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 52.5px */
	letter-spacing: 0.7px;
}

.rb-text {
	color: var(--Primary-Text, #5D5D5D);
	font-family: Inter;
	font-size: 17px;
	font-style: normal;
	font-weight: 400;
	line-height: 180%; /* 30.6px */
	letter-spacing: 0.51px;
}

.rb-text2 {
	color: var(--Primary-Text, #5D5D5D);
	font-family: Inter;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 180%; /* 32.4px */
	letter-spacing: 0.54px;
}

.rb-rhm {
	max-width: 660px;
}

@media (max-width: 746px) {
	.rb-subt {		
		font-size: 12px;		
	}
	
	.rb-h0 {
		font-size: 32px;
	}
	
	.rb-h1 {
		font-size: 32px;
	}
	
	.rb-h2 {
		font-size: 26px;
	}
	
	.rb-text {
		font-size: 15px;
	}
	
	.rb-benefit-text {
		font-size: 22px;
	}
	
	.rb-rhm {
		max-width: 100%;
	}
	
	.rb-himage {
		max-width: 75%;
	}
	
	.rb-mpt1 {
		padding-top: 30px;
	}
	
	.rb-mpt2 {
		padding-top: 40px;
	}
}

/* remove page title blanks i.e. <h1></h1> when we don't use a title */
body > main > article > h1:first-child {
    display: none !important;
}

/* Hero banner wrapper */
.hero-banner {
	position: relative;
    width: 100%;
    margin: 0 auto 2rem auto;
    overflow: hidden;
    height: 70vh;
    min-height: 400px;
}

.hero-banner__small {
	height: 40vh;
	min-height: 400px;
}

/* Banner image */
.hero-banner img {
    display: block;
    width: 100%;
    height: 100%;			
	object-fit: cover;
    display: block;	
}

/* Centered overlay content */
.hero-banner__content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1.5rem;
	z-index: 2;

}

/* Title styling */
.hero-banner__title {    
    margin-bottom: 1rem;
	
	color: var(--White, #FFF);
	text-align: center;
	font-family: "Libre Baskerville";
	font-size: 60px;
	font-style: normal;
	font-weight: 400;	
	letter-spacing: 1.2px;
}

.hero-banner__sub-title {    
    color: var(--White, #FFF);
	text-align: center;
	font-family: Inter;
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	letter-spacing: 2.7px;
	padding-top: 15px;
	padding-bottom: 25px;
}

.hero-banner__button {
    text-decoration: none;
    padding: 0.75rem 1.75rem;
    border-radius: 10000px;
    border: 2px solid var(--Throat-Chakra-Blue, #4FA3E3);
    background: var(--Throat-Chakra-Blue, #4FA3E3);
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* Hover (optional) */
.hero-banner__button:hover {    
    text-decoration: none;
	background-color: #2C5F8A;
	border: 2px solid #2C5F8A;
}

/* Mobile adjustments */
@media (max-width: 767px) {

	.hero-banner {
        height: 60vh; /* adjust as needed */
        min-height: 350px;
    }
	
	.hero-banner__small {
		height: 20vh;
		min-height: 300px;
	}

    /* Reduce overall padding so content fits better */
    .hero-banner__content {
        padding: 1rem;
    }

    .hero-banner__title {
        font-size: 32px;
        letter-spacing: 0.6px;
        margin-bottom: 0.5rem;
    }

    .hero-banner__sub-title {
        font-size: 14px;
        letter-spacing: 1.5px;
        padding-top: 10px;
        padding-bottom: 20px;
    }

    .hero-banner__button {
        font-size: 11px;
        padding: 0.6rem 1.4rem;
        letter-spacing: 1.5px;
    }
	
	.hero-banner__top {
		padding-top: 20px;
	}
}


/* Slim hero banner – image bar with text left, button right */
.hero-banner-slim {
    position: relative;
    width: 100%;
    height: 174px;
    margin: 0 auto 2rem auto;
    overflow: hidden;
	border-radius: 50px;    
}

/* Background image */
.hero-banner-slim img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    flex-shrink: 0;
}

/* Dark → transparent gradient overlay */
.hero-banner-slim::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #000 59.58%, rgba(0, 0, 0, 0.00) 97.58%);
    opacity: 0.2;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    z-index: 1;
}

/* Content row: text left, button right */
.hero-banner-slim__content {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-inline: 2rem;
    z-index: 2;
}

/* Left text */
.hero-banner-slim__title {
    color: var(--White, #FFF);
    font-family: "Libre Baskerville";
    font-size: 35px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.7px;
    max-width: 600px;
    margin: 0;
}

/* Right button */
.hero-banner-slim__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 254px;
    height: 60px;
    flex-shrink: 0;
    border-radius: 10000px;
    background: var(--Throat-Chakra-Blue, #4FA3E3);
    border: none;
    color: var(--White, #FFF);
    text-align: center;
    font-family: Inter, sans-serif;
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 2.1px;
    text-transform: uppercase;
    text-decoration: none;
}

/* Hover (optional) */
.hero-banner-slim__button:hover {    
    text-decoration: none;
	background-color: #2C5F8A;
	border: 2px solid #2C5F8A;
}

/* Mobile adjustments */
@media (max-width: 767px) {
    .hero-banner-slim {
        height: auto;
        min-height: 174px;
    }

    .hero-banner-slim__content {
        flex-direction: column;
        justify-content: center;
        text-align: center;
        padding: 1rem 1.5rem;
        gap: 0.75rem;
    }

    .hero-banner-slim__title {
        font-size: 26px;
        line-height: 140%;
    }

    .hero-banner-slim__button {
        width: 100%;
        max-width: 254px;
        height: 50px;
        font-size: 13px;
    }
}

/* Tick List Style */
.tick-list {
    list-style: none;
    padding-left: 0; 
    margin-left: 0;
}

.tick-list li {
    position: relative;
    padding-left: 32px;    
    color: var(--Deep-Ocean-Blue, #2C5F8A);
    font-family: Inter, sans-serif;
    font-size: 17px;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
    letter-spacing: 0.51px;
    margin-bottom: 0.5rem;
}

/* Tick icon */
.tick-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0.15rem;

    color: var(--Throat-Chakra-Blue, #4FA3E3); 
    font-size: 20px;
    font-weight: 700;
}

.rb-button-container {
	width:100%;
	margin-right: auto;
}

/* Arrow List Style */
.arrow-list {
    list-style: none;
    padding-left: 0;
    margin-left: 0;
}

.arrow-list li {
    position: relative;
    padding-left: 32px;

    color: var(--Deep-Ocean-Blue, #2C5F8A);
    font-family: Inter, sans-serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 180%;
    letter-spacing: 0.51px;
    margin-bottom: 0.5rem;
}

.arrow-list li::before {
    content: "➜";
    position: absolute;
    left: 0;
    top: 0.15rem;
    color: var(--Throat-Chakra-Blue, #4FA3E3);
    font-size: 22px;
    font-weight: 700;
}


.rb-in-person-list-container {	
	padding-left:50px;
}

@media (max-width: 967px) {
	.rb-in-person-list-container {		
		padding:30px;		
	}
}

@media (max-width: 784px) {
	.rb-in-person-list-container {		
		padding:0px;		
	}
}

/* contact form */
.form-control,
.form-select,
textarea.form-control {
  border-radius: 5px !important;
  border: 1px solid var(--Field-Outline, #E3E3E3) !important;
  background: var(--White, #FFF) !important;
}

.form-control:focus,
.form-select:focus,
input:focus,
textarea:focus,
select:focus {
  box-shadow: none !important;
  outline: none !important;
  border-color: #E3E3E3 !important;
}


/* RESET select so Bootstrap/native arrow shows */
.wpcf7 select.form-select,
.wpcf7 select.form-control {
  width: 100%;
  max-width: 100%;  
  border-radius: 5px;
  border: 1px solid var(--Field-Outline, #E3E3E3);
  background-color: var(--White, #FFF);  
  -webkit-appearance: auto !important;
  -moz-appearance: auto !important;
  appearance: auto !important;
  background-image: none !important;
}

/* Base styling – center and look like Bootstrap alert */
.wpcf7 form .wpcf7-response-output {
    margin: 20px auto !important;
    padding: 15px 20px;
    max-width: 600px;
    border-radius: 5px;
    text-align: center;
    font-size: 1rem;
}

/* Success message (green alert) */
.wpcf7 form.sent .wpcf7-response-output {
    background-color: #d1e7dd;
    border: 1px solid #a3cfbb;
    color: #0f5132;
}

/* Error message (red alert) */
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output {
    background-color: #f8d7da;
    border: 1px solid #f5c2c7;
    color: #842029;
}

/* Spam message (yellow alert) */
.wpcf7 form.spam .wpcf7-response-output {
    background-color: #fff3cd;
    border: 1px solid #ffecb5;
    color: #664d03;
}

.wpcf7-spinner {
	display: none !important;
}