/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/


/* =========================================================
   WPFORMS FIXES
========================================================= */

/* Initial field looks */
.wpforms-container input[type=date],
.wpforms-container input[type=datetime],
.wpforms-container input[type=datetime-local],
.wpforms-container input[type=email],
.wpforms-container input[type=month],
.wpforms-container input[type=number],
.wpforms-container input[type=password],
.wpforms-container input[type=range],
.wpforms-container input[type=search],
.wpforms-container input[type=tel],
.wpforms-container input[type=text],
.wpforms-container input[type=time],
.wpforms-container input[type=url],
.wpforms-container input[type=week],
.wpforms-container select,
.wpforms-container textarea {
  background: #fff;
  border-width: 0 0 1px 0;
  color: var(--ast-global-color-2);
  opacity: 0.5;
}

/* On focus */
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
  outline: none;
  opacity: 1;
  border-color: var(--ast-global-color-0);
}

/* Don't allow resizing the Message box */
.wpforms-container textarea { resize: none; }

/* Message box fixed height */
.wpforms-container .wpforms-field-textarea textarea.wpforms-field-medium {
  height: 136px;
}

/* Button size & font size */
.wpforms-container button {
  padding: 15px 34px;
  font-size: 15px;
}

/* Make all WPForms placeholder text gray */
.wpforms-form ::placeholder {
  color: #999999;
}

/* Set typed text color to black in all WPForms fields */
.wpforms-form input[type="text"],
.wpforms-form input[type="email"],
.wpforms-form input[type="url"],
.wpforms-form input[type="tel"],
.wpforms-form input[type="number"],
.wpforms-form input[type="password"],
.wpforms-form textarea,
.wpforms-form select {
  color: #000000 !important;
}

/* Make the Send Message button match input width */
.wpforms-submit {
  width: 100%;
  box-sizing: border-box;
}


/* =========================================================
   LAYOUT / HEADER / FOOTER
========================================================= */

/* Footer 2 big columns on sides and 1 small one in the middle */
.ast-builder-grid-row-3-equal .ast-builder-grid-row {
  grid-template-columns: 3fr 1fr 3fr;
}

header.site-header {
  border-bottom: 3px solid #00bcd4 !important;
  z-index: 9999 !important;
}

footer .ast-footer-widget a {
  color: #5B3B72;
  display: inline-block;
  transition: transform 0.3s ease, color 0.3s ease;
  text-decoration: none;
}

footer .ast-footer-widget a:hover {
  transform: scale(1.1);
  color: #5B3B72;
  text-decoration: none;
}

/* Make footer sit at bottom even on short pages */
html, body { height: 100%; }
#page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.site-content { flex: 1 0 auto; }
#colophon { margin-top: auto; }

/* Smooth scroll */
html { scroll-behavior: smooth; }


/* =========================================================
   HERO TEXT (CUSTOM)
========================================================= */

.hero-text-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 900px;
  text-align: center;
  padding: 0 20px;
  z-index: 2;
}

.hero-title, .hero-title-line2 {
  font-size: clamp(32px, 5.5vw, 78px);
  font-weight: 700;
  line-height: 1.1;
  color: #fff;
  margin: 0;
  text-shadow: 1px 1px 8px rgba(0,0,0,0.6);
}

.hero-title-line2 { margin-top: 0.2em; }

.hero-subtitle {
  font-size: clamp(16px, 2.3vw, 28px);
  line-height: 1.5;
  margin-top: 0.2em;
  color: #f0f0f0;
  text-shadow: 1px 1px 6px rgba(0,0,0,0.5);
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

/* Make all hero heading & subheading text white */
.hero-section h1,
.hero-section h2,
.hero-section h3,
.hero-section p,
.hero-section .elementor-heading-title,
.hero-section .elementor-widget-text-editor {
  color: #ffffff !important;
}


/* =========================================================
   CONTACT PAGE / BANNERS
========================================================= */

/* Softer lavender gradient for banner (placeholder class) */
.your-banner-class {
  background: linear-gradient(to bottom, #E9E3F5, #CFC3E5);
}

/* Contact icons styling (if using icon list) */
.contact-icon-list i {
  color: #5B3B72;
  margin-right: 8px;
}

/* Subtle shadow on the left box */
.contact-info-col {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.3s ease;
  background: linear-gradient(to bottom, #40c3d2, #6fd5d8);
  padding-top: 30px;
}

.contact-info-col:hover {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}

/* Hover effect for contact links */
.contact-info-col a {
  color: #ffffff;
  transition: color 0.3s ease, text-decoration 0.3s ease;
}
.contact-info-col a:hover {
  color: #FFD966;
  text-decoration: underline;
}

/* Add breathing space above phone/email block */
.contact-info-col .contact-details { margin-top: 15px; }
.contact-info-col .contact-details i {
  vertical-align: middle;
  margin-right: 6px;
}

/* Add more vertical padding to the banner */
.page-header {
  padding-top: 25px;
  padding-bottom: 25px;
}


/* =========================================================
   ABOUT PAGE SYSTEM (KEEP ONE COPY)
========================================================= */

:root{
  --brand-purple: #5B3B72;
  --brand-aqua:   #00B7BD;
  --bg-aqua-10:   #E6F6F8;
  --bg-lav-10:    #F5F0FA;
  --ink-900:      #2B2B2B;
  --ink-700:      #444;
  --ink-600:      #555;
  --ink-500:      #666;
  --card-bg:      #F7FAFF;
  --card-border:  #DCE9FF;
  --radius:       12px;
  --shadow-sm:    0 6px 18px rgba(0,0,0,.06);
  --shadow-md:    0 10px 28px rgba(0,0,0,.08);
}

/* Base container & utilities */
.container { max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.container.narrow { max-width: 860px; }

/* Typography base */
h1, h2, h3 {
  font-family: "Montserrat", "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--ink-900);
}
p, li {
  font-family: "Open Sans", "Lato", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--ink-700);
  line-height: 1.65;
}

/* Accessible-only heading */
.sr-only{
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px,1px,1px,1px);
}

/* Hero / Intro */
.about-hero{
  background: linear-gradient(180deg, var(--bg-lav-10), #fff 60%);
  padding: 90px 0 60px;
  text-align: center;
}
.about-hero .hero-title{
  font-weight: 800;
  font-size: clamp(28px, 5vw, 52px);
  letter-spacing: 0.3px;
  color: var(--brand-purple);
  margin: 0 0 10px;
}
.about-hero .hero-sub{
  font-size: clamp(16px, 2vw, 20px);
  color: var(--ink-600);
  max-width: 70ch;
  margin: 0 auto;
}

/* Challenges */
.about-challenges{
  background: var(--bg-aqua-10);
  padding: 90px 0;
  text-align: center;
  position: relative;
}
.section-icon{
  display: inline-flex;
  width: 60px;
  height: 60px;
  margin-bottom: 14px;
  color: var(--brand-aqua);
}
.section-icon svg{
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.section-title{
  font-weight: 800;
  font-size: clamp(26px, 4vw, 40px);
  line-height: 1.25;
  letter-spacing: 0.4px;
  color: var(--brand-purple);
  margin: 6px 0 16px;
}
.section-body{ max-width: 820px; margin: 0 auto; text-align: left; }
.section-body p{
  font-size: clamp(16px, 2.1vw, 19px);
  color: var(--ink-700);
  margin: 0 0 12px;
}
.section-body .lead-in{ color: var(--ink-900); font-weight: 600; }

.context-chips{
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  list-style: none;
  padding: 8px 0 0;
  margin: 8px 0 0;
}
.context-chips li{
  background: #EEF7FB;
  color: var(--ink-700);
  border: 1px solid #D7ECF4;
  border-radius: 999px;
  padding: .35rem .7rem;
  font-size: .92rem;
}

.about-challenges::after{
  content: "";
  display: block;
  width: 120px;
  height: 3px;
  margin: 34px auto 0;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--brand-aqua), var(--brand-purple));
}

/* Quote */
.about-quote{
  background: #fff;
  padding: 60px 0 80px;
}
.quote-card{
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-left: 4px solid var(--brand-aqua);
  border-radius: var(--radius);
  padding: 20px 22px;
  box-shadow: var(--shadow-sm);
  max-width: 70ch;
  margin: 0 auto;
}
.quote-card blockquote{
  margin: 0 0 .5rem 0;
  font-size: clamp(18px, 2.4vw, 26px);
  line-height: 1.45;
  color: var(--ink-900);
}
.quote-card figcaption{
  font-size: .95rem;
  color: var(--ink-500);
}

/* Approach */
.about-approach{
  background: #fff;
  padding: 90px 0;
}
.approach-grid{
  display: grid;
  gap: 32px;
  grid-template-columns: 1.1fr 1.2fr;
  align-items: start;
}
.approach-visual img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
}
.approach-content .section-title{ margin-top: 6px; margin-bottom: 12px; }
.approach-content p{ margin: 0 0 14px; font-size: clamp(16px, 2.1vw, 19px); }
.approach-content .mini-heading{
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 700;
  color: var(--brand-purple);
  margin: 14px 0 8px;
}
.bullet-list{ padding-left: 1.1rem; margin: 0 0 14px; }
.bullet-list li{ margin: 6px 0; }
.approach-content .note{ color: var(--ink-600); font-size: 1rem; }

.btn-primary{
  display: inline-block;
  padding: .8rem 1.2rem;
  background: linear-gradient(135deg, var(--brand-aqua), #22C1C6);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  border-radius: 10px;
  box-shadow: var(--shadow-sm);
  transition: transform .15s ease, box-shadow .2s ease, filter .2s ease;
}
.btn-primary:hover{
  transform: translateY(-1px);
  filter: brightness(1.02);
  box-shadow: var(--shadow-md);
}

@media (max-width: 1024px){
  .approach-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 768px){
  .about-hero{ padding: 72px 0 48px; }
  .about-challenges{ padding: 72px 0; }
  .about-quote{ padding: 48px 0 64px; }
  .about-approach{ padding: 72px 0; }
}

/* ABOUT page (ID 2605) layout overrides */
.page-id-2605 .about-approach {
  display: block !important;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: clamp(16px, 3vw, 32px);
}

.page-id-2605 .about-approach > .e-con-inner {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  align-items: center;
  gap: clamp(18px, 3vw, 40px);
}

.page-id-2605 .about-approach > .e-con-inner > .e-con {
  width: auto !important;
  max-width: 100% !important;
  flex: 0 1 auto !important;
}

@media (max-width: 900px) {
  .page-id-2605 .about-approach > .e-con-inner {
    grid-template-columns: 1fr;
  }
}

/* About page rhythm */
.page-id-2605 .elementor-section {
  padding-left: clamp(16px, 3vw, 32px);
  padding-right: clamp(16px, 3vw, 32px);
}
.page-id-2605 .elementor-section:not(.no-pad) {
  padding-top: clamp(48px, 7vw, 88px);
  padding-bottom: clamp(48px, 7vw, 88px);
}
.page-id-2605 .elementor-widget:not(:last-child) {
  margin-bottom: 18px;
}
.page-id-2605 .elementor-widget,
.page-id-2605 .elementor-column,
.page-id-2605 .elementor-inner-section {
  margin-top: 0 !important;
  margin-bottom: 0;
}
.page-id-2605 h2.elementor-heading-title {
  margin: 0 0 14px 0;
  line-height: 1.25;
}
.page-id-2605 h3.elementor-heading-title {
  margin: 10px 0 8px 0;
  line-height: 1.3;
}
.page-id-2605 .elementor-container,
.page-id-2605 .e-con-inner {
  max-width: 1180px;
  margin-inline: auto;
}
@media (max-width: 768px){
  .page-id-2605 .elementor-section:not(.no-pad){
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .page-id-2605 .elementor-widget:not(:last-child){
    margin-bottom: 14px;
  }
}


/* =========================================================
   MENU / SUBMENU STYLING
========================================================= */

.main-header-menu .sub-menu,
.ast-builder-menu .sub-menu {
  background-color: #F4F2ED !important;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15);
  padding: 6px 0;
}

.main-header-menu .sub-menu li,
.ast-builder-menu .sub-menu li {
  list-style: none;
}

.main-header-menu .sub-menu a,
.ast-builder-menu .sub-menu a {
  display: inline-block;
  padding: 10px 18px;
  color: #6957DE !important;
  font-weight: 500;
  text-decoration: none;
  transform-origin: center center;
  transition: transform 0.15s ease, color 0.15s ease;
}

.main-header-menu .sub-menu a:hover,
.ast-builder-menu .sub-menu a:hover {
  transform: scale(1.08);
  color: #6957DE !important;
}

.main-header-menu .sub-menu li + li,
.ast-builder-menu .sub-menu li + li {
  border-top: 1px solid rgba(0,0,0,0.08);
}

@media (max-width: 921px) {
  .ast-builder-menu .sub-menu a { transform: none; }
}


/* =========================================================
   TUTOR LMS – CALM, MODERN FEEL
========================================================= */

.tutor-course-details,
.tutor-single-course-sidebar,
.tutor-course-topics,
.tutor-lesson-content {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.tutor-course-details,
.tutor-course-topics,
.tutor-lesson-content {
  padding: 32px !important;
}

.tutor-card,
.tutor-course-topics .tutor-topic {
  border-radius: 10px !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.06) !important;
  border: none !important;
}

.tutor-course-details h1,
.tutor-lesson-title {
  font-weight: 600 !important;
  letter-spacing: -0.02em;
}

.tutor-course-details p,
.tutor-lesson-content p {
  font-size: 16px;
  line-height: 1.7;
}

.tutor-btn-primary {
  background: #6957DE !important;
  border-radius: 999px !important;
  padding: 12px 28px !important;
  font-weight: 600;
  box-shadow: 0 8px 20px rgba(105,87,222,0.25);
}

.tutor-single-course-sidebar {
  position: sticky;
  top: 120px;
}

/* Hide ratings + quiz/Q&A UI as fallback */
.tutor-course-rating,
.tutor-rating,
.tutor-star-rating,
.tutor-dashboard a[href*="quiz-attempts"],
.tutor-dashboard a[href*="question-answer"],
.tutor-dashboard a[href*="question_answer"] {
  display: none !important;
}

/* Hide redundant Tutor heading */
.tutor-fs-5.tutor-fw-medium.tutor-text-capitalize {
  display: none;
}

/* Tutor LMS – hide top meta row (category line) on single course page */
.single-courses .tutor-course-details-top .tutor-meta {
  display: none !important;
}


/* =========================================================
   WINNERS – CONSOLIDATED POLISH (Tutor + Woo)
========================================================= */

/**************************************
  TUTOR DASHBOARD – HERO + COURSE CARDS
**************************************/

.winners-dashboard-hero{
  margin-bottom:24px;
  padding:14px 18px;
  background:#fff;
  border-radius:12px;
  border:1px solid rgba(0,0,0,0.06);
}
.winners-dashboard-hero__title{
  margin:0 0 6px 0;
  font-size:20px;
  font-weight:700;
  line-height:1.25;
}
.winners-dashboard-hero__subtitle{
  margin:0;
  font-size:13.5px;
  opacity:0.75;
}

.tutor-dashboard-content-inner.enrolled-courses .tutor-nav{ display:none; }

.tutor-dashboard-content-inner.enrolled-courses .tutor-course-card{
  border-radius:12px;
  box-shadow:0 4px 12px rgba(0,0,0,0.04);
  border:1px solid rgba(0,0,0,0.04);
}
.tutor-dashboard-content-inner.enrolled-courses .tutor-course-card .tutor-card-body{
  padding-top:14px;
}

.tutor-dashboard-content-inner.enrolled-courses .tutor-course-progress{
  margin-top:6px;
}
.tutor-dashboard-content-inner.enrolled-courses .tutor-course-progress .tutor-mt-16{
  margin-top:12px !important;
}

.tutor-dashboard-content-inner.enrolled-courses .tutor-course-card img.tutor-card-image-top{
  width:100% !important;
  height:120px !important;
  max-height:120px !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#fafafa;
  display:block;
}

.tutor-dashboard .tutor-rating,
.tutor-dashboard .tutor-course-rating,
.tutor-dashboard .tutor-ratings,
.tutor-dashboard .tutor-star-rating,
.tutor-dashboard .tutor-rating-average,
.tutor-dashboard .tutor-course-card .tutor-ratings{
  display:none !important;
}


/**************************************
  WOOCOMMERCE SHOP ARCHIVE – ONLINE COURSES
**************************************/

.woocommerce-result-count,
.woocommerce-ordering{ display:none; }

body.archive.woocommerce section.ast-archive-description,
body.post-type-archive-product section.ast-archive-description{
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
  height:0 !important;
}
body.archive.woocommerce section.ast-archive-description:empty,
body.post-type-archive-product section.ast-archive-description:empty{
  display:none !important;
}

body.post-type-archive-product .site-main{
  padding-top:20px !important;
}

body.post-type-archive-product .site-main::before{
  content:"Online Courses";
  display:block;
  text-align:center;
  font-size:34px;
  font-weight:600;
  margin:0 0 24px;
  color:#6ec6c3;
}

.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce ul.products li.product .posted_in{ display:none; }

.woocommerce ul.products li.product{
  border:1px solid rgba(0,0,0,0.04);
  box-shadow:0 6px 16px rgba(0,0,0,0.06);
  border-radius:14px;
  padding:16px;
  background:#fff;
  text-align:center;
}

.woocommerce ul.products li.product a img{
  width:100% !important;
  height:220px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:10px;
  background:#f5f5f5;
  display:block;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:16px;
  font-weight:600;
  margin-top:16px;
  margin-bottom:0;
  color:#222;
}
.woocommerce ul.products li.product .price{
  font-size:15px;
  font-weight:500;
  margin:6px 0 12px;
  color:#333;
}

.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .button{
  width:100%;
  text-align:center;
  border-radius:999px;
  padding:10px 0;
  font-weight:600;
}

/* Center nicely when there are only 1–2 products */
@media (min-width:768px){
  .woocommerce ul.products{
    display:flex;
    justify-content:center;
    gap:22px;
    flex-wrap:wrap;
    margin-top:0 !important;
  }
  .woocommerce ul.products li.product{
    width:360px;
    max-width:360px;
  }
}


/**************************************
  WOOCOMMERCE SINGLE PRODUCT – REFINED
**************************************/

.single-product .site-main{
  padding-top:60px;
}

.single-product .product_meta,
.single-product .posted_in,
.single-product .ast-woo-product-category,
.single-product .summary .single-product-category{
  display:none !important;
}

.single-product div.product div.images{
  max-width:520px;
}

.single-product div.product div.images img{
  width:100% !important;
  height:360px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:16px;
  background:#f5f5f5;
  display:block;
}

.single-product .product_title{
  margin-bottom:8px !important;
}

.single-product div.product p.price,
.single-product div.product span.price{
  font-size:22px;
  font-weight:600;
  margin:8px 0 18px !important;
}

.single-product form.cart .single_add_to_cart_button,
.single-product .single_add_to_cart_button.button{
  width:100%;
  border-radius:999px;
  padding:16px 0;
  font-size:17px;
  font-weight:700;
}

.single-product .summary hr{ display:none !important; }

.single-product .woocommerce-tabs{
  margin-top:36px !important;
}


/* =========================================================
   WOOCOMMERCE – ORDER RECEIVED (COURSE FLOW)
========================================================= */

.woocommerce-order-received .entry-title {
  font-size: 28px !important;
  margin: 0 0 10px !important;
}

.woocommerce-order-received .woocommerce-order {
  margin-top: 6px;
}

.woocommerce-order-received .woocommerce-order > p:first-of-type {
  font-size: 1.05rem;
  margin-bottom: 10px;
}

.woocommerce-order-received .woocommerce-order-overview {
  max-width: 880px;
  margin: 0 auto 10px auto;
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: baseline;
}

.woocommerce-order-received .woocommerce-order-overview li {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  line-height: 1.4;
}

.woocommerce-order-received .woocommerce-order-overview li.method {
  white-space: nowrap;
}

.woocommerce-order-received .order-again,
.woocommerce-order-received .woocommerce-customer-details,
.woocommerce-order-received .woocommerce-column--billing-address,
.woocommerce-order-received .woocommerce-order-details {
  display: none !important;
}

.woocommerce-order-received .entry-content > *:last-child {
  max-width: 880px;
  margin: 10px auto 0 auto;
}

@media (max-width: 768px) {
  .woocommerce-order-received .woocommerce-order-overview {
    gap: 10px;
  }
}
/* =========================================================
   WINNERS – Checkout (Clean + Stable) – CLEANED (BOX-SHADOW ACCENTS)
   ========================================================= */

body.woocommerce-checkout .site-content{
  background:#f6f7fb;
}

body.woocommerce-checkout .content-area{
  padding:40px 0 60px;
}

/* Hide "Returning customer?" notice */
body.woocommerce-checkout .woocommerce-form-login-toggle{
  display:none !important;
}

/* Hide Woo default “Your order” heading */
body.woocommerce-checkout #order_review_heading{
  display:none !important;
}

/* =========================================================
   Cards (with top accents via inset box-shadow)
   ========================================================= */

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout .winners-order-card{
  background:#fff;
  border:1px solid rgba(17,24,39,.08);
  border-radius:18px;
  padding:24px 26px 26px;
}

/* Teal top bar on Billing card */
body.woocommerce-checkout #customer_details{
  box-shadow:
    inset 0 4px 0 #37c6c0,
    0 12px 28px rgba(17,24,39,.08);
}

/* Purple top bar on Payment card */
body.woocommerce-checkout .winners-order-card{
  box-shadow:
    inset 0 4px 0 #4b2a86,
    0 12px 28px rgba(17,24,39,.08);
}

/* =========================================================
   Headings (Billing + Payment parity)
   ========================================================= */

body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .winners-order-heading{
  font-size:34px !important;
  font-weight:900 !important;
  letter-spacing:-0.6px !important;
  line-height:1.2 !important;
  color:#3c1d6a !important;

  margin:0 0 14px !important;
  padding:0 !important;

  text-decoration:none !important;
  text-transform:none !important;
  border:0 !important;
}

/* Remove any theme underline pseudo-elements */
body.woocommerce-checkout .woocommerce-billing-fields > h3:after{
  display:none !important;
  content:none !important;
}

/* =========================================================
   Fix Woo spacing that can push Billing content down
   ========================================================= */

body.woocommerce-checkout .woocommerce-billing-fields::before{
  display:none !important;
  content:none !important;
}

body.woocommerce-checkout #customer_details .col2-set,
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .woocommerce-billing-fields{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* If this web component exists (often empty) it can shift content */
body.woocommerce-checkout #customer_details .col-1 > wc-order-attribute-inputs{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  height:0 !important;
}

/* Explicitly ensure NO line under billing details */
body.woocommerce-checkout .woocommerce-billing-fields::after{
  content:none !important;
  display:none !important;
}

/* =========================================================
   Inputs
   ========================================================= */

body.woocommerce-checkout form.checkout input.input-text,
body.woocommerce-checkout form.checkout select,
body.woocommerce-checkout form.checkout textarea{
  background:#fff;
  border:1px solid rgba(17,24,39,.18);
  border-radius:10px;
  min-height:44px;
  padding:10px 12px;
  font-size:15px;
  box-shadow:none;
}

body.woocommerce-checkout form.checkout input.input-text:focus,
body.woocommerce-checkout form.checkout select:focus,
body.woocommerce-checkout form.checkout textarea:focus{
  outline:none;
  border-color:rgba(92,39,163,.55);
  box-shadow:0 0 0 4px rgba(92,39,163,.12);
}

/* Hide Additional Information */
body.woocommerce-checkout .woocommerce-additional-fields{
  display:none !important;
}

/* =========================================================
   Order summary cleanup
   ========================================================= */

body.woocommerce-checkout #order_review table.shop_table{
  width:100%;
  border:none;
  margin:0 0 14px;
  border-collapse:collapse;
}

body.woocommerce-checkout #order_review table.shop_table thead{
  display:none;
}

body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td{
  border-top:1px solid rgba(17,24,39,.06);
  padding:8px 0;
  font-size:14px;
  vertical-align:top;
}

/* Hide subtotal line */
body.woocommerce-checkout #order_review tr.cart-subtotal{
  display:none;
}

/* Hide product total column + quantity */
body.woocommerce-checkout #order_review table.shop_table th.product-total,
body.woocommerce-checkout #order_review table.shop_table td.product-total{
  display:none;
}
body.woocommerce-checkout #order_review table.shop_table .product-name .product-quantity{
  display:none;
}

/* Total row emphasis */
body.woocommerce-checkout #order_review tr.order-total th,
body.woocommerce-checkout #order_review tr.order-total td{
  border-top:1px solid rgba(17,24,39,.12);
  padding-top:14px;
  font-weight:800;
  font-size:15px;
}
body.woocommerce-checkout #order_review tr.order-total td{
  text-align:right;
}

/* =========================================================
   Payment area
   ========================================================= */

body.woocommerce-checkout #payment{
  background:transparent;
  border:none;
  padding:0;
  margin-top:10px;
}

body.woocommerce-checkout #payment ul.payment_methods{
  padding:0;
  margin:10px 0 0;
  border:0;
  width:100%;
}

body.woocommerce-checkout #payment ul.payment_methods li{
  margin:10px 0;
  width:100%;
}

body.woocommerce-checkout #payment .payment_box{
  background:rgba(92,39,163,0.04);
  border:1px solid rgba(92,39,163,0.12);
  border-radius:12px;
  padding:14px;
  margin:10px 0 0;
  width:100%;
  box-sizing:border-box;
}

body.woocommerce-checkout #payment .payment_box *{
  max-width:100%;
  box-sizing:border-box;
}

/* =========================================================
   Terms
   ========================================================= */

body.woocommerce-checkout .woocommerce-privacy-policy-text{
  font-size:12.5px;
  line-height:1.45;
  margin:12px 0;
}

/* =========================================================
   Button
   ========================================================= */

body.woocommerce-checkout #place_order{
  background:#4b2a86;
  border-radius:999px;
  padding:15px 18px;
  font-size:16px;
  font-weight:700;
  width:100%;
  border:none;
  box-shadow:0 8px 18px rgba(75,42,134,.24);
}

body.woocommerce-checkout #place_order:hover{
  filter:brightness(0.98);
}

body.woocommerce-checkout #place_order:focus{
  outline:none;
  box-shadow:0 0 0 4px rgba(92,39,163,.18), 0 8px 18px rgba(75,42,134,.24);
}

/* =========================================================
   Desktop 2-column layout
   ========================================================= */

@media (min-width: 768px){

  body.woocommerce-checkout form.checkout.woocommerce-checkout{
    max-width:1240px !important;
    margin:0 auto !important;

    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(380px,520px) !important;
    gap:18px !important;
    align-items:start !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > *{
    min-width:0 !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > #customer_details{
    grid-column:1 !important;
    margin:0 !important;
    width:auto !important;
    float:none !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > .winners-order-card{
    grid-column:2 !important;
    margin:0 !important;
    width:auto !important;
    float:none !important;
  }

  /* Kill shipping column + floats (courses) */
  body.woocommerce-checkout #customer_details .col-2{
    display:none !important;
  }
  body.woocommerce-checkout #customer_details .col-1{
    float:none !important;
    width:100% !important;
  }

  /* Ensure right card sections fill the card width */
  body.woocommerce-checkout .winners-order-card #order_review,
  body.woocommerce-checkout .winners-order-card #payment{
    width:100% !important;
    float:none !important;
  }

  /* Tables behave */
  body.woocommerce-checkout .winners-order-card table.shop_table{
    table-layout:fixed;
  }
  body.woocommerce-checkout .winners-order-card table.shop_table th,
  body.woocommerce-checkout .winners-order-card table.shop_table td{
    overflow-wrap:anywhere;
    word-wrap:break-word;
  }
}
/* =========================================================
   CARD DENSITY REDUCTION (match Secure Payment Form)
   ========================================================= */

/* 1. Reduce overall card padding */
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout .winners-order-card{
  padding:18px 20px 20px; /* was 24px 26px 26px */
}

/* 2. Slightly reduce accent bar thickness */
body.woocommerce-checkout #customer_details{
  box-shadow:
    inset 0 4px 0 #37c6c0,
    0 10px 22px rgba(17,24,39,.08);
}

body.woocommerce-checkout .winners-order-card{
  box-shadow:
    inset 0 4px 0 #4b2a86,
    0 10px 22px rgba(17,24,39,.08);
}

/* 3. Tighten section headings */
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .winners-order-heading{
  font-size:30px !important;  /* was 34px */
  margin-bottom:10px !important;
}

/* 4. Tighten form row spacing */
body.woocommerce-checkout .form-row{
  margin-bottom:12px !important; /* default is ~18–20px */
}

/* 5. Slightly reduce input height */
body.woocommerce-checkout form.checkout input.input-text,
body.woocommerce-checkout form.checkout select,
body.woocommerce-checkout form.checkout textarea{
  min-height:40px; /* was 44px */
  padding:8px 10px;
}
/* =========================================================
   EXTRA-COMPACT CHECKOUT (match Secure Payment Form)
   ========================================================= */

/* 1. Reduce card padding further */
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout .winners-order-card{
  padding:14px 16px 16px; /* tighter than before */
}

/* 2. Thinner accent bars + softer shadow */
body.woocommerce-checkout #customer_details{
  box-shadow:
    inset 0 3px 0 #37c6c0,
    0 8px 18px rgba(17,24,39,.07);
}

body.woocommerce-checkout .winners-order-card{
  box-shadow:
    inset 0 3px 0 #4b2a86,
    0 8px 18px rgba(17,24,39,.07);
}

/* 3. Smaller section headings */
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .winners-order-heading{
  font-size:26px !important;   /* down from 30 */
  margin-bottom:8px !important;
}

/* 4. Tighter form row spacing */
body.woocommerce-checkout .form-row{
  margin-bottom:10px !important;
}

/* 5. Narrow inputs to match payment form feel */
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .form-row textarea{
  max-width:420px;       /* key change */
  min-height:38px;       /* shorter inputs */
  padding:7px 10px;
}

/* Keep paired fields aligned (first/last name) */
body.woocommerce-checkout .form-row-first input,
body.woocommerce-checkout .form-row-last input{
  max-width:100%;
}

/* 6. Slightly smaller labels */
body.woocommerce-checkout .form-row label{
  font-size:13px;
  margin-bottom:4px;
}
/* =========================================================
   HARD COMPACT MODE (match Secure Payment Form proportions)
   Put at VERY bottom of CSS
   ========================================================= */

/* 1) Narrow the overall checkout container + columns */
@media (min-width: 768px){
  body.woocommerce-checkout form.checkout.woocommerce-checkout{
    max-width: 1080px !important;                  /* was 1240 */
    grid-template-columns: 480px 480px !important; /* two equal cards */
    justify-content: center !important;
    gap: 22px !important;
  }
}

/* 2) Make both cards visually smaller */
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout .winners-order-card{
  padding: 14px 16px 16px !important;
  border-radius: 16px !important;
}

/* Accent bars thinner */
body.woocommerce-checkout #customer_details{
  box-shadow:
    inset 0 3px 0 #37c6c0,
    0 8px 18px rgba(17,24,39,.07) !important;
}
body.woocommerce-checkout .winners-order-card{
  box-shadow:
    inset 0 3px 0 #4b2a86,
    0 8px 18px rgba(17,24,39,.07) !important;
}

/* 3) Constrain Billing form content so inputs don't look "wide" */
body.woocommerce-checkout #customer_details .col-1{
  max-width: 420px;     /* key: narrower inner column */
  margin: 0 auto;       /* center inside the card */
}

/* 4) Make fields tighter */
body.woocommerce-checkout .form-row{
  margin-bottom: 10px !important;
}

body.woocommerce-checkout form.checkout input.input-text,
body.woocommerce-checkout form.checkout select,
body.woocommerce-checkout form.checkout textarea{
  min-height: 36px !important;
  padding: 7px 10px !important;
  font-size: 14px !important;
}

/* Labels slightly smaller */
body.woocommerce-checkout .form-row label{
  font-size: 13px !important;
  margin-bottom: 4px !important;
}

/* Headings smaller to match payment form cards */
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .winners-order-heading{
  font-size: 24px !important;
  margin-bottom: 10px !important;
}
/* =========================================================
   FIX: Clean Payment card borders + divider
   ========================================================= */

/* 1. Remove Woo borders inside Payment card */
body.woocommerce-checkout .winners-order-card,
body.woocommerce-checkout .winners-order-card *{
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
}

/* 2. Remove the thin divider line under "Payment details" */
body.woocommerce-checkout .winners-order-card #order_review table.shop_table tr:first-child th,
body.woocommerce-checkout .winners-order-card #order_review table.shop_table tr:first-child td{
  border-top: 0 !important;
}

/* 3. Remove any lingering top borders in payment section */
body.woocommerce-checkout .winners-order-card #order_review table.shop_table,
body.woocommerce-checkout .winners-order-card #payment{
  border: 0 !important;
}
body.woocommerce-checkout .winners-order-card #order_review{
  margin-top: 6px;
}
/* =========================================================
   Tighten Google Pay row
   ========================================================= */

/* Reduce spacing around each payment method row */
body.woocommerce-checkout #payment ul.payment_methods li{
  margin:6px 0 !important; /* was roomier */
  padding:0 !important;
}

/* Specifically tighten the Google Pay method */
body.woocommerce-checkout #payment ul.payment_methods li.payment_method_googlepay,
body.woocommerce-checkout #payment ul.payment_methods li.payment_method_gpay{
  margin-top:4px !important;
}

/* Remove extra space above the methods list */
body.woocommerce-checkout #payment ul.payment_methods{
  margin-top:6px !important;
}

/* Bring the payment box closer to the selected method */
body.woocommerce-checkout #payment .payment_box{
  margin-top:8px !important; /* was 10px+ */
}

/* If the Google Pay description/message adds space, tighten it */
body.woocommerce-checkout #payment ul.payment_methods li .payment_box,
body.woocommerce-checkout #payment ul.payment_methods li p{
  margin-top:6px !important;
  margin-bottom:6px !important;
}

/* Make the Google Pay label inline + aligned */
body.woocommerce-checkout #payment label[for*="google"],
body.woocommerce-checkout #payment label[for*="gpay"]{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
}

/* Inject the Google Pay logo */
body.woocommerce-checkout #payment label[for*="google"]::after,
body.woocommerce-checkout #payment label[for*="gpay"]::after{
  content:"" !important;
  display:inline-block !important;

  width:48px !important;
  height:24px !important;

  background-image:url("https://staging.thewinnersselinstitute.com/wp-content/uploads/2026/02/icons8-google-pay-24.png") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle{
  font-size:14px;
  opacity:.85;
}
body.woocommerce-checkout h1.entry-title{
  text-align:center;
}
/* Tutor LMS – hide Dashboard menu item */
.tutor-dashboard-menu-item.tutor-dashboard-menu-index {
    display: none !important;
}
/* Tutor LMS – hide My Profile menu item */
.tutor-dashboard-menu-item.tutor-dashboard-menu-my-profile {
    display: none !important;
}
